From 000eb69c9eda16c29b6ae00d24c50ea61a2d60f8 Mon Sep 17 00:00:00 2001 From: Adriano Caloiaroooo Date: Wed, 19 Nov 2025 10:32:40 -0800 Subject: [PATCH] initial commit --- .envrc | 14 + .gitignore | 20 + .gitlab-ci.yml | 26 + .openapi-generator-ignore | 9 + .openapi-generator/FILES | 1305 ++++++++ .openapi-generator/VERSION | 1 + .rspec | 2 + .rubocop.yml | 148 + .ruby-version | 1 + Gemfile | 9 + Gemfile.lock | 94 + README.md | 7 +- Rakefile | 10 + VERSION | 1 + api_specs/kombo-openapi-spec-.json | 1 + docs/AIApplyApi.md | 761 +++++ ...yApplicationStatusUpdatedWebhookPayload.md | 22 + ...licationStatusUpdatedWebhookPayloadData.md | 26 + ...lyJobPostingStatusUpdatedWebhookPayload.md | 22 + ...bPostingStatusUpdatedWebhookPayloadData.md | 34 + ...atusUpdatedWebhookPayloadDataCareerSite.md | 20 + docs/AssessmentOrderReceivedWebhookPayload.md | 22 + ...sessmentOrderReceivedWebhookPayloadData.md | 30 + ...erReceivedWebhookPayloadDataApplication.md | 18 + ...rderReceivedWebhookPayloadDataCandidate.md | 26 + ...smentOrderReceivedWebhookPayloadDataJob.md | 24 + ...vedWebhookPayloadDataJobHiringTeamInner.md | 26 + ...erReceivedWebhookPayloadDataJobLocation.md | 30 + docs/ConnectionFlowFailedWebhookPayload.md | 22 + .../ConnectionFlowFailedWebhookPayloadData.md | 24 + ...tionFlowFailedWebhookPayloadDataEndUser.md | 22 + docs/CustomEndpointsApi.md | 1177 +++++++ docs/DataChangedWebhookPayload.md | 22 + docs/DataChangedWebhookPayloadData.md | 24 + ...gedWebhookPayloadDataChangedModelsInner.md | 18 + docs/DefaultApi.md | 766 +++++ ...ndidatesCandidateIdTagsPositiveResponse.md | 22 + ...AtsCandidatesCandidateIdTagsRequestBody.md | 20 + ...CandidatesCandidateIdTagsRequestBodyTag.md | 18 + ...teHrisAbsencesAbsenceIdPositiveResponse.md | 22 + .../DeleteHrisAbsencesAbsenceIdRequestBody.md | 18 + ...bsencesAbsenceIdRequestBodyRemoteFields.md | 18 + ...dRequestBodyRemoteFieldsAdpworkforcenow.md | 18 + ...ployeeSkillAssignmentIdPositiveResponse.md | 20 + ...DeleteHrisSkillsSkillIdPositiveResponse.md | 20 + ...tegrationsIntegrationIdPositiveResponse.md | 20 + docs/GeneralApi.md | 1262 ++++++++ .../GetAiApplyApplicationsPositiveResponse.md | 20 + ...AiApplyApplicationsPositiveResponseData.md | 20 + ...cationsPositiveResponseDataResultsInner.md | 26 + docs/GetAiApplyCareerSitesPositiveResponse.md | 20 + ...tAiApplyCareerSitesPositiveResponseData.md | 20 + docs/GetAiApplyPostingsPositiveResponse.md | 20 + .../GetAiApplyPostingsPositiveResponseData.md | 20 + ...ostingsPositiveResponseDataResultsInner.md | 34 + ...itiveResponseDataResultsInnerCareerSite.md | 20 + ...etAiApplyUnifiedApiJobsPositiveResponse.md | 20 + ...ApplyUnifiedApiJobsPositiveResponseData.md | 20 + ...ApiJobsPositiveResponseDataResultsInner.md | 88 + ...eResponseDataResultsInnerEmploymentType.md | 15 + ...ositiveResponseDataResultsInnerLocation.md | 30 + ...DataResultsInnerScreeningQuestionsInner.md | 36 + ...eeningQuestionsInnerPreconditionOptions.md | 15 + ...GetAssessmentOrdersOpenPositiveResponse.md | 20 + ...ssessmentOrdersOpenPositiveResponseData.md | 20 + ...ersOpenPositiveResponseDataResultsInner.md | 26 + ...tiveResponseDataResultsInnerApplication.md | 18 + ...sitiveResponseDataResultsInnerCandidate.md | 26 + ...OpenPositiveResponseDataResultsInnerJob.md | 24 + ...ponseDataResultsInnerJobHiringTeamInner.md | 26 + ...tiveResponseDataResultsInnerJobLocation.md | 30 + docs/GetAssessmentPackagesPositiveResponse.md | 20 + ...tAssessmentPackagesPositiveResponseData.md | 18 + ...ckagesPositiveResponseDataPackagesInner.md | 26 + ...ddApplicationAttachmentPositiveResponse.md | 20 + ...plicationAttachmentPositiveResponseData.md | 18 + ...itiveResponseDataAttachmentRestrictions.md | 18 + ...ResponseDataAttachmentRestrictionsTypes.md | 22 + ...aAttachmentRestrictionsTypesCOVERLETTER.md | 22 + ...sponseDataAttachmentRestrictionsTypesCV.md | 22 + ...eDataAttachmentRestrictionsTypesCVAnyOf.md | 22 + ...nseDataAttachmentRestrictionsTypesOTHER.md | 22 + ...sAddCandidateAttachmentPositiveResponse.md | 20 + ...onsAtsCreateApplicationPositiveResponse.md | 20 + ...tionsAtsCreateCandidatePositiveResponse.md | 20 + ...sAtsCreateCandidatePositiveResponseData.md | 18 + ...itiveResponseDataAttachmentRestrictions.md | 20 + ...ResponseDataAttachmentRestrictionsTypes.md | 22 + ...aAttachmentRestrictionsTypesCOVERLETTER.md | 26 + ...sponseDataAttachmentRestrictionsTypesCV.md | 26 + ...eDataAttachmentRestrictionsTypesCVAnyOf.md | 26 + ...DataAttachmentRestrictionsTypesCVAnyOf1.md | 18 + ...nseDataAttachmentRestrictionsTypesOTHER.md | 26 + ...pplicationStagesParameterIncludeDeleted.md | 15 + ...GetAtsApplicationStagesPositiveResponse.md | 20 + ...tsApplicationStagesPositiveResponseData.md | 20 + ...nStagesPositiveResponseDataResultsInner.md | 28 + ...pplicationIdAttachmentsPositiveResponse.md | 22 + ...cationIdAttachmentsPositiveResponseData.md | 18 + ...chmentsPositiveResponseDataResultsInner.md | 32 + ...tAtsApplicationsParameterIncludeDeleted.md | 15 + docs/GetAtsApplicationsParameterOutcome.md | 15 + docs/GetAtsApplicationsPositiveResponse.md | 20 + .../GetAtsApplicationsPositiveResponseData.md | 20 + ...cationsPositiveResponseDataResultsInner.md | 60 + ...sitiveResponseDataResultsInnerCandidate.md | 36 + ...esultsInnerCandidateEmailAddressesInner.md | 20 + ...aResultsInnerCandidatePhoneNumbersInner.md | 20 + ...taResultsInnerCandidateSocialMediaInner.md | 22 + ...ponseDataResultsInnerCandidateTagsInner.md | 22 + ...iveResponseDataResultsInnerCurrentStage.md | 24 + ...ResponseDataResultsInnerInterviewsInner.md | 30 + ...DataResultsInnerInterviewsInnerLocation.md | 30 + ...ionsPositiveResponseDataResultsInnerJob.md | 22 + ...tiveResponseDataResultsInnerOffersInner.md | 22 + ...sultsInnerScreeningQuestionAnswersInner.md | 20 + ...InnerScreeningQuestionAnswersInnerAnyOf.md | 20 + ...nnerScreeningQuestionAnswersInnerAnyOf1.md | 20 + ...reeningQuestionAnswersInnerAnyOf1Answer.md | 18 + ...eningQuestionAnswersInnerAnyOf1Question.md | 22 + ...nnerScreeningQuestionAnswersInnerAnyOf2.md | 20 + ...reeningQuestionAnswersInnerAnyOf2Answer.md | 18 + ...eningQuestionAnswersInnerAnyOf2Question.md | 22 + ...nnerScreeningQuestionAnswersInnerAnyOf3.md | 20 + ...reeningQuestionAnswersInnerAnyOf3Answer.md | 18 + ...eningQuestionAnswersInnerAnyOf3Question.md | 22 + ...nnerScreeningQuestionAnswersInnerAnyOf4.md | 20 + ...reeningQuestionAnswersInnerAnyOf4Answer.md | 18 + ...eningQuestionAnswersInnerAnyOf4Question.md | 22 + ...nnerScreeningQuestionAnswersInnerAnyOf5.md | 20 + ...reeningQuestionAnswersInnerAnyOf5Answer.md | 18 + ...eningQuestionAnswersInnerAnyOf5Question.md | 22 + ...nnerScreeningQuestionAnswersInnerAnyOf6.md | 20 + ...reeningQuestionAnswersInnerAnyOf6Answer.md | 18 + ...eningQuestionAnswersInnerAnyOf6Question.md | 22 + ...creeningQuestionAnswersInnerAnyOfAnswer.md | 18 + ...eeningQuestionAnswersInnerAnyOfQuestion.md | 22 + ...sCandidateIdAttachmentsPositiveResponse.md | 22 + ...didateIdAttachmentsPositiveResponseData.md | 18 + ...chmentsPositiveResponseDataResultsInner.md | 36 + ...GetAtsCandidatesParameterIncludeDeleted.md | 15 + docs/GetAtsCandidatesPositiveResponse.md | 20 + docs/GetAtsCandidatesPositiveResponseData.md | 20 + ...didatesPositiveResponseDataResultsInner.md | 60 + ...sponseDataResultsInnerApplicationsInner.md | 38 + ...ositiveResponseDataResultsInnerLocation.md | 30 + ...GetAtsInterviewsParameterIncludeDeleted.md | 15 + docs/GetAtsInterviewsPositiveResponse.md | 20 + docs/GetAtsInterviewsPositiveResponseData.md | 20 + ...erviewsPositiveResponseDataResultsInner.md | 48 + ...tiveResponseDataResultsInnerApplication.md | 28 + ...itiveResponseDataResultsInnerUsersInner.md | 26 + docs/GetAtsJobsParameterIncludeDeleted.md | 15 + docs/GetAtsJobsParameterStatus.md | 15 + docs/GetAtsJobsPositiveResponse.md | 20 + docs/GetAtsJobsPositiveResponseData.md | 20 + ...AtsJobsPositiveResponseDataResultsInner.md | 88 + ...eResponseDataResultsInnerEmploymentType.md | 15 + ...ResponseDataResultsInnerHiringTeamInner.md | 28 + ...esponseDataResultsInnerJobPostingsInner.md | 32 + ...ositiveResponseDataResultsInnerLocation.md | 30 + ...esponseDataResultsInnerRemoteWorkStatus.md | 15 + ...iveResponseDataResultsInnerSalaryPeriod.md | 15 + ...DataResultsInnerScreeningQuestionsInner.md | 36 + ...sultsInnerScreeningQuestionsInnerFormat.md | 34 + ...InnerScreeningQuestionsInnerFormatAnyOf.md | 22 + ...nnerScreeningQuestionsInnerFormatAnyOf1.md | 24 + ...nnerScreeningQuestionsInnerFormatAnyOf2.md | 22 + ...nnerScreeningQuestionsInnerFormatAnyOf3.md | 22 + ...gQuestionsInnerFormatAnyOf3OptionsInner.md | 22 + ...nnerScreeningQuestionsInnerFormatAnyOf4.md | 18 + ...nnerScreeningQuestionsInnerFormatAnyOf5.md | 18 + ...nnerScreeningQuestionsInnerFormatAnyOf6.md | 20 + ...nnerScreeningQuestionsInnerFormatAnyOf7.md | 18 + ...nnerScreeningQuestionsInnerFormatAnyOf8.md | 20 + ...eeningQuestionsInnerPreconditionOptions.md | 15 + ...tiveResponseDataResultsInnerStagesInner.md | 26 + ...sPositiveResponseDataResultsInnerStatus.md | 15 + ...itiveResponseDataResultsInnerVisibility.md | 15 + docs/GetAtsOffersParameterIncludeDeleted.md | 15 + docs/GetAtsOffersPositiveResponse.md | 20 + docs/GetAtsOffersPositiveResponseData.md | 20 + ...sOffersPositiveResponseDataResultsInner.md | 42 + ...tiveResponseDataResultsInnerApplication.md | 20 + ...nseDataResultsInnerApplicationCandidate.md | 26 + ...RejectionReasonsParameterIncludeDeleted.md | 15 + .../GetAtsRejectionReasonsPositiveResponse.md | 20 + ...AtsRejectionReasonsPositiveResponseData.md | 20 + ...ReasonsPositiveResponseDataResultsInner.md | 28 + docs/GetAtsTagsParameterIncludeDeleted.md | 15 + docs/GetAtsTagsPositiveResponse.md | 20 + docs/GetAtsTagsPositiveResponseData.md | 20 + ...AtsTagsPositiveResponseDataResultsInner.md | 28 + docs/GetAtsUsersParameterIncludeDeleted.md | 15 + docs/GetAtsUsersPositiveResponse.md | 20 + docs/GetAtsUsersPositiveResponseData.md | 20 + ...tsUsersPositiveResponseDataResultsInner.md | 34 + docs/GetCheckApiKeyPositiveResponse.md | 20 + docs/GetCheckApiKeyPositiveResponseData.md | 20 + ...IntegrationByTokenTokenPositiveResponse.md | 20 + ...grationByTokenTokenPositiveResponseData.md | 28 + ...DatevAvailableDocumentsPositiveResponse.md | 22 + ...vAvailableDocumentsPositiveResponseData.md | 18 + ...cumentsPositiveResponseDataResultsInner.md | 22 + ...aResultsInnerAvailableForEmployeesInner.md | 20 + ...CheckDocumentPermissionPositiveResponse.md | 22 + ...kDocumentPermissionPositiveResponseData.md | 22 + ...mentPermissionPositiveResponseDataAnyOf.md | 20 + ...entPermissionPositiveResponseDataAnyOf1.md | 20 + ...DatevCheckEauPermissionPositiveResponse.md | 22 + ...vCheckEauPermissionPositiveResponseData.md | 20 + ...tevCheckWritePermissionPositiveResponse.md | 22 + ...etCustomDatevDataPushesPositiveResponse.md | 20 + ...stomDatevDataPushesPositiveResponseData.md | 18 + ...shesPositiveResponseDataDataPushesInner.md | 24 + ...ponseDataDataPushesInnerUploadJobsInner.md | 24 + ...omDatevEauRequestsEauIdPositiveResponse.md | 22 + ...tevEauRequestsEauIdPositiveResponseData.md | 18 + ...EauRequestsEauIdPositiveResponseDataRaw.md | 24 + ...ataRawFeedbacksFromHealthInsuranceInner.md | 24 + ...ksFromHealthInsuranceInnerContactPerson.md | 40 + ...HealthInsuranceInnerErrorBlockListInner.md | 24 + ...omHealthInsuranceInnerIncapacityForWork.md | 42 + ...mDatevSystemInformationPositiveResponse.md | 20 + ...evSystemInformationPositiveResponseData.md | 22 + ...HrisAbsenceTypesParameterIncludeDeleted.md | 15 + docs/GetHrisAbsenceTypesPositiveResponse.md | 20 + ...GetHrisAbsenceTypesPositiveResponseData.md | 20 + ...ceTypesPositiveResponseDataResultsInner.md | 34 + .../GetHrisAbsencesParameterIncludeDeleted.md | 15 + docs/GetHrisAbsencesPositiveResponse.md | 20 + docs/GetHrisAbsencesPositiveResponseData.md | 20 + ...bsencesPositiveResponseDataResultsInner.md | 54 + ...sPositiveResponseDataResultsInnerStatus.md | 15 + ...cumentCategoriesParameterIncludeDeleted.md | 15 + ...loyeeDocumentCategoriesPositiveResponse.md | 20 + ...eDocumentCategoriesPositiveResponseData.md | 20 + ...egoriesPositiveResponseDataResultsInner.md | 28 + ...mployeeSkillAssignmentsPositiveResponse.md | 20 + ...yeeSkillAssignmentsPositiveResponseData.md | 20 + ...gnmentsPositiveResponseDataResultsInner.md | 24 + docs/GetHrisEmployeesFormPositiveResponse.md | 22 + ...etHrisEmployeesFormPositiveResponseData.md | 18 + ...tHrisEmployeesParameterEmploymentStatus.md | 15 + ...GetHrisEmployeesParameterIncludeDeleted.md | 15 + docs/GetHrisEmployeesPositiveResponse.md | 20 + docs/GetHrisEmployeesPositiveResponseData.md | 20 + ...ployeesPositiveResponseDataResultsInner.md | 98 + ...sponseDataResultsInnerBankAccountsInner.md | 28 + ...nerBankAccountsInnerDomesticBankRouting.md | 20 + ...esponseDataResultsInnerEmploymentStatus.md | 15 + ...eResponseDataResultsInnerEmploymentType.md | 15 + ...esponseDataResultsInnerEmploymentsInner.md | 46 + ...esultsInnerEmploymentsInnerPayFrequency.md | 15 + ...taResultsInnerEmploymentsInnerPayPeriod.md | 15 + ...sitiveResponseDataResultsInnerEthnicity.md | 15 + ...sPositiveResponseDataResultsInnerGender.md | 15 + ...tiveResponseDataResultsInnerGroupsInner.md | 24 + ...tiveResponseDataResultsInnerHomeAddress.md | 30 + ...eDataResultsInnerIntegrationFieldsInner.md | 26 + ...tiveResponseDataResultsInnerLegalEntity.md | 24 + ...ponseDataResultsInnerLegalEntityAddress.md | 30 + ...PositiveResponseDataResultsInnerManager.md | 34 + ...veResponseDataResultsInnerMaritalStatus.md | 15 + ...nseDataResultsInnerTimeOffBalancesInner.md | 38 + ...iveResponseDataResultsInnerWorkLocation.md | 32 + ...onseDataResultsInnerWorkLocationAddress.md | 30 + ...tHrisEmploymentsParameterIncludeDeleted.md | 15 + docs/GetHrisEmploymentsPositiveResponse.md | 20 + .../GetHrisEmploymentsPositiveResponseData.md | 20 + docs/GetHrisGroupsParameterIncludeDeleted.md | 15 + docs/GetHrisGroupsPositiveResponse.md | 20 + docs/GetHrisJobPositionsPositiveResponse.md | 20 + ...GetHrisJobPositionsPositiveResponseData.md | 20 + ...sitionsPositiveResponseDataResultsInner.md | 42 + ...tiveResponseDataResultsInnerSkillsInner.md | 26 + ...risLegalEntitiesParameterIncludeDeleted.md | 15 + docs/GetHrisLegalEntitiesPositiveResponse.md | 20 + ...etHrisLegalEntitiesPositiveResponseData.md | 20 + ...ntitiesPositiveResponseDataResultsInner.md | 30 + ...GetHrisLocationsParameterIncludeDeleted.md | 15 + docs/GetHrisLocationsPositiveResponse.md | 20 + docs/GetHrisLocationsPositiveResponseData.md | 20 + ...anceReviewCyclesParameterIncludeDeleted.md | 15 + ...PerformanceReviewCyclesPositiveResponse.md | 20 + ...ormanceReviewCyclesPositiveResponseData.md | 20 + ...wCyclesPositiveResponseDataResultsInner.md | 30 + ...rformanceReviewsParameterIncludeDeleted.md | 15 + ...tHrisPerformanceReviewsPositiveResponse.md | 20 + ...sPerformanceReviewsPositiveResponseData.md | 20 + ...ReviewsPositiveResponseDataResultsInner.md | 38 + ...ositiveResponseDataResultsInnerReviewee.md | 30 + ...ositiveResponseDataResultsInnerReviewer.md | 30 + ...veResponseDataResultsInnerSummaryRating.md | 26 + ...ponseDataResultsInnerSummaryRatingAnyOf.md | 24 + ...onseDataResultsInnerSummaryRatingAnyOf1.md | 22 + docs/GetHrisSkillsPositiveResponse.md | 20 + docs/GetHrisSkillsPositiveResponseData.md | 20 + ...sSkillsPositiveResponseDataResultsInner.md | 32 + docs/GetHrisTeamsParameterIncludeDeleted.md | 15 + docs/GetHrisTeamsPositiveResponse.md | 20 + docs/GetHrisTeamsPositiveResponseData.md | 20 + ...isTeamsPositiveResponseDataResultsInner.md | 32 + ...sTimeOffBalancesParameterIncludeDeleted.md | 15 + .../GetHrisTimeOffBalancesPositiveResponse.md | 20 + ...HrisTimeOffBalancesPositiveResponseData.md | 20 + ...alancesPositiveResponseDataResultsInner.md | 40 + ...etHrisTimesheetsParameterIncludeDeleted.md | 15 + docs/GetHrisTimesheetsPositiveResponse.md | 20 + docs/GetHrisTimesheetsPositiveResponseData.md | 20 + ...esheetsPositiveResponseDataResultsInner.md | 50 + ...tiveResponseDataResultsInnerBreaksInner.md | 22 + ...ponseDataResultsInnerBreaksInnerEndedAt.md | 15 + ...nseDataResultsInnerBreaksInnerStartedAt.md | 15 + ...tegrationIdCustomFieldsPositiveResponse.md | 20 + ...ationIdCustomFieldsPositiveResponseData.md | 22 + ...mFieldsPositiveResponseDataResultsInner.md | 28 + ...esponseDataResultsInnerIntegrationField.md | 24 + ...tionIdIntegrationFieldsPositiveResponse.md | 20 + ...IdIntegrationFieldsPositiveResponseData.md | 22 + ...nFieldsPositiveResponseDataResultsInner.md | 30 + ...tegrationsIntegrationIdPositiveResponse.md | 20 + ...ationsIntegrationIdPositiveResponseData.md | 36 + ...ntegrationIdPositiveResponseDataEndUser.md | 22 + ...onIdPositiveResponseDataReadModelsInner.md | 30 + ...eResponseDataReadModelsInnerFieldsInner.md | 26 + ...rationIdPositiveResponseDataScopeConfig.md | 20 + ...nsIntegrationIdPositiveResponseDataTool.md | 26 + docs/GetLmsCoursesPositiveResponse.md | 20 + docs/GetLmsCoursesPositiveResponseData.md | 20 + ...CoursesPositiveResponseDataResultsInner.md | 38 + ...onseDataResultsInnerOrderedContentInner.md | 30 + ...tiveResponseDataResultsInnerSkillsInner.md | 20 + docs/GetLmsUsersParameterStatus.md | 15 + docs/GetLmsUsersPositiveResponse.md | 20 + docs/GetLmsUsersPositiveResponseData.md | 20 + ...msUsersPositiveResponseDataResultsInner.md | 36 + ...veResponseDataResultsInnerProgressInner.md | 32 + docs/GetToolsCategoryParameterCategory.md | 15 + docs/GetToolsCategoryPositiveResponse.md | 20 + docs/GetToolsCategoryPositiveResponseData.md | 18 + ...sCategoryPositiveResponseDataToolsInner.md | 34 + ...oryPositiveResponseDataToolsInnerAssets.md | 22 + ...yPositiveResponseDataToolsInnerCoverage.md | 22 + ...onseDataToolsInnerCoverageFeaturesInner.md | 22 + ...seDataToolsInnerCoverageReadModelsInner.md | 24 + ...InnerCoverageReadModelsInnerFieldsInner.md | 20 + ...DataToolsInnerCoverageWriteActionsInner.md | 22 + ...neAssessmentOrderReceivedWebhookPayload.md | 22 + docs/InlineObject.md | 20 + docs/InlineObject1.md | 20 + docs/InlineObject1Error.md | 24 + docs/InlineObject2.md | 20 + docs/InlineObject2Error.md | 24 + docs/InlineObject3.md | 20 + docs/InlineObject3Error.md | 24 + docs/InlineObjectError.md | 24 + docs/IntegrationCreatedWebhookPayload.md | 22 + docs/IntegrationCreatedWebhookPayloadData.md | 24 + docs/IntegrationDeletedWebhookPayload.md | 22 + docs/IntegrationDeletedWebhookPayloadData.md | 26 + docs/IntegrationStateChangedWebhookPayload.md | 22 + ...tegrationStateChangedWebhookPayloadData.md | 30 + docs/KomboConnectApi.md | 221 ++ ...ApplicationIdInterviewsPositiveResponse.md | 20 + ...tionsApplicationIdInterviewsRequestBody.md | 30 + ...licationIdInterviewsRequestBodyLocation.md | 20 + ...ployeeSkillAssignmentIdPositiveResponse.md | 20 + ...ntsEmployeeSkillAssignmentIdRequestBody.md | 18 + ...HrisEmployeesEmployeeIdPositiveResponse.md | 22 + ...EmployeesEmployeeIdPositiveResponseData.md | 80 + ...PatchHrisEmployeesEmployeeIdRequestBody.md | 52 + .../PatchHrisSkillsSkillIdPositiveResponse.md | 20 + docs/PatchHrisSkillsSkillIdRequestBody.md | 20 + ...ieldsIntegrationFieldIdPositiveResponse.md | 20 + ...tionFieldsIntegrationFieldIdRequestBody.md | 18 + ...chLmsProgressProgressIdPositiveResponse.md | 20 + docs/PatchLmsProgressProgressIdRequestBody.md | 32 + docs/PostAiApplyApplyPositiveResponse.md | 20 + docs/PostAiApplyApplyPositiveResponseData.md | 26 + docs/PostAiApplyApplyRequestBody.md | 24 + ...equestBodyScreeningQuestionAnswersInner.md | 20 + .../PostAiApplyCareerSitesPositiveResponse.md | 20 + ...tAiApplyCareerSitesPositiveResponseData.md | 20 + docs/PostAiApplyCareerSitesRequestBody.md | 18 + docs/PostAiApplyPostingsPositiveResponse.md | 20 + ...ostingsPostingIdInquirePositiveResponse.md | 20 + ...ngsPostingIdInquirePositiveResponseData.md | 20 + ...ositiveResponseDataApplicationFormInner.md | 38 + ...veResponseDataApplicationFormInnerAnyOf.md | 36 + ...eResponseDataApplicationFormInnerAnyOf1.md | 22 + ...ataApplicationFormInnerAnyOfDisplayWhen.md | 20 + ...onFormInnerAnyOfDisplayWhenAnswerEquals.md | 55 + ...mInnerAnyOfDisplayWhenAnswerEqualsOneOf.md | 22 + ...taApplicationFormInnerAnyOfOptionsInner.md | 22 + ...yPostingsPostingIdParsePositiveResponse.md | 20 + docs/PostAiApplyPostingsRequestBody.md | 24 + .../PostAiApplyPostingsRequestBodyLocation.md | 20 + ...piJobsJobIdApplicationsPositiveResponse.md | 20 + ...fiedApiJobsJobIdApplicationsRequestBody.md | 34 + ...pplicationIdAttachmentsPositiveResponse.md | 22 + ...ionsApplicationIdAttachmentsRequestBody.md | 20 + ...ationIdAttachmentsRequestBodyAttachment.md | 26 + ...ionIdAttachmentsRequestBodyRemoteFields.md | 22 + ...mentsRequestBodyRemoteFieldsAllOfOracle.md | 20 + ...ApplicationIdInterviewsPositiveResponse.md | 20 + ...tionsApplicationIdInterviewsRequestBody.md | 28 + ...licationIdInterviewsRequestBodyLocation.md | 20 + ...tionsApplicationIdNotesPositiveResponse.md | 22 + ...plicationsApplicationIdNotesRequestBody.md | 22 + ...plicationIdNotesRequestBodyRemoteFields.md | 26 + ...tesRequestBodyRemoteFieldsAllOfBullhorn.md | 18 + ...sRequestBodyRemoteFieldsAllOfGreenhouse.md | 18 + ...esRequestBodyRemoteFieldsAllOfRecruitee.md | 20 + ...sRequestBodyRemoteFieldsAllOfTeamtailor.md | 18 + ...ionsApplicationIdRejectPositiveResponse.md | 22 + ...licationsApplicationIdRejectRequestBody.md | 22 + ...licationIdRejectRequestBodyRemoteFields.md | 20 + ...tRequestBodyRemoteFieldsAllOfGreenhouse.md | 18 + ...pplicationIdResultLinksPositiveResponse.md | 22 + ...ionsApplicationIdResultLinksRequestBody.md | 24 + ...licationIdResultLinksRequestBodyDetails.md | 20 + ...tLinksRequestBodyDetailsAttributesInner.md | 20 + ...ionIdResultLinksRequestBodyRemoteFields.md | 24 + ...tLinksRequestBodyRemoteFieldsAllOfIcims.md | 18 + ...LinksRequestBodyRemoteFieldsAllOfOracle.md | 20 + ...sCandidateIdAttachmentsPositiveResponse.md | 22 + ...idatesCandidateIdAttachmentsRequestBody.md | 20 + ...sCandidateIdResultLinksPositiveResponse.md | 22 + ...idatesCandidateIdResultLinksRequestBody.md | 24 + ...ndidatesCandidateIdTagsPositiveResponse.md | 22 + ...AtsCandidatesCandidateIdTagsRequestBody.md | 20 + ...CandidatesCandidateIdTagsRequestBodyTag.md | 18 + docs/PostAtsCandidatesPositiveResponse.md | 22 + docs/PostAtsCandidatesRequestBody.md | 32 + ...PostAtsCandidatesRequestBodyApplication.md | 20 + docs/PostAtsCandidatesRequestBodyCandidate.md | 42 + ...yCandidateAdditionalEmailAddressesInner.md | 20 + ...odyCandidateAdditionalPhoneNumbersInner.md | 20 + ...sCandidatesRequestBodyCandidateLocation.md | 24 + ...sRequestBodyCandidateSalaryExpectations.md | 20 + ...tesRequestBodyCandidateSocialLinksInner.md | 18 + ...PostAtsCandidatesRequestBodyGdprConsent.md | 20 + ...ostAtsCandidatesRequestBodyRemoteFields.md | 56 + ...atesRequestBodyRemoteFieldsAllOfAvature.md | 18 + ...estBodyRemoteFieldsAllOfAvatureWorkflow.md | 18 + ...odyRemoteFieldsAllOfAvatureWorkflowStep.md | 18 + ...tesRequestBodyRemoteFieldsAllOfBullhorn.md | 20 + ...datesRequestBodyRemoteFieldsAllOfDvinci.md | 18 + ...sRequestBodyRemoteFieldsAllOfGreenhouse.md | 20 + ...tesRequestBodyRemoteFieldsAllOfGuidecom.md | 18 + ...atesRequestBodyRemoteFieldsAllOfHrworks.md | 18 + ...atesRequestBodyRemoteFieldsAllOfJobylon.md | 18 + ...BodyRemoteFieldsAllOfJobylonApplication.md | 18 + ...idatesRequestBodyRemoteFieldsAllOfLever.md | 18 + ...tesRequestBodyRemoteFieldsAllOfPersonio.md | 18 + ...datesRequestBodyRemoteFieldsAllOfPiloga.md | 18 + ...estBodyRemoteFieldsAllOfPilogaCandidate.md | 18 + ...esRequestBodyRemoteFieldsAllOfRecruitee.md | 18 + ...BodyRemoteFieldsAllOfRecruiteeCandidate.md | 18 + ...estBodyRemoteFieldsAllOfSmartrecruiters.md | 22 + ...uestBodyRemoteFieldsAllOfSuccessfactors.md | 24 + ...RequestBodyRemoteFieldsAllOfTalentadore.md | 18 + ...sRequestBodyRemoteFieldsAllOfTalentsoft.md | 20 + ...sRequestBodyRemoteFieldsAllOfTeamtailor.md | 20 + ...yRemoteFieldsAllOfTeamtailorApplication.md | 18 + ...atesRequestBodyRemoteFieldsAllOfUmantis.md | 18 + ...tesRequestBodyRemoteFieldsAllOfWorkable.md | 18 + ...atesRequestBodyRemoteFieldsAllOfWorkday.md | 20 + ...dyRemoteFieldsAllOfWorkdayCandidateData.md | 26 + ...ldsAllOfWorkdayCandidateDataContactData.md | 18 + ...dayCandidateDataContactDataLocationData.md | 26 + ...tDataLocationDataCountryRegionReference.md | 18 + ...fWorkdayCandidateDataJobApplicationData.md | 20 + ...eDataJobApplicationDataJobAppliedToData.md | 18 + ...liedToDataGlobalPersonalInformationData.md | 18 + ...ndidateDataJobApplicationDataResumeData.md | 24 + ...icationDataResumeDataEducationDataInner.md | 28 + ...EducationDataInnerFieldOfStudyReference.md | 18 + ...cationDataResumeDataExperienceDataInner.md | 30 + ...licationDataResumeDataLanguageDataInner.md | 20 + ...DataResumeDataLanguageDataInnerLanguage.md | 20 + ...geDataInnerLanguageLanguageAbilityInner.md | 18 + ...LanguageAbilityInnerLanguageAbilityData.md | 20 + ...eDataLanguageDataInnerLanguageReference.md | 18 + ...ApplicationDataResumeDataSkillDataInner.md | 18 + ...OfWorkdayCandidateDataLanguageReference.md | 18 + ...AllOfWorkdayCandidateDataNameDetailData.md | 20 + ...DataNameDetailDataSocialSuffixReference.md | 18 + ...llOfWorkdayCandidateDataWorkerReference.md | 20 + ...RequestBodyRemoteFieldsAllOfZohorecruit.md | 18 + ...equestBodyScreeningQuestionAnswersInner.md | 20 + ...BodyScreeningQuestionAnswersInnerAnswer.md | 24 + ...creeningQuestionAnswersInnerAnswerAnyOf.md | 24 + docs/PostAtsCandidatesRequestBodySource.md | 22 + docs/PostAtsCandidatesRequestBodySourcedBy.md | 18 + ...mportTrackedApplicationPositiveResponse.md | 22 + ...tTrackedApplicationPositiveResponseData.md | 22 + ...plicationPositiveResponseDataImportedId.md | 28 + ...ositiveResponseDataImportedIdErecruiter.md | 24 + ...veResponseDataImportedIdErecruiterAnyOf.md | 22 + ...eResponseDataImportedIdErecruiterAnyOf1.md | 22 + ...ositiveResponseDataImportedIdGreenhouse.md | 20 + ...ionPositiveResponseDataImportedIdOnlyfy.md | 20 + ...PositiveResponseDataImportedIdRecruitee.md | 20 + ...veResponseDataImportedIdSmartrecruiters.md | 22 + ...iveResponseDataImportedIdSuccessfactors.md | 20 + ...tAtsImportTrackedApplicationRequestBody.md | 30 + ...tsJobsJobIdApplicationsPositiveResponse.md | 22 + ...bsJobIdApplicationsPositiveResponseData.md | 56 + ...plicationsPositiveResponseDataCandidate.md | 58 + ...PostAtsJobsJobIdApplicationsRequestBody.md | 32 + ...nectActivateIntegrationPositiveResponse.md | 20 + ...stConnectActivateIntegrationRequestBody.md | 18 + docs/PostConnectCreateLinkPositiveResponse.md | 20 + docs/PostConnectCreateLinkRequestBody.md | 38 + ...omDatevDownloadDocumentPositiveResponse.md | 22 + ...tevDownloadDocumentPositiveResponseData.md | 22 + ...tCustomDatevDownloadDocumentRequestBody.md | 22 + ...loyeeIdDownloadDocumentPositiveResponse.md | 22 + ...esEmployeeIdDownloadDocumentRequestBody.md | 20 + ...esEmployeeIdEauRequestsPositiveResponse.md | 22 + ...ployeeIdEauRequestsPositiveResponseData.md | 18 + ...ployeesEmployeeIdEauRequestsRequestBody.md | 22 + ...eeIdEauRequestsRequestBodyContactPerson.md | 36 + ...yeeIdEauRequestsRequestBodyNotification.md | 18 + ...tCustomDatevPassthroughPositiveResponse.md | 22 + docs/PostCustomDatevPassthroughRequestBody.md | 26 + ...tomDatevPushDataGeneralPositiveResponse.md | 22 + ...atevPushDataGeneralPositiveResponseData.md | 18 + ...taGeneralPositiveResponseDataFilesInner.md | 20 + ...tomDatevPushDataPayrollPositiveResponse.md | 22 + ...stCustomDatevPushDataPayrollRequestBody.md | 18 + ...yeeIdPayrollSupplementsPositiveResponse.md | 22 + ...EmployeeIdPayrollSupplementsRequestBody.md | 24 + docs/PostForceSyncPositiveResponse.md | 20 + docs/PostForceSyncPositiveResponseData.md | 22 + docs/PostForceSyncRequestBody.md | 18 + docs/PostHrisAbsencesPositiveResponse.md | 22 + docs/PostHrisAbsencesPositiveResponseData.md | 52 + docs/PostHrisAbsencesRequestBody.md | 42 + ...PostHrisAbsencesRequestBodyRemoteFields.md | 18 + ...sRequestBodyRemoteFieldsAdpworkforcenow.md | 20 + ...mployeeSkillAssignmentsPositiveResponse.md | 20 + ...HrisEmployeeSkillAssignmentsRequestBody.md | 22 + ...yeesEmployeeIdDocumentsPositiveResponse.md | 22 + ...EmployeesEmployeeIdDocumentsRequestBody.md | 20 + docs/PostHrisEmployeesFormPositiveResponse.md | 22 + ...stHrisEmployeesFormPositiveResponseData.md | 22 + docs/PostHrisEmployeesFormRequestBody.md | 18 + docs/PostHrisEmployeesPositiveResponse.md | 22 + docs/PostHrisEmployeesPositiveResponseData.md | 84 + docs/PostHrisEmployeesRequestBody.md | 44 + ...PostHrisEmployeesRequestBodyHomeAddress.md | 28 + ...ostHrisEmployeesRequestBodyRemoteFields.md | 46 + ...sRequestBodyRemoteFieldsAdpworkforcenow.md | 26 + ...EmployeesRequestBodyRemoteFieldsAzuread.md | 18 + ...mployeesRequestBodyRemoteFieldsBamboohr.md | 18 + ...mployeesRequestBodyRemoteFieldsDayforce.md | 36 + ...risEmployeesRequestBodyRemoteFieldsDeel.md | 20 + ...isEmployeesRequestBodyRemoteFieldsHibob.md | 18 + ...EmployeesRequestBodyRemoteFieldsHumaans.md | 18 + ...sEmployeesRequestBodyRemoteFieldsOracle.md | 20 + ...sEmployeesRequestBodyRemoteFieldsPaycor.md | 20 + ...mployeesRequestBodyRemoteFieldsPeoplehr.md | 20 + ...EmployeesRequestBodyRemoteFieldsPlanday.md | 18 + ...isEmployeesRequestBodyRemoteFieldsSilae.md | 22 + ...isEmployeesRequestBodyRemoteFieldsSympa.md | 18 + ...EmployeesRequestBodyRemoteFieldsWorkday.md | 24 + ...questBodyRemoteFieldsWorkdayBankAccount.md | 22 + ...loyeesRequestBodyRemoteFieldsZohopeople.md | 18 + ...ioningGroupsGroupIdDiffPositiveResponse.md | 20 + ...ngGroupsGroupIdDiffPositiveResponseData.md | 18 + ...upsGroupIdDiffPositiveResponseDataUsers.md | 22 + ...esponseDataUsersAlreadyProvisionedInner.md | 22 + ...tiveResponseDataUsersToDeprovisionInner.md | 20 + ...sitiveResponseDataUsersToProvisionInner.md | 20 + ...sponseDataUsersToProvisionInnerEmployee.md | 32 + ...sersToProvisionInnerEmployeeGroupsInner.md | 22 + ...rovisioningGroupsGroupIdDiffRequestBody.md | 20 + ...ningGroupsGroupIdDiffRequestBodyOptions.md | 18 + ...pIdDiffRequestBodyProvisionedUsersInner.md | 20 + ...GroupsGroupIdSetupLinksPositiveResponse.md | 20 + ...psGroupIdSetupLinksPositiveResponseData.md | 20 + ...oningGroupsGroupIdSetupLinksRequestBody.md | 18 + docs/PostHrisSkillsPositiveResponse.md | 20 + docs/PostHrisSkillsRequestBody.md | 20 + ...ionsIntegrationIdRelinkPositiveResponse.md | 20 + ...IntegrationIdRelinkPositiveResponseData.md | 18 + ...egrationsIntegrationIdRelinkRequestBody.md | 22 + docs/PostLmsContentPositiveResponse.md | 20 + docs/PostLmsContentPositiveResponseData.md | 36 + docs/PostLmsContentRequestBody.md | 26 + docs/PostLmsCoursesPositiveResponse.md | 20 + docs/PostLmsCoursesRequestBody.md | 24 + docs/PostLmsCoursesRequestBodySkillsInner.md | 20 + docs/PostLmsProgressPositiveResponse.md | 20 + docs/PostLmsProgressPositiveResponseData.md | 40 + docs/PostLmsProgressRequestBody.md | 34 + .../PostPassthroughToolApiPositiveResponse.md | 22 + ...tPassthroughToolApiPositiveResponseData.md | 24 + ...ToolApiPositiveResponseDataHeadersValue.md | 49 + ...ughToolApiPositiveResponseWarningsInner.md | 18 + docs/PostPassthroughToolApiRequestBody.md | 32 + ...oolApiRequestBodyMultipartFormDataInner.md | 20 + ...iRequestBodyMultipartFormDataInnerValue.md | 49 + ...estBodyMultipartFormDataInnerValueOneOf.md | 24 + ...AssessmentOrderIdResultPositiveResponse.md | 22 + ...rdersAssessmentOrderIdResultRequestBody.md | 32 + ...OrderIdResultRequestBodyAttributesInner.md | 28 + ...IdResultRequestBodyAttributesInnerAnyOf.md | 22 + ...dResultRequestBodyAttributesInnerAnyOf1.md | 26 + ...ltRequestBodyAttributesInnerAnyOf1Score.md | 20 + ...entOrderIdResultRequestBodyRemoteFields.md | 18 + ...tRequestBodyRemoteFieldsSmartrecruiters.md | 18 + docs/PutAssessmentPackagesPositiveResponse.md | 22 + docs/PutAssessmentPackagesRequestBody.md | 18 + ...essmentPackagesRequestBodyPackagesInner.md | 24 + ...tionsApplicationIdStagePositiveResponse.md | 22 + ...plicationsApplicationIdStageRequestBody.md | 20 + ...plicationIdStageRequestBodyRemoteFields.md | 20 + ...dStageRequestBodyRemoteFieldsGreenhouse.md | 18 + ...stBodyRemoteFieldsGreenhousePostHeaders.md | 18 + ...nIdStageRequestBodyRemoteFieldsWorkable.md | 18 + ...EmployeeIdCompensationsPositiveResponse.md | 22 + ...oyeesEmployeeIdCompensationsRequestBody.md | 20 + ...pensationsRequestBodyCompensationsInner.md | 24 + ...mployeeIdPreparePayrollPositiveResponse.md | 22 + ...yeesEmployeeIdPreparePayrollRequestBody.md | 24 + ...eparePayrollRequestBodyCustomLodasInner.md | 22 + ...arePayrollRequestBodyFixedPaymentsInner.md | 20 + ...rePayrollRequestBodyHourlyPaymentsInner.md | 20 + ...eeIdPreparePayrollRequestBodyPayrollRun.md | 18 + ...stomFieldsCustomFieldIdPositiveResponse.md | 20 + ...nIdCustomFieldsCustomFieldIdRequestBody.md | 18 + docs/RemoteEventReceivedWebhookPayload.md | 22 + docs/RemoteEventReceivedWebhookPayloadData.md | 24 + docs/Schema1Value.md | 48 + docs/Schema2.md | 48 + docs/Schema2AnyOf.md | 32 + docs/Schema2AnyOf1.md | 30 + docs/Schema2AnyOf2.md | 26 + docs/Schema2AnyOf3.md | 28 + docs/Schema2AnyOf3Options.md | 22 + docs/Schema2AnyOf3OptionsAnyOf.md | 20 + docs/Schema2AnyOf3OptionsAnyOf1.md | 20 + docs/Schema2AnyOf3OptionsAnyOfEntriesInner.md | 24 + ...2AnyOf3OptionsAnyOfEntriesInnerRemoteId.md | 49 + docs/Schema2AnyOf4.md | 32 + docs/Schema2AnyOf5.md | 26 + docs/Schema2AnyOf6.md | 28 + docs/Schema2AnyOf7.md | 32 + docs/Schema2AnyOf8.md | 28 + docs/Schema2AnyOf8FileRestrictions.md | 20 + docs/Schema4.md | 55 + docs/SyncFinishedWebhookPayload.md | 22 + docs/SyncFinishedWebhookPayloadData.md | 36 + docs/UnifiedATSAPIApi.md | 2279 ++++++++++++++ ...ifiedATSAssessmentBackgroundCheckAPIApi.md | 303 ++ docs/UnifiedHRISAPIApi.md | 2511 +++++++++++++++ flake.lock | 317 ++ flake.nix | 160 + kombo_client.gemspec | 39 + lib/kombo_client.rb | 684 +++++ lib/kombo_client/api/ai_apply_api.rb | 738 +++++ lib/kombo_client/api/custom_endpoints_api.rb | 1148 +++++++ lib/kombo_client/api/default_api.rb | 803 +++++ lib/kombo_client/api/general_api.rb | 1202 ++++++++ lib/kombo_client/api/kombo_connect_api.rb | 213 ++ ...ats_assessment_background_check_api_api.rb | 312 ++ lib/kombo_client/api/unified_atsapi_api.rb | 2393 +++++++++++++++ lib/kombo_client/api/unified_hrisapi_api.rb | 2709 +++++++++++++++++ lib/kombo_client/api_client.rb | 393 +++ lib/kombo_client/api_error.rb | 58 + lib/kombo_client/api_model_base.rb | 88 + lib/kombo_client/configuration.rb | 312 ++ ...lication_status_updated_webhook_payload.rb | 242 ++ ...ion_status_updated_webhook_payload_data.rb | 294 ++ ..._posting_status_updated_webhook_payload.rb | 242 ++ ...ing_status_updated_webhook_payload_data.rb | 401 +++ ...pdated_webhook_payload_data_career_site.rb | 191 ++ ...sessment_order_received_webhook_payload.rb | 242 ++ ...ent_order_received_webhook_payload_data.rb | 348 +++ ...ceived_webhook_payload_data_application.rb | 149 + ...received_webhook_payload_data_candidate.rb | 206 ++ ...order_received_webhook_payload_data_job.rb | 197 ++ ...hook_payload_data_job_hiring_team_inner.rb | 288 ++ ...eived_webhook_payload_data_job_location.rb | 205 ++ .../connection_flow_failed_webhook_payload.rb | 242 ++ ...ection_flow_failed_webhook_payload_data.rb | 269 ++ ...ow_failed_webhook_payload_data_end_user.rb | 220 ++ .../models/data_changed_webhook_payload.rb | 242 ++ .../data_changed_webhook_payload_data.rb | 272 ++ ...bhook_payload_data_changed_models_inner.rb | 190 ++ ...tes_candidate_id_tags_positive_response.rb | 243 ++ ...ndidates_candidate_id_tags_request_body.rb | 173 ++ ...ates_candidate_id_tags_request_body_tag.rb | 165 + ...s_absences_absence_id_positive_response.rb | 243 ++ ...e_hris_absences_absence_id_request_body.rb | 147 + ...s_absence_id_request_body_remote_fields.rb | 148 + ...uest_body_remote_fields_adpworkforcenow.rb | 149 + ...e_skill_assignment_id_positive_response.rb | 214 ++ ..._hris_skills_skill_id_positive_response.rb | 214 ++ ...ations_integration_id_positive_response.rb | 214 ++ ...ai_apply_applications_positive_response.rb | 214 ++ ...ply_applications_positive_response_data.rb | 178 ++ ...ns_positive_response_data_results_inner.rb | 296 ++ ...ai_apply_career_sites_positive_response.rb | 214 ++ ...ply_career_sites_positive_response_data.rb | 178 ++ ...get_ai_apply_postings_positive_response.rb | 214 ++ ...i_apply_postings_positive_response_data.rb | 178 ++ ...gs_positive_response_data_results_inner.rb | 371 +++ ...response_data_results_inner_career_site.rb | 191 ++ ...pply_unified_api_jobs_positive_response.rb | 214 ++ ...unified_api_jobs_positive_response_data.rb | 178 ++ ...bs_positive_response_data_results_inner.rb | 828 +++++ ...onse_data_results_inner_employment_type.rb | 103 + ...ve_response_data_results_inner_location.rb | 211 ++ ...results_inner_screening_questions_inner.rb | 298 ++ ...ng_questions_inner_precondition_options.rb | 103 + ...ssessment_orders_open_positive_response.rb | 214 ++ ...ment_orders_open_positive_response_data.rb | 178 ++ ...en_positive_response_data_results_inner.rb | 270 ++ ...response_data_results_inner_application.rb | 150 + ...e_response_data_results_inner_candidate.rb | 210 ++ ...ositive_response_data_results_inner_job.rb | 199 ++ ...ata_results_inner_job_hiring_team_inner.rb | 246 ++ ...esponse_data_results_inner_job_location.rb | 212 ++ ...t_assessment_packages_positive_response.rb | 214 ++ ...essment_packages_positive_response_data.rb | 166 + ...s_positive_response_data_packages_inner.rb | 275 ++ ...pplication_attachment_positive_response.rb | 214 ++ ...ation_attachment_positive_response_data.rb | 147 + ...e_response_data_attachment_restrictions.rb | 165 + ...onse_data_attachment_restrictions_types.rb | 216 ++ ...tachment_restrictions_types_coverletter.rb | 104 + ...e_data_attachment_restrictions_types_cv.rb | 104 + ...attachment_restrictions_types_cv_any_of.rb | 231 ++ ...ata_attachment_restrictions_types_other.rb | 104 + ..._candidate_attachment_positive_response.rb | 214 ++ ...ts_create_application_positive_response.rb | 214 ++ ..._ats_create_candidate_positive_response.rb | 214 ++ ...create_candidate_positive_response_data.rb | 147 + ...e_response_data_attachment_restrictions.rb | 193 ++ ...onse_data_attachment_restrictions_types.rb | 217 ++ ...tachment_restrictions_types_coverletter.rb | 104 + ...e_data_attachment_restrictions_types_cv.rb | 104 + ...attachment_restrictions_types_cv_any_of.rb | 287 ++ ...ttachment_restrictions_types_cv_any_of1.rb | 188 ++ ...ata_attachment_restrictions_types_other.rb | 104 + ...cation_stages_parameter_include_deleted.rb | 40 + ...ts_application_stages_positive_response.rb | 214 ++ ...plication_stages_positive_response_data.rb | 179 ++ ...es_positive_response_data_results_inner.rb | 246 ++ ...cation_id_attachments_positive_response.rb | 243 ++ ...n_id_attachments_positive_response_data.rb | 166 + ...ts_positive_response_data_results_inner.rb | 344 +++ ..._applications_parameter_include_deleted.rb | 40 + .../get_ats_applications_parameter_outcome.rb | 41 + .../get_ats_applications_positive_response.rb | 214 ++ ...ats_applications_positive_response_data.rb | 179 ++ ...ns_positive_response_data_results_inner.rb | 575 ++++ ...e_response_data_results_inner_candidate.rb | 311 ++ ...s_inner_candidate_email_addresses_inner.rb | 178 ++ ...lts_inner_candidate_phone_numbers_inner.rb | 175 ++ ...ults_inner_candidate_social_media_inner.rb | 168 + ...data_results_inner_candidate_tags_inner.rb | 190 ++ ...sponse_data_results_inner_current_stage.rb | 203 ++ ...nse_data_results_inner_interviews_inner.rb | 239 ++ ...results_inner_interviews_inner_location.rb | 212 ++ ...ositive_response_data_results_inner_job.rb | 205 ++ ...esponse_data_results_inner_offers_inner.rb | 225 ++ ..._inner_screening_question_answers_inner.rb | 108 + ...screening_question_answers_inner_any_of.rb | 190 ++ ...creening_question_answers_inner_any_of1.rb | 190 ++ ...g_question_answers_inner_any_of1_answer.rb | 150 + ...question_answers_inner_any_of1_question.rb | 226 ++ ...creening_question_answers_inner_any_of2.rb | 190 ++ ...g_question_answers_inner_any_of2_answer.rb | 149 + ...question_answers_inner_any_of2_question.rb | 226 ++ ...creening_question_answers_inner_any_of3.rb | 190 ++ ...g_question_answers_inner_any_of3_answer.rb | 150 + ...question_answers_inner_any_of3_question.rb | 226 ++ ...creening_question_answers_inner_any_of4.rb | 190 ++ ...g_question_answers_inner_any_of4_answer.rb | 165 + ...question_answers_inner_any_of4_question.rb | 226 ++ ...creening_question_answers_inner_any_of5.rb | 190 ++ ...g_question_answers_inner_any_of5_answer.rb | 167 + ...question_answers_inner_any_of5_question.rb | 226 ++ ...creening_question_answers_inner_any_of6.rb | 190 ++ ...g_question_answers_inner_any_of6_answer.rb | 148 + ...question_answers_inner_any_of6_question.rb | 227 ++ ...ng_question_answers_inner_any_of_answer.rb | 150 + ..._question_answers_inner_any_of_question.rb | 226 ++ ...didate_id_attachments_positive_response.rb | 243 ++ ...e_id_attachments_positive_response_data.rb | 166 + ...ts_positive_response_data_results_inner.rb | 478 +++ ...ts_candidates_parameter_include_deleted.rb | 40 + .../get_ats_candidates_positive_response.rb | 214 ++ ...t_ats_candidates_positive_response_data.rb | 179 ++ ...es_positive_response_data_results_inner.rb | 512 ++++ ...e_data_results_inner_applications_inner.rb | 369 +++ ...ve_response_data_results_inner_location.rb | 212 ++ ...ts_interviews_parameter_include_deleted.rb | 40 + .../get_ats_interviews_positive_response.rb | 214 ++ ...t_ats_interviews_positive_response_data.rb | 179 ++ ...ws_positive_response_data_results_inner.rb | 400 +++ ...response_data_results_inner_application.rb | 290 ++ ...response_data_results_inner_users_inner.rb | 232 ++ .../get_ats_jobs_parameter_include_deleted.rb | 40 + .../models/get_ats_jobs_parameter_status.rb | 42 + .../models/get_ats_jobs_positive_response.rb | 214 ++ .../get_ats_jobs_positive_response_data.rb | 179 ++ ...bs_positive_response_data_results_inner.rb | 771 +++++ ...onse_data_results_inner_employment_type.rb | 103 + ...se_data_results_inner_hiring_team_inner.rb | 273 ++ ...e_data_results_inner_job_postings_inner.rb | 303 ++ ...ve_response_data_results_inner_location.rb | 212 ++ ...e_data_results_inner_remote_work_status.rb | 103 + ...sponse_data_results_inner_salary_period.rb | 103 + ...results_inner_screening_questions_inner.rb | 338 ++ ..._inner_screening_questions_inner_format.rb | 110 + ...screening_questions_inner_format_any_of.rb | 221 ++ ...creening_questions_inner_format_any_of1.rb | 262 ++ ...creening_questions_inner_format_any_of2.rb | 210 ++ ...creening_questions_inner_format_any_of3.rb | 238 ++ ...ions_inner_format_any_of3_options_inner.rb | 203 ++ ...creening_questions_inner_format_any_of4.rb | 188 ++ ...creening_questions_inner_format_any_of5.rb | 188 ++ ...creening_questions_inner_format_any_of6.rb | 216 ++ ...creening_questions_inner_format_any_of7.rb | 189 ++ ...creening_questions_inner_format_any_of8.rb | 199 ++ ...ng_questions_inner_precondition_options.rb | 104 + ...esponse_data_results_inner_stages_inner.rb | 217 ++ ...tive_response_data_results_inner_status.rb | 103 + ..._response_data_results_inner_visibility.rb | 103 + ...et_ats_offers_parameter_include_deleted.rb | 40 + .../get_ats_offers_positive_response.rb | 214 ++ .../get_ats_offers_positive_response_data.rb | 179 ++ ...rs_positive_response_data_results_inner.rb | 402 +++ ...response_data_results_inner_application.rb | 190 ++ ...ata_results_inner_application_candidate.rb | 231 ++ ...ction_reasons_parameter_include_deleted.rb | 40 + ...ats_rejection_reasons_positive_response.rb | 214 ++ ...ejection_reasons_positive_response_data.rb | 179 ++ ...ns_positive_response_data_results_inner.rb | 260 ++ .../get_ats_tags_parameter_include_deleted.rb | 40 + .../models/get_ats_tags_positive_response.rb | 214 ++ .../get_ats_tags_positive_response_data.rb | 179 ++ ...gs_positive_response_data_results_inner.rb | 245 ++ ...get_ats_users_parameter_include_deleted.rb | 40 + .../models/get_ats_users_positive_response.rb | 214 ++ .../get_ats_users_positive_response_data.rb | 179 ++ ...rs_positive_response_data_results_inner.rb | 334 ++ .../get_check_api_key_positive_response.rb | 214 ++ ...et_check_api_key_positive_response_data.rb | 191 ++ ...ration_by_token_token_positive_response.rb | 214 ++ ...n_by_token_token_positive_response_data.rb | 308 ++ ...v_available_documents_positive_response.rb | 243 ++ ...ilable_documents_positive_response_data.rb | 166 + ...ts_positive_response_data_results_inner.rb | 221 ++ ...lts_inner_available_for_employees_inner.rb | 176 ++ ...k_document_permission_positive_response.rb | 243 ++ ...ument_permission_positive_response_data.rb | 103 + ...ermission_positive_response_data_any_of.rb | 192 ++ ...rmission_positive_response_data_any_of1.rb | 190 ++ ..._check_eau_permission_positive_response.rb | 243 ++ ...k_eau_permission_positive_response_data.rb | 173 ++ ...heck_write_permission_positive_response.rb | 243 ++ ...tom_datev_data_pushes_positive_response.rb | 214 ++ ...atev_data_pushes_positive_response_data.rb | 166 + ...ositive_response_data_data_pushes_inner.rb | 271 ++ ...ata_data_pushes_inner_upload_jobs_inner.rb | 268 ++ ...v_eau_requests_eau_id_positive_response.rb | 243 ++ ..._requests_eau_id_positive_response_data.rb | 164 + ...uests_eau_id_positive_response_data_raw.rb | 230 ++ ...w_feedbacks_from_health_insurance_inner.rb | 231 ++ ...m_health_insurance_inner_contact_person.rb | 392 +++ ..._insurance_inner_error_block_list_inner.rb | 190 ++ ...lth_insurance_inner_incapacity_for_work.rb | 386 +++ ...ev_system_information_positive_response.rb | 214 ++ ...stem_information_positive_response_data.rb | 279 ++ ...absence_types_parameter_include_deleted.rb | 40 + ...et_hris_absence_types_positive_response.rb | 214 ++ ...is_absence_types_positive_response_data.rb | 179 ++ ...es_positive_response_data_results_inner.rb | 333 ++ ...hris_absences_parameter_include_deleted.rb | 40 + .../get_hris_absences_positive_response.rb | 214 ++ ...et_hris_absences_positive_response_data.rb | 179 ++ ...es_positive_response_data_results_inner.rb | 544 ++++ ...tive_response_data_results_inner_status.rb | 103 + ...nt_categories_parameter_include_deleted.rb | 40 + ...e_document_categories_positive_response.rb | 214 ++ ...ument_categories_positive_response_data.rb | 179 ++ ...es_positive_response_data_results_inner.rb | 246 ++ ...yee_skill_assignments_positive_response.rb | 214 ++ ...kill_assignments_positive_response_data.rb | 179 ++ ...ts_positive_response_data_results_inner.rb | 232 ++ ...t_hris_employees_form_positive_response.rb | 243 ++ ...s_employees_form_positive_response_data.rb | 166 + ...s_employees_parameter_employment_status.rb | 42 + ...ris_employees_parameter_include_deleted.rb | 40 + .../get_hris_employees_positive_response.rb | 214 ++ ...t_hris_employees_positive_response_data.rb | 179 ++ ...es_positive_response_data_results_inner.rb | 859 ++++++ ..._data_results_inner_bank_accounts_inner.rb | 202 ++ ...nk_accounts_inner_domestic_bank_routing.rb | 212 ++ ...se_data_results_inner_employment_status.rb | 103 + ...onse_data_results_inner_employment_type.rb | 103 + ...se_data_results_inner_employments_inner.rb | 401 +++ ...s_inner_employments_inner_pay_frequency.rb | 103 + ...ults_inner_employments_inner_pay_period.rb | 103 + ...e_response_data_results_inner_ethnicity.rb | 103 + ...tive_response_data_results_inner_gender.rb | 103 + ...esponse_data_results_inner_groups_inner.rb | 252 ++ ...esponse_data_results_inner_home_address.rb | 212 ++ ..._results_inner_integration_fields_inner.rb | 266 ++ ...esponse_data_results_inner_legal_entity.rb | 200 ++ ...data_results_inner_legal_entity_address.rb | 212 ++ ...ive_response_data_results_inner_manager.rb | 295 ++ ...ponse_data_results_inner_marital_status.rb | 103 + ...a_results_inner_time_off_balances_inner.rb | 414 +++ ...sponse_data_results_inner_work_location.rb | 268 ++ ...ata_results_inner_work_location_address.rb | 212 ++ ...s_employments_parameter_include_deleted.rb | 40 + .../get_hris_employments_positive_response.rb | 214 ++ ...hris_employments_positive_response_data.rb | 179 ++ ...t_hris_groups_parameter_include_deleted.rb | 40 + .../get_hris_groups_positive_response.rb | 214 ++ ...et_hris_job_positions_positive_response.rb | 214 ++ ...is_job_positions_positive_response_data.rb | 179 ++ ...ns_positive_response_data_results_inner.rb | 369 +++ ...esponse_data_results_inner_skills_inner.rb | 245 ++ ...egal_entities_parameter_include_deleted.rb | 40 + ...t_hris_legal_entities_positive_response.rb | 214 ++ ...s_legal_entities_positive_response_data.rb | 179 ++ ...es_positive_response_data_results_inner.rb | 255 ++ ...ris_locations_parameter_include_deleted.rb | 40 + .../get_hris_locations_positive_response.rb | 214 ++ ...t_hris_locations_positive_response_data.rb | 179 ++ ...review_cycles_parameter_include_deleted.rb | 40 + ...ormance_review_cycles_positive_response.rb | 214 ++ ...ce_review_cycles_positive_response_data.rb | 179 ++ ...es_positive_response_data_results_inner.rb | 273 ++ ...mance_reviews_parameter_include_deleted.rb | 40 + ...s_performance_reviews_positive_response.rb | 214 ++ ...formance_reviews_positive_response_data.rb | 179 ++ ...ws_positive_response_data_results_inner.rb | 395 +++ ...ve_response_data_results_inner_reviewee.rb | 273 ++ ...ve_response_data_results_inner_reviewer.rb | 273 ++ ...ponse_data_results_inner_summary_rating.rb | 104 + ...ata_results_inner_summary_rating_any_of.rb | 272 ++ ...ta_results_inner_summary_rating_any_of1.rb | 216 ++ .../get_hris_skills_positive_response.rb | 214 ++ .../get_hris_skills_positive_response_data.rb | 179 ++ ...ls_positive_response_data_results_inner.rb | 302 ++ ...et_hris_teams_parameter_include_deleted.rb | 40 + .../get_hris_teams_positive_response.rb | 214 ++ .../get_hris_teams_positive_response_data.rb | 179 ++ ...ms_positive_response_data_results_inner.rb | 320 ++ ..._off_balances_parameter_include_deleted.rb | 40 + ...ris_time_off_balances_positive_response.rb | 214 ++ ...ime_off_balances_positive_response_data.rb | 179 ++ ...es_positive_response_data_results_inner.rb | 440 +++ ...is_timesheets_parameter_include_deleted.rb | 40 + .../get_hris_timesheets_positive_response.rb | 214 ++ ..._hris_timesheets_positive_response_data.rb | 179 ++ ...ts_positive_response_data_results_inner.rb | 468 +++ ...esponse_data_results_inner_breaks_inner.rb | 217 ++ ...ata_results_inner_breaks_inner_ended_at.rb | 103 + ...a_results_inner_breaks_inner_started_at.rb | 103 + ...tion_id_custom_fields_positive_response.rb | 214 ++ ...id_custom_fields_positive_response_data.rb | 192 ++ ...ds_positive_response_data_results_inner.rb | 271 ++ ...se_data_results_inner_integration_field.rb | 257 ++ ...id_integration_fields_positive_response.rb | 214 ++ ...tegration_fields_positive_response_data.rb | 192 ++ ...ds_positive_response_data_results_inner.rb | 339 +++ ...ations_integration_id_positive_response.rb | 214 ++ ...s_integration_id_positive_response_data.rb | 431 +++ ...tion_id_positive_response_data_end_user.rb | 206 ++ ...ositive_response_data_read_models_inner.rb | 354 +++ ...nse_data_read_models_inner_fields_inner.rb | 299 ++ ..._id_positive_response_data_scope_config.rb | 176 ++ ...egration_id_positive_response_data_tool.rb | 258 ++ .../get_lms_courses_positive_response.rb | 214 ++ .../get_lms_courses_positive_response_data.rb | 179 ++ ...es_positive_response_data_results_inner.rb | 357 +++ ...ata_results_inner_ordered_content_inner.rb | 309 ++ ...esponse_data_results_inner_skills_inner.rb | 178 ++ .../models/get_lms_users_parameter_status.rb | 40 + .../models/get_lms_users_positive_response.rb | 214 ++ .../get_lms_users_positive_response_data.rb | 179 ++ ...rs_positive_response_data_results_inner.rb | 366 +++ ...ponse_data_results_inner_progress_inner.rb | 338 ++ .../get_tools_category_parameter_category.rb | 41 + .../get_tools_category_positive_response.rb | 214 ++ ...t_tools_category_positive_response_data.rb | 166 + ...gory_positive_response_data_tools_inner.rb | 307 ++ ...sitive_response_data_tools_inner_assets.rb | 216 ++ ...tive_response_data_tools_inner_coverage.rb | 223 ++ ...ata_tools_inner_coverage_features_inner.rb | 241 ++ ..._tools_inner_coverage_read_models_inner.rb | 272 ++ ...coverage_read_models_inner_fields_inner.rb | 216 ++ ...ools_inner_coverage_write_actions_inner.rb | 242 ++ ...sessment_order_received_webhook_payload.rb | 242 ++ lib/kombo_client/models/inline_object.rb | 214 ++ lib/kombo_client/models/inline_object1.rb | 214 ++ .../models/inline_object1_error.rb | 239 ++ lib/kombo_client/models/inline_object2.rb | 214 ++ .../models/inline_object2_error.rb | 239 ++ lib/kombo_client/models/inline_object3.rb | 214 ++ .../models/inline_object3_error.rb | 239 ++ .../models/inline_object_error.rb | 239 ++ .../integration_created_webhook_payload.rb | 242 ++ ...ntegration_created_webhook_payload_data.rb | 269 ++ .../integration_deleted_webhook_payload.rb | 242 ++ ...ntegration_deleted_webhook_payload_data.rb | 296 ++ ...tegration_state_changed_webhook_payload.rb | 242 ++ ...tion_state_changed_webhook_payload_data.rb | 354 +++ ...ication_id_interviews_positive_response.rb | 214 ++ ..._application_id_interviews_request_body.rb | 328 ++ ...ion_id_interviews_request_body_location.rb | 197 ++ ...e_skill_assignment_id_positive_response.rb | 214 ++ ...ployee_skill_assignment_id_request_body.rb | 151 + ...employees_employee_id_positive_response.rb | 243 ++ ...yees_employee_id_positive_response_data.rb | 624 ++++ ...hris_employees_employee_id_request_body.rb | 461 +++ ..._hris_skills_skill_id_positive_response.rb | 214 ++ ...patch_hris_skills_skill_id_request_body.rb | 160 + ..._integration_field_id_positive_response.rb | 214 ++ ...ields_integration_field_id_request_body.rb | 150 + ..._progress_progress_id_positive_response.rb | 214 ++ ...h_lms_progress_progress_id_request_body.rb | 286 ++ .../post_ai_apply_apply_positive_response.rb | 214 ++ ...t_ai_apply_apply_positive_response_data.rb | 272 ++ .../post_ai_apply_apply_request_body.rb | 233 ++ ...t_body_screening_question_answers_inner.rb | 191 ++ ...ai_apply_career_sites_positive_response.rb | 214 ++ ...ply_career_sites_positive_response_data.rb | 192 ++ ...post_ai_apply_career_sites_request_body.rb | 165 + ...ost_ai_apply_postings_positive_response.rb | 214 ++ ...gs_posting_id_inquire_positive_response.rb | 214 ++ ...sting_id_inquire_positive_response_data.rb | 193 ++ ...ve_response_data_application_form_inner.rb | 103 + ...onse_data_application_form_inner_any_of.rb | 395 +++ ...nse_data_application_form_inner_any_of1.rb | 242 ++ ...lication_form_inner_any_of_display_when.rb | 191 ++ ...inner_any_of_display_when_answer_equals.rb | 107 + ...ny_of_display_when_answer_equals_one_of.rb | 220 ++ ...ication_form_inner_any_of_options_inner.rb | 237 ++ ...ings_posting_id_parse_positive_response.rb | 214 ++ .../post_ai_apply_postings_request_body.rb | 222 ++ ...ai_apply_postings_request_body_location.rb | 200 ++ ...s_job_id_applications_positive_response.rb | 214 ++ ...i_jobs_job_id_applications_request_body.rb | 246 ++ ...cation_id_attachments_positive_response.rb | 243 ++ ...application_id_attachments_request_body.rb | 173 ++ ..._id_attachments_request_body_attachment.rb | 267 ++ ..._attachments_request_body_remote_fields.rb | 165 + ...equest_body_remote_fields_all_of_oracle.rb | 193 ++ ...ication_id_interviews_positive_response.rb | 214 ++ ..._application_id_interviews_request_body.rb | 301 ++ ...ion_id_interviews_request_body_location.rb | 198 ++ ..._application_id_notes_positive_response.rb | 243 ++ ...tions_application_id_notes_request_body.rb | 225 ++ ...ion_id_notes_request_body_remote_fields.rb | 184 ++ ...uest_body_remote_fields_all_of_bullhorn.rb | 149 + ...st_body_remote_fields_all_of_greenhouse.rb | 183 ++ ...est_body_remote_fields_all_of_recruitee.rb | 159 + ...st_body_remote_fields_all_of_teamtailor.rb | 149 + ...application_id_reject_positive_response.rb | 243 ++ ...ions_application_id_reject_request_body.rb | 184 ++ ...on_id_reject_request_body_remote_fields.rb | 157 + ...st_body_remote_fields_all_of_greenhouse.rb | 151 + ...ation_id_result_links_positive_response.rb | 243 ++ ...pplication_id_result_links_request_body.rb | 210 ++ ...on_id_result_links_request_body_details.rb | 194 ++ ...s_request_body_details_attributes_inner.rb | 192 ++ ...result_links_request_body_remote_fields.rb | 175 ++ ...request_body_remote_fields_all_of_icims.rb | 149 + ...equest_body_remote_fields_all_of_oracle.rb | 193 ++ ...didate_id_attachments_positive_response.rb | 243 ++ ...s_candidate_id_attachments_request_body.rb | 173 ++ ...idate_id_result_links_positive_response.rb | 243 ++ ..._candidate_id_result_links_request_body.rb | 210 ++ ...tes_candidate_id_tags_positive_response.rb | 243 ++ ...ndidates_candidate_id_tags_request_body.rb | 173 ++ ...ates_candidate_id_tags_request_body_tag.rb | 174 ++ .../post_ats_candidates_positive_response.rb | 243 ++ .../post_ats_candidates_request_body.rb | 250 ++ ...ats_candidates_request_body_application.rb | 176 ++ ...t_ats_candidates_request_body_candidate.rb | 376 +++ ...didate_additional_email_addresses_inner.rb | 214 ++ ...andidate_additional_phone_numbers_inner.rb | 214 ++ ...didates_request_body_candidate_location.rb | 204 ++ ...uest_body_candidate_salary_expectations.rb | 226 ++ ...quest_body_candidate_social_links_inner.rb | 164 + ...ts_candidates_request_body_gdpr_consent.rb | 180 ++ ...s_candidates_request_body_remote_fields.rb | 319 ++ ...quest_body_remote_fields_all_of_avature.rb | 148 + ...y_remote_fields_all_of_avature_workflow.rb | 147 + ...ote_fields_all_of_avature_workflow_step.rb | 165 + ...uest_body_remote_fields_all_of_bullhorn.rb | 163 + ...equest_body_remote_fields_all_of_dvinci.rb | 151 + ...st_body_remote_fields_all_of_greenhouse.rb | 163 + ...uest_body_remote_fields_all_of_guidecom.rb | 151 + ...quest_body_remote_fields_all_of_hrworks.rb | 151 + ...quest_body_remote_fields_all_of_jobylon.rb | 148 + ...emote_fields_all_of_jobylon_application.rb | 149 + ...request_body_remote_fields_all_of_lever.rb | 151 + ...uest_body_remote_fields_all_of_personio.rb | 151 + ...equest_body_remote_fields_all_of_piloga.rb | 148 + ...y_remote_fields_all_of_piloga_candidate.rb | 149 + ...est_body_remote_fields_all_of_recruitee.rb | 148 + ...emote_fields_all_of_recruitee_candidate.rb | 148 + ...dy_remote_fields_all_of_smartrecruiters.rb | 175 ++ ...ody_remote_fields_all_of_successfactors.rb | 184 ++ ...t_body_remote_fields_all_of_talentadore.rb | 151 + ...st_body_remote_fields_all_of_talentsoft.rb | 163 + ...st_body_remote_fields_all_of_teamtailor.rb | 159 + ...te_fields_all_of_teamtailor_application.rb | 150 + ...quest_body_remote_fields_all_of_umantis.rb | 151 + ...uest_body_remote_fields_all_of_workable.rb | 151 + ...quest_body_remote_fields_all_of_workday.rb | 158 + ...te_fields_all_of_workday_candidate_data.rb | 183 ++ ..._of_workday_candidate_data_contact_data.rb | 147 + ...ndidate_data_contact_data_location_data.rb | 183 ++ ..._location_data_country_region_reference.rb | 164 + ...day_candidate_data_job_application_data.rb | 156 + ...ob_application_data_job_applied_to_data.rb | 147 + ...o_data_global_personal_information_data.rb | 147 + ...e_data_job_application_data_resume_data.rb | 182 ++ ...n_data_resume_data_education_data_inner.rb | 230 ++ ...ion_data_inner_field_of_study_reference.rb | 164 + ..._data_resume_data_experience_data_inner.rb | 286 ++ ...on_data_resume_data_language_data_inner.rb | 156 + ...esume_data_language_data_inner_language.rb | 175 ++ ...a_inner_language_language_ability_inner.rb | 147 + ...age_ability_inner_language_ability_data.rb | 156 + ..._language_data_inner_language_reference.rb | 147 + ...ation_data_resume_data_skill_data_inner.rb | 147 + ...rkday_candidate_data_language_reference.rb | 165 + ...workday_candidate_data_name_detail_data.rb | 157 + ...ame_detail_data_social_suffix_reference.rb | 165 + ...workday_candidate_data_worker_reference.rb | 157 + ...t_body_remote_fields_all_of_zohorecruit.rb | 151 + ...t_body_screening_question_answers_inner.rb | 191 ++ ...screening_question_answers_inner_answer.rb | 108 + ...ng_question_answers_inner_answer_any_of.rb | 217 ++ ...post_ats_candidates_request_body_source.rb | 167 + ..._ats_candidates_request_body_sourced_by.rb | 166 + ...t_tracked_application_positive_response.rb | 243 ++ ...cked_application_positive_response_data.rb | 232 ++ ...tion_positive_response_data_imported_id.rb | 192 ++ ...ve_response_data_imported_id_erecruiter.rb | 103 + ...onse_data_imported_id_erecruiter_any_of.rb | 241 ++ ...nse_data_imported_id_erecruiter_any_of1.rb | 241 ++ ...ve_response_data_imported_id_greenhouse.rb | 215 ++ ...sitive_response_data_imported_id_onlyfy.rb | 215 ++ ...ive_response_data_imported_id_recruitee.rb | 215 ++ ...sponse_data_imported_id_smartrecruiters.rb | 241 ++ ...esponse_data_imported_id_successfactors.rb | 215 ++ ...import_tracked_application_request_body.rb | 222 ++ ...s_job_id_applications_positive_response.rb | 243 ++ ..._id_applications_positive_response_data.rb | 519 ++++ ...ations_positive_response_data_candidate.rb | 484 +++ ...s_jobs_job_id_applications_request_body.rb | 234 ++ ..._activate_integration_positive_response.rb | 214 ++ ...nnect_activate_integration_request_body.rb | 164 + ...t_connect_create_link_positive_response.rb | 214 ++ .../post_connect_create_link_request_body.rb | 391 +++ ...tev_download_document_positive_response.rb | 243 ++ ...ownload_document_positive_response_data.rb | 217 ++ ...om_datev_download_document_request_body.rb | 240 ++ ..._id_download_document_positive_response.rb | 243 ++ ...loyee_id_download_document_request_body.rb | 228 ++ ...loyee_id_eau_requests_positive_response.rb | 243 ++ ..._id_eau_requests_positive_response_data.rb | 164 + ...s_employee_id_eau_requests_request_body.rb | 195 ++ ...au_requests_request_body_contact_person.rb | 629 ++++ ..._eau_requests_request_body_notification.rb | 176 ++ ...tom_datev_passthrough_positive_response.rb | 243 ++ ...t_custom_datev_passthrough_request_body.rb | 315 ++ ...tev_push_data_general_positive_response.rb | 243 ++ ...ush_data_general_positive_response_data.rb | 166 + ...eral_positive_response_data_files_inner.rb | 190 ++ ...tev_push_data_payroll_positive_response.rb | 243 ++ ...om_datev_push_data_payroll_request_body.rb | 176 ++ ...d_payroll_supplements_positive_response.rb | 243 ++ ...yee_id_payroll_supplements_request_body.rb | 242 ++ .../post_force_sync_positive_response.rb | 214 ++ .../post_force_sync_positive_response_data.rb | 243 ++ .../models/post_force_sync_request_body.rb | 184 ++ .../post_hris_absences_positive_response.rb | 243 ++ ...st_hris_absences_positive_response_data.rb | 518 ++++ .../models/post_hris_absences_request_body.rb | 473 +++ ...ris_absences_request_body_remote_fields.rb | 148 + ...uest_body_remote_fields_adpworkforcenow.rb | 159 + ...yee_skill_assignments_positive_response.rb | 214 ++ ...employee_skill_assignments_request_body.rb | 202 ++ ...employee_id_documents_positive_response.rb | 243 ++ ...yees_employee_id_documents_request_body.rb | 190 ++ ...t_hris_employees_form_positive_response.rb | 243 ++ ...s_employees_form_positive_response_data.rb | 177 ++ .../post_hris_employees_form_request_body.rb | 166 + .../post_hris_employees_positive_response.rb | 243 ++ ...t_hris_employees_positive_response_data.rb | 668 ++++ .../post_hris_employees_request_body.rb | 405 +++ ...ris_employees_request_body_home_address.rb | 215 ++ ...is_employees_request_body_remote_fields.rb | 274 ++ ...uest_body_remote_fields_adpworkforcenow.rb | 223 ++ ...yees_request_body_remote_fields_azuread.rb | 166 + ...ees_request_body_remote_fields_bamboohr.rb | 151 + ...ees_request_body_remote_fields_dayforce.rb | 418 +++ ...ployees_request_body_remote_fields_deel.rb | 193 ++ ...loyees_request_body_remote_fields_hibob.rb | 151 + ...yees_request_body_remote_fields_humaans.rb | 151 + ...oyees_request_body_remote_fields_oracle.rb | 193 ++ ...oyees_request_body_remote_fields_paycor.rb | 193 ++ ...ees_request_body_remote_fields_peoplehr.rb | 179 ++ ...yees_request_body_remote_fields_planday.rb | 166 + ...loyees_request_body_remote_fields_silae.rb | 173 ++ ...loyees_request_body_remote_fields_sympa.rb | 151 + ...yees_request_body_remote_fields_workday.rb | 178 ++ ...body_remote_fields_workday_bank_account.rb | 217 ++ ...s_request_body_remote_fields_zohopeople.rb | 168 + ..._groups_group_id_diff_positive_response.rb | 214 ++ ...ps_group_id_diff_positive_response_data.rb | 165 + ...up_id_diff_positive_response_data_users.rb | 225 ++ ...se_data_users_already_provisioned_inner.rb | 218 ++ ...esponse_data_users_to_deprovision_inner.rb | 192 ++ ..._response_data_users_to_provision_inner.rb | 194 ++ ..._data_users_to_provision_inner_employee.rb | 219 ++ ...o_provision_inner_employee_groups_inner.rb | 188 ++ ...oning_groups_group_id_diff_request_body.rb | 193 ++ ...oups_group_id_diff_request_body_options.rb | 180 ++ ...ff_request_body_provisioned_users_inner.rb | 192 ++ ..._group_id_setup_links_positive_response.rb | 214 ++ ...p_id_setup_links_positive_response_data.rb | 192 ++ ...roups_group_id_setup_links_request_body.rb | 185 ++ .../post_hris_skills_positive_response.rb | 214 ++ .../models/post_hris_skills_request_body.rb | 177 ++ ...integration_id_relink_positive_response.rb | 214 ++ ...ration_id_relink_positive_response_data.rb | 164 + ...ions_integration_id_relink_request_body.rb | 220 ++ .../post_lms_content_positive_response.rb | 214 ++ ...post_lms_content_positive_response_data.rb | 364 +++ .../models/post_lms_content_request_body.rb | 265 ++ .../post_lms_courses_positive_response.rb | 214 ++ .../models/post_lms_courses_request_body.rb | 199 ++ ...t_lms_courses_request_body_skills_inner.rb | 176 ++ .../post_lms_progress_positive_response.rb | 214 ++ ...ost_lms_progress_positive_response_data.rb | 434 +++ .../models/post_lms_progress_request_body.rb | 371 +++ ..._passthrough_tool_api_positive_response.rb | 243 ++ ...through_tool_api_positive_response_data.rb | 231 ++ ...pi_positive_response_data_headers_value.rb | 104 + ...ol_api_positive_response_warnings_inner.rb | 164 + .../post_passthrough_tool_api_request_body.rb | 294 ++ ..._request_body_multipart_form_data_inner.rb | 192 ++ ...st_body_multipart_form_data_inner_value.rb | 104 + ..._multipart_form_data_inner_value_one_of.rb | 216 ++ ...sment_order_id_result_positive_response.rb | 243 ++ ...assessment_order_id_result_request_body.rb | 354 +++ ...id_result_request_body_attributes_inner.rb | 103 + ...lt_request_body_attributes_inner_any_of.rb | 240 ++ ...t_request_body_attributes_inner_any_of1.rb | 294 ++ ...est_body_attributes_inner_any_of1_score.rb | 208 ++ ...er_id_result_request_body_remote_fields.rb | 148 + ...uest_body_remote_fields_smartrecruiters.rb | 148 + ...t_assessment_packages_positive_response.rb | 243 ++ .../put_assessment_packages_request_body.rb | 166 + ...nt_packages_request_body_packages_inner.rb | 269 ++ ..._application_id_stage_positive_response.rb | 243 ++ ...tions_application_id_stage_request_body.rb | 174 ++ ...ion_id_stage_request_body_remote_fields.rb | 157 + ...e_request_body_remote_fields_greenhouse.rb | 148 + ...y_remote_fields_greenhouse_post_headers.rb | 150 + ...age_request_body_remote_fields_workable.rb | 149 + ...oyee_id_compensations_positive_response.rb | 243 ++ ..._employee_id_compensations_request_body.rb | 204 ++ ...ations_request_body_compensations_inner.rb | 292 ++ ...ee_id_prepare_payroll_positive_response.rb | 243 ++ ...mployee_id_prepare_payroll_request_body.rb | 234 ++ ...payroll_request_body_custom_lodas_inner.rb | 246 ++ ...yroll_request_body_fixed_payments_inner.rb | 209 ++ ...roll_request_body_hourly_payments_inner.rb | 210 ++ ...repare_payroll_request_body_payroll_run.rb | 176 ++ ...ields_custom_field_id_positive_response.rb | 214 ++ ...tom_fields_custom_field_id_request_body.rb | 151 + .../remote_event_received_webhook_payload.rb | 242 ++ ...ote_event_received_webhook_payload_data.rb | 269 ++ lib/kombo_client/models/schema1_value.rb | 110 + lib/kombo_client/models/schema2.rb | 110 + lib/kombo_client/models/schema2_any_of.rb | 332 ++ lib/kombo_client/models/schema2_any_of1.rb | 322 ++ lib/kombo_client/models/schema2_any_of2.rb | 272 ++ lib/kombo_client/models/schema2_any_of3.rb | 298 ++ .../models/schema2_any_of3_options.rb | 103 + .../models/schema2_any_of3_options_any_of.rb | 216 ++ .../models/schema2_any_of3_options_any_of1.rb | 214 ++ ...a2_any_of3_options_any_of_entries_inner.rb | 225 ++ ..._options_any_of_entries_inner_remote_id.rb | 104 + lib/kombo_client/models/schema2_any_of4.rb | 336 ++ lib/kombo_client/models/schema2_any_of5.rb | 272 ++ lib/kombo_client/models/schema2_any_of6.rb | 300 ++ lib/kombo_client/models/schema2_any_of7.rb | 348 +++ lib/kombo_client/models/schema2_any_of8.rb | 298 ++ .../schema2_any_of8_file_restrictions.rb | 191 ++ lib/kombo_client/models/schema4.rb | 107 + .../models/sync_finished_webhook_payload.rb | 242 ++ .../sync_finished_webhook_payload_data.rb | 440 +++ lib/kombo_client/version.rb | 15 + spec/api/ai_apply_api_spec.rb | 172 ++ spec/api/custom_endpoints_api_spec.rb | 243 ++ spec/api/default_api_spec.rb | 167 + spec/api/general_api_spec.rb | 258 ++ spec/api/kombo_connect_api_spec.rb | 71 + ...ssessment_background_check_api_api_spec.rb | 88 + spec/api/unified_atsapi_api_spec.rb | 477 +++ spec/api/unified_hrisapi_api_spec.rb | 544 ++++ ...tatus_updated_webhook_payload_data_spec.rb | 64 + ...ion_status_updated_webhook_payload_spec.rb | 52 + ...d_webhook_payload_data_career_site_spec.rb | 42 + ...tatus_updated_webhook_payload_data_spec.rb | 92 + ...ing_status_updated_webhook_payload_spec.rb | 52 + ...d_webhook_payload_data_application_spec.rb | 36 + ...ved_webhook_payload_data_candidate_spec.rb | 60 + ...payload_data_job_hiring_team_inner_spec.rb | 64 + ..._webhook_payload_data_job_location_spec.rb | 72 + ..._received_webhook_payload_data_job_spec.rb | 54 + ...rder_received_webhook_payload_data_spec.rb | 76 + ...ent_order_received_webhook_payload_spec.rb | 52 + ...iled_webhook_payload_data_end_user_spec.rb | 48 + ...n_flow_failed_webhook_payload_data_spec.rb | 58 + ...ection_flow_failed_webhook_payload_spec.rb | 52 + ..._payload_data_changed_models_inner_spec.rb | 40 + .../data_changed_webhook_payload_data_spec.rb | 58 + .../data_changed_webhook_payload_spec.rb | 52 + ...andidate_id_tags_positive_response_spec.rb | 52 + ...tes_candidate_id_tags_request_body_spec.rb | 42 + ...candidate_id_tags_request_body_tag_spec.rb | 36 + ...ences_absence_id_positive_response_spec.rb | 52 + ...body_remote_fields_adpworkforcenow_spec.rb | 36 + ...ence_id_request_body_remote_fields_spec.rb | 36 + ...s_absences_absence_id_request_body_spec.rb | 36 + ...ll_assignment_id_positive_response_spec.rb | 46 + ..._skills_skill_id_positive_response_spec.rb | 46 + ...s_integration_id_positive_response_spec.rb | 46 + ...sitive_response_data_results_inner_spec.rb | 64 + ...pplications_positive_response_data_spec.rb | 42 + ...ply_applications_positive_response_spec.rb | 46 + ...areer_sites_positive_response_data_spec.rb | 42 + ...ply_career_sites_positive_response_spec.rb | 46 + ...nse_data_results_inner_career_site_spec.rb | 42 + ...sitive_response_data_results_inner_spec.rb | 92 + ...ly_postings_positive_response_data_spec.rb | 42 + ...i_apply_postings_positive_response_spec.rb | 46 + ...data_results_inner_employment_type_spec.rb | 21 + ...sponse_data_results_inner_location_spec.rb | 72 + ...estions_inner_precondition_options_spec.rb | 21 + ...ts_inner_screening_questions_inner_spec.rb | 94 + ...sitive_response_data_results_inner_spec.rb | 246 ++ ...ed_api_jobs_positive_response_data_spec.rb | 42 + ...unified_api_jobs_positive_response_spec.rb | 46 + ...nse_data_results_inner_application_spec.rb | 36 + ...ponse_data_results_inner_candidate_spec.rb | 60 + ...esults_inner_job_hiring_team_inner_spec.rb | 64 + ...se_data_results_inner_job_location_spec.rb | 72 + ...ve_response_data_results_inner_job_spec.rb | 54 + ...sitive_response_data_results_inner_spec.rb | 60 + ...orders_open_positive_response_data_spec.rb | 42 + ...ment_orders_open_positive_response_spec.rb | 46 + ...itive_response_data_packages_inner_spec.rb | 64 + ...nt_packages_positive_response_data_spec.rb | 36 + ...essment_packages_positive_response_spec.rb | 46 + ...ponse_data_attachment_restrictions_spec.rb | 36 + ...ent_restrictions_types_coverletter_spec.rb | 21 + ...hment_restrictions_types_cv_any_of_spec.rb | 52 + ...a_attachment_restrictions_types_cv_spec.rb | 21 + ...ttachment_restrictions_types_other_spec.rb | 21 + ...data_attachment_restrictions_types_spec.rb | 48 + ..._attachment_positive_response_data_spec.rb | 36 + ...ation_attachment_positive_response_spec.rb | 46 + ...idate_attachment_positive_response_spec.rb | 46 + ...eate_application_positive_response_spec.rb | 46 + ...ponse_data_attachment_restrictions_spec.rb | 42 + ...ent_restrictions_types_coverletter_spec.rb | 21 + ...ment_restrictions_types_cv_any_of1_spec.rb | 40 + ...hment_restrictions_types_cv_any_of_spec.rb | 64 + ...a_attachment_restrictions_types_cv_spec.rb | 21 + ...ttachment_restrictions_types_other_spec.rb | 21 + ...data_attachment_restrictions_types_spec.rb | 48 + ...e_candidate_positive_response_data_spec.rb | 36 + ...create_candidate_positive_response_spec.rb | 46 + ...n_stages_parameter_include_deleted_spec.rb | 30 + ...sitive_response_data_results_inner_spec.rb | 66 + ...tion_stages_positive_response_data_spec.rb | 42 + ...plication_stages_positive_response_spec.rb | 46 + ...sitive_response_data_results_inner_spec.rb | 82 + ...attachments_positive_response_data_spec.rb | 36 + ...n_id_attachments_positive_response_spec.rb | 52 + ...ications_parameter_include_deleted_spec.rb | 30 + ...ats_applications_parameter_outcome_spec.rb | 30 + ...er_candidate_email_addresses_inner_spec.rb | 42 + ...nner_candidate_phone_numbers_inner_spec.rb | 42 + ...inner_candidate_social_media_inner_spec.rb | 48 + ...ponse_data_results_inner_candidate_spec.rb | 90 + ...results_inner_candidate_tags_inner_spec.rb | 48 + ...e_data_results_inner_current_stage_spec.rb | 54 + ...ts_inner_interviews_inner_location_spec.rb | 72 + ...ata_results_inner_interviews_inner_spec.rb | 72 + ...ve_response_data_results_inner_job_spec.rb | 48 + ...se_data_results_inner_offers_inner_spec.rb | 52 + ...stion_answers_inner_any_of1_answer_spec.rb | 36 + ...ion_answers_inner_any_of1_question_spec.rb | 52 + ...ing_question_answers_inner_any_of1_spec.rb | 42 + ...stion_answers_inner_any_of2_answer_spec.rb | 36 + ...ion_answers_inner_any_of2_question_spec.rb | 52 + ...ing_question_answers_inner_any_of2_spec.rb | 42 + ...stion_answers_inner_any_of3_answer_spec.rb | 36 + ...ion_answers_inner_any_of3_question_spec.rb | 52 + ...ing_question_answers_inner_any_of3_spec.rb | 42 + ...stion_answers_inner_any_of4_answer_spec.rb | 36 + ...ion_answers_inner_any_of4_question_spec.rb | 52 + ...ing_question_answers_inner_any_of4_spec.rb | 42 + ...stion_answers_inner_any_of5_answer_spec.rb | 36 + ...ion_answers_inner_any_of5_question_spec.rb | 52 + ...ing_question_answers_inner_any_of5_spec.rb | 42 + ...stion_answers_inner_any_of6_answer_spec.rb | 36 + ...ion_answers_inner_any_of6_question_spec.rb | 52 + ...ing_question_answers_inner_any_of6_spec.rb | 42 + ...estion_answers_inner_any_of_answer_spec.rb | 36 + ...tion_answers_inner_any_of_question_spec.rb | 52 + ...ning_question_answers_inner_any_of_spec.rb | 42 + ...r_screening_question_answers_inner_spec.rb | 21 + ...sitive_response_data_results_inner_spec.rb | 166 + ...pplications_positive_response_data_spec.rb | 42 + ...ats_applications_positive_response_spec.rb | 46 + ...sitive_response_data_results_inner_spec.rb | 94 + ...attachments_positive_response_data_spec.rb | 36 + ...e_id_attachments_positive_response_spec.rb | 52 + ...ndidates_parameter_include_deleted_spec.rb | 30 + ...a_results_inner_applications_inner_spec.rb | 100 + ...sponse_data_results_inner_location_spec.rb | 72 + ...sitive_response_data_results_inner_spec.rb | 162 + ..._candidates_positive_response_data_spec.rb | 42 + ...t_ats_candidates_positive_response_spec.rb | 46 + ...terviews_parameter_include_deleted_spec.rb | 30 + ...nse_data_results_inner_application_spec.rb | 70 + ...sitive_response_data_results_inner_spec.rb | 126 + ...nse_data_results_inner_users_inner_spec.rb | 60 + ..._interviews_positive_response_data_spec.rb | 42 + ...t_ats_interviews_positive_response_spec.rb | 46 + ...ats_jobs_parameter_include_deleted_spec.rb | 30 + .../get_ats_jobs_parameter_status_spec.rb | 30 + ...data_results_inner_employment_type_spec.rb | 21 + ...ta_results_inner_hiring_team_inner_spec.rb | 70 + ...a_results_inner_job_postings_inner_spec.rb | 86 + ...sponse_data_results_inner_location_spec.rb | 72 + ...a_results_inner_remote_work_status_spec.rb | 21 + ...e_data_results_inner_salary_period_spec.rb | 21 + ...ing_questions_inner_format_any_of1_spec.rb | 62 + ...ing_questions_inner_format_any_of2_spec.rb | 52 + ...inner_format_any_of3_options_inner_spec.rb | 48 + ...ing_questions_inner_format_any_of3_spec.rb | 56 + ...ing_questions_inner_format_any_of4_spec.rb | 40 + ...ing_questions_inner_format_any_of5_spec.rb | 40 + ...ing_questions_inner_format_any_of6_spec.rb | 46 + ...ing_questions_inner_format_any_of7_spec.rb | 40 + ...ing_questions_inner_format_any_of8_spec.rb | 46 + ...ning_questions_inner_format_any_of_spec.rb | 56 + ...r_screening_questions_inner_format_spec.rb | 21 + ...estions_inner_precondition_options_spec.rb | 21 + ...ts_inner_screening_questions_inner_spec.rb | 94 + ...sitive_response_data_results_inner_spec.rb | 246 ++ ...se_data_results_inner_stages_inner_spec.rb | 60 + ...response_data_results_inner_status_spec.rb | 21 + ...onse_data_results_inner_visibility_spec.rb | 21 + ...et_ats_jobs_positive_response_data_spec.rb | 42 + .../get_ats_jobs_positive_response_spec.rb | 46 + ...s_offers_parameter_include_deleted_spec.rb | 30 + ...esults_inner_application_candidate_spec.rb | 60 + ...nse_data_results_inner_application_spec.rb | 42 + ...sitive_response_data_results_inner_spec.rb | 112 + ..._ats_offers_positive_response_data_spec.rb | 42 + .../get_ats_offers_positive_response_spec.rb | 46 + ..._reasons_parameter_include_deleted_spec.rb | 30 + ...sitive_response_data_results_inner_spec.rb | 66 + ...ion_reasons_positive_response_data_spec.rb | 42 + ...ejection_reasons_positive_response_spec.rb | 46 + ...ats_tags_parameter_include_deleted_spec.rb | 30 + ...sitive_response_data_results_inner_spec.rb | 66 + ...et_ats_tags_positive_response_data_spec.rb | 42 + .../get_ats_tags_positive_response_spec.rb | 46 + ...ts_users_parameter_include_deleted_spec.rb | 30 + ...sitive_response_data_results_inner_spec.rb | 88 + ...t_ats_users_positive_response_data_spec.rb | 42 + .../get_ats_users_positive_response_spec.rb | 46 + ...eck_api_key_positive_response_data_spec.rb | 42 + ...et_check_api_key_positive_response_spec.rb | 46 + ...token_token_positive_response_data_spec.rb | 70 + ...n_by_token_token_positive_response_spec.rb | 46 + ...nner_available_for_employees_inner_spec.rb | 42 + ...sitive_response_data_results_inner_spec.rb | 48 + ...e_documents_positive_response_data_spec.rb | 36 + ...ilable_documents_positive_response_spec.rb | 52 + ...ion_positive_response_data_any_of1_spec.rb | 42 + ...sion_positive_response_data_any_of_spec.rb | 42 + ..._permission_positive_response_data_spec.rb | 21 + ...ument_permission_positive_response_spec.rb | 52 + ..._permission_positive_response_data_spec.rb | 42 + ...k_eau_permission_positive_response_spec.rb | 52 + ...write_permission_positive_response_spec.rb | 52 + ...ve_response_data_data_pushes_inner_spec.rb | 58 + ...ata_pushes_inner_upload_jobs_inner_spec.rb | 58 + ...data_pushes_positive_response_data_spec.rb | 36 + ...atev_data_pushes_positive_response_spec.rb | 46 + ...lth_insurance_inner_contact_person_spec.rb | 106 + ...rance_inner_error_block_list_inner_spec.rb | 54 + ...nsurance_inner_incapacity_for_work_spec.rb | 108 + ...dbacks_from_health_insurance_inner_spec.rb | 54 + ..._eau_id_positive_response_data_raw_spec.rb | 54 + ...ests_eau_id_positive_response_data_spec.rb | 36 + ..._requests_eau_id_positive_response_spec.rb | 52 + ...information_positive_response_data_spec.rb | 52 + ...stem_information_positive_response_spec.rb | 46 + ...ce_types_parameter_include_deleted_spec.rb | 30 + ...sitive_response_data_results_inner_spec.rb | 88 + ...sence_types_positive_response_data_spec.rb | 42 + ...is_absence_types_positive_response_spec.rb | 46 + ...absences_parameter_include_deleted_spec.rb | 30 + ...sitive_response_data_results_inner_spec.rb | 148 + ...response_data_results_inner_status_spec.rb | 21 + ...is_absences_positive_response_data_spec.rb | 42 + ...et_hris_absences_positive_response_spec.rb | 46 + ...tegories_parameter_include_deleted_spec.rb | 30 + ...sitive_response_data_results_inner_spec.rb | 66 + ..._categories_positive_response_data_spec.rb | 42 + ...ument_categories_positive_response_spec.rb | 46 + ...sitive_response_data_results_inner_spec.rb | 54 + ...assignments_positive_response_data_spec.rb | 42 + ...kill_assignments_positive_response_spec.rb | 46 + ...loyees_form_positive_response_data_spec.rb | 36 + ...s_employees_form_positive_response_spec.rb | 52 + ...loyees_parameter_employment_status_spec.rb | 30 + ...mployees_parameter_include_deleted_spec.rb | 30 + ...counts_inner_domestic_bank_routing_spec.rb | 46 + ..._results_inner_bank_accounts_inner_spec.rb | 66 + ...ta_results_inner_employment_status_spec.rb | 21 + ...data_results_inner_employment_type_spec.rb | 21 + ...er_employments_inner_pay_frequency_spec.rb | 21 + ...inner_employments_inner_pay_period_spec.rb | 21 + ...ta_results_inner_employments_inner_spec.rb | 120 + ...ponse_data_results_inner_ethnicity_spec.rb | 21 + ...response_data_results_inner_gender_spec.rb | 21 + ...se_data_results_inner_groups_inner_spec.rb | 58 + ...se_data_results_inner_home_address_spec.rb | 72 + ...lts_inner_integration_fields_inner_spec.rb | 64 + ...results_inner_legal_entity_address_spec.rb | 72 + ...se_data_results_inner_legal_entity_spec.rb | 54 + ...esponse_data_results_inner_manager_spec.rb | 84 + ..._data_results_inner_marital_status_spec.rb | 21 + ...sitive_response_data_results_inner_spec.rb | 276 ++ ...ults_inner_time_off_balances_inner_spec.rb | 104 + ...esults_inner_work_location_address_spec.rb | 72 + ...e_data_results_inner_work_location_spec.rb | 78 + ...s_employees_positive_response_data_spec.rb | 42 + ...t_hris_employees_positive_response_spec.rb | 46 + ...loyments_parameter_include_deleted_spec.rb | 30 + ...employments_positive_response_data_spec.rb | 42 + ...hris_employments_positive_response_spec.rb | 46 + ...s_groups_parameter_include_deleted_spec.rb | 30 + .../get_hris_groups_positive_response_spec.rb | 46 + ...se_data_results_inner_skills_inner_spec.rb | 60 + ...sitive_response_data_results_inner_spec.rb | 108 + ...b_positions_positive_response_data_spec.rb | 42 + ...is_job_positions_positive_response_spec.rb | 46 + ...entities_parameter_include_deleted_spec.rb | 30 + ...sitive_response_data_results_inner_spec.rb | 72 + ...al_entities_positive_response_data_spec.rb | 42 + ...s_legal_entities_positive_response_spec.rb | 46 + ...ocations_parameter_include_deleted_spec.rb | 30 + ...s_locations_positive_response_data_spec.rb | 42 + ...t_hris_locations_positive_response_spec.rb | 46 + ...w_cycles_parameter_include_deleted_spec.rb | 30 + ...sitive_response_data_results_inner_spec.rb | 72 + ...view_cycles_positive_response_data_spec.rb | 42 + ...ce_review_cycles_positive_response_spec.rb | 46 + ..._reviews_parameter_include_deleted_spec.rb | 30 + ...sponse_data_results_inner_reviewee_spec.rb | 72 + ...sponse_data_results_inner_reviewer_spec.rb | 72 + ...sitive_response_data_results_inner_spec.rb | 100 + ...sults_inner_summary_rating_any_of1_spec.rb | 52 + ...esults_inner_summary_rating_any_of_spec.rb | 58 + ..._data_results_inner_summary_rating_spec.rb | 21 + ...nce_reviews_positive_response_data_spec.rb | 42 + ...formance_reviews_positive_response_spec.rb | 46 + ...sitive_response_data_results_inner_spec.rb | 78 + ...hris_skills_positive_response_data_spec.rb | 42 + .../get_hris_skills_positive_response_spec.rb | 46 + ...is_teams_parameter_include_deleted_spec.rb | 30 + ...sitive_response_data_results_inner_spec.rb | 82 + ..._hris_teams_positive_response_data_spec.rb | 42 + .../get_hris_teams_positive_response_spec.rb | 46 + ...balances_parameter_include_deleted_spec.rb | 30 + ...sitive_response_data_results_inner_spec.rb | 110 + ...ff_balances_positive_response_data_spec.rb | 42 + ...ime_off_balances_positive_response_spec.rb | 46 + ...mesheets_parameter_include_deleted_spec.rb | 30 + ...esults_inner_breaks_inner_ended_at_spec.rb | 21 + ...se_data_results_inner_breaks_inner_spec.rb | 48 + ...ults_inner_breaks_inner_started_at_spec.rb | 21 + ...sitive_response_data_results_inner_spec.rb | 132 + ..._timesheets_positive_response_data_spec.rb | 42 + ..._hris_timesheets_positive_response_spec.rb | 46 + ...ta_results_inner_integration_field_spec.rb | 58 + ...sitive_response_data_results_inner_spec.rb | 66 + ...stom_fields_positive_response_data_spec.rb | 48 + ...id_custom_fields_positive_response_spec.rb | 46 + ...sitive_response_data_results_inner_spec.rb | 80 + ...tion_fields_positive_response_data_spec.rb | 48 + ...tegration_fields_positive_response_spec.rb | 46 + ...id_positive_response_data_end_user_spec.rb | 48 + ...ata_read_models_inner_fields_inner_spec.rb | 68 + ...ve_response_data_read_models_inner_spec.rb | 80 + ...ositive_response_data_scope_config_spec.rb | 42 + ...egration_id_positive_response_data_spec.rb | 102 + ...ion_id_positive_response_data_tool_spec.rb | 60 + ...s_integration_id_positive_response_spec.rb | 46 + ...esults_inner_ordered_content_inner_spec.rb | 76 + ...se_data_results_inner_skills_inner_spec.rb | 42 + ...sitive_response_data_results_inner_spec.rb | 96 + ...lms_courses_positive_response_data_spec.rb | 42 + .../get_lms_courses_positive_response_spec.rb | 46 + .../get_lms_users_parameter_status_spec.rb | 30 + ..._data_results_inner_progress_inner_spec.rb | 82 + ...sitive_response_data_results_inner_spec.rb | 94 + ...t_lms_users_positive_response_data_spec.rb | 42 + .../get_lms_users_positive_response_spec.rb | 46 + ..._tools_category_parameter_category_spec.rb | 30 + ...ls_category_positive_response_data_spec.rb | 36 + ...e_response_data_tools_inner_assets_spec.rb | 48 + ...ools_inner_coverage_features_inner_spec.rb | 52 + ...age_read_models_inner_fields_inner_spec.rb | 46 + ...s_inner_coverage_read_models_inner_spec.rb | 58 + ...response_data_tools_inner_coverage_spec.rb | 48 + ...inner_coverage_write_actions_inner_spec.rb | 52 + ...positive_response_data_tools_inner_spec.rb | 84 + ...t_tools_category_positive_response_spec.rb | 46 + ...ent_order_received_webhook_payload_spec.rb | 52 + spec/models/inline_object1_error_spec.rb | 58 + spec/models/inline_object1_spec.rb | 46 + spec/models/inline_object2_error_spec.rb | 58 + spec/models/inline_object2_spec.rb | 46 + spec/models/inline_object3_error_spec.rb | 58 + spec/models/inline_object3_spec.rb | 46 + spec/models/inline_object_error_spec.rb | 58 + spec/models/inline_object_spec.rb | 46 + ...ation_created_webhook_payload_data_spec.rb | 58 + ...ntegration_created_webhook_payload_spec.rb | 52 + ...ation_deleted_webhook_payload_data_spec.rb | 64 + ...ntegration_deleted_webhook_payload_spec.rb | 52 + ...state_changed_webhook_payload_data_spec.rb | 84 + ...tion_state_changed_webhook_payload_spec.rb | 52 + ...on_id_interviews_positive_response_spec.rb | 46 + ...d_interviews_request_body_location_spec.rb | 46 + ...ication_id_interviews_request_body_spec.rb | 72 + ...ll_assignment_id_positive_response_spec.rb | 46 + ...e_skill_assignment_id_request_body_spec.rb | 36 + ...employee_id_positive_response_data_spec.rb | 222 ++ ...yees_employee_id_positive_response_spec.rb | 52 + ...employees_employee_id_request_body_spec.rb | 146 + ..._skills_skill_id_positive_response_spec.rb | 46 + ..._hris_skills_skill_id_request_body_spec.rb | 42 + ...gration_field_id_positive_response_spec.rb | 46 + ..._integration_field_id_request_body_spec.rb | 36 + ...ress_progress_id_positive_response_spec.rb | 46 + ..._progress_progress_id_request_body_spec.rb | 82 + ...apply_apply_positive_response_data_spec.rb | 60 + ...t_ai_apply_apply_positive_response_spec.rb | 46 + ...y_screening_question_answers_inner_spec.rb | 42 + .../post_ai_apply_apply_request_body_spec.rb | 54 + ...areer_sites_positive_response_data_spec.rb | 42 + ...ply_career_sites_positive_response_spec.rb | 46 + ...ai_apply_career_sites_request_body_spec.rb | 36 + ...i_apply_postings_positive_response_spec.rb | 46 + ...ata_application_form_inner_any_of1_spec.rb | 52 + ..._display_when_answer_equals_one_of_spec.rb | 48 + ..._any_of_display_when_answer_equals_spec.rb | 32 + ...ion_form_inner_any_of_display_when_spec.rb | 42 + ...on_form_inner_any_of_options_inner_spec.rb | 52 + ...data_application_form_inner_any_of_spec.rb | 106 + ...sponse_data_application_form_inner_spec.rb | 21 + ..._id_inquire_positive_response_data_spec.rb | 42 + ...sting_id_inquire_positive_response_spec.rb | 46 + ...posting_id_parse_positive_response_spec.rb | 46 + ...ply_postings_request_body_location_spec.rb | 46 + ...ost_ai_apply_postings_request_body_spec.rb | 54 + ..._id_applications_positive_response_spec.rb | 46 + ...s_job_id_applications_request_body_spec.rb | 84 + ...n_id_attachments_positive_response_spec.rb | 52 + ...ttachments_request_body_attachment_spec.rb | 64 + ...t_body_remote_fields_all_of_oracle_spec.rb | 46 + ...chments_request_body_remote_fields_spec.rb | 48 + ...cation_id_attachments_request_body_spec.rb | 42 + ...on_id_interviews_positive_response_spec.rb | 46 + ...d_interviews_request_body_location_spec.rb | 46 + ...ication_id_interviews_request_body_spec.rb | 66 + ...ication_id_notes_positive_response_spec.rb | 52 + ...body_remote_fields_all_of_bullhorn_spec.rb | 36 + ...dy_remote_fields_all_of_greenhouse_spec.rb | 40 + ...ody_remote_fields_all_of_recruitee_spec.rb | 42 + ...dy_remote_fields_all_of_teamtailor_spec.rb | 36 + ...d_notes_request_body_remote_fields_spec.rb | 60 + ..._application_id_notes_request_body_spec.rb | 52 + ...cation_id_reject_positive_response_spec.rb | 52 + ...dy_remote_fields_all_of_greenhouse_spec.rb | 36 + ..._reject_request_body_remote_fields_spec.rb | 42 + ...application_id_reject_request_body_spec.rb | 48 + ..._id_result_links_positive_response_spec.rb | 52 + ...uest_body_details_attributes_inner_spec.rb | 42 + ..._result_links_request_body_details_spec.rb | 42 + ...st_body_remote_fields_all_of_icims_spec.rb | 36 + ...t_body_remote_fields_all_of_oracle_spec.rb | 46 + ...t_links_request_body_remote_fields_spec.rb | 54 + ...ation_id_result_links_request_body_spec.rb | 54 + ...e_id_attachments_positive_response_spec.rb | 52 + ...didate_id_attachments_request_body_spec.rb | 42 + ..._id_result_links_positive_response_spec.rb | 52 + ...idate_id_result_links_request_body_spec.rb | 54 + ...andidate_id_tags_positive_response_spec.rb | 52 + ...tes_candidate_id_tags_request_body_spec.rb | 42 + ...candidate_id_tags_request_body_tag_spec.rb | 36 + ...t_ats_candidates_positive_response_spec.rb | 52 + ...andidates_request_body_application_spec.rb | 42 + ...e_additional_email_addresses_inner_spec.rb | 46 + ...ate_additional_phone_numbers_inner_spec.rb | 46 + ...es_request_body_candidate_location_spec.rb | 54 + ...body_candidate_salary_expectations_spec.rb | 46 + ..._body_candidate_social_links_inner_spec.rb | 36 + ..._candidates_request_body_candidate_spec.rb | 112 + ...ndidates_request_body_gdpr_consent_spec.rb | 42 + ..._body_remote_fields_all_of_avature_spec.rb | 36 + ...ote_fields_all_of_avature_workflow_spec.rb | 36 + ...ields_all_of_avature_workflow_step_spec.rb | 36 + ...body_remote_fields_all_of_bullhorn_spec.rb | 42 + ...t_body_remote_fields_all_of_dvinci_spec.rb | 36 + ...dy_remote_fields_all_of_greenhouse_spec.rb | 42 + ...body_remote_fields_all_of_guidecom_spec.rb | 36 + ..._body_remote_fields_all_of_hrworks_spec.rb | 36 + ..._fields_all_of_jobylon_application_spec.rb | 36 + ..._body_remote_fields_all_of_jobylon_spec.rb | 36 + ...st_body_remote_fields_all_of_lever_spec.rb | 36 + ...body_remote_fields_all_of_personio_spec.rb | 36 + ...ote_fields_all_of_piloga_candidate_spec.rb | 36 + ...t_body_remote_fields_all_of_piloga_spec.rb | 36 + ..._fields_all_of_recruitee_candidate_spec.rb | 36 + ...ody_remote_fields_all_of_recruitee_spec.rb | 36 + ...mote_fields_all_of_smartrecruiters_spec.rb | 48 + ...emote_fields_all_of_successfactors_spec.rb | 54 + ...y_remote_fields_all_of_talentadore_spec.rb | 36 + ...dy_remote_fields_all_of_talentsoft_spec.rb | 42 + ...elds_all_of_teamtailor_application_spec.rb | 36 + ...dy_remote_fields_all_of_teamtailor_spec.rb | 42 + ..._body_remote_fields_all_of_umantis_spec.rb | 36 + ...body_remote_fields_all_of_workable_spec.rb | 36 + ...tion_data_country_region_reference_spec.rb | 36 + ...te_data_contact_data_location_data_spec.rb | 60 + ...orkday_candidate_data_contact_data_spec.rb | 36 + ...a_global_personal_information_data_spec.rb | 36 + ...plication_data_job_applied_to_data_spec.rb | 36 + ...ata_inner_field_of_study_reference_spec.rb | 36 + ...a_resume_data_education_data_inner_spec.rb | 66 + ..._resume_data_experience_data_inner_spec.rb | 72 + ...bility_inner_language_ability_data_spec.rb | 42 + ...er_language_language_ability_inner_spec.rb | 36 + ...uage_data_inner_language_reference_spec.rb | 36 + ..._data_language_data_inner_language_spec.rb | 42 + ...ta_resume_data_language_data_inner_spec.rb | 42 + ..._data_resume_data_skill_data_inner_spec.rb | 36 + ...a_job_application_data_resume_data_spec.rb | 54 + ...andidate_data_job_application_data_spec.rb | 42 + ..._candidate_data_language_reference_spec.rb | 36 + ...etail_data_social_suffix_reference_spec.rb | 36 + ...ay_candidate_data_name_detail_data_spec.rb | 42 + ...elds_all_of_workday_candidate_data_spec.rb | 60 + ...ay_candidate_data_worker_reference_spec.rb | 42 + ..._body_remote_fields_all_of_workday_spec.rb | 42 + ...y_remote_fields_all_of_zohorecruit_spec.rb | 36 + ...didates_request_body_remote_fields_spec.rb | 150 + ...estion_answers_inner_answer_any_of_spec.rb | 54 + ...ning_question_answers_inner_answer_spec.rb | 21 + ...y_screening_question_answers_inner_spec.rb | 42 + ...ats_candidates_request_body_source_spec.rb | 48 + ...candidates_request_body_sourced_by_spec.rb | 36 + .../post_ats_candidates_request_body_spec.rb | 78 + ...ata_imported_id_erecruiter_any_of1_spec.rb | 52 + ...data_imported_id_erecruiter_any_of_spec.rb | 52 + ...sponse_data_imported_id_erecruiter_spec.rb | 21 + ...sponse_data_imported_id_greenhouse_spec.rb | 46 + ...e_response_data_imported_id_onlyfy_spec.rb | 46 + ...esponse_data_imported_id_recruitee_spec.rb | 46 + ...e_data_imported_id_smartrecruiters_spec.rb | 52 + ...positive_response_data_imported_id_spec.rb | 66 + ...se_data_imported_id_successfactors_spec.rb | 46 + ...application_positive_response_data_spec.rb | 48 + ...cked_application_positive_response_spec.rb | 52 + ...t_tracked_application_request_body_spec.rb | 72 + ...s_positive_response_data_candidate_spec.rb | 156 + ...pplications_positive_response_data_spec.rb | 154 + ..._id_applications_positive_response_spec.rb | 52 + ...s_job_id_applications_request_body_spec.rb | 78 + ...vate_integration_positive_response_spec.rb | 46 + ..._activate_integration_request_body_spec.rb | 36 + ...nect_create_link_positive_response_spec.rb | 46 + ...t_connect_create_link_request_body_spec.rb | 112 + ...ad_document_positive_response_data_spec.rb | 48 + ...ownload_document_positive_response_spec.rb | 52 + ...tev_download_document_request_body_spec.rb | 52 + ...ownload_document_positive_response_spec.rb | 52 + ..._id_download_document_request_body_spec.rb | 46 + ...au_requests_positive_response_data_spec.rb | 36 + ..._id_eau_requests_positive_response_spec.rb | 52 + ...quests_request_body_contact_person_spec.rb | 94 + ...requests_request_body_notification_spec.rb | 36 + ...loyee_id_eau_requests_request_body_spec.rb | 48 + ...atev_passthrough_positive_response_spec.rb | 52 + ...tom_datev_passthrough_request_body_spec.rb | 68 + ...positive_response_data_files_inner_spec.rb | 42 + ...ata_general_positive_response_data_spec.rb | 36 + ...ush_data_general_positive_response_spec.rb | 52 + ...ush_data_payroll_positive_response_spec.rb | 52 + ...tev_push_data_payroll_request_body_spec.rb | 36 + ...roll_supplements_positive_response_spec.rb | 52 + ...d_payroll_supplements_request_body_spec.rb | 54 + ..._force_sync_positive_response_data_spec.rb | 52 + .../post_force_sync_positive_response_spec.rb | 46 + .../post_force_sync_request_body_spec.rb | 40 + ...is_absences_positive_response_data_spec.rb | 142 + ...st_hris_absences_positive_response_spec.rb | 52 + ...body_remote_fields_adpworkforcenow_spec.rb | 42 + ...bsences_request_body_remote_fields_spec.rb | 36 + .../post_hris_absences_request_body_spec.rb | 116 + ...kill_assignments_positive_response_spec.rb | 46 + ...yee_skill_assignments_request_body_spec.rb | 48 + ...yee_id_documents_positive_response_spec.rb | 52 + ...employee_id_documents_request_body_spec.rb | 42 + ...loyees_form_positive_response_data_spec.rb | 36 + ...s_employees_form_positive_response_spec.rb | 52 + ...t_hris_employees_form_request_body_spec.rb | 36 + ...s_employees_positive_response_data_spec.rb | 234 ++ ...t_hris_employees_positive_response_spec.rb | 52 + ...mployees_request_body_home_address_spec.rb | 66 + ...body_remote_fields_adpworkforcenow_spec.rb | 60 + ...request_body_remote_fields_azuread_spec.rb | 36 + ...equest_body_remote_fields_bamboohr_spec.rb | 36 + ...equest_body_remote_fields_dayforce_spec.rb | 90 + ...es_request_body_remote_fields_deel_spec.rb | 42 + ...s_request_body_remote_fields_hibob_spec.rb | 36 + ...request_body_remote_fields_humaans_spec.rb | 36 + ..._request_body_remote_fields_oracle_spec.rb | 42 + ..._request_body_remote_fields_paycor_spec.rb | 42 + ...equest_body_remote_fields_peoplehr_spec.rb | 42 + ...request_body_remote_fields_planday_spec.rb | 36 + ...s_request_body_remote_fields_silae_spec.rb | 48 + ...ployees_request_body_remote_fields_spec.rb | 120 + ...s_request_body_remote_fields_sympa_spec.rb | 36 + ...remote_fields_workday_bank_account_spec.rb | 48 + ...request_body_remote_fields_workday_spec.rb | 54 + ...uest_body_remote_fields_zohopeople_spec.rb | 36 + .../post_hris_employees_request_body_spec.rb | 118 + ...oup_id_diff_positive_response_data_spec.rb | 36 + ...ta_users_already_provisioned_inner_spec.rb | 48 + ..._diff_positive_response_data_users_spec.rb | 48 + ...se_data_users_to_deprovision_inner_spec.rb | 42 + ...vision_inner_employee_groups_inner_spec.rb | 48 + ..._users_to_provision_inner_employee_spec.rb | 78 + ...onse_data_users_to_provision_inner_spec.rb | 42 + ...ps_group_id_diff_positive_response_spec.rb | 46 + ...group_id_diff_request_body_options_spec.rb | 40 + ...quest_body_provisioned_users_inner_spec.rb | 42 + ..._groups_group_id_diff_request_body_spec.rb | 42 + ...setup_links_positive_response_data_spec.rb | 42 + ...p_id_setup_links_positive_response_spec.rb | 46 + ..._group_id_setup_links_request_body_spec.rb | 40 + ...post_hris_skills_positive_response_spec.rb | 46 + .../post_hris_skills_request_body_spec.rb | 42 + ...n_id_relink_positive_response_data_spec.rb | 36 + ...ration_id_relink_positive_response_spec.rb | 46 + ...integration_id_relink_request_body_spec.rb | 56 + ...lms_content_positive_response_data_spec.rb | 94 + ...post_lms_content_positive_response_spec.rb | 46 + .../post_lms_content_request_body_spec.rb | 64 + ...post_lms_courses_positive_response_spec.rb | 46 + ..._courses_request_body_skills_inner_spec.rb | 42 + .../post_lms_courses_request_body_spec.rb | 54 + ...ms_progress_positive_response_data_spec.rb | 106 + ...ost_lms_progress_positive_response_spec.rb | 46 + .../post_lms_progress_request_body_spec.rb | 88 + ...sitive_response_data_headers_value_spec.rb | 32 + ...gh_tool_api_positive_response_data_spec.rb | 54 + ...through_tool_api_positive_response_spec.rb | 52 + ...i_positive_response_warnings_inner_spec.rb | 36 + ...est_body_multipart_form_data_inner_spec.rb | 42 + ...ipart_form_data_inner_value_one_of_spec.rb | 54 + ...dy_multipart_form_data_inner_value_spec.rb | 32 + ..._passthrough_tool_api_request_body_spec.rb | 82 + ..._order_id_result_positive_response_spec.rb | 52 + ...ody_attributes_inner_any_of1_score_spec.rb | 42 + ...uest_body_attributes_inner_any_of1_spec.rb | 68 + ...quest_body_attributes_inner_any_of_spec.rb | 52 + ...sult_request_body_attributes_inner_spec.rb | 21 + ...body_remote_fields_smartrecruiters_spec.rb | 36 + ..._result_request_body_remote_fields_spec.rb | 36 + ...sment_order_id_result_request_body_spec.rb | 82 + ...essment_packages_positive_response_spec.rb | 52 + ...ckages_request_body_packages_inner_spec.rb | 58 + ...t_assessment_packages_request_body_spec.rb | 36 + ...ication_id_stage_positive_response_spec.rb | 52 + ...ote_fields_greenhouse_post_headers_spec.rb | 36 + ...uest_body_remote_fields_greenhouse_spec.rb | 36 + ...d_stage_request_body_remote_fields_spec.rb | 42 + ...equest_body_remote_fields_workable_spec.rb | 36 + ..._application_id_stage_request_body_spec.rb | 42 + ...id_compensations_positive_response_spec.rb | 52 + ...s_request_body_compensations_inner_spec.rb | 62 + ...oyee_id_compensations_request_body_spec.rb | 42 + ..._prepare_payroll_positive_response_spec.rb | 52 + ...ll_request_body_custom_lodas_inner_spec.rb | 48 + ..._request_body_fixed_payments_inner_spec.rb | 42 + ...request_body_hourly_payments_inner_spec.rb | 42 + ...e_payroll_request_body_payroll_run_spec.rb | 36 + ...ee_id_prepare_payroll_request_body_spec.rb | 54 + ..._custom_field_id_positive_response_spec.rb | 46 + ...ields_custom_field_id_request_body_spec.rb | 36 + ...vent_received_webhook_payload_data_spec.rb | 58 + ...ote_event_received_webhook_payload_spec.rb | 52 + spec/models/schema1_value_spec.rb | 21 + spec/models/schema2_any_of1_spec.rb | 80 + spec/models/schema2_any_of2_spec.rb | 68 + .../schema2_any_of3_options_any_of1_spec.rb | 46 + ...ons_any_of_entries_inner_remote_id_spec.rb | 32 + ...y_of3_options_any_of_entries_inner_spec.rb | 54 + .../schema2_any_of3_options_any_of_spec.rb | 46 + spec/models/schema2_any_of3_options_spec.rb | 21 + spec/models/schema2_any_of3_spec.rb | 74 + spec/models/schema2_any_of4_spec.rb | 82 + spec/models/schema2_any_of5_spec.rb | 68 + spec/models/schema2_any_of6_spec.rb | 74 + spec/models/schema2_any_of7_spec.rb | 86 + .../schema2_any_of8_file_restrictions_spec.rb | 42 + spec/models/schema2_any_of8_spec.rb | 74 + spec/models/schema2_any_of_spec.rb | 86 + spec/models/schema2_spec.rb | 21 + spec/models/schema4_spec.rb | 32 + ...sync_finished_webhook_payload_data_spec.rb | 94 + .../sync_finished_webhook_payload_spec.rb | 52 + spec/spec_helper.rb | 111 + 1960 files changed, 209443 insertions(+), 2 deletions(-) create mode 100644 .envrc create mode 100644 .gitignore create mode 100644 .gitlab-ci.yml create mode 100644 .openapi-generator-ignore create mode 100644 .openapi-generator/FILES create mode 100644 .openapi-generator/VERSION create mode 100644 .rspec create mode 100644 .rubocop.yml create mode 100644 .ruby-version create mode 100644 Gemfile create mode 100644 Gemfile.lock create mode 100644 Rakefile create mode 100644 VERSION create mode 100644 api_specs/kombo-openapi-spec-.json create mode 100644 docs/AIApplyApi.md create mode 100644 docs/AiApplyApplicationStatusUpdatedWebhookPayload.md create mode 100644 docs/AiApplyApplicationStatusUpdatedWebhookPayloadData.md create mode 100644 docs/AiApplyJobPostingStatusUpdatedWebhookPayload.md create mode 100644 docs/AiApplyJobPostingStatusUpdatedWebhookPayloadData.md create mode 100644 docs/AiApplyJobPostingStatusUpdatedWebhookPayloadDataCareerSite.md create mode 100644 docs/AssessmentOrderReceivedWebhookPayload.md create mode 100644 docs/AssessmentOrderReceivedWebhookPayloadData.md create mode 100644 docs/AssessmentOrderReceivedWebhookPayloadDataApplication.md create mode 100644 docs/AssessmentOrderReceivedWebhookPayloadDataCandidate.md create mode 100644 docs/AssessmentOrderReceivedWebhookPayloadDataJob.md create mode 100644 docs/AssessmentOrderReceivedWebhookPayloadDataJobHiringTeamInner.md create mode 100644 docs/AssessmentOrderReceivedWebhookPayloadDataJobLocation.md create mode 100644 docs/ConnectionFlowFailedWebhookPayload.md create mode 100644 docs/ConnectionFlowFailedWebhookPayloadData.md create mode 100644 docs/ConnectionFlowFailedWebhookPayloadDataEndUser.md create mode 100644 docs/CustomEndpointsApi.md create mode 100644 docs/DataChangedWebhookPayload.md create mode 100644 docs/DataChangedWebhookPayloadData.md create mode 100644 docs/DataChangedWebhookPayloadDataChangedModelsInner.md create mode 100644 docs/DefaultApi.md create mode 100644 docs/DeleteAtsCandidatesCandidateIdTagsPositiveResponse.md create mode 100644 docs/DeleteAtsCandidatesCandidateIdTagsRequestBody.md create mode 100644 docs/DeleteAtsCandidatesCandidateIdTagsRequestBodyTag.md create mode 100644 docs/DeleteHrisAbsencesAbsenceIdPositiveResponse.md create mode 100644 docs/DeleteHrisAbsencesAbsenceIdRequestBody.md create mode 100644 docs/DeleteHrisAbsencesAbsenceIdRequestBodyRemoteFields.md create mode 100644 docs/DeleteHrisAbsencesAbsenceIdRequestBodyRemoteFieldsAdpworkforcenow.md create mode 100644 docs/DeleteHrisEmployeeSkillAssignmentsEmployeeSkillAssignmentIdPositiveResponse.md create mode 100644 docs/DeleteHrisSkillsSkillIdPositiveResponse.md create mode 100644 docs/DeleteIntegrationsIntegrationIdPositiveResponse.md create mode 100644 docs/GeneralApi.md create mode 100644 docs/GetAiApplyApplicationsPositiveResponse.md create mode 100644 docs/GetAiApplyApplicationsPositiveResponseData.md create mode 100644 docs/GetAiApplyApplicationsPositiveResponseDataResultsInner.md create mode 100644 docs/GetAiApplyCareerSitesPositiveResponse.md create mode 100644 docs/GetAiApplyCareerSitesPositiveResponseData.md create mode 100644 docs/GetAiApplyPostingsPositiveResponse.md create mode 100644 docs/GetAiApplyPostingsPositiveResponseData.md create mode 100644 docs/GetAiApplyPostingsPositiveResponseDataResultsInner.md create mode 100644 docs/GetAiApplyPostingsPositiveResponseDataResultsInnerCareerSite.md create mode 100644 docs/GetAiApplyUnifiedApiJobsPositiveResponse.md create mode 100644 docs/GetAiApplyUnifiedApiJobsPositiveResponseData.md create mode 100644 docs/GetAiApplyUnifiedApiJobsPositiveResponseDataResultsInner.md create mode 100644 docs/GetAiApplyUnifiedApiJobsPositiveResponseDataResultsInnerEmploymentType.md create mode 100644 docs/GetAiApplyUnifiedApiJobsPositiveResponseDataResultsInnerLocation.md create mode 100644 docs/GetAiApplyUnifiedApiJobsPositiveResponseDataResultsInnerScreeningQuestionsInner.md create mode 100644 docs/GetAiApplyUnifiedApiJobsPositiveResponseDataResultsInnerScreeningQuestionsInnerPreconditionOptions.md create mode 100644 docs/GetAssessmentOrdersOpenPositiveResponse.md create mode 100644 docs/GetAssessmentOrdersOpenPositiveResponseData.md create mode 100644 docs/GetAssessmentOrdersOpenPositiveResponseDataResultsInner.md create mode 100644 docs/GetAssessmentOrdersOpenPositiveResponseDataResultsInnerApplication.md create mode 100644 docs/GetAssessmentOrdersOpenPositiveResponseDataResultsInnerCandidate.md create mode 100644 docs/GetAssessmentOrdersOpenPositiveResponseDataResultsInnerJob.md create mode 100644 docs/GetAssessmentOrdersOpenPositiveResponseDataResultsInnerJobHiringTeamInner.md create mode 100644 docs/GetAssessmentOrdersOpenPositiveResponseDataResultsInnerJobLocation.md create mode 100644 docs/GetAssessmentPackagesPositiveResponse.md create mode 100644 docs/GetAssessmentPackagesPositiveResponseData.md create mode 100644 docs/GetAssessmentPackagesPositiveResponseDataPackagesInner.md create mode 100644 docs/GetAtsActionsAtsAddApplicationAttachmentPositiveResponse.md create mode 100644 docs/GetAtsActionsAtsAddApplicationAttachmentPositiveResponseData.md create mode 100644 docs/GetAtsActionsAtsAddApplicationAttachmentPositiveResponseDataAttachmentRestrictions.md create mode 100644 docs/GetAtsActionsAtsAddApplicationAttachmentPositiveResponseDataAttachmentRestrictionsTypes.md create mode 100644 docs/GetAtsActionsAtsAddApplicationAttachmentPositiveResponseDataAttachmentRestrictionsTypesCOVERLETTER.md create mode 100644 docs/GetAtsActionsAtsAddApplicationAttachmentPositiveResponseDataAttachmentRestrictionsTypesCV.md create mode 100644 docs/GetAtsActionsAtsAddApplicationAttachmentPositiveResponseDataAttachmentRestrictionsTypesCVAnyOf.md create mode 100644 docs/GetAtsActionsAtsAddApplicationAttachmentPositiveResponseDataAttachmentRestrictionsTypesOTHER.md create mode 100644 docs/GetAtsActionsAtsAddCandidateAttachmentPositiveResponse.md create mode 100644 docs/GetAtsActionsAtsCreateApplicationPositiveResponse.md create mode 100644 docs/GetAtsActionsAtsCreateCandidatePositiveResponse.md create mode 100644 docs/GetAtsActionsAtsCreateCandidatePositiveResponseData.md create mode 100644 docs/GetAtsActionsAtsCreateCandidatePositiveResponseDataAttachmentRestrictions.md create mode 100644 docs/GetAtsActionsAtsCreateCandidatePositiveResponseDataAttachmentRestrictionsTypes.md create mode 100644 docs/GetAtsActionsAtsCreateCandidatePositiveResponseDataAttachmentRestrictionsTypesCOVERLETTER.md create mode 100644 docs/GetAtsActionsAtsCreateCandidatePositiveResponseDataAttachmentRestrictionsTypesCV.md create mode 100644 docs/GetAtsActionsAtsCreateCandidatePositiveResponseDataAttachmentRestrictionsTypesCVAnyOf.md create mode 100644 docs/GetAtsActionsAtsCreateCandidatePositiveResponseDataAttachmentRestrictionsTypesCVAnyOf1.md create mode 100644 docs/GetAtsActionsAtsCreateCandidatePositiveResponseDataAttachmentRestrictionsTypesOTHER.md create mode 100644 docs/GetAtsApplicationStagesParameterIncludeDeleted.md create mode 100644 docs/GetAtsApplicationStagesPositiveResponse.md create mode 100644 docs/GetAtsApplicationStagesPositiveResponseData.md create mode 100644 docs/GetAtsApplicationStagesPositiveResponseDataResultsInner.md create mode 100644 docs/GetAtsApplicationsApplicationIdAttachmentsPositiveResponse.md create mode 100644 docs/GetAtsApplicationsApplicationIdAttachmentsPositiveResponseData.md create mode 100644 docs/GetAtsApplicationsApplicationIdAttachmentsPositiveResponseDataResultsInner.md create mode 100644 docs/GetAtsApplicationsParameterIncludeDeleted.md create mode 100644 docs/GetAtsApplicationsParameterOutcome.md create mode 100644 docs/GetAtsApplicationsPositiveResponse.md create mode 100644 docs/GetAtsApplicationsPositiveResponseData.md create mode 100644 docs/GetAtsApplicationsPositiveResponseDataResultsInner.md create mode 100644 docs/GetAtsApplicationsPositiveResponseDataResultsInnerCandidate.md create mode 100644 docs/GetAtsApplicationsPositiveResponseDataResultsInnerCandidateEmailAddressesInner.md create mode 100644 docs/GetAtsApplicationsPositiveResponseDataResultsInnerCandidatePhoneNumbersInner.md create mode 100644 docs/GetAtsApplicationsPositiveResponseDataResultsInnerCandidateSocialMediaInner.md create mode 100644 docs/GetAtsApplicationsPositiveResponseDataResultsInnerCandidateTagsInner.md create mode 100644 docs/GetAtsApplicationsPositiveResponseDataResultsInnerCurrentStage.md create mode 100644 docs/GetAtsApplicationsPositiveResponseDataResultsInnerInterviewsInner.md create mode 100644 docs/GetAtsApplicationsPositiveResponseDataResultsInnerInterviewsInnerLocation.md create mode 100644 docs/GetAtsApplicationsPositiveResponseDataResultsInnerJob.md create mode 100644 docs/GetAtsApplicationsPositiveResponseDataResultsInnerOffersInner.md create mode 100644 docs/GetAtsApplicationsPositiveResponseDataResultsInnerScreeningQuestionAnswersInner.md create mode 100644 docs/GetAtsApplicationsPositiveResponseDataResultsInnerScreeningQuestionAnswersInnerAnyOf.md create mode 100644 docs/GetAtsApplicationsPositiveResponseDataResultsInnerScreeningQuestionAnswersInnerAnyOf1.md create mode 100644 docs/GetAtsApplicationsPositiveResponseDataResultsInnerScreeningQuestionAnswersInnerAnyOf1Answer.md create mode 100644 docs/GetAtsApplicationsPositiveResponseDataResultsInnerScreeningQuestionAnswersInnerAnyOf1Question.md create mode 100644 docs/GetAtsApplicationsPositiveResponseDataResultsInnerScreeningQuestionAnswersInnerAnyOf2.md create mode 100644 docs/GetAtsApplicationsPositiveResponseDataResultsInnerScreeningQuestionAnswersInnerAnyOf2Answer.md create mode 100644 docs/GetAtsApplicationsPositiveResponseDataResultsInnerScreeningQuestionAnswersInnerAnyOf2Question.md create mode 100644 docs/GetAtsApplicationsPositiveResponseDataResultsInnerScreeningQuestionAnswersInnerAnyOf3.md create mode 100644 docs/GetAtsApplicationsPositiveResponseDataResultsInnerScreeningQuestionAnswersInnerAnyOf3Answer.md create mode 100644 docs/GetAtsApplicationsPositiveResponseDataResultsInnerScreeningQuestionAnswersInnerAnyOf3Question.md create mode 100644 docs/GetAtsApplicationsPositiveResponseDataResultsInnerScreeningQuestionAnswersInnerAnyOf4.md create mode 100644 docs/GetAtsApplicationsPositiveResponseDataResultsInnerScreeningQuestionAnswersInnerAnyOf4Answer.md create mode 100644 docs/GetAtsApplicationsPositiveResponseDataResultsInnerScreeningQuestionAnswersInnerAnyOf4Question.md create mode 100644 docs/GetAtsApplicationsPositiveResponseDataResultsInnerScreeningQuestionAnswersInnerAnyOf5.md create mode 100644 docs/GetAtsApplicationsPositiveResponseDataResultsInnerScreeningQuestionAnswersInnerAnyOf5Answer.md create mode 100644 docs/GetAtsApplicationsPositiveResponseDataResultsInnerScreeningQuestionAnswersInnerAnyOf5Question.md create mode 100644 docs/GetAtsApplicationsPositiveResponseDataResultsInnerScreeningQuestionAnswersInnerAnyOf6.md create mode 100644 docs/GetAtsApplicationsPositiveResponseDataResultsInnerScreeningQuestionAnswersInnerAnyOf6Answer.md create mode 100644 docs/GetAtsApplicationsPositiveResponseDataResultsInnerScreeningQuestionAnswersInnerAnyOf6Question.md create mode 100644 docs/GetAtsApplicationsPositiveResponseDataResultsInnerScreeningQuestionAnswersInnerAnyOfAnswer.md create mode 100644 docs/GetAtsApplicationsPositiveResponseDataResultsInnerScreeningQuestionAnswersInnerAnyOfQuestion.md create mode 100644 docs/GetAtsCandidatesCandidateIdAttachmentsPositiveResponse.md create mode 100644 docs/GetAtsCandidatesCandidateIdAttachmentsPositiveResponseData.md create mode 100644 docs/GetAtsCandidatesCandidateIdAttachmentsPositiveResponseDataResultsInner.md create mode 100644 docs/GetAtsCandidatesParameterIncludeDeleted.md create mode 100644 docs/GetAtsCandidatesPositiveResponse.md create mode 100644 docs/GetAtsCandidatesPositiveResponseData.md create mode 100644 docs/GetAtsCandidatesPositiveResponseDataResultsInner.md create mode 100644 docs/GetAtsCandidatesPositiveResponseDataResultsInnerApplicationsInner.md create mode 100644 docs/GetAtsCandidatesPositiveResponseDataResultsInnerLocation.md create mode 100644 docs/GetAtsInterviewsParameterIncludeDeleted.md create mode 100644 docs/GetAtsInterviewsPositiveResponse.md create mode 100644 docs/GetAtsInterviewsPositiveResponseData.md create mode 100644 docs/GetAtsInterviewsPositiveResponseDataResultsInner.md create mode 100644 docs/GetAtsInterviewsPositiveResponseDataResultsInnerApplication.md create mode 100644 docs/GetAtsInterviewsPositiveResponseDataResultsInnerUsersInner.md create mode 100644 docs/GetAtsJobsParameterIncludeDeleted.md create mode 100644 docs/GetAtsJobsParameterStatus.md create mode 100644 docs/GetAtsJobsPositiveResponse.md create mode 100644 docs/GetAtsJobsPositiveResponseData.md create mode 100644 docs/GetAtsJobsPositiveResponseDataResultsInner.md create mode 100644 docs/GetAtsJobsPositiveResponseDataResultsInnerEmploymentType.md create mode 100644 docs/GetAtsJobsPositiveResponseDataResultsInnerHiringTeamInner.md create mode 100644 docs/GetAtsJobsPositiveResponseDataResultsInnerJobPostingsInner.md create mode 100644 docs/GetAtsJobsPositiveResponseDataResultsInnerLocation.md create mode 100644 docs/GetAtsJobsPositiveResponseDataResultsInnerRemoteWorkStatus.md create mode 100644 docs/GetAtsJobsPositiveResponseDataResultsInnerSalaryPeriod.md create mode 100644 docs/GetAtsJobsPositiveResponseDataResultsInnerScreeningQuestionsInner.md create mode 100644 docs/GetAtsJobsPositiveResponseDataResultsInnerScreeningQuestionsInnerFormat.md create mode 100644 docs/GetAtsJobsPositiveResponseDataResultsInnerScreeningQuestionsInnerFormatAnyOf.md create mode 100644 docs/GetAtsJobsPositiveResponseDataResultsInnerScreeningQuestionsInnerFormatAnyOf1.md create mode 100644 docs/GetAtsJobsPositiveResponseDataResultsInnerScreeningQuestionsInnerFormatAnyOf2.md create mode 100644 docs/GetAtsJobsPositiveResponseDataResultsInnerScreeningQuestionsInnerFormatAnyOf3.md create mode 100644 docs/GetAtsJobsPositiveResponseDataResultsInnerScreeningQuestionsInnerFormatAnyOf3OptionsInner.md create mode 100644 docs/GetAtsJobsPositiveResponseDataResultsInnerScreeningQuestionsInnerFormatAnyOf4.md create mode 100644 docs/GetAtsJobsPositiveResponseDataResultsInnerScreeningQuestionsInnerFormatAnyOf5.md create mode 100644 docs/GetAtsJobsPositiveResponseDataResultsInnerScreeningQuestionsInnerFormatAnyOf6.md create mode 100644 docs/GetAtsJobsPositiveResponseDataResultsInnerScreeningQuestionsInnerFormatAnyOf7.md create mode 100644 docs/GetAtsJobsPositiveResponseDataResultsInnerScreeningQuestionsInnerFormatAnyOf8.md create mode 100644 docs/GetAtsJobsPositiveResponseDataResultsInnerScreeningQuestionsInnerPreconditionOptions.md create mode 100644 docs/GetAtsJobsPositiveResponseDataResultsInnerStagesInner.md create mode 100644 docs/GetAtsJobsPositiveResponseDataResultsInnerStatus.md create mode 100644 docs/GetAtsJobsPositiveResponseDataResultsInnerVisibility.md create mode 100644 docs/GetAtsOffersParameterIncludeDeleted.md create mode 100644 docs/GetAtsOffersPositiveResponse.md create mode 100644 docs/GetAtsOffersPositiveResponseData.md create mode 100644 docs/GetAtsOffersPositiveResponseDataResultsInner.md create mode 100644 docs/GetAtsOffersPositiveResponseDataResultsInnerApplication.md create mode 100644 docs/GetAtsOffersPositiveResponseDataResultsInnerApplicationCandidate.md create mode 100644 docs/GetAtsRejectionReasonsParameterIncludeDeleted.md create mode 100644 docs/GetAtsRejectionReasonsPositiveResponse.md create mode 100644 docs/GetAtsRejectionReasonsPositiveResponseData.md create mode 100644 docs/GetAtsRejectionReasonsPositiveResponseDataResultsInner.md create mode 100644 docs/GetAtsTagsParameterIncludeDeleted.md create mode 100644 docs/GetAtsTagsPositiveResponse.md create mode 100644 docs/GetAtsTagsPositiveResponseData.md create mode 100644 docs/GetAtsTagsPositiveResponseDataResultsInner.md create mode 100644 docs/GetAtsUsersParameterIncludeDeleted.md create mode 100644 docs/GetAtsUsersPositiveResponse.md create mode 100644 docs/GetAtsUsersPositiveResponseData.md create mode 100644 docs/GetAtsUsersPositiveResponseDataResultsInner.md create mode 100644 docs/GetCheckApiKeyPositiveResponse.md create mode 100644 docs/GetCheckApiKeyPositiveResponseData.md create mode 100644 docs/GetConnectIntegrationByTokenTokenPositiveResponse.md create mode 100644 docs/GetConnectIntegrationByTokenTokenPositiveResponseData.md create mode 100644 docs/GetCustomDatevAvailableDocumentsPositiveResponse.md create mode 100644 docs/GetCustomDatevAvailableDocumentsPositiveResponseData.md create mode 100644 docs/GetCustomDatevAvailableDocumentsPositiveResponseDataResultsInner.md create mode 100644 docs/GetCustomDatevAvailableDocumentsPositiveResponseDataResultsInnerAvailableForEmployeesInner.md create mode 100644 docs/GetCustomDatevCheckDocumentPermissionPositiveResponse.md create mode 100644 docs/GetCustomDatevCheckDocumentPermissionPositiveResponseData.md create mode 100644 docs/GetCustomDatevCheckDocumentPermissionPositiveResponseDataAnyOf.md create mode 100644 docs/GetCustomDatevCheckDocumentPermissionPositiveResponseDataAnyOf1.md create mode 100644 docs/GetCustomDatevCheckEauPermissionPositiveResponse.md create mode 100644 docs/GetCustomDatevCheckEauPermissionPositiveResponseData.md create mode 100644 docs/GetCustomDatevCheckWritePermissionPositiveResponse.md create mode 100644 docs/GetCustomDatevDataPushesPositiveResponse.md create mode 100644 docs/GetCustomDatevDataPushesPositiveResponseData.md create mode 100644 docs/GetCustomDatevDataPushesPositiveResponseDataDataPushesInner.md create mode 100644 docs/GetCustomDatevDataPushesPositiveResponseDataDataPushesInnerUploadJobsInner.md create mode 100644 docs/GetCustomDatevEauRequestsEauIdPositiveResponse.md create mode 100644 docs/GetCustomDatevEauRequestsEauIdPositiveResponseData.md create mode 100644 docs/GetCustomDatevEauRequestsEauIdPositiveResponseDataRaw.md create mode 100644 docs/GetCustomDatevEauRequestsEauIdPositiveResponseDataRawFeedbacksFromHealthInsuranceInner.md create mode 100644 docs/GetCustomDatevEauRequestsEauIdPositiveResponseDataRawFeedbacksFromHealthInsuranceInnerContactPerson.md create mode 100644 docs/GetCustomDatevEauRequestsEauIdPositiveResponseDataRawFeedbacksFromHealthInsuranceInnerErrorBlockListInner.md create mode 100644 docs/GetCustomDatevEauRequestsEauIdPositiveResponseDataRawFeedbacksFromHealthInsuranceInnerIncapacityForWork.md create mode 100644 docs/GetCustomDatevSystemInformationPositiveResponse.md create mode 100644 docs/GetCustomDatevSystemInformationPositiveResponseData.md create mode 100644 docs/GetHrisAbsenceTypesParameterIncludeDeleted.md create mode 100644 docs/GetHrisAbsenceTypesPositiveResponse.md create mode 100644 docs/GetHrisAbsenceTypesPositiveResponseData.md create mode 100644 docs/GetHrisAbsenceTypesPositiveResponseDataResultsInner.md create mode 100644 docs/GetHrisAbsencesParameterIncludeDeleted.md create mode 100644 docs/GetHrisAbsencesPositiveResponse.md create mode 100644 docs/GetHrisAbsencesPositiveResponseData.md create mode 100644 docs/GetHrisAbsencesPositiveResponseDataResultsInner.md create mode 100644 docs/GetHrisAbsencesPositiveResponseDataResultsInnerStatus.md create mode 100644 docs/GetHrisEmployeeDocumentCategoriesParameterIncludeDeleted.md create mode 100644 docs/GetHrisEmployeeDocumentCategoriesPositiveResponse.md create mode 100644 docs/GetHrisEmployeeDocumentCategoriesPositiveResponseData.md create mode 100644 docs/GetHrisEmployeeDocumentCategoriesPositiveResponseDataResultsInner.md create mode 100644 docs/GetHrisEmployeeSkillAssignmentsPositiveResponse.md create mode 100644 docs/GetHrisEmployeeSkillAssignmentsPositiveResponseData.md create mode 100644 docs/GetHrisEmployeeSkillAssignmentsPositiveResponseDataResultsInner.md create mode 100644 docs/GetHrisEmployeesFormPositiveResponse.md create mode 100644 docs/GetHrisEmployeesFormPositiveResponseData.md create mode 100644 docs/GetHrisEmployeesParameterEmploymentStatus.md create mode 100644 docs/GetHrisEmployeesParameterIncludeDeleted.md create mode 100644 docs/GetHrisEmployeesPositiveResponse.md create mode 100644 docs/GetHrisEmployeesPositiveResponseData.md create mode 100644 docs/GetHrisEmployeesPositiveResponseDataResultsInner.md create mode 100644 docs/GetHrisEmployeesPositiveResponseDataResultsInnerBankAccountsInner.md create mode 100644 docs/GetHrisEmployeesPositiveResponseDataResultsInnerBankAccountsInnerDomesticBankRouting.md create mode 100644 docs/GetHrisEmployeesPositiveResponseDataResultsInnerEmploymentStatus.md create mode 100644 docs/GetHrisEmployeesPositiveResponseDataResultsInnerEmploymentType.md create mode 100644 docs/GetHrisEmployeesPositiveResponseDataResultsInnerEmploymentsInner.md create mode 100644 docs/GetHrisEmployeesPositiveResponseDataResultsInnerEmploymentsInnerPayFrequency.md create mode 100644 docs/GetHrisEmployeesPositiveResponseDataResultsInnerEmploymentsInnerPayPeriod.md create mode 100644 docs/GetHrisEmployeesPositiveResponseDataResultsInnerEthnicity.md create mode 100644 docs/GetHrisEmployeesPositiveResponseDataResultsInnerGender.md create mode 100644 docs/GetHrisEmployeesPositiveResponseDataResultsInnerGroupsInner.md create mode 100644 docs/GetHrisEmployeesPositiveResponseDataResultsInnerHomeAddress.md create mode 100644 docs/GetHrisEmployeesPositiveResponseDataResultsInnerIntegrationFieldsInner.md create mode 100644 docs/GetHrisEmployeesPositiveResponseDataResultsInnerLegalEntity.md create mode 100644 docs/GetHrisEmployeesPositiveResponseDataResultsInnerLegalEntityAddress.md create mode 100644 docs/GetHrisEmployeesPositiveResponseDataResultsInnerManager.md create mode 100644 docs/GetHrisEmployeesPositiveResponseDataResultsInnerMaritalStatus.md create mode 100644 docs/GetHrisEmployeesPositiveResponseDataResultsInnerTimeOffBalancesInner.md create mode 100644 docs/GetHrisEmployeesPositiveResponseDataResultsInnerWorkLocation.md create mode 100644 docs/GetHrisEmployeesPositiveResponseDataResultsInnerWorkLocationAddress.md create mode 100644 docs/GetHrisEmploymentsParameterIncludeDeleted.md create mode 100644 docs/GetHrisEmploymentsPositiveResponse.md create mode 100644 docs/GetHrisEmploymentsPositiveResponseData.md create mode 100644 docs/GetHrisGroupsParameterIncludeDeleted.md create mode 100644 docs/GetHrisGroupsPositiveResponse.md create mode 100644 docs/GetHrisJobPositionsPositiveResponse.md create mode 100644 docs/GetHrisJobPositionsPositiveResponseData.md create mode 100644 docs/GetHrisJobPositionsPositiveResponseDataResultsInner.md create mode 100644 docs/GetHrisJobPositionsPositiveResponseDataResultsInnerSkillsInner.md create mode 100644 docs/GetHrisLegalEntitiesParameterIncludeDeleted.md create mode 100644 docs/GetHrisLegalEntitiesPositiveResponse.md create mode 100644 docs/GetHrisLegalEntitiesPositiveResponseData.md create mode 100644 docs/GetHrisLegalEntitiesPositiveResponseDataResultsInner.md create mode 100644 docs/GetHrisLocationsParameterIncludeDeleted.md create mode 100644 docs/GetHrisLocationsPositiveResponse.md create mode 100644 docs/GetHrisLocationsPositiveResponseData.md create mode 100644 docs/GetHrisPerformanceReviewCyclesParameterIncludeDeleted.md create mode 100644 docs/GetHrisPerformanceReviewCyclesPositiveResponse.md create mode 100644 docs/GetHrisPerformanceReviewCyclesPositiveResponseData.md create mode 100644 docs/GetHrisPerformanceReviewCyclesPositiveResponseDataResultsInner.md create mode 100644 docs/GetHrisPerformanceReviewsParameterIncludeDeleted.md create mode 100644 docs/GetHrisPerformanceReviewsPositiveResponse.md create mode 100644 docs/GetHrisPerformanceReviewsPositiveResponseData.md create mode 100644 docs/GetHrisPerformanceReviewsPositiveResponseDataResultsInner.md create mode 100644 docs/GetHrisPerformanceReviewsPositiveResponseDataResultsInnerReviewee.md create mode 100644 docs/GetHrisPerformanceReviewsPositiveResponseDataResultsInnerReviewer.md create mode 100644 docs/GetHrisPerformanceReviewsPositiveResponseDataResultsInnerSummaryRating.md create mode 100644 docs/GetHrisPerformanceReviewsPositiveResponseDataResultsInnerSummaryRatingAnyOf.md create mode 100644 docs/GetHrisPerformanceReviewsPositiveResponseDataResultsInnerSummaryRatingAnyOf1.md create mode 100644 docs/GetHrisSkillsPositiveResponse.md create mode 100644 docs/GetHrisSkillsPositiveResponseData.md create mode 100644 docs/GetHrisSkillsPositiveResponseDataResultsInner.md create mode 100644 docs/GetHrisTeamsParameterIncludeDeleted.md create mode 100644 docs/GetHrisTeamsPositiveResponse.md create mode 100644 docs/GetHrisTeamsPositiveResponseData.md create mode 100644 docs/GetHrisTeamsPositiveResponseDataResultsInner.md create mode 100644 docs/GetHrisTimeOffBalancesParameterIncludeDeleted.md create mode 100644 docs/GetHrisTimeOffBalancesPositiveResponse.md create mode 100644 docs/GetHrisTimeOffBalancesPositiveResponseData.md create mode 100644 docs/GetHrisTimeOffBalancesPositiveResponseDataResultsInner.md create mode 100644 docs/GetHrisTimesheetsParameterIncludeDeleted.md create mode 100644 docs/GetHrisTimesheetsPositiveResponse.md create mode 100644 docs/GetHrisTimesheetsPositiveResponseData.md create mode 100644 docs/GetHrisTimesheetsPositiveResponseDataResultsInner.md create mode 100644 docs/GetHrisTimesheetsPositiveResponseDataResultsInnerBreaksInner.md create mode 100644 docs/GetHrisTimesheetsPositiveResponseDataResultsInnerBreaksInnerEndedAt.md create mode 100644 docs/GetHrisTimesheetsPositiveResponseDataResultsInnerBreaksInnerStartedAt.md create mode 100644 docs/GetIntegrationsIntegrationIdCustomFieldsPositiveResponse.md create mode 100644 docs/GetIntegrationsIntegrationIdCustomFieldsPositiveResponseData.md create mode 100644 docs/GetIntegrationsIntegrationIdCustomFieldsPositiveResponseDataResultsInner.md create mode 100644 docs/GetIntegrationsIntegrationIdCustomFieldsPositiveResponseDataResultsInnerIntegrationField.md create mode 100644 docs/GetIntegrationsIntegrationIdIntegrationFieldsPositiveResponse.md create mode 100644 docs/GetIntegrationsIntegrationIdIntegrationFieldsPositiveResponseData.md create mode 100644 docs/GetIntegrationsIntegrationIdIntegrationFieldsPositiveResponseDataResultsInner.md create mode 100644 docs/GetIntegrationsIntegrationIdPositiveResponse.md create mode 100644 docs/GetIntegrationsIntegrationIdPositiveResponseData.md create mode 100644 docs/GetIntegrationsIntegrationIdPositiveResponseDataEndUser.md create mode 100644 docs/GetIntegrationsIntegrationIdPositiveResponseDataReadModelsInner.md create mode 100644 docs/GetIntegrationsIntegrationIdPositiveResponseDataReadModelsInnerFieldsInner.md create mode 100644 docs/GetIntegrationsIntegrationIdPositiveResponseDataScopeConfig.md create mode 100644 docs/GetIntegrationsIntegrationIdPositiveResponseDataTool.md create mode 100644 docs/GetLmsCoursesPositiveResponse.md create mode 100644 docs/GetLmsCoursesPositiveResponseData.md create mode 100644 docs/GetLmsCoursesPositiveResponseDataResultsInner.md create mode 100644 docs/GetLmsCoursesPositiveResponseDataResultsInnerOrderedContentInner.md create mode 100644 docs/GetLmsCoursesPositiveResponseDataResultsInnerSkillsInner.md create mode 100644 docs/GetLmsUsersParameterStatus.md create mode 100644 docs/GetLmsUsersPositiveResponse.md create mode 100644 docs/GetLmsUsersPositiveResponseData.md create mode 100644 docs/GetLmsUsersPositiveResponseDataResultsInner.md create mode 100644 docs/GetLmsUsersPositiveResponseDataResultsInnerProgressInner.md create mode 100644 docs/GetToolsCategoryParameterCategory.md create mode 100644 docs/GetToolsCategoryPositiveResponse.md create mode 100644 docs/GetToolsCategoryPositiveResponseData.md create mode 100644 docs/GetToolsCategoryPositiveResponseDataToolsInner.md create mode 100644 docs/GetToolsCategoryPositiveResponseDataToolsInnerAssets.md create mode 100644 docs/GetToolsCategoryPositiveResponseDataToolsInnerCoverage.md create mode 100644 docs/GetToolsCategoryPositiveResponseDataToolsInnerCoverageFeaturesInner.md create mode 100644 docs/GetToolsCategoryPositiveResponseDataToolsInnerCoverageReadModelsInner.md create mode 100644 docs/GetToolsCategoryPositiveResponseDataToolsInnerCoverageReadModelsInnerFieldsInner.md create mode 100644 docs/GetToolsCategoryPositiveResponseDataToolsInnerCoverageWriteActionsInner.md create mode 100644 docs/InlineAssessmentOrderReceivedWebhookPayload.md create mode 100644 docs/InlineObject.md create mode 100644 docs/InlineObject1.md create mode 100644 docs/InlineObject1Error.md create mode 100644 docs/InlineObject2.md create mode 100644 docs/InlineObject2Error.md create mode 100644 docs/InlineObject3.md create mode 100644 docs/InlineObject3Error.md create mode 100644 docs/InlineObjectError.md create mode 100644 docs/IntegrationCreatedWebhookPayload.md create mode 100644 docs/IntegrationCreatedWebhookPayloadData.md create mode 100644 docs/IntegrationDeletedWebhookPayload.md create mode 100644 docs/IntegrationDeletedWebhookPayloadData.md create mode 100644 docs/IntegrationStateChangedWebhookPayload.md create mode 100644 docs/IntegrationStateChangedWebhookPayloadData.md create mode 100644 docs/KomboConnectApi.md create mode 100644 docs/PatchAtsApplicationsApplicationIdInterviewsPositiveResponse.md create mode 100644 docs/PatchAtsApplicationsApplicationIdInterviewsRequestBody.md create mode 100644 docs/PatchAtsApplicationsApplicationIdInterviewsRequestBodyLocation.md create mode 100644 docs/PatchHrisEmployeeSkillAssignmentsEmployeeSkillAssignmentIdPositiveResponse.md create mode 100644 docs/PatchHrisEmployeeSkillAssignmentsEmployeeSkillAssignmentIdRequestBody.md create mode 100644 docs/PatchHrisEmployeesEmployeeIdPositiveResponse.md create mode 100644 docs/PatchHrisEmployeesEmployeeIdPositiveResponseData.md create mode 100644 docs/PatchHrisEmployeesEmployeeIdRequestBody.md create mode 100644 docs/PatchHrisSkillsSkillIdPositiveResponse.md create mode 100644 docs/PatchHrisSkillsSkillIdRequestBody.md create mode 100644 docs/PatchIntegrationsIntegrationIdIntegrationFieldsIntegrationFieldIdPositiveResponse.md create mode 100644 docs/PatchIntegrationsIntegrationIdIntegrationFieldsIntegrationFieldIdRequestBody.md create mode 100644 docs/PatchLmsProgressProgressIdPositiveResponse.md create mode 100644 docs/PatchLmsProgressProgressIdRequestBody.md create mode 100644 docs/PostAiApplyApplyPositiveResponse.md create mode 100644 docs/PostAiApplyApplyPositiveResponseData.md create mode 100644 docs/PostAiApplyApplyRequestBody.md create mode 100644 docs/PostAiApplyApplyRequestBodyScreeningQuestionAnswersInner.md create mode 100644 docs/PostAiApplyCareerSitesPositiveResponse.md create mode 100644 docs/PostAiApplyCareerSitesPositiveResponseData.md create mode 100644 docs/PostAiApplyCareerSitesRequestBody.md create mode 100644 docs/PostAiApplyPostingsPositiveResponse.md create mode 100644 docs/PostAiApplyPostingsPostingIdInquirePositiveResponse.md create mode 100644 docs/PostAiApplyPostingsPostingIdInquirePositiveResponseData.md create mode 100644 docs/PostAiApplyPostingsPostingIdInquirePositiveResponseDataApplicationFormInner.md create mode 100644 docs/PostAiApplyPostingsPostingIdInquirePositiveResponseDataApplicationFormInnerAnyOf.md create mode 100644 docs/PostAiApplyPostingsPostingIdInquirePositiveResponseDataApplicationFormInnerAnyOf1.md create mode 100644 docs/PostAiApplyPostingsPostingIdInquirePositiveResponseDataApplicationFormInnerAnyOfDisplayWhen.md create mode 100644 docs/PostAiApplyPostingsPostingIdInquirePositiveResponseDataApplicationFormInnerAnyOfDisplayWhenAnswerEquals.md create mode 100644 docs/PostAiApplyPostingsPostingIdInquirePositiveResponseDataApplicationFormInnerAnyOfDisplayWhenAnswerEqualsOneOf.md create mode 100644 docs/PostAiApplyPostingsPostingIdInquirePositiveResponseDataApplicationFormInnerAnyOfOptionsInner.md create mode 100644 docs/PostAiApplyPostingsPostingIdParsePositiveResponse.md create mode 100644 docs/PostAiApplyPostingsRequestBody.md create mode 100644 docs/PostAiApplyPostingsRequestBodyLocation.md create mode 100644 docs/PostAiApplyUnifiedApiJobsJobIdApplicationsPositiveResponse.md create mode 100644 docs/PostAiApplyUnifiedApiJobsJobIdApplicationsRequestBody.md create mode 100644 docs/PostAtsApplicationsApplicationIdAttachmentsPositiveResponse.md create mode 100644 docs/PostAtsApplicationsApplicationIdAttachmentsRequestBody.md create mode 100644 docs/PostAtsApplicationsApplicationIdAttachmentsRequestBodyAttachment.md create mode 100644 docs/PostAtsApplicationsApplicationIdAttachmentsRequestBodyRemoteFields.md create mode 100644 docs/PostAtsApplicationsApplicationIdAttachmentsRequestBodyRemoteFieldsAllOfOracle.md create mode 100644 docs/PostAtsApplicationsApplicationIdInterviewsPositiveResponse.md create mode 100644 docs/PostAtsApplicationsApplicationIdInterviewsRequestBody.md create mode 100644 docs/PostAtsApplicationsApplicationIdInterviewsRequestBodyLocation.md create mode 100644 docs/PostAtsApplicationsApplicationIdNotesPositiveResponse.md create mode 100644 docs/PostAtsApplicationsApplicationIdNotesRequestBody.md create mode 100644 docs/PostAtsApplicationsApplicationIdNotesRequestBodyRemoteFields.md create mode 100644 docs/PostAtsApplicationsApplicationIdNotesRequestBodyRemoteFieldsAllOfBullhorn.md create mode 100644 docs/PostAtsApplicationsApplicationIdNotesRequestBodyRemoteFieldsAllOfGreenhouse.md create mode 100644 docs/PostAtsApplicationsApplicationIdNotesRequestBodyRemoteFieldsAllOfRecruitee.md create mode 100644 docs/PostAtsApplicationsApplicationIdNotesRequestBodyRemoteFieldsAllOfTeamtailor.md create mode 100644 docs/PostAtsApplicationsApplicationIdRejectPositiveResponse.md create mode 100644 docs/PostAtsApplicationsApplicationIdRejectRequestBody.md create mode 100644 docs/PostAtsApplicationsApplicationIdRejectRequestBodyRemoteFields.md create mode 100644 docs/PostAtsApplicationsApplicationIdRejectRequestBodyRemoteFieldsAllOfGreenhouse.md create mode 100644 docs/PostAtsApplicationsApplicationIdResultLinksPositiveResponse.md create mode 100644 docs/PostAtsApplicationsApplicationIdResultLinksRequestBody.md create mode 100644 docs/PostAtsApplicationsApplicationIdResultLinksRequestBodyDetails.md create mode 100644 docs/PostAtsApplicationsApplicationIdResultLinksRequestBodyDetailsAttributesInner.md create mode 100644 docs/PostAtsApplicationsApplicationIdResultLinksRequestBodyRemoteFields.md create mode 100644 docs/PostAtsApplicationsApplicationIdResultLinksRequestBodyRemoteFieldsAllOfIcims.md create mode 100644 docs/PostAtsApplicationsApplicationIdResultLinksRequestBodyRemoteFieldsAllOfOracle.md create mode 100644 docs/PostAtsCandidatesCandidateIdAttachmentsPositiveResponse.md create mode 100644 docs/PostAtsCandidatesCandidateIdAttachmentsRequestBody.md create mode 100644 docs/PostAtsCandidatesCandidateIdResultLinksPositiveResponse.md create mode 100644 docs/PostAtsCandidatesCandidateIdResultLinksRequestBody.md create mode 100644 docs/PostAtsCandidatesCandidateIdTagsPositiveResponse.md create mode 100644 docs/PostAtsCandidatesCandidateIdTagsRequestBody.md create mode 100644 docs/PostAtsCandidatesCandidateIdTagsRequestBodyTag.md create mode 100644 docs/PostAtsCandidatesPositiveResponse.md create mode 100644 docs/PostAtsCandidatesRequestBody.md create mode 100644 docs/PostAtsCandidatesRequestBodyApplication.md create mode 100644 docs/PostAtsCandidatesRequestBodyCandidate.md create mode 100644 docs/PostAtsCandidatesRequestBodyCandidateAdditionalEmailAddressesInner.md create mode 100644 docs/PostAtsCandidatesRequestBodyCandidateAdditionalPhoneNumbersInner.md create mode 100644 docs/PostAtsCandidatesRequestBodyCandidateLocation.md create mode 100644 docs/PostAtsCandidatesRequestBodyCandidateSalaryExpectations.md create mode 100644 docs/PostAtsCandidatesRequestBodyCandidateSocialLinksInner.md create mode 100644 docs/PostAtsCandidatesRequestBodyGdprConsent.md create mode 100644 docs/PostAtsCandidatesRequestBodyRemoteFields.md create mode 100644 docs/PostAtsCandidatesRequestBodyRemoteFieldsAllOfAvature.md create mode 100644 docs/PostAtsCandidatesRequestBodyRemoteFieldsAllOfAvatureWorkflow.md create mode 100644 docs/PostAtsCandidatesRequestBodyRemoteFieldsAllOfAvatureWorkflowStep.md create mode 100644 docs/PostAtsCandidatesRequestBodyRemoteFieldsAllOfBullhorn.md create mode 100644 docs/PostAtsCandidatesRequestBodyRemoteFieldsAllOfDvinci.md create mode 100644 docs/PostAtsCandidatesRequestBodyRemoteFieldsAllOfGreenhouse.md create mode 100644 docs/PostAtsCandidatesRequestBodyRemoteFieldsAllOfGuidecom.md create mode 100644 docs/PostAtsCandidatesRequestBodyRemoteFieldsAllOfHrworks.md create mode 100644 docs/PostAtsCandidatesRequestBodyRemoteFieldsAllOfJobylon.md create mode 100644 docs/PostAtsCandidatesRequestBodyRemoteFieldsAllOfJobylonApplication.md create mode 100644 docs/PostAtsCandidatesRequestBodyRemoteFieldsAllOfLever.md create mode 100644 docs/PostAtsCandidatesRequestBodyRemoteFieldsAllOfPersonio.md create mode 100644 docs/PostAtsCandidatesRequestBodyRemoteFieldsAllOfPiloga.md create mode 100644 docs/PostAtsCandidatesRequestBodyRemoteFieldsAllOfPilogaCandidate.md create mode 100644 docs/PostAtsCandidatesRequestBodyRemoteFieldsAllOfRecruitee.md create mode 100644 docs/PostAtsCandidatesRequestBodyRemoteFieldsAllOfRecruiteeCandidate.md create mode 100644 docs/PostAtsCandidatesRequestBodyRemoteFieldsAllOfSmartrecruiters.md create mode 100644 docs/PostAtsCandidatesRequestBodyRemoteFieldsAllOfSuccessfactors.md create mode 100644 docs/PostAtsCandidatesRequestBodyRemoteFieldsAllOfTalentadore.md create mode 100644 docs/PostAtsCandidatesRequestBodyRemoteFieldsAllOfTalentsoft.md create mode 100644 docs/PostAtsCandidatesRequestBodyRemoteFieldsAllOfTeamtailor.md create mode 100644 docs/PostAtsCandidatesRequestBodyRemoteFieldsAllOfTeamtailorApplication.md create mode 100644 docs/PostAtsCandidatesRequestBodyRemoteFieldsAllOfUmantis.md create mode 100644 docs/PostAtsCandidatesRequestBodyRemoteFieldsAllOfWorkable.md create mode 100644 docs/PostAtsCandidatesRequestBodyRemoteFieldsAllOfWorkday.md create mode 100644 docs/PostAtsCandidatesRequestBodyRemoteFieldsAllOfWorkdayCandidateData.md create mode 100644 docs/PostAtsCandidatesRequestBodyRemoteFieldsAllOfWorkdayCandidateDataContactData.md create mode 100644 docs/PostAtsCandidatesRequestBodyRemoteFieldsAllOfWorkdayCandidateDataContactDataLocationData.md create mode 100644 docs/PostAtsCandidatesRequestBodyRemoteFieldsAllOfWorkdayCandidateDataContactDataLocationDataCountryRegionReference.md create mode 100644 docs/PostAtsCandidatesRequestBodyRemoteFieldsAllOfWorkdayCandidateDataJobApplicationData.md create mode 100644 docs/PostAtsCandidatesRequestBodyRemoteFieldsAllOfWorkdayCandidateDataJobApplicationDataJobAppliedToData.md create mode 100644 docs/PostAtsCandidatesRequestBodyRemoteFieldsAllOfWorkdayCandidateDataJobApplicationDataJobAppliedToDataGlobalPersonalInformationData.md create mode 100644 docs/PostAtsCandidatesRequestBodyRemoteFieldsAllOfWorkdayCandidateDataJobApplicationDataResumeData.md create mode 100644 docs/PostAtsCandidatesRequestBodyRemoteFieldsAllOfWorkdayCandidateDataJobApplicationDataResumeDataEducationDataInner.md create mode 100644 docs/PostAtsCandidatesRequestBodyRemoteFieldsAllOfWorkdayCandidateDataJobApplicationDataResumeDataEducationDataInnerFieldOfStudyReference.md create mode 100644 docs/PostAtsCandidatesRequestBodyRemoteFieldsAllOfWorkdayCandidateDataJobApplicationDataResumeDataExperienceDataInner.md create mode 100644 docs/PostAtsCandidatesRequestBodyRemoteFieldsAllOfWorkdayCandidateDataJobApplicationDataResumeDataLanguageDataInner.md create mode 100644 docs/PostAtsCandidatesRequestBodyRemoteFieldsAllOfWorkdayCandidateDataJobApplicationDataResumeDataLanguageDataInnerLanguage.md create mode 100644 docs/PostAtsCandidatesRequestBodyRemoteFieldsAllOfWorkdayCandidateDataJobApplicationDataResumeDataLanguageDataInnerLanguageLanguageAbilityInner.md create mode 100644 docs/PostAtsCandidatesRequestBodyRemoteFieldsAllOfWorkdayCandidateDataJobApplicationDataResumeDataLanguageDataInnerLanguageLanguageAbilityInnerLanguageAbilityData.md create mode 100644 docs/PostAtsCandidatesRequestBodyRemoteFieldsAllOfWorkdayCandidateDataJobApplicationDataResumeDataLanguageDataInnerLanguageReference.md create mode 100644 docs/PostAtsCandidatesRequestBodyRemoteFieldsAllOfWorkdayCandidateDataJobApplicationDataResumeDataSkillDataInner.md create mode 100644 docs/PostAtsCandidatesRequestBodyRemoteFieldsAllOfWorkdayCandidateDataLanguageReference.md create mode 100644 docs/PostAtsCandidatesRequestBodyRemoteFieldsAllOfWorkdayCandidateDataNameDetailData.md create mode 100644 docs/PostAtsCandidatesRequestBodyRemoteFieldsAllOfWorkdayCandidateDataNameDetailDataSocialSuffixReference.md create mode 100644 docs/PostAtsCandidatesRequestBodyRemoteFieldsAllOfWorkdayCandidateDataWorkerReference.md create mode 100644 docs/PostAtsCandidatesRequestBodyRemoteFieldsAllOfZohorecruit.md create mode 100644 docs/PostAtsCandidatesRequestBodyScreeningQuestionAnswersInner.md create mode 100644 docs/PostAtsCandidatesRequestBodyScreeningQuestionAnswersInnerAnswer.md create mode 100644 docs/PostAtsCandidatesRequestBodyScreeningQuestionAnswersInnerAnswerAnyOf.md create mode 100644 docs/PostAtsCandidatesRequestBodySource.md create mode 100644 docs/PostAtsCandidatesRequestBodySourcedBy.md create mode 100644 docs/PostAtsImportTrackedApplicationPositiveResponse.md create mode 100644 docs/PostAtsImportTrackedApplicationPositiveResponseData.md create mode 100644 docs/PostAtsImportTrackedApplicationPositiveResponseDataImportedId.md create mode 100644 docs/PostAtsImportTrackedApplicationPositiveResponseDataImportedIdErecruiter.md create mode 100644 docs/PostAtsImportTrackedApplicationPositiveResponseDataImportedIdErecruiterAnyOf.md create mode 100644 docs/PostAtsImportTrackedApplicationPositiveResponseDataImportedIdErecruiterAnyOf1.md create mode 100644 docs/PostAtsImportTrackedApplicationPositiveResponseDataImportedIdGreenhouse.md create mode 100644 docs/PostAtsImportTrackedApplicationPositiveResponseDataImportedIdOnlyfy.md create mode 100644 docs/PostAtsImportTrackedApplicationPositiveResponseDataImportedIdRecruitee.md create mode 100644 docs/PostAtsImportTrackedApplicationPositiveResponseDataImportedIdSmartrecruiters.md create mode 100644 docs/PostAtsImportTrackedApplicationPositiveResponseDataImportedIdSuccessfactors.md create mode 100644 docs/PostAtsImportTrackedApplicationRequestBody.md create mode 100644 docs/PostAtsJobsJobIdApplicationsPositiveResponse.md create mode 100644 docs/PostAtsJobsJobIdApplicationsPositiveResponseData.md create mode 100644 docs/PostAtsJobsJobIdApplicationsPositiveResponseDataCandidate.md create mode 100644 docs/PostAtsJobsJobIdApplicationsRequestBody.md create mode 100644 docs/PostConnectActivateIntegrationPositiveResponse.md create mode 100644 docs/PostConnectActivateIntegrationRequestBody.md create mode 100644 docs/PostConnectCreateLinkPositiveResponse.md create mode 100644 docs/PostConnectCreateLinkRequestBody.md create mode 100644 docs/PostCustomDatevDownloadDocumentPositiveResponse.md create mode 100644 docs/PostCustomDatevDownloadDocumentPositiveResponseData.md create mode 100644 docs/PostCustomDatevDownloadDocumentRequestBody.md create mode 100644 docs/PostCustomDatevEmployeesEmployeeIdDownloadDocumentPositiveResponse.md create mode 100644 docs/PostCustomDatevEmployeesEmployeeIdDownloadDocumentRequestBody.md create mode 100644 docs/PostCustomDatevEmployeesEmployeeIdEauRequestsPositiveResponse.md create mode 100644 docs/PostCustomDatevEmployeesEmployeeIdEauRequestsPositiveResponseData.md create mode 100644 docs/PostCustomDatevEmployeesEmployeeIdEauRequestsRequestBody.md create mode 100644 docs/PostCustomDatevEmployeesEmployeeIdEauRequestsRequestBodyContactPerson.md create mode 100644 docs/PostCustomDatevEmployeesEmployeeIdEauRequestsRequestBodyNotification.md create mode 100644 docs/PostCustomDatevPassthroughPositiveResponse.md create mode 100644 docs/PostCustomDatevPassthroughRequestBody.md create mode 100644 docs/PostCustomDatevPushDataGeneralPositiveResponse.md create mode 100644 docs/PostCustomDatevPushDataGeneralPositiveResponseData.md create mode 100644 docs/PostCustomDatevPushDataGeneralPositiveResponseDataFilesInner.md create mode 100644 docs/PostCustomDatevPushDataPayrollPositiveResponse.md create mode 100644 docs/PostCustomDatevPushDataPayrollRequestBody.md create mode 100644 docs/PostCustomSilaeEmployeesEmployeeIdPayrollSupplementsPositiveResponse.md create mode 100644 docs/PostCustomSilaeEmployeesEmployeeIdPayrollSupplementsRequestBody.md create mode 100644 docs/PostForceSyncPositiveResponse.md create mode 100644 docs/PostForceSyncPositiveResponseData.md create mode 100644 docs/PostForceSyncRequestBody.md create mode 100644 docs/PostHrisAbsencesPositiveResponse.md create mode 100644 docs/PostHrisAbsencesPositiveResponseData.md create mode 100644 docs/PostHrisAbsencesRequestBody.md create mode 100644 docs/PostHrisAbsencesRequestBodyRemoteFields.md create mode 100644 docs/PostHrisAbsencesRequestBodyRemoteFieldsAdpworkforcenow.md create mode 100644 docs/PostHrisEmployeeSkillAssignmentsPositiveResponse.md create mode 100644 docs/PostHrisEmployeeSkillAssignmentsRequestBody.md create mode 100644 docs/PostHrisEmployeesEmployeeIdDocumentsPositiveResponse.md create mode 100644 docs/PostHrisEmployeesEmployeeIdDocumentsRequestBody.md create mode 100644 docs/PostHrisEmployeesFormPositiveResponse.md create mode 100644 docs/PostHrisEmployeesFormPositiveResponseData.md create mode 100644 docs/PostHrisEmployeesFormRequestBody.md create mode 100644 docs/PostHrisEmployeesPositiveResponse.md create mode 100644 docs/PostHrisEmployeesPositiveResponseData.md create mode 100644 docs/PostHrisEmployeesRequestBody.md create mode 100644 docs/PostHrisEmployeesRequestBodyHomeAddress.md create mode 100644 docs/PostHrisEmployeesRequestBodyRemoteFields.md create mode 100644 docs/PostHrisEmployeesRequestBodyRemoteFieldsAdpworkforcenow.md create mode 100644 docs/PostHrisEmployeesRequestBodyRemoteFieldsAzuread.md create mode 100644 docs/PostHrisEmployeesRequestBodyRemoteFieldsBamboohr.md create mode 100644 docs/PostHrisEmployeesRequestBodyRemoteFieldsDayforce.md create mode 100644 docs/PostHrisEmployeesRequestBodyRemoteFieldsDeel.md create mode 100644 docs/PostHrisEmployeesRequestBodyRemoteFieldsHibob.md create mode 100644 docs/PostHrisEmployeesRequestBodyRemoteFieldsHumaans.md create mode 100644 docs/PostHrisEmployeesRequestBodyRemoteFieldsOracle.md create mode 100644 docs/PostHrisEmployeesRequestBodyRemoteFieldsPaycor.md create mode 100644 docs/PostHrisEmployeesRequestBodyRemoteFieldsPeoplehr.md create mode 100644 docs/PostHrisEmployeesRequestBodyRemoteFieldsPlanday.md create mode 100644 docs/PostHrisEmployeesRequestBodyRemoteFieldsSilae.md create mode 100644 docs/PostHrisEmployeesRequestBodyRemoteFieldsSympa.md create mode 100644 docs/PostHrisEmployeesRequestBodyRemoteFieldsWorkday.md create mode 100644 docs/PostHrisEmployeesRequestBodyRemoteFieldsWorkdayBankAccount.md create mode 100644 docs/PostHrisEmployeesRequestBodyRemoteFieldsZohopeople.md create mode 100644 docs/PostHrisProvisioningGroupsGroupIdDiffPositiveResponse.md create mode 100644 docs/PostHrisProvisioningGroupsGroupIdDiffPositiveResponseData.md create mode 100644 docs/PostHrisProvisioningGroupsGroupIdDiffPositiveResponseDataUsers.md create mode 100644 docs/PostHrisProvisioningGroupsGroupIdDiffPositiveResponseDataUsersAlreadyProvisionedInner.md create mode 100644 docs/PostHrisProvisioningGroupsGroupIdDiffPositiveResponseDataUsersToDeprovisionInner.md create mode 100644 docs/PostHrisProvisioningGroupsGroupIdDiffPositiveResponseDataUsersToProvisionInner.md create mode 100644 docs/PostHrisProvisioningGroupsGroupIdDiffPositiveResponseDataUsersToProvisionInnerEmployee.md create mode 100644 docs/PostHrisProvisioningGroupsGroupIdDiffPositiveResponseDataUsersToProvisionInnerEmployeeGroupsInner.md create mode 100644 docs/PostHrisProvisioningGroupsGroupIdDiffRequestBody.md create mode 100644 docs/PostHrisProvisioningGroupsGroupIdDiffRequestBodyOptions.md create mode 100644 docs/PostHrisProvisioningGroupsGroupIdDiffRequestBodyProvisionedUsersInner.md create mode 100644 docs/PostHrisProvisioningGroupsGroupIdSetupLinksPositiveResponse.md create mode 100644 docs/PostHrisProvisioningGroupsGroupIdSetupLinksPositiveResponseData.md create mode 100644 docs/PostHrisProvisioningGroupsGroupIdSetupLinksRequestBody.md create mode 100644 docs/PostHrisSkillsPositiveResponse.md create mode 100644 docs/PostHrisSkillsRequestBody.md create mode 100644 docs/PostIntegrationsIntegrationIdRelinkPositiveResponse.md create mode 100644 docs/PostIntegrationsIntegrationIdRelinkPositiveResponseData.md create mode 100644 docs/PostIntegrationsIntegrationIdRelinkRequestBody.md create mode 100644 docs/PostLmsContentPositiveResponse.md create mode 100644 docs/PostLmsContentPositiveResponseData.md create mode 100644 docs/PostLmsContentRequestBody.md create mode 100644 docs/PostLmsCoursesPositiveResponse.md create mode 100644 docs/PostLmsCoursesRequestBody.md create mode 100644 docs/PostLmsCoursesRequestBodySkillsInner.md create mode 100644 docs/PostLmsProgressPositiveResponse.md create mode 100644 docs/PostLmsProgressPositiveResponseData.md create mode 100644 docs/PostLmsProgressRequestBody.md create mode 100644 docs/PostPassthroughToolApiPositiveResponse.md create mode 100644 docs/PostPassthroughToolApiPositiveResponseData.md create mode 100644 docs/PostPassthroughToolApiPositiveResponseDataHeadersValue.md create mode 100644 docs/PostPassthroughToolApiPositiveResponseWarningsInner.md create mode 100644 docs/PostPassthroughToolApiRequestBody.md create mode 100644 docs/PostPassthroughToolApiRequestBodyMultipartFormDataInner.md create mode 100644 docs/PostPassthroughToolApiRequestBodyMultipartFormDataInnerValue.md create mode 100644 docs/PostPassthroughToolApiRequestBodyMultipartFormDataInnerValueOneOf.md create mode 100644 docs/PutAssessmentOrdersAssessmentOrderIdResultPositiveResponse.md create mode 100644 docs/PutAssessmentOrdersAssessmentOrderIdResultRequestBody.md create mode 100644 docs/PutAssessmentOrdersAssessmentOrderIdResultRequestBodyAttributesInner.md create mode 100644 docs/PutAssessmentOrdersAssessmentOrderIdResultRequestBodyAttributesInnerAnyOf.md create mode 100644 docs/PutAssessmentOrdersAssessmentOrderIdResultRequestBodyAttributesInnerAnyOf1.md create mode 100644 docs/PutAssessmentOrdersAssessmentOrderIdResultRequestBodyAttributesInnerAnyOf1Score.md create mode 100644 docs/PutAssessmentOrdersAssessmentOrderIdResultRequestBodyRemoteFields.md create mode 100644 docs/PutAssessmentOrdersAssessmentOrderIdResultRequestBodyRemoteFieldsSmartrecruiters.md create mode 100644 docs/PutAssessmentPackagesPositiveResponse.md create mode 100644 docs/PutAssessmentPackagesRequestBody.md create mode 100644 docs/PutAssessmentPackagesRequestBodyPackagesInner.md create mode 100644 docs/PutAtsApplicationsApplicationIdStagePositiveResponse.md create mode 100644 docs/PutAtsApplicationsApplicationIdStageRequestBody.md create mode 100644 docs/PutAtsApplicationsApplicationIdStageRequestBodyRemoteFields.md create mode 100644 docs/PutAtsApplicationsApplicationIdStageRequestBodyRemoteFieldsGreenhouse.md create mode 100644 docs/PutAtsApplicationsApplicationIdStageRequestBodyRemoteFieldsGreenhousePostHeaders.md create mode 100644 docs/PutAtsApplicationsApplicationIdStageRequestBodyRemoteFieldsWorkable.md create mode 100644 docs/PutCustomDatevEmployeesEmployeeIdCompensationsPositiveResponse.md create mode 100644 docs/PutCustomDatevEmployeesEmployeeIdCompensationsRequestBody.md create mode 100644 docs/PutCustomDatevEmployeesEmployeeIdCompensationsRequestBodyCompensationsInner.md create mode 100644 docs/PutCustomDatevEmployeesEmployeeIdPreparePayrollPositiveResponse.md create mode 100644 docs/PutCustomDatevEmployeesEmployeeIdPreparePayrollRequestBody.md create mode 100644 docs/PutCustomDatevEmployeesEmployeeIdPreparePayrollRequestBodyCustomLodasInner.md create mode 100644 docs/PutCustomDatevEmployeesEmployeeIdPreparePayrollRequestBodyFixedPaymentsInner.md create mode 100644 docs/PutCustomDatevEmployeesEmployeeIdPreparePayrollRequestBodyHourlyPaymentsInner.md create mode 100644 docs/PutCustomDatevEmployeesEmployeeIdPreparePayrollRequestBodyPayrollRun.md create mode 100644 docs/PutIntegrationsIntegrationIdCustomFieldsCustomFieldIdPositiveResponse.md create mode 100644 docs/PutIntegrationsIntegrationIdCustomFieldsCustomFieldIdRequestBody.md create mode 100644 docs/RemoteEventReceivedWebhookPayload.md create mode 100644 docs/RemoteEventReceivedWebhookPayloadData.md create mode 100644 docs/Schema1Value.md create mode 100644 docs/Schema2.md create mode 100644 docs/Schema2AnyOf.md create mode 100644 docs/Schema2AnyOf1.md create mode 100644 docs/Schema2AnyOf2.md create mode 100644 docs/Schema2AnyOf3.md create mode 100644 docs/Schema2AnyOf3Options.md create mode 100644 docs/Schema2AnyOf3OptionsAnyOf.md create mode 100644 docs/Schema2AnyOf3OptionsAnyOf1.md create mode 100644 docs/Schema2AnyOf3OptionsAnyOfEntriesInner.md create mode 100644 docs/Schema2AnyOf3OptionsAnyOfEntriesInnerRemoteId.md create mode 100644 docs/Schema2AnyOf4.md create mode 100644 docs/Schema2AnyOf5.md create mode 100644 docs/Schema2AnyOf6.md create mode 100644 docs/Schema2AnyOf7.md create mode 100644 docs/Schema2AnyOf8.md create mode 100644 docs/Schema2AnyOf8FileRestrictions.md create mode 100644 docs/Schema4.md create mode 100644 docs/SyncFinishedWebhookPayload.md create mode 100644 docs/SyncFinishedWebhookPayloadData.md create mode 100644 docs/UnifiedATSAPIApi.md create mode 100644 docs/UnifiedATSAssessmentBackgroundCheckAPIApi.md create mode 100644 docs/UnifiedHRISAPIApi.md create mode 100644 flake.lock create mode 100644 flake.nix create mode 100644 kombo_client.gemspec create mode 100644 lib/kombo_client.rb create mode 100644 lib/kombo_client/api/ai_apply_api.rb create mode 100644 lib/kombo_client/api/custom_endpoints_api.rb create mode 100644 lib/kombo_client/api/default_api.rb create mode 100644 lib/kombo_client/api/general_api.rb create mode 100644 lib/kombo_client/api/kombo_connect_api.rb create mode 100644 lib/kombo_client/api/unified_ats_assessment_background_check_api_api.rb create mode 100644 lib/kombo_client/api/unified_atsapi_api.rb create mode 100644 lib/kombo_client/api/unified_hrisapi_api.rb create mode 100644 lib/kombo_client/api_client.rb create mode 100644 lib/kombo_client/api_error.rb create mode 100644 lib/kombo_client/api_model_base.rb create mode 100644 lib/kombo_client/configuration.rb create mode 100644 lib/kombo_client/models/ai_apply_application_status_updated_webhook_payload.rb create mode 100644 lib/kombo_client/models/ai_apply_application_status_updated_webhook_payload_data.rb create mode 100644 lib/kombo_client/models/ai_apply_job_posting_status_updated_webhook_payload.rb create mode 100644 lib/kombo_client/models/ai_apply_job_posting_status_updated_webhook_payload_data.rb create mode 100644 lib/kombo_client/models/ai_apply_job_posting_status_updated_webhook_payload_data_career_site.rb create mode 100644 lib/kombo_client/models/assessment_order_received_webhook_payload.rb create mode 100644 lib/kombo_client/models/assessment_order_received_webhook_payload_data.rb create mode 100644 lib/kombo_client/models/assessment_order_received_webhook_payload_data_application.rb create mode 100644 lib/kombo_client/models/assessment_order_received_webhook_payload_data_candidate.rb create mode 100644 lib/kombo_client/models/assessment_order_received_webhook_payload_data_job.rb create mode 100644 lib/kombo_client/models/assessment_order_received_webhook_payload_data_job_hiring_team_inner.rb create mode 100644 lib/kombo_client/models/assessment_order_received_webhook_payload_data_job_location.rb create mode 100644 lib/kombo_client/models/connection_flow_failed_webhook_payload.rb create mode 100644 lib/kombo_client/models/connection_flow_failed_webhook_payload_data.rb create mode 100644 lib/kombo_client/models/connection_flow_failed_webhook_payload_data_end_user.rb create mode 100644 lib/kombo_client/models/data_changed_webhook_payload.rb create mode 100644 lib/kombo_client/models/data_changed_webhook_payload_data.rb create mode 100644 lib/kombo_client/models/data_changed_webhook_payload_data_changed_models_inner.rb create mode 100644 lib/kombo_client/models/delete_ats_candidates_candidate_id_tags_positive_response.rb create mode 100644 lib/kombo_client/models/delete_ats_candidates_candidate_id_tags_request_body.rb create mode 100644 lib/kombo_client/models/delete_ats_candidates_candidate_id_tags_request_body_tag.rb create mode 100644 lib/kombo_client/models/delete_hris_absences_absence_id_positive_response.rb create mode 100644 lib/kombo_client/models/delete_hris_absences_absence_id_request_body.rb create mode 100644 lib/kombo_client/models/delete_hris_absences_absence_id_request_body_remote_fields.rb create mode 100644 lib/kombo_client/models/delete_hris_absences_absence_id_request_body_remote_fields_adpworkforcenow.rb create mode 100644 lib/kombo_client/models/delete_hris_employee_skill_assignments_employee_skill_assignment_id_positive_response.rb create mode 100644 lib/kombo_client/models/delete_hris_skills_skill_id_positive_response.rb create mode 100644 lib/kombo_client/models/delete_integrations_integration_id_positive_response.rb create mode 100644 lib/kombo_client/models/get_ai_apply_applications_positive_response.rb create mode 100644 lib/kombo_client/models/get_ai_apply_applications_positive_response_data.rb create mode 100644 lib/kombo_client/models/get_ai_apply_applications_positive_response_data_results_inner.rb create mode 100644 lib/kombo_client/models/get_ai_apply_career_sites_positive_response.rb create mode 100644 lib/kombo_client/models/get_ai_apply_career_sites_positive_response_data.rb create mode 100644 lib/kombo_client/models/get_ai_apply_postings_positive_response.rb create mode 100644 lib/kombo_client/models/get_ai_apply_postings_positive_response_data.rb create mode 100644 lib/kombo_client/models/get_ai_apply_postings_positive_response_data_results_inner.rb create mode 100644 lib/kombo_client/models/get_ai_apply_postings_positive_response_data_results_inner_career_site.rb create mode 100644 lib/kombo_client/models/get_ai_apply_unified_api_jobs_positive_response.rb create mode 100644 lib/kombo_client/models/get_ai_apply_unified_api_jobs_positive_response_data.rb create mode 100644 lib/kombo_client/models/get_ai_apply_unified_api_jobs_positive_response_data_results_inner.rb create mode 100644 lib/kombo_client/models/get_ai_apply_unified_api_jobs_positive_response_data_results_inner_employment_type.rb create mode 100644 lib/kombo_client/models/get_ai_apply_unified_api_jobs_positive_response_data_results_inner_location.rb create mode 100644 lib/kombo_client/models/get_ai_apply_unified_api_jobs_positive_response_data_results_inner_screening_questions_inner.rb create mode 100644 lib/kombo_client/models/get_ai_apply_unified_api_jobs_positive_response_data_results_inner_screening_questions_inner_precondition_options.rb create mode 100644 lib/kombo_client/models/get_assessment_orders_open_positive_response.rb create mode 100644 lib/kombo_client/models/get_assessment_orders_open_positive_response_data.rb create mode 100644 lib/kombo_client/models/get_assessment_orders_open_positive_response_data_results_inner.rb create mode 100644 lib/kombo_client/models/get_assessment_orders_open_positive_response_data_results_inner_application.rb create mode 100644 lib/kombo_client/models/get_assessment_orders_open_positive_response_data_results_inner_candidate.rb create mode 100644 lib/kombo_client/models/get_assessment_orders_open_positive_response_data_results_inner_job.rb create mode 100644 lib/kombo_client/models/get_assessment_orders_open_positive_response_data_results_inner_job_hiring_team_inner.rb create mode 100644 lib/kombo_client/models/get_assessment_orders_open_positive_response_data_results_inner_job_location.rb create mode 100644 lib/kombo_client/models/get_assessment_packages_positive_response.rb create mode 100644 lib/kombo_client/models/get_assessment_packages_positive_response_data.rb create mode 100644 lib/kombo_client/models/get_assessment_packages_positive_response_data_packages_inner.rb create mode 100644 lib/kombo_client/models/get_ats_actions_ats_add_application_attachment_positive_response.rb create mode 100644 lib/kombo_client/models/get_ats_actions_ats_add_application_attachment_positive_response_data.rb create mode 100644 lib/kombo_client/models/get_ats_actions_ats_add_application_attachment_positive_response_data_attachment_restrictions.rb create mode 100644 lib/kombo_client/models/get_ats_actions_ats_add_application_attachment_positive_response_data_attachment_restrictions_types.rb create mode 100644 lib/kombo_client/models/get_ats_actions_ats_add_application_attachment_positive_response_data_attachment_restrictions_types_coverletter.rb create mode 100644 lib/kombo_client/models/get_ats_actions_ats_add_application_attachment_positive_response_data_attachment_restrictions_types_cv.rb create mode 100644 lib/kombo_client/models/get_ats_actions_ats_add_application_attachment_positive_response_data_attachment_restrictions_types_cv_any_of.rb create mode 100644 lib/kombo_client/models/get_ats_actions_ats_add_application_attachment_positive_response_data_attachment_restrictions_types_other.rb create mode 100644 lib/kombo_client/models/get_ats_actions_ats_add_candidate_attachment_positive_response.rb create mode 100644 lib/kombo_client/models/get_ats_actions_ats_create_application_positive_response.rb create mode 100644 lib/kombo_client/models/get_ats_actions_ats_create_candidate_positive_response.rb create mode 100644 lib/kombo_client/models/get_ats_actions_ats_create_candidate_positive_response_data.rb create mode 100644 lib/kombo_client/models/get_ats_actions_ats_create_candidate_positive_response_data_attachment_restrictions.rb create mode 100644 lib/kombo_client/models/get_ats_actions_ats_create_candidate_positive_response_data_attachment_restrictions_types.rb create mode 100644 lib/kombo_client/models/get_ats_actions_ats_create_candidate_positive_response_data_attachment_restrictions_types_coverletter.rb create mode 100644 lib/kombo_client/models/get_ats_actions_ats_create_candidate_positive_response_data_attachment_restrictions_types_cv.rb create mode 100644 lib/kombo_client/models/get_ats_actions_ats_create_candidate_positive_response_data_attachment_restrictions_types_cv_any_of.rb create mode 100644 lib/kombo_client/models/get_ats_actions_ats_create_candidate_positive_response_data_attachment_restrictions_types_cv_any_of1.rb create mode 100644 lib/kombo_client/models/get_ats_actions_ats_create_candidate_positive_response_data_attachment_restrictions_types_other.rb create mode 100644 lib/kombo_client/models/get_ats_application_stages_parameter_include_deleted.rb create mode 100644 lib/kombo_client/models/get_ats_application_stages_positive_response.rb create mode 100644 lib/kombo_client/models/get_ats_application_stages_positive_response_data.rb create mode 100644 lib/kombo_client/models/get_ats_application_stages_positive_response_data_results_inner.rb create mode 100644 lib/kombo_client/models/get_ats_applications_application_id_attachments_positive_response.rb create mode 100644 lib/kombo_client/models/get_ats_applications_application_id_attachments_positive_response_data.rb create mode 100644 lib/kombo_client/models/get_ats_applications_application_id_attachments_positive_response_data_results_inner.rb create mode 100644 lib/kombo_client/models/get_ats_applications_parameter_include_deleted.rb create mode 100644 lib/kombo_client/models/get_ats_applications_parameter_outcome.rb create mode 100644 lib/kombo_client/models/get_ats_applications_positive_response.rb create mode 100644 lib/kombo_client/models/get_ats_applications_positive_response_data.rb create mode 100644 lib/kombo_client/models/get_ats_applications_positive_response_data_results_inner.rb create mode 100644 lib/kombo_client/models/get_ats_applications_positive_response_data_results_inner_candidate.rb create mode 100644 lib/kombo_client/models/get_ats_applications_positive_response_data_results_inner_candidate_email_addresses_inner.rb create mode 100644 lib/kombo_client/models/get_ats_applications_positive_response_data_results_inner_candidate_phone_numbers_inner.rb create mode 100644 lib/kombo_client/models/get_ats_applications_positive_response_data_results_inner_candidate_social_media_inner.rb create mode 100644 lib/kombo_client/models/get_ats_applications_positive_response_data_results_inner_candidate_tags_inner.rb create mode 100644 lib/kombo_client/models/get_ats_applications_positive_response_data_results_inner_current_stage.rb create mode 100644 lib/kombo_client/models/get_ats_applications_positive_response_data_results_inner_interviews_inner.rb create mode 100644 lib/kombo_client/models/get_ats_applications_positive_response_data_results_inner_interviews_inner_location.rb create mode 100644 lib/kombo_client/models/get_ats_applications_positive_response_data_results_inner_job.rb create mode 100644 lib/kombo_client/models/get_ats_applications_positive_response_data_results_inner_offers_inner.rb create mode 100644 lib/kombo_client/models/get_ats_applications_positive_response_data_results_inner_screening_question_answers_inner.rb create mode 100644 lib/kombo_client/models/get_ats_applications_positive_response_data_results_inner_screening_question_answers_inner_any_of.rb create mode 100644 lib/kombo_client/models/get_ats_applications_positive_response_data_results_inner_screening_question_answers_inner_any_of1.rb create mode 100644 lib/kombo_client/models/get_ats_applications_positive_response_data_results_inner_screening_question_answers_inner_any_of1_answer.rb create mode 100644 lib/kombo_client/models/get_ats_applications_positive_response_data_results_inner_screening_question_answers_inner_any_of1_question.rb create mode 100644 lib/kombo_client/models/get_ats_applications_positive_response_data_results_inner_screening_question_answers_inner_any_of2.rb create mode 100644 lib/kombo_client/models/get_ats_applications_positive_response_data_results_inner_screening_question_answers_inner_any_of2_answer.rb create mode 100644 lib/kombo_client/models/get_ats_applications_positive_response_data_results_inner_screening_question_answers_inner_any_of2_question.rb create mode 100644 lib/kombo_client/models/get_ats_applications_positive_response_data_results_inner_screening_question_answers_inner_any_of3.rb create mode 100644 lib/kombo_client/models/get_ats_applications_positive_response_data_results_inner_screening_question_answers_inner_any_of3_answer.rb create mode 100644 lib/kombo_client/models/get_ats_applications_positive_response_data_results_inner_screening_question_answers_inner_any_of3_question.rb create mode 100644 lib/kombo_client/models/get_ats_applications_positive_response_data_results_inner_screening_question_answers_inner_any_of4.rb create mode 100644 lib/kombo_client/models/get_ats_applications_positive_response_data_results_inner_screening_question_answers_inner_any_of4_answer.rb create mode 100644 lib/kombo_client/models/get_ats_applications_positive_response_data_results_inner_screening_question_answers_inner_any_of4_question.rb create mode 100644 lib/kombo_client/models/get_ats_applications_positive_response_data_results_inner_screening_question_answers_inner_any_of5.rb create mode 100644 lib/kombo_client/models/get_ats_applications_positive_response_data_results_inner_screening_question_answers_inner_any_of5_answer.rb create mode 100644 lib/kombo_client/models/get_ats_applications_positive_response_data_results_inner_screening_question_answers_inner_any_of5_question.rb create mode 100644 lib/kombo_client/models/get_ats_applications_positive_response_data_results_inner_screening_question_answers_inner_any_of6.rb create mode 100644 lib/kombo_client/models/get_ats_applications_positive_response_data_results_inner_screening_question_answers_inner_any_of6_answer.rb create mode 100644 lib/kombo_client/models/get_ats_applications_positive_response_data_results_inner_screening_question_answers_inner_any_of6_question.rb create mode 100644 lib/kombo_client/models/get_ats_applications_positive_response_data_results_inner_screening_question_answers_inner_any_of_answer.rb create mode 100644 lib/kombo_client/models/get_ats_applications_positive_response_data_results_inner_screening_question_answers_inner_any_of_question.rb create mode 100644 lib/kombo_client/models/get_ats_candidates_candidate_id_attachments_positive_response.rb create mode 100644 lib/kombo_client/models/get_ats_candidates_candidate_id_attachments_positive_response_data.rb create mode 100644 lib/kombo_client/models/get_ats_candidates_candidate_id_attachments_positive_response_data_results_inner.rb create mode 100644 lib/kombo_client/models/get_ats_candidates_parameter_include_deleted.rb create mode 100644 lib/kombo_client/models/get_ats_candidates_positive_response.rb create mode 100644 lib/kombo_client/models/get_ats_candidates_positive_response_data.rb create mode 100644 lib/kombo_client/models/get_ats_candidates_positive_response_data_results_inner.rb create mode 100644 lib/kombo_client/models/get_ats_candidates_positive_response_data_results_inner_applications_inner.rb create mode 100644 lib/kombo_client/models/get_ats_candidates_positive_response_data_results_inner_location.rb create mode 100644 lib/kombo_client/models/get_ats_interviews_parameter_include_deleted.rb create mode 100644 lib/kombo_client/models/get_ats_interviews_positive_response.rb create mode 100644 lib/kombo_client/models/get_ats_interviews_positive_response_data.rb create mode 100644 lib/kombo_client/models/get_ats_interviews_positive_response_data_results_inner.rb create mode 100644 lib/kombo_client/models/get_ats_interviews_positive_response_data_results_inner_application.rb create mode 100644 lib/kombo_client/models/get_ats_interviews_positive_response_data_results_inner_users_inner.rb create mode 100644 lib/kombo_client/models/get_ats_jobs_parameter_include_deleted.rb create mode 100644 lib/kombo_client/models/get_ats_jobs_parameter_status.rb create mode 100644 lib/kombo_client/models/get_ats_jobs_positive_response.rb create mode 100644 lib/kombo_client/models/get_ats_jobs_positive_response_data.rb create mode 100644 lib/kombo_client/models/get_ats_jobs_positive_response_data_results_inner.rb create mode 100644 lib/kombo_client/models/get_ats_jobs_positive_response_data_results_inner_employment_type.rb create mode 100644 lib/kombo_client/models/get_ats_jobs_positive_response_data_results_inner_hiring_team_inner.rb create mode 100644 lib/kombo_client/models/get_ats_jobs_positive_response_data_results_inner_job_postings_inner.rb create mode 100644 lib/kombo_client/models/get_ats_jobs_positive_response_data_results_inner_location.rb create mode 100644 lib/kombo_client/models/get_ats_jobs_positive_response_data_results_inner_remote_work_status.rb create mode 100644 lib/kombo_client/models/get_ats_jobs_positive_response_data_results_inner_salary_period.rb create mode 100644 lib/kombo_client/models/get_ats_jobs_positive_response_data_results_inner_screening_questions_inner.rb create mode 100644 lib/kombo_client/models/get_ats_jobs_positive_response_data_results_inner_screening_questions_inner_format.rb create mode 100644 lib/kombo_client/models/get_ats_jobs_positive_response_data_results_inner_screening_questions_inner_format_any_of.rb create mode 100644 lib/kombo_client/models/get_ats_jobs_positive_response_data_results_inner_screening_questions_inner_format_any_of1.rb create mode 100644 lib/kombo_client/models/get_ats_jobs_positive_response_data_results_inner_screening_questions_inner_format_any_of2.rb create mode 100644 lib/kombo_client/models/get_ats_jobs_positive_response_data_results_inner_screening_questions_inner_format_any_of3.rb create mode 100644 lib/kombo_client/models/get_ats_jobs_positive_response_data_results_inner_screening_questions_inner_format_any_of3_options_inner.rb create mode 100644 lib/kombo_client/models/get_ats_jobs_positive_response_data_results_inner_screening_questions_inner_format_any_of4.rb create mode 100644 lib/kombo_client/models/get_ats_jobs_positive_response_data_results_inner_screening_questions_inner_format_any_of5.rb create mode 100644 lib/kombo_client/models/get_ats_jobs_positive_response_data_results_inner_screening_questions_inner_format_any_of6.rb create mode 100644 lib/kombo_client/models/get_ats_jobs_positive_response_data_results_inner_screening_questions_inner_format_any_of7.rb create mode 100644 lib/kombo_client/models/get_ats_jobs_positive_response_data_results_inner_screening_questions_inner_format_any_of8.rb create mode 100644 lib/kombo_client/models/get_ats_jobs_positive_response_data_results_inner_screening_questions_inner_precondition_options.rb create mode 100644 lib/kombo_client/models/get_ats_jobs_positive_response_data_results_inner_stages_inner.rb create mode 100644 lib/kombo_client/models/get_ats_jobs_positive_response_data_results_inner_status.rb create mode 100644 lib/kombo_client/models/get_ats_jobs_positive_response_data_results_inner_visibility.rb create mode 100644 lib/kombo_client/models/get_ats_offers_parameter_include_deleted.rb create mode 100644 lib/kombo_client/models/get_ats_offers_positive_response.rb create mode 100644 lib/kombo_client/models/get_ats_offers_positive_response_data.rb create mode 100644 lib/kombo_client/models/get_ats_offers_positive_response_data_results_inner.rb create mode 100644 lib/kombo_client/models/get_ats_offers_positive_response_data_results_inner_application.rb create mode 100644 lib/kombo_client/models/get_ats_offers_positive_response_data_results_inner_application_candidate.rb create mode 100644 lib/kombo_client/models/get_ats_rejection_reasons_parameter_include_deleted.rb create mode 100644 lib/kombo_client/models/get_ats_rejection_reasons_positive_response.rb create mode 100644 lib/kombo_client/models/get_ats_rejection_reasons_positive_response_data.rb create mode 100644 lib/kombo_client/models/get_ats_rejection_reasons_positive_response_data_results_inner.rb create mode 100644 lib/kombo_client/models/get_ats_tags_parameter_include_deleted.rb create mode 100644 lib/kombo_client/models/get_ats_tags_positive_response.rb create mode 100644 lib/kombo_client/models/get_ats_tags_positive_response_data.rb create mode 100644 lib/kombo_client/models/get_ats_tags_positive_response_data_results_inner.rb create mode 100644 lib/kombo_client/models/get_ats_users_parameter_include_deleted.rb create mode 100644 lib/kombo_client/models/get_ats_users_positive_response.rb create mode 100644 lib/kombo_client/models/get_ats_users_positive_response_data.rb create mode 100644 lib/kombo_client/models/get_ats_users_positive_response_data_results_inner.rb create mode 100644 lib/kombo_client/models/get_check_api_key_positive_response.rb create mode 100644 lib/kombo_client/models/get_check_api_key_positive_response_data.rb create mode 100644 lib/kombo_client/models/get_connect_integration_by_token_token_positive_response.rb create mode 100644 lib/kombo_client/models/get_connect_integration_by_token_token_positive_response_data.rb create mode 100644 lib/kombo_client/models/get_custom_datev_available_documents_positive_response.rb create mode 100644 lib/kombo_client/models/get_custom_datev_available_documents_positive_response_data.rb create mode 100644 lib/kombo_client/models/get_custom_datev_available_documents_positive_response_data_results_inner.rb create mode 100644 lib/kombo_client/models/get_custom_datev_available_documents_positive_response_data_results_inner_available_for_employees_inner.rb create mode 100644 lib/kombo_client/models/get_custom_datev_check_document_permission_positive_response.rb create mode 100644 lib/kombo_client/models/get_custom_datev_check_document_permission_positive_response_data.rb create mode 100644 lib/kombo_client/models/get_custom_datev_check_document_permission_positive_response_data_any_of.rb create mode 100644 lib/kombo_client/models/get_custom_datev_check_document_permission_positive_response_data_any_of1.rb create mode 100644 lib/kombo_client/models/get_custom_datev_check_eau_permission_positive_response.rb create mode 100644 lib/kombo_client/models/get_custom_datev_check_eau_permission_positive_response_data.rb create mode 100644 lib/kombo_client/models/get_custom_datev_check_write_permission_positive_response.rb create mode 100644 lib/kombo_client/models/get_custom_datev_data_pushes_positive_response.rb create mode 100644 lib/kombo_client/models/get_custom_datev_data_pushes_positive_response_data.rb create mode 100644 lib/kombo_client/models/get_custom_datev_data_pushes_positive_response_data_data_pushes_inner.rb create mode 100644 lib/kombo_client/models/get_custom_datev_data_pushes_positive_response_data_data_pushes_inner_upload_jobs_inner.rb create mode 100644 lib/kombo_client/models/get_custom_datev_eau_requests_eau_id_positive_response.rb create mode 100644 lib/kombo_client/models/get_custom_datev_eau_requests_eau_id_positive_response_data.rb create mode 100644 lib/kombo_client/models/get_custom_datev_eau_requests_eau_id_positive_response_data_raw.rb create mode 100644 lib/kombo_client/models/get_custom_datev_eau_requests_eau_id_positive_response_data_raw_feedbacks_from_health_insurance_inner.rb create mode 100644 lib/kombo_client/models/get_custom_datev_eau_requests_eau_id_positive_response_data_raw_feedbacks_from_health_insurance_inner_contact_person.rb create mode 100644 lib/kombo_client/models/get_custom_datev_eau_requests_eau_id_positive_response_data_raw_feedbacks_from_health_insurance_inner_error_block_list_inner.rb create mode 100644 lib/kombo_client/models/get_custom_datev_eau_requests_eau_id_positive_response_data_raw_feedbacks_from_health_insurance_inner_incapacity_for_work.rb create mode 100644 lib/kombo_client/models/get_custom_datev_system_information_positive_response.rb create mode 100644 lib/kombo_client/models/get_custom_datev_system_information_positive_response_data.rb create mode 100644 lib/kombo_client/models/get_hris_absence_types_parameter_include_deleted.rb create mode 100644 lib/kombo_client/models/get_hris_absence_types_positive_response.rb create mode 100644 lib/kombo_client/models/get_hris_absence_types_positive_response_data.rb create mode 100644 lib/kombo_client/models/get_hris_absence_types_positive_response_data_results_inner.rb create mode 100644 lib/kombo_client/models/get_hris_absences_parameter_include_deleted.rb create mode 100644 lib/kombo_client/models/get_hris_absences_positive_response.rb create mode 100644 lib/kombo_client/models/get_hris_absences_positive_response_data.rb create mode 100644 lib/kombo_client/models/get_hris_absences_positive_response_data_results_inner.rb create mode 100644 lib/kombo_client/models/get_hris_absences_positive_response_data_results_inner_status.rb create mode 100644 lib/kombo_client/models/get_hris_employee_document_categories_parameter_include_deleted.rb create mode 100644 lib/kombo_client/models/get_hris_employee_document_categories_positive_response.rb create mode 100644 lib/kombo_client/models/get_hris_employee_document_categories_positive_response_data.rb create mode 100644 lib/kombo_client/models/get_hris_employee_document_categories_positive_response_data_results_inner.rb create mode 100644 lib/kombo_client/models/get_hris_employee_skill_assignments_positive_response.rb create mode 100644 lib/kombo_client/models/get_hris_employee_skill_assignments_positive_response_data.rb create mode 100644 lib/kombo_client/models/get_hris_employee_skill_assignments_positive_response_data_results_inner.rb create mode 100644 lib/kombo_client/models/get_hris_employees_form_positive_response.rb create mode 100644 lib/kombo_client/models/get_hris_employees_form_positive_response_data.rb create mode 100644 lib/kombo_client/models/get_hris_employees_parameter_employment_status.rb create mode 100644 lib/kombo_client/models/get_hris_employees_parameter_include_deleted.rb create mode 100644 lib/kombo_client/models/get_hris_employees_positive_response.rb create mode 100644 lib/kombo_client/models/get_hris_employees_positive_response_data.rb create mode 100644 lib/kombo_client/models/get_hris_employees_positive_response_data_results_inner.rb create mode 100644 lib/kombo_client/models/get_hris_employees_positive_response_data_results_inner_bank_accounts_inner.rb create mode 100644 lib/kombo_client/models/get_hris_employees_positive_response_data_results_inner_bank_accounts_inner_domestic_bank_routing.rb create mode 100644 lib/kombo_client/models/get_hris_employees_positive_response_data_results_inner_employment_status.rb create mode 100644 lib/kombo_client/models/get_hris_employees_positive_response_data_results_inner_employment_type.rb create mode 100644 lib/kombo_client/models/get_hris_employees_positive_response_data_results_inner_employments_inner.rb create mode 100644 lib/kombo_client/models/get_hris_employees_positive_response_data_results_inner_employments_inner_pay_frequency.rb create mode 100644 lib/kombo_client/models/get_hris_employees_positive_response_data_results_inner_employments_inner_pay_period.rb create mode 100644 lib/kombo_client/models/get_hris_employees_positive_response_data_results_inner_ethnicity.rb create mode 100644 lib/kombo_client/models/get_hris_employees_positive_response_data_results_inner_gender.rb create mode 100644 lib/kombo_client/models/get_hris_employees_positive_response_data_results_inner_groups_inner.rb create mode 100644 lib/kombo_client/models/get_hris_employees_positive_response_data_results_inner_home_address.rb create mode 100644 lib/kombo_client/models/get_hris_employees_positive_response_data_results_inner_integration_fields_inner.rb create mode 100644 lib/kombo_client/models/get_hris_employees_positive_response_data_results_inner_legal_entity.rb create mode 100644 lib/kombo_client/models/get_hris_employees_positive_response_data_results_inner_legal_entity_address.rb create mode 100644 lib/kombo_client/models/get_hris_employees_positive_response_data_results_inner_manager.rb create mode 100644 lib/kombo_client/models/get_hris_employees_positive_response_data_results_inner_marital_status.rb create mode 100644 lib/kombo_client/models/get_hris_employees_positive_response_data_results_inner_time_off_balances_inner.rb create mode 100644 lib/kombo_client/models/get_hris_employees_positive_response_data_results_inner_work_location.rb create mode 100644 lib/kombo_client/models/get_hris_employees_positive_response_data_results_inner_work_location_address.rb create mode 100644 lib/kombo_client/models/get_hris_employments_parameter_include_deleted.rb create mode 100644 lib/kombo_client/models/get_hris_employments_positive_response.rb create mode 100644 lib/kombo_client/models/get_hris_employments_positive_response_data.rb create mode 100644 lib/kombo_client/models/get_hris_groups_parameter_include_deleted.rb create mode 100644 lib/kombo_client/models/get_hris_groups_positive_response.rb create mode 100644 lib/kombo_client/models/get_hris_job_positions_positive_response.rb create mode 100644 lib/kombo_client/models/get_hris_job_positions_positive_response_data.rb create mode 100644 lib/kombo_client/models/get_hris_job_positions_positive_response_data_results_inner.rb create mode 100644 lib/kombo_client/models/get_hris_job_positions_positive_response_data_results_inner_skills_inner.rb create mode 100644 lib/kombo_client/models/get_hris_legal_entities_parameter_include_deleted.rb create mode 100644 lib/kombo_client/models/get_hris_legal_entities_positive_response.rb create mode 100644 lib/kombo_client/models/get_hris_legal_entities_positive_response_data.rb create mode 100644 lib/kombo_client/models/get_hris_legal_entities_positive_response_data_results_inner.rb create mode 100644 lib/kombo_client/models/get_hris_locations_parameter_include_deleted.rb create mode 100644 lib/kombo_client/models/get_hris_locations_positive_response.rb create mode 100644 lib/kombo_client/models/get_hris_locations_positive_response_data.rb create mode 100644 lib/kombo_client/models/get_hris_performance_review_cycles_parameter_include_deleted.rb create mode 100644 lib/kombo_client/models/get_hris_performance_review_cycles_positive_response.rb create mode 100644 lib/kombo_client/models/get_hris_performance_review_cycles_positive_response_data.rb create mode 100644 lib/kombo_client/models/get_hris_performance_review_cycles_positive_response_data_results_inner.rb create mode 100644 lib/kombo_client/models/get_hris_performance_reviews_parameter_include_deleted.rb create mode 100644 lib/kombo_client/models/get_hris_performance_reviews_positive_response.rb create mode 100644 lib/kombo_client/models/get_hris_performance_reviews_positive_response_data.rb create mode 100644 lib/kombo_client/models/get_hris_performance_reviews_positive_response_data_results_inner.rb create mode 100644 lib/kombo_client/models/get_hris_performance_reviews_positive_response_data_results_inner_reviewee.rb create mode 100644 lib/kombo_client/models/get_hris_performance_reviews_positive_response_data_results_inner_reviewer.rb create mode 100644 lib/kombo_client/models/get_hris_performance_reviews_positive_response_data_results_inner_summary_rating.rb create mode 100644 lib/kombo_client/models/get_hris_performance_reviews_positive_response_data_results_inner_summary_rating_any_of.rb create mode 100644 lib/kombo_client/models/get_hris_performance_reviews_positive_response_data_results_inner_summary_rating_any_of1.rb create mode 100644 lib/kombo_client/models/get_hris_skills_positive_response.rb create mode 100644 lib/kombo_client/models/get_hris_skills_positive_response_data.rb create mode 100644 lib/kombo_client/models/get_hris_skills_positive_response_data_results_inner.rb create mode 100644 lib/kombo_client/models/get_hris_teams_parameter_include_deleted.rb create mode 100644 lib/kombo_client/models/get_hris_teams_positive_response.rb create mode 100644 lib/kombo_client/models/get_hris_teams_positive_response_data.rb create mode 100644 lib/kombo_client/models/get_hris_teams_positive_response_data_results_inner.rb create mode 100644 lib/kombo_client/models/get_hris_time_off_balances_parameter_include_deleted.rb create mode 100644 lib/kombo_client/models/get_hris_time_off_balances_positive_response.rb create mode 100644 lib/kombo_client/models/get_hris_time_off_balances_positive_response_data.rb create mode 100644 lib/kombo_client/models/get_hris_time_off_balances_positive_response_data_results_inner.rb create mode 100644 lib/kombo_client/models/get_hris_timesheets_parameter_include_deleted.rb create mode 100644 lib/kombo_client/models/get_hris_timesheets_positive_response.rb create mode 100644 lib/kombo_client/models/get_hris_timesheets_positive_response_data.rb create mode 100644 lib/kombo_client/models/get_hris_timesheets_positive_response_data_results_inner.rb create mode 100644 lib/kombo_client/models/get_hris_timesheets_positive_response_data_results_inner_breaks_inner.rb create mode 100644 lib/kombo_client/models/get_hris_timesheets_positive_response_data_results_inner_breaks_inner_ended_at.rb create mode 100644 lib/kombo_client/models/get_hris_timesheets_positive_response_data_results_inner_breaks_inner_started_at.rb create mode 100644 lib/kombo_client/models/get_integrations_integration_id_custom_fields_positive_response.rb create mode 100644 lib/kombo_client/models/get_integrations_integration_id_custom_fields_positive_response_data.rb create mode 100644 lib/kombo_client/models/get_integrations_integration_id_custom_fields_positive_response_data_results_inner.rb create mode 100644 lib/kombo_client/models/get_integrations_integration_id_custom_fields_positive_response_data_results_inner_integration_field.rb create mode 100644 lib/kombo_client/models/get_integrations_integration_id_integration_fields_positive_response.rb create mode 100644 lib/kombo_client/models/get_integrations_integration_id_integration_fields_positive_response_data.rb create mode 100644 lib/kombo_client/models/get_integrations_integration_id_integration_fields_positive_response_data_results_inner.rb create mode 100644 lib/kombo_client/models/get_integrations_integration_id_positive_response.rb create mode 100644 lib/kombo_client/models/get_integrations_integration_id_positive_response_data.rb create mode 100644 lib/kombo_client/models/get_integrations_integration_id_positive_response_data_end_user.rb create mode 100644 lib/kombo_client/models/get_integrations_integration_id_positive_response_data_read_models_inner.rb create mode 100644 lib/kombo_client/models/get_integrations_integration_id_positive_response_data_read_models_inner_fields_inner.rb create mode 100644 lib/kombo_client/models/get_integrations_integration_id_positive_response_data_scope_config.rb create mode 100644 lib/kombo_client/models/get_integrations_integration_id_positive_response_data_tool.rb create mode 100644 lib/kombo_client/models/get_lms_courses_positive_response.rb create mode 100644 lib/kombo_client/models/get_lms_courses_positive_response_data.rb create mode 100644 lib/kombo_client/models/get_lms_courses_positive_response_data_results_inner.rb create mode 100644 lib/kombo_client/models/get_lms_courses_positive_response_data_results_inner_ordered_content_inner.rb create mode 100644 lib/kombo_client/models/get_lms_courses_positive_response_data_results_inner_skills_inner.rb create mode 100644 lib/kombo_client/models/get_lms_users_parameter_status.rb create mode 100644 lib/kombo_client/models/get_lms_users_positive_response.rb create mode 100644 lib/kombo_client/models/get_lms_users_positive_response_data.rb create mode 100644 lib/kombo_client/models/get_lms_users_positive_response_data_results_inner.rb create mode 100644 lib/kombo_client/models/get_lms_users_positive_response_data_results_inner_progress_inner.rb create mode 100644 lib/kombo_client/models/get_tools_category_parameter_category.rb create mode 100644 lib/kombo_client/models/get_tools_category_positive_response.rb create mode 100644 lib/kombo_client/models/get_tools_category_positive_response_data.rb create mode 100644 lib/kombo_client/models/get_tools_category_positive_response_data_tools_inner.rb create mode 100644 lib/kombo_client/models/get_tools_category_positive_response_data_tools_inner_assets.rb create mode 100644 lib/kombo_client/models/get_tools_category_positive_response_data_tools_inner_coverage.rb create mode 100644 lib/kombo_client/models/get_tools_category_positive_response_data_tools_inner_coverage_features_inner.rb create mode 100644 lib/kombo_client/models/get_tools_category_positive_response_data_tools_inner_coverage_read_models_inner.rb create mode 100644 lib/kombo_client/models/get_tools_category_positive_response_data_tools_inner_coverage_read_models_inner_fields_inner.rb create mode 100644 lib/kombo_client/models/get_tools_category_positive_response_data_tools_inner_coverage_write_actions_inner.rb create mode 100644 lib/kombo_client/models/inline_assessment_order_received_webhook_payload.rb create mode 100644 lib/kombo_client/models/inline_object.rb create mode 100644 lib/kombo_client/models/inline_object1.rb create mode 100644 lib/kombo_client/models/inline_object1_error.rb create mode 100644 lib/kombo_client/models/inline_object2.rb create mode 100644 lib/kombo_client/models/inline_object2_error.rb create mode 100644 lib/kombo_client/models/inline_object3.rb create mode 100644 lib/kombo_client/models/inline_object3_error.rb create mode 100644 lib/kombo_client/models/inline_object_error.rb create mode 100644 lib/kombo_client/models/integration_created_webhook_payload.rb create mode 100644 lib/kombo_client/models/integration_created_webhook_payload_data.rb create mode 100644 lib/kombo_client/models/integration_deleted_webhook_payload.rb create mode 100644 lib/kombo_client/models/integration_deleted_webhook_payload_data.rb create mode 100644 lib/kombo_client/models/integration_state_changed_webhook_payload.rb create mode 100644 lib/kombo_client/models/integration_state_changed_webhook_payload_data.rb create mode 100644 lib/kombo_client/models/patch_ats_applications_application_id_interviews_positive_response.rb create mode 100644 lib/kombo_client/models/patch_ats_applications_application_id_interviews_request_body.rb create mode 100644 lib/kombo_client/models/patch_ats_applications_application_id_interviews_request_body_location.rb create mode 100644 lib/kombo_client/models/patch_hris_employee_skill_assignments_employee_skill_assignment_id_positive_response.rb create mode 100644 lib/kombo_client/models/patch_hris_employee_skill_assignments_employee_skill_assignment_id_request_body.rb create mode 100644 lib/kombo_client/models/patch_hris_employees_employee_id_positive_response.rb create mode 100644 lib/kombo_client/models/patch_hris_employees_employee_id_positive_response_data.rb create mode 100644 lib/kombo_client/models/patch_hris_employees_employee_id_request_body.rb create mode 100644 lib/kombo_client/models/patch_hris_skills_skill_id_positive_response.rb create mode 100644 lib/kombo_client/models/patch_hris_skills_skill_id_request_body.rb create mode 100644 lib/kombo_client/models/patch_integrations_integration_id_integration_fields_integration_field_id_positive_response.rb create mode 100644 lib/kombo_client/models/patch_integrations_integration_id_integration_fields_integration_field_id_request_body.rb create mode 100644 lib/kombo_client/models/patch_lms_progress_progress_id_positive_response.rb create mode 100644 lib/kombo_client/models/patch_lms_progress_progress_id_request_body.rb create mode 100644 lib/kombo_client/models/post_ai_apply_apply_positive_response.rb create mode 100644 lib/kombo_client/models/post_ai_apply_apply_positive_response_data.rb create mode 100644 lib/kombo_client/models/post_ai_apply_apply_request_body.rb create mode 100644 lib/kombo_client/models/post_ai_apply_apply_request_body_screening_question_answers_inner.rb create mode 100644 lib/kombo_client/models/post_ai_apply_career_sites_positive_response.rb create mode 100644 lib/kombo_client/models/post_ai_apply_career_sites_positive_response_data.rb create mode 100644 lib/kombo_client/models/post_ai_apply_career_sites_request_body.rb create mode 100644 lib/kombo_client/models/post_ai_apply_postings_positive_response.rb create mode 100644 lib/kombo_client/models/post_ai_apply_postings_posting_id_inquire_positive_response.rb create mode 100644 lib/kombo_client/models/post_ai_apply_postings_posting_id_inquire_positive_response_data.rb create mode 100644 lib/kombo_client/models/post_ai_apply_postings_posting_id_inquire_positive_response_data_application_form_inner.rb create mode 100644 lib/kombo_client/models/post_ai_apply_postings_posting_id_inquire_positive_response_data_application_form_inner_any_of.rb create mode 100644 lib/kombo_client/models/post_ai_apply_postings_posting_id_inquire_positive_response_data_application_form_inner_any_of1.rb create mode 100644 lib/kombo_client/models/post_ai_apply_postings_posting_id_inquire_positive_response_data_application_form_inner_any_of_display_when.rb create mode 100644 lib/kombo_client/models/post_ai_apply_postings_posting_id_inquire_positive_response_data_application_form_inner_any_of_display_when_answer_equals.rb create mode 100644 lib/kombo_client/models/post_ai_apply_postings_posting_id_inquire_positive_response_data_application_form_inner_any_of_display_when_answer_equals_one_of.rb create mode 100644 lib/kombo_client/models/post_ai_apply_postings_posting_id_inquire_positive_response_data_application_form_inner_any_of_options_inner.rb create mode 100644 lib/kombo_client/models/post_ai_apply_postings_posting_id_parse_positive_response.rb create mode 100644 lib/kombo_client/models/post_ai_apply_postings_request_body.rb create mode 100644 lib/kombo_client/models/post_ai_apply_postings_request_body_location.rb create mode 100644 lib/kombo_client/models/post_ai_apply_unified_api_jobs_job_id_applications_positive_response.rb create mode 100644 lib/kombo_client/models/post_ai_apply_unified_api_jobs_job_id_applications_request_body.rb create mode 100644 lib/kombo_client/models/post_ats_applications_application_id_attachments_positive_response.rb create mode 100644 lib/kombo_client/models/post_ats_applications_application_id_attachments_request_body.rb create mode 100644 lib/kombo_client/models/post_ats_applications_application_id_attachments_request_body_attachment.rb create mode 100644 lib/kombo_client/models/post_ats_applications_application_id_attachments_request_body_remote_fields.rb create mode 100644 lib/kombo_client/models/post_ats_applications_application_id_attachments_request_body_remote_fields_all_of_oracle.rb create mode 100644 lib/kombo_client/models/post_ats_applications_application_id_interviews_positive_response.rb create mode 100644 lib/kombo_client/models/post_ats_applications_application_id_interviews_request_body.rb create mode 100644 lib/kombo_client/models/post_ats_applications_application_id_interviews_request_body_location.rb create mode 100644 lib/kombo_client/models/post_ats_applications_application_id_notes_positive_response.rb create mode 100644 lib/kombo_client/models/post_ats_applications_application_id_notes_request_body.rb create mode 100644 lib/kombo_client/models/post_ats_applications_application_id_notes_request_body_remote_fields.rb create mode 100644 lib/kombo_client/models/post_ats_applications_application_id_notes_request_body_remote_fields_all_of_bullhorn.rb create mode 100644 lib/kombo_client/models/post_ats_applications_application_id_notes_request_body_remote_fields_all_of_greenhouse.rb create mode 100644 lib/kombo_client/models/post_ats_applications_application_id_notes_request_body_remote_fields_all_of_recruitee.rb create mode 100644 lib/kombo_client/models/post_ats_applications_application_id_notes_request_body_remote_fields_all_of_teamtailor.rb create mode 100644 lib/kombo_client/models/post_ats_applications_application_id_reject_positive_response.rb create mode 100644 lib/kombo_client/models/post_ats_applications_application_id_reject_request_body.rb create mode 100644 lib/kombo_client/models/post_ats_applications_application_id_reject_request_body_remote_fields.rb create mode 100644 lib/kombo_client/models/post_ats_applications_application_id_reject_request_body_remote_fields_all_of_greenhouse.rb create mode 100644 lib/kombo_client/models/post_ats_applications_application_id_result_links_positive_response.rb create mode 100644 lib/kombo_client/models/post_ats_applications_application_id_result_links_request_body.rb create mode 100644 lib/kombo_client/models/post_ats_applications_application_id_result_links_request_body_details.rb create mode 100644 lib/kombo_client/models/post_ats_applications_application_id_result_links_request_body_details_attributes_inner.rb create mode 100644 lib/kombo_client/models/post_ats_applications_application_id_result_links_request_body_remote_fields.rb create mode 100644 lib/kombo_client/models/post_ats_applications_application_id_result_links_request_body_remote_fields_all_of_icims.rb create mode 100644 lib/kombo_client/models/post_ats_applications_application_id_result_links_request_body_remote_fields_all_of_oracle.rb create mode 100644 lib/kombo_client/models/post_ats_candidates_candidate_id_attachments_positive_response.rb create mode 100644 lib/kombo_client/models/post_ats_candidates_candidate_id_attachments_request_body.rb create mode 100644 lib/kombo_client/models/post_ats_candidates_candidate_id_result_links_positive_response.rb create mode 100644 lib/kombo_client/models/post_ats_candidates_candidate_id_result_links_request_body.rb create mode 100644 lib/kombo_client/models/post_ats_candidates_candidate_id_tags_positive_response.rb create mode 100644 lib/kombo_client/models/post_ats_candidates_candidate_id_tags_request_body.rb create mode 100644 lib/kombo_client/models/post_ats_candidates_candidate_id_tags_request_body_tag.rb create mode 100644 lib/kombo_client/models/post_ats_candidates_positive_response.rb create mode 100644 lib/kombo_client/models/post_ats_candidates_request_body.rb create mode 100644 lib/kombo_client/models/post_ats_candidates_request_body_application.rb create mode 100644 lib/kombo_client/models/post_ats_candidates_request_body_candidate.rb create mode 100644 lib/kombo_client/models/post_ats_candidates_request_body_candidate_additional_email_addresses_inner.rb create mode 100644 lib/kombo_client/models/post_ats_candidates_request_body_candidate_additional_phone_numbers_inner.rb create mode 100644 lib/kombo_client/models/post_ats_candidates_request_body_candidate_location.rb create mode 100644 lib/kombo_client/models/post_ats_candidates_request_body_candidate_salary_expectations.rb create mode 100644 lib/kombo_client/models/post_ats_candidates_request_body_candidate_social_links_inner.rb create mode 100644 lib/kombo_client/models/post_ats_candidates_request_body_gdpr_consent.rb create mode 100644 lib/kombo_client/models/post_ats_candidates_request_body_remote_fields.rb create mode 100644 lib/kombo_client/models/post_ats_candidates_request_body_remote_fields_all_of_avature.rb create mode 100644 lib/kombo_client/models/post_ats_candidates_request_body_remote_fields_all_of_avature_workflow.rb create mode 100644 lib/kombo_client/models/post_ats_candidates_request_body_remote_fields_all_of_avature_workflow_step.rb create mode 100644 lib/kombo_client/models/post_ats_candidates_request_body_remote_fields_all_of_bullhorn.rb create mode 100644 lib/kombo_client/models/post_ats_candidates_request_body_remote_fields_all_of_dvinci.rb create mode 100644 lib/kombo_client/models/post_ats_candidates_request_body_remote_fields_all_of_greenhouse.rb create mode 100644 lib/kombo_client/models/post_ats_candidates_request_body_remote_fields_all_of_guidecom.rb create mode 100644 lib/kombo_client/models/post_ats_candidates_request_body_remote_fields_all_of_hrworks.rb create mode 100644 lib/kombo_client/models/post_ats_candidates_request_body_remote_fields_all_of_jobylon.rb create mode 100644 lib/kombo_client/models/post_ats_candidates_request_body_remote_fields_all_of_jobylon_application.rb create mode 100644 lib/kombo_client/models/post_ats_candidates_request_body_remote_fields_all_of_lever.rb create mode 100644 lib/kombo_client/models/post_ats_candidates_request_body_remote_fields_all_of_personio.rb create mode 100644 lib/kombo_client/models/post_ats_candidates_request_body_remote_fields_all_of_piloga.rb create mode 100644 lib/kombo_client/models/post_ats_candidates_request_body_remote_fields_all_of_piloga_candidate.rb create mode 100644 lib/kombo_client/models/post_ats_candidates_request_body_remote_fields_all_of_recruitee.rb create mode 100644 lib/kombo_client/models/post_ats_candidates_request_body_remote_fields_all_of_recruitee_candidate.rb create mode 100644 lib/kombo_client/models/post_ats_candidates_request_body_remote_fields_all_of_smartrecruiters.rb create mode 100644 lib/kombo_client/models/post_ats_candidates_request_body_remote_fields_all_of_successfactors.rb create mode 100644 lib/kombo_client/models/post_ats_candidates_request_body_remote_fields_all_of_talentadore.rb create mode 100644 lib/kombo_client/models/post_ats_candidates_request_body_remote_fields_all_of_talentsoft.rb create mode 100644 lib/kombo_client/models/post_ats_candidates_request_body_remote_fields_all_of_teamtailor.rb create mode 100644 lib/kombo_client/models/post_ats_candidates_request_body_remote_fields_all_of_teamtailor_application.rb create mode 100644 lib/kombo_client/models/post_ats_candidates_request_body_remote_fields_all_of_umantis.rb create mode 100644 lib/kombo_client/models/post_ats_candidates_request_body_remote_fields_all_of_workable.rb create mode 100644 lib/kombo_client/models/post_ats_candidates_request_body_remote_fields_all_of_workday.rb create mode 100644 lib/kombo_client/models/post_ats_candidates_request_body_remote_fields_all_of_workday_candidate_data.rb create mode 100644 lib/kombo_client/models/post_ats_candidates_request_body_remote_fields_all_of_workday_candidate_data_contact_data.rb create mode 100644 lib/kombo_client/models/post_ats_candidates_request_body_remote_fields_all_of_workday_candidate_data_contact_data_location_data.rb create mode 100644 lib/kombo_client/models/post_ats_candidates_request_body_remote_fields_all_of_workday_candidate_data_contact_data_location_data_country_region_reference.rb create mode 100644 lib/kombo_client/models/post_ats_candidates_request_body_remote_fields_all_of_workday_candidate_data_job_application_data.rb create mode 100644 lib/kombo_client/models/post_ats_candidates_request_body_remote_fields_all_of_workday_candidate_data_job_application_data_job_applied_to_data.rb create mode 100644 lib/kombo_client/models/post_ats_candidates_request_body_remote_fields_all_of_workday_candidate_data_job_application_data_job_applied_to_data_global_personal_information_data.rb create mode 100644 lib/kombo_client/models/post_ats_candidates_request_body_remote_fields_all_of_workday_candidate_data_job_application_data_resume_data.rb create mode 100644 lib/kombo_client/models/post_ats_candidates_request_body_remote_fields_all_of_workday_candidate_data_job_application_data_resume_data_education_data_inner.rb create mode 100644 lib/kombo_client/models/post_ats_candidates_request_body_remote_fields_all_of_workday_candidate_data_job_application_data_resume_data_education_data_inner_field_of_study_reference.rb create mode 100644 lib/kombo_client/models/post_ats_candidates_request_body_remote_fields_all_of_workday_candidate_data_job_application_data_resume_data_experience_data_inner.rb create mode 100644 lib/kombo_client/models/post_ats_candidates_request_body_remote_fields_all_of_workday_candidate_data_job_application_data_resume_data_language_data_inner.rb create mode 100644 lib/kombo_client/models/post_ats_candidates_request_body_remote_fields_all_of_workday_candidate_data_job_application_data_resume_data_language_data_inner_language.rb create mode 100644 lib/kombo_client/models/post_ats_candidates_request_body_remote_fields_all_of_workday_candidate_data_job_application_data_resume_data_language_data_inner_language_language_ability_inner.rb create mode 100644 lib/kombo_client/models/post_ats_candidates_request_body_remote_fields_all_of_workday_candidate_data_job_application_data_resume_data_language_data_inner_language_language_ability_inner_language_ability_data.rb create mode 100644 lib/kombo_client/models/post_ats_candidates_request_body_remote_fields_all_of_workday_candidate_data_job_application_data_resume_data_language_data_inner_language_reference.rb create mode 100644 lib/kombo_client/models/post_ats_candidates_request_body_remote_fields_all_of_workday_candidate_data_job_application_data_resume_data_skill_data_inner.rb create mode 100644 lib/kombo_client/models/post_ats_candidates_request_body_remote_fields_all_of_workday_candidate_data_language_reference.rb create mode 100644 lib/kombo_client/models/post_ats_candidates_request_body_remote_fields_all_of_workday_candidate_data_name_detail_data.rb create mode 100644 lib/kombo_client/models/post_ats_candidates_request_body_remote_fields_all_of_workday_candidate_data_name_detail_data_social_suffix_reference.rb create mode 100644 lib/kombo_client/models/post_ats_candidates_request_body_remote_fields_all_of_workday_candidate_data_worker_reference.rb create mode 100644 lib/kombo_client/models/post_ats_candidates_request_body_remote_fields_all_of_zohorecruit.rb create mode 100644 lib/kombo_client/models/post_ats_candidates_request_body_screening_question_answers_inner.rb create mode 100644 lib/kombo_client/models/post_ats_candidates_request_body_screening_question_answers_inner_answer.rb create mode 100644 lib/kombo_client/models/post_ats_candidates_request_body_screening_question_answers_inner_answer_any_of.rb create mode 100644 lib/kombo_client/models/post_ats_candidates_request_body_source.rb create mode 100644 lib/kombo_client/models/post_ats_candidates_request_body_sourced_by.rb create mode 100644 lib/kombo_client/models/post_ats_import_tracked_application_positive_response.rb create mode 100644 lib/kombo_client/models/post_ats_import_tracked_application_positive_response_data.rb create mode 100644 lib/kombo_client/models/post_ats_import_tracked_application_positive_response_data_imported_id.rb create mode 100644 lib/kombo_client/models/post_ats_import_tracked_application_positive_response_data_imported_id_erecruiter.rb create mode 100644 lib/kombo_client/models/post_ats_import_tracked_application_positive_response_data_imported_id_erecruiter_any_of.rb create mode 100644 lib/kombo_client/models/post_ats_import_tracked_application_positive_response_data_imported_id_erecruiter_any_of1.rb create mode 100644 lib/kombo_client/models/post_ats_import_tracked_application_positive_response_data_imported_id_greenhouse.rb create mode 100644 lib/kombo_client/models/post_ats_import_tracked_application_positive_response_data_imported_id_onlyfy.rb create mode 100644 lib/kombo_client/models/post_ats_import_tracked_application_positive_response_data_imported_id_recruitee.rb create mode 100644 lib/kombo_client/models/post_ats_import_tracked_application_positive_response_data_imported_id_smartrecruiters.rb create mode 100644 lib/kombo_client/models/post_ats_import_tracked_application_positive_response_data_imported_id_successfactors.rb create mode 100644 lib/kombo_client/models/post_ats_import_tracked_application_request_body.rb create mode 100644 lib/kombo_client/models/post_ats_jobs_job_id_applications_positive_response.rb create mode 100644 lib/kombo_client/models/post_ats_jobs_job_id_applications_positive_response_data.rb create mode 100644 lib/kombo_client/models/post_ats_jobs_job_id_applications_positive_response_data_candidate.rb create mode 100644 lib/kombo_client/models/post_ats_jobs_job_id_applications_request_body.rb create mode 100644 lib/kombo_client/models/post_connect_activate_integration_positive_response.rb create mode 100644 lib/kombo_client/models/post_connect_activate_integration_request_body.rb create mode 100644 lib/kombo_client/models/post_connect_create_link_positive_response.rb create mode 100644 lib/kombo_client/models/post_connect_create_link_request_body.rb create mode 100644 lib/kombo_client/models/post_custom_datev_download_document_positive_response.rb create mode 100644 lib/kombo_client/models/post_custom_datev_download_document_positive_response_data.rb create mode 100644 lib/kombo_client/models/post_custom_datev_download_document_request_body.rb create mode 100644 lib/kombo_client/models/post_custom_datev_employees_employee_id_download_document_positive_response.rb create mode 100644 lib/kombo_client/models/post_custom_datev_employees_employee_id_download_document_request_body.rb create mode 100644 lib/kombo_client/models/post_custom_datev_employees_employee_id_eau_requests_positive_response.rb create mode 100644 lib/kombo_client/models/post_custom_datev_employees_employee_id_eau_requests_positive_response_data.rb create mode 100644 lib/kombo_client/models/post_custom_datev_employees_employee_id_eau_requests_request_body.rb create mode 100644 lib/kombo_client/models/post_custom_datev_employees_employee_id_eau_requests_request_body_contact_person.rb create mode 100644 lib/kombo_client/models/post_custom_datev_employees_employee_id_eau_requests_request_body_notification.rb create mode 100644 lib/kombo_client/models/post_custom_datev_passthrough_positive_response.rb create mode 100644 lib/kombo_client/models/post_custom_datev_passthrough_request_body.rb create mode 100644 lib/kombo_client/models/post_custom_datev_push_data_general_positive_response.rb create mode 100644 lib/kombo_client/models/post_custom_datev_push_data_general_positive_response_data.rb create mode 100644 lib/kombo_client/models/post_custom_datev_push_data_general_positive_response_data_files_inner.rb create mode 100644 lib/kombo_client/models/post_custom_datev_push_data_payroll_positive_response.rb create mode 100644 lib/kombo_client/models/post_custom_datev_push_data_payroll_request_body.rb create mode 100644 lib/kombo_client/models/post_custom_silae_employees_employee_id_payroll_supplements_positive_response.rb create mode 100644 lib/kombo_client/models/post_custom_silae_employees_employee_id_payroll_supplements_request_body.rb create mode 100644 lib/kombo_client/models/post_force_sync_positive_response.rb create mode 100644 lib/kombo_client/models/post_force_sync_positive_response_data.rb create mode 100644 lib/kombo_client/models/post_force_sync_request_body.rb create mode 100644 lib/kombo_client/models/post_hris_absences_positive_response.rb create mode 100644 lib/kombo_client/models/post_hris_absences_positive_response_data.rb create mode 100644 lib/kombo_client/models/post_hris_absences_request_body.rb create mode 100644 lib/kombo_client/models/post_hris_absences_request_body_remote_fields.rb create mode 100644 lib/kombo_client/models/post_hris_absences_request_body_remote_fields_adpworkforcenow.rb create mode 100644 lib/kombo_client/models/post_hris_employee_skill_assignments_positive_response.rb create mode 100644 lib/kombo_client/models/post_hris_employee_skill_assignments_request_body.rb create mode 100644 lib/kombo_client/models/post_hris_employees_employee_id_documents_positive_response.rb create mode 100644 lib/kombo_client/models/post_hris_employees_employee_id_documents_request_body.rb create mode 100644 lib/kombo_client/models/post_hris_employees_form_positive_response.rb create mode 100644 lib/kombo_client/models/post_hris_employees_form_positive_response_data.rb create mode 100644 lib/kombo_client/models/post_hris_employees_form_request_body.rb create mode 100644 lib/kombo_client/models/post_hris_employees_positive_response.rb create mode 100644 lib/kombo_client/models/post_hris_employees_positive_response_data.rb create mode 100644 lib/kombo_client/models/post_hris_employees_request_body.rb create mode 100644 lib/kombo_client/models/post_hris_employees_request_body_home_address.rb create mode 100644 lib/kombo_client/models/post_hris_employees_request_body_remote_fields.rb create mode 100644 lib/kombo_client/models/post_hris_employees_request_body_remote_fields_adpworkforcenow.rb create mode 100644 lib/kombo_client/models/post_hris_employees_request_body_remote_fields_azuread.rb create mode 100644 lib/kombo_client/models/post_hris_employees_request_body_remote_fields_bamboohr.rb create mode 100644 lib/kombo_client/models/post_hris_employees_request_body_remote_fields_dayforce.rb create mode 100644 lib/kombo_client/models/post_hris_employees_request_body_remote_fields_deel.rb create mode 100644 lib/kombo_client/models/post_hris_employees_request_body_remote_fields_hibob.rb create mode 100644 lib/kombo_client/models/post_hris_employees_request_body_remote_fields_humaans.rb create mode 100644 lib/kombo_client/models/post_hris_employees_request_body_remote_fields_oracle.rb create mode 100644 lib/kombo_client/models/post_hris_employees_request_body_remote_fields_paycor.rb create mode 100644 lib/kombo_client/models/post_hris_employees_request_body_remote_fields_peoplehr.rb create mode 100644 lib/kombo_client/models/post_hris_employees_request_body_remote_fields_planday.rb create mode 100644 lib/kombo_client/models/post_hris_employees_request_body_remote_fields_silae.rb create mode 100644 lib/kombo_client/models/post_hris_employees_request_body_remote_fields_sympa.rb create mode 100644 lib/kombo_client/models/post_hris_employees_request_body_remote_fields_workday.rb create mode 100644 lib/kombo_client/models/post_hris_employees_request_body_remote_fields_workday_bank_account.rb create mode 100644 lib/kombo_client/models/post_hris_employees_request_body_remote_fields_zohopeople.rb create mode 100644 lib/kombo_client/models/post_hris_provisioning_groups_group_id_diff_positive_response.rb create mode 100644 lib/kombo_client/models/post_hris_provisioning_groups_group_id_diff_positive_response_data.rb create mode 100644 lib/kombo_client/models/post_hris_provisioning_groups_group_id_diff_positive_response_data_users.rb create mode 100644 lib/kombo_client/models/post_hris_provisioning_groups_group_id_diff_positive_response_data_users_already_provisioned_inner.rb create mode 100644 lib/kombo_client/models/post_hris_provisioning_groups_group_id_diff_positive_response_data_users_to_deprovision_inner.rb create mode 100644 lib/kombo_client/models/post_hris_provisioning_groups_group_id_diff_positive_response_data_users_to_provision_inner.rb create mode 100644 lib/kombo_client/models/post_hris_provisioning_groups_group_id_diff_positive_response_data_users_to_provision_inner_employee.rb create mode 100644 lib/kombo_client/models/post_hris_provisioning_groups_group_id_diff_positive_response_data_users_to_provision_inner_employee_groups_inner.rb create mode 100644 lib/kombo_client/models/post_hris_provisioning_groups_group_id_diff_request_body.rb create mode 100644 lib/kombo_client/models/post_hris_provisioning_groups_group_id_diff_request_body_options.rb create mode 100644 lib/kombo_client/models/post_hris_provisioning_groups_group_id_diff_request_body_provisioned_users_inner.rb create mode 100644 lib/kombo_client/models/post_hris_provisioning_groups_group_id_setup_links_positive_response.rb create mode 100644 lib/kombo_client/models/post_hris_provisioning_groups_group_id_setup_links_positive_response_data.rb create mode 100644 lib/kombo_client/models/post_hris_provisioning_groups_group_id_setup_links_request_body.rb create mode 100644 lib/kombo_client/models/post_hris_skills_positive_response.rb create mode 100644 lib/kombo_client/models/post_hris_skills_request_body.rb create mode 100644 lib/kombo_client/models/post_integrations_integration_id_relink_positive_response.rb create mode 100644 lib/kombo_client/models/post_integrations_integration_id_relink_positive_response_data.rb create mode 100644 lib/kombo_client/models/post_integrations_integration_id_relink_request_body.rb create mode 100644 lib/kombo_client/models/post_lms_content_positive_response.rb create mode 100644 lib/kombo_client/models/post_lms_content_positive_response_data.rb create mode 100644 lib/kombo_client/models/post_lms_content_request_body.rb create mode 100644 lib/kombo_client/models/post_lms_courses_positive_response.rb create mode 100644 lib/kombo_client/models/post_lms_courses_request_body.rb create mode 100644 lib/kombo_client/models/post_lms_courses_request_body_skills_inner.rb create mode 100644 lib/kombo_client/models/post_lms_progress_positive_response.rb create mode 100644 lib/kombo_client/models/post_lms_progress_positive_response_data.rb create mode 100644 lib/kombo_client/models/post_lms_progress_request_body.rb create mode 100644 lib/kombo_client/models/post_passthrough_tool_api_positive_response.rb create mode 100644 lib/kombo_client/models/post_passthrough_tool_api_positive_response_data.rb create mode 100644 lib/kombo_client/models/post_passthrough_tool_api_positive_response_data_headers_value.rb create mode 100644 lib/kombo_client/models/post_passthrough_tool_api_positive_response_warnings_inner.rb create mode 100644 lib/kombo_client/models/post_passthrough_tool_api_request_body.rb create mode 100644 lib/kombo_client/models/post_passthrough_tool_api_request_body_multipart_form_data_inner.rb create mode 100644 lib/kombo_client/models/post_passthrough_tool_api_request_body_multipart_form_data_inner_value.rb create mode 100644 lib/kombo_client/models/post_passthrough_tool_api_request_body_multipart_form_data_inner_value_one_of.rb create mode 100644 lib/kombo_client/models/put_assessment_orders_assessment_order_id_result_positive_response.rb create mode 100644 lib/kombo_client/models/put_assessment_orders_assessment_order_id_result_request_body.rb create mode 100644 lib/kombo_client/models/put_assessment_orders_assessment_order_id_result_request_body_attributes_inner.rb create mode 100644 lib/kombo_client/models/put_assessment_orders_assessment_order_id_result_request_body_attributes_inner_any_of.rb create mode 100644 lib/kombo_client/models/put_assessment_orders_assessment_order_id_result_request_body_attributes_inner_any_of1.rb create mode 100644 lib/kombo_client/models/put_assessment_orders_assessment_order_id_result_request_body_attributes_inner_any_of1_score.rb create mode 100644 lib/kombo_client/models/put_assessment_orders_assessment_order_id_result_request_body_remote_fields.rb create mode 100644 lib/kombo_client/models/put_assessment_orders_assessment_order_id_result_request_body_remote_fields_smartrecruiters.rb create mode 100644 lib/kombo_client/models/put_assessment_packages_positive_response.rb create mode 100644 lib/kombo_client/models/put_assessment_packages_request_body.rb create mode 100644 lib/kombo_client/models/put_assessment_packages_request_body_packages_inner.rb create mode 100644 lib/kombo_client/models/put_ats_applications_application_id_stage_positive_response.rb create mode 100644 lib/kombo_client/models/put_ats_applications_application_id_stage_request_body.rb create mode 100644 lib/kombo_client/models/put_ats_applications_application_id_stage_request_body_remote_fields.rb create mode 100644 lib/kombo_client/models/put_ats_applications_application_id_stage_request_body_remote_fields_greenhouse.rb create mode 100644 lib/kombo_client/models/put_ats_applications_application_id_stage_request_body_remote_fields_greenhouse_post_headers.rb create mode 100644 lib/kombo_client/models/put_ats_applications_application_id_stage_request_body_remote_fields_workable.rb create mode 100644 lib/kombo_client/models/put_custom_datev_employees_employee_id_compensations_positive_response.rb create mode 100644 lib/kombo_client/models/put_custom_datev_employees_employee_id_compensations_request_body.rb create mode 100644 lib/kombo_client/models/put_custom_datev_employees_employee_id_compensations_request_body_compensations_inner.rb create mode 100644 lib/kombo_client/models/put_custom_datev_employees_employee_id_prepare_payroll_positive_response.rb create mode 100644 lib/kombo_client/models/put_custom_datev_employees_employee_id_prepare_payroll_request_body.rb create mode 100644 lib/kombo_client/models/put_custom_datev_employees_employee_id_prepare_payroll_request_body_custom_lodas_inner.rb create mode 100644 lib/kombo_client/models/put_custom_datev_employees_employee_id_prepare_payroll_request_body_fixed_payments_inner.rb create mode 100644 lib/kombo_client/models/put_custom_datev_employees_employee_id_prepare_payroll_request_body_hourly_payments_inner.rb create mode 100644 lib/kombo_client/models/put_custom_datev_employees_employee_id_prepare_payroll_request_body_payroll_run.rb create mode 100644 lib/kombo_client/models/put_integrations_integration_id_custom_fields_custom_field_id_positive_response.rb create mode 100644 lib/kombo_client/models/put_integrations_integration_id_custom_fields_custom_field_id_request_body.rb create mode 100644 lib/kombo_client/models/remote_event_received_webhook_payload.rb create mode 100644 lib/kombo_client/models/remote_event_received_webhook_payload_data.rb create mode 100644 lib/kombo_client/models/schema1_value.rb create mode 100644 lib/kombo_client/models/schema2.rb create mode 100644 lib/kombo_client/models/schema2_any_of.rb create mode 100644 lib/kombo_client/models/schema2_any_of1.rb create mode 100644 lib/kombo_client/models/schema2_any_of2.rb create mode 100644 lib/kombo_client/models/schema2_any_of3.rb create mode 100644 lib/kombo_client/models/schema2_any_of3_options.rb create mode 100644 lib/kombo_client/models/schema2_any_of3_options_any_of.rb create mode 100644 lib/kombo_client/models/schema2_any_of3_options_any_of1.rb create mode 100644 lib/kombo_client/models/schema2_any_of3_options_any_of_entries_inner.rb create mode 100644 lib/kombo_client/models/schema2_any_of3_options_any_of_entries_inner_remote_id.rb create mode 100644 lib/kombo_client/models/schema2_any_of4.rb create mode 100644 lib/kombo_client/models/schema2_any_of5.rb create mode 100644 lib/kombo_client/models/schema2_any_of6.rb create mode 100644 lib/kombo_client/models/schema2_any_of7.rb create mode 100644 lib/kombo_client/models/schema2_any_of8.rb create mode 100644 lib/kombo_client/models/schema2_any_of8_file_restrictions.rb create mode 100644 lib/kombo_client/models/schema4.rb create mode 100644 lib/kombo_client/models/sync_finished_webhook_payload.rb create mode 100644 lib/kombo_client/models/sync_finished_webhook_payload_data.rb create mode 100644 lib/kombo_client/version.rb create mode 100644 spec/api/ai_apply_api_spec.rb create mode 100644 spec/api/custom_endpoints_api_spec.rb create mode 100644 spec/api/default_api_spec.rb create mode 100644 spec/api/general_api_spec.rb create mode 100644 spec/api/kombo_connect_api_spec.rb create mode 100644 spec/api/unified_ats_assessment_background_check_api_api_spec.rb create mode 100644 spec/api/unified_atsapi_api_spec.rb create mode 100644 spec/api/unified_hrisapi_api_spec.rb create mode 100644 spec/models/ai_apply_application_status_updated_webhook_payload_data_spec.rb create mode 100644 spec/models/ai_apply_application_status_updated_webhook_payload_spec.rb create mode 100644 spec/models/ai_apply_job_posting_status_updated_webhook_payload_data_career_site_spec.rb create mode 100644 spec/models/ai_apply_job_posting_status_updated_webhook_payload_data_spec.rb create mode 100644 spec/models/ai_apply_job_posting_status_updated_webhook_payload_spec.rb create mode 100644 spec/models/assessment_order_received_webhook_payload_data_application_spec.rb create mode 100644 spec/models/assessment_order_received_webhook_payload_data_candidate_spec.rb create mode 100644 spec/models/assessment_order_received_webhook_payload_data_job_hiring_team_inner_spec.rb create mode 100644 spec/models/assessment_order_received_webhook_payload_data_job_location_spec.rb create mode 100644 spec/models/assessment_order_received_webhook_payload_data_job_spec.rb create mode 100644 spec/models/assessment_order_received_webhook_payload_data_spec.rb create mode 100644 spec/models/assessment_order_received_webhook_payload_spec.rb create mode 100644 spec/models/connection_flow_failed_webhook_payload_data_end_user_spec.rb create mode 100644 spec/models/connection_flow_failed_webhook_payload_data_spec.rb create mode 100644 spec/models/connection_flow_failed_webhook_payload_spec.rb create mode 100644 spec/models/data_changed_webhook_payload_data_changed_models_inner_spec.rb create mode 100644 spec/models/data_changed_webhook_payload_data_spec.rb create mode 100644 spec/models/data_changed_webhook_payload_spec.rb create mode 100644 spec/models/delete_ats_candidates_candidate_id_tags_positive_response_spec.rb create mode 100644 spec/models/delete_ats_candidates_candidate_id_tags_request_body_spec.rb create mode 100644 spec/models/delete_ats_candidates_candidate_id_tags_request_body_tag_spec.rb create mode 100644 spec/models/delete_hris_absences_absence_id_positive_response_spec.rb create mode 100644 spec/models/delete_hris_absences_absence_id_request_body_remote_fields_adpworkforcenow_spec.rb create mode 100644 spec/models/delete_hris_absences_absence_id_request_body_remote_fields_spec.rb create mode 100644 spec/models/delete_hris_absences_absence_id_request_body_spec.rb create mode 100644 spec/models/delete_hris_employee_skill_assignments_employee_skill_assignment_id_positive_response_spec.rb create mode 100644 spec/models/delete_hris_skills_skill_id_positive_response_spec.rb create mode 100644 spec/models/delete_integrations_integration_id_positive_response_spec.rb create mode 100644 spec/models/get_ai_apply_applications_positive_response_data_results_inner_spec.rb create mode 100644 spec/models/get_ai_apply_applications_positive_response_data_spec.rb create mode 100644 spec/models/get_ai_apply_applications_positive_response_spec.rb create mode 100644 spec/models/get_ai_apply_career_sites_positive_response_data_spec.rb create mode 100644 spec/models/get_ai_apply_career_sites_positive_response_spec.rb create mode 100644 spec/models/get_ai_apply_postings_positive_response_data_results_inner_career_site_spec.rb create mode 100644 spec/models/get_ai_apply_postings_positive_response_data_results_inner_spec.rb create mode 100644 spec/models/get_ai_apply_postings_positive_response_data_spec.rb create mode 100644 spec/models/get_ai_apply_postings_positive_response_spec.rb create mode 100644 spec/models/get_ai_apply_unified_api_jobs_positive_response_data_results_inner_employment_type_spec.rb create mode 100644 spec/models/get_ai_apply_unified_api_jobs_positive_response_data_results_inner_location_spec.rb create mode 100644 spec/models/get_ai_apply_unified_api_jobs_positive_response_data_results_inner_screening_questions_inner_precondition_options_spec.rb create mode 100644 spec/models/get_ai_apply_unified_api_jobs_positive_response_data_results_inner_screening_questions_inner_spec.rb create mode 100644 spec/models/get_ai_apply_unified_api_jobs_positive_response_data_results_inner_spec.rb create mode 100644 spec/models/get_ai_apply_unified_api_jobs_positive_response_data_spec.rb create mode 100644 spec/models/get_ai_apply_unified_api_jobs_positive_response_spec.rb create mode 100644 spec/models/get_assessment_orders_open_positive_response_data_results_inner_application_spec.rb create mode 100644 spec/models/get_assessment_orders_open_positive_response_data_results_inner_candidate_spec.rb create mode 100644 spec/models/get_assessment_orders_open_positive_response_data_results_inner_job_hiring_team_inner_spec.rb create mode 100644 spec/models/get_assessment_orders_open_positive_response_data_results_inner_job_location_spec.rb create mode 100644 spec/models/get_assessment_orders_open_positive_response_data_results_inner_job_spec.rb create mode 100644 spec/models/get_assessment_orders_open_positive_response_data_results_inner_spec.rb create mode 100644 spec/models/get_assessment_orders_open_positive_response_data_spec.rb create mode 100644 spec/models/get_assessment_orders_open_positive_response_spec.rb create mode 100644 spec/models/get_assessment_packages_positive_response_data_packages_inner_spec.rb create mode 100644 spec/models/get_assessment_packages_positive_response_data_spec.rb create mode 100644 spec/models/get_assessment_packages_positive_response_spec.rb create mode 100644 spec/models/get_ats_actions_ats_add_application_attachment_positive_response_data_attachment_restrictions_spec.rb create mode 100644 spec/models/get_ats_actions_ats_add_application_attachment_positive_response_data_attachment_restrictions_types_coverletter_spec.rb create mode 100644 spec/models/get_ats_actions_ats_add_application_attachment_positive_response_data_attachment_restrictions_types_cv_any_of_spec.rb create mode 100644 spec/models/get_ats_actions_ats_add_application_attachment_positive_response_data_attachment_restrictions_types_cv_spec.rb create mode 100644 spec/models/get_ats_actions_ats_add_application_attachment_positive_response_data_attachment_restrictions_types_other_spec.rb create mode 100644 spec/models/get_ats_actions_ats_add_application_attachment_positive_response_data_attachment_restrictions_types_spec.rb create mode 100644 spec/models/get_ats_actions_ats_add_application_attachment_positive_response_data_spec.rb create mode 100644 spec/models/get_ats_actions_ats_add_application_attachment_positive_response_spec.rb create mode 100644 spec/models/get_ats_actions_ats_add_candidate_attachment_positive_response_spec.rb create mode 100644 spec/models/get_ats_actions_ats_create_application_positive_response_spec.rb create mode 100644 spec/models/get_ats_actions_ats_create_candidate_positive_response_data_attachment_restrictions_spec.rb create mode 100644 spec/models/get_ats_actions_ats_create_candidate_positive_response_data_attachment_restrictions_types_coverletter_spec.rb create mode 100644 spec/models/get_ats_actions_ats_create_candidate_positive_response_data_attachment_restrictions_types_cv_any_of1_spec.rb create mode 100644 spec/models/get_ats_actions_ats_create_candidate_positive_response_data_attachment_restrictions_types_cv_any_of_spec.rb create mode 100644 spec/models/get_ats_actions_ats_create_candidate_positive_response_data_attachment_restrictions_types_cv_spec.rb create mode 100644 spec/models/get_ats_actions_ats_create_candidate_positive_response_data_attachment_restrictions_types_other_spec.rb create mode 100644 spec/models/get_ats_actions_ats_create_candidate_positive_response_data_attachment_restrictions_types_spec.rb create mode 100644 spec/models/get_ats_actions_ats_create_candidate_positive_response_data_spec.rb create mode 100644 spec/models/get_ats_actions_ats_create_candidate_positive_response_spec.rb create mode 100644 spec/models/get_ats_application_stages_parameter_include_deleted_spec.rb create mode 100644 spec/models/get_ats_application_stages_positive_response_data_results_inner_spec.rb create mode 100644 spec/models/get_ats_application_stages_positive_response_data_spec.rb create mode 100644 spec/models/get_ats_application_stages_positive_response_spec.rb create mode 100644 spec/models/get_ats_applications_application_id_attachments_positive_response_data_results_inner_spec.rb create mode 100644 spec/models/get_ats_applications_application_id_attachments_positive_response_data_spec.rb create mode 100644 spec/models/get_ats_applications_application_id_attachments_positive_response_spec.rb create mode 100644 spec/models/get_ats_applications_parameter_include_deleted_spec.rb create mode 100644 spec/models/get_ats_applications_parameter_outcome_spec.rb create mode 100644 spec/models/get_ats_applications_positive_response_data_results_inner_candidate_email_addresses_inner_spec.rb create mode 100644 spec/models/get_ats_applications_positive_response_data_results_inner_candidate_phone_numbers_inner_spec.rb create mode 100644 spec/models/get_ats_applications_positive_response_data_results_inner_candidate_social_media_inner_spec.rb create mode 100644 spec/models/get_ats_applications_positive_response_data_results_inner_candidate_spec.rb create mode 100644 spec/models/get_ats_applications_positive_response_data_results_inner_candidate_tags_inner_spec.rb create mode 100644 spec/models/get_ats_applications_positive_response_data_results_inner_current_stage_spec.rb create mode 100644 spec/models/get_ats_applications_positive_response_data_results_inner_interviews_inner_location_spec.rb create mode 100644 spec/models/get_ats_applications_positive_response_data_results_inner_interviews_inner_spec.rb create mode 100644 spec/models/get_ats_applications_positive_response_data_results_inner_job_spec.rb create mode 100644 spec/models/get_ats_applications_positive_response_data_results_inner_offers_inner_spec.rb create mode 100644 spec/models/get_ats_applications_positive_response_data_results_inner_screening_question_answers_inner_any_of1_answer_spec.rb create mode 100644 spec/models/get_ats_applications_positive_response_data_results_inner_screening_question_answers_inner_any_of1_question_spec.rb create mode 100644 spec/models/get_ats_applications_positive_response_data_results_inner_screening_question_answers_inner_any_of1_spec.rb create mode 100644 spec/models/get_ats_applications_positive_response_data_results_inner_screening_question_answers_inner_any_of2_answer_spec.rb create mode 100644 spec/models/get_ats_applications_positive_response_data_results_inner_screening_question_answers_inner_any_of2_question_spec.rb create mode 100644 spec/models/get_ats_applications_positive_response_data_results_inner_screening_question_answers_inner_any_of2_spec.rb create mode 100644 spec/models/get_ats_applications_positive_response_data_results_inner_screening_question_answers_inner_any_of3_answer_spec.rb create mode 100644 spec/models/get_ats_applications_positive_response_data_results_inner_screening_question_answers_inner_any_of3_question_spec.rb create mode 100644 spec/models/get_ats_applications_positive_response_data_results_inner_screening_question_answers_inner_any_of3_spec.rb create mode 100644 spec/models/get_ats_applications_positive_response_data_results_inner_screening_question_answers_inner_any_of4_answer_spec.rb create mode 100644 spec/models/get_ats_applications_positive_response_data_results_inner_screening_question_answers_inner_any_of4_question_spec.rb create mode 100644 spec/models/get_ats_applications_positive_response_data_results_inner_screening_question_answers_inner_any_of4_spec.rb create mode 100644 spec/models/get_ats_applications_positive_response_data_results_inner_screening_question_answers_inner_any_of5_answer_spec.rb create mode 100644 spec/models/get_ats_applications_positive_response_data_results_inner_screening_question_answers_inner_any_of5_question_spec.rb create mode 100644 spec/models/get_ats_applications_positive_response_data_results_inner_screening_question_answers_inner_any_of5_spec.rb create mode 100644 spec/models/get_ats_applications_positive_response_data_results_inner_screening_question_answers_inner_any_of6_answer_spec.rb create mode 100644 spec/models/get_ats_applications_positive_response_data_results_inner_screening_question_answers_inner_any_of6_question_spec.rb create mode 100644 spec/models/get_ats_applications_positive_response_data_results_inner_screening_question_answers_inner_any_of6_spec.rb create mode 100644 spec/models/get_ats_applications_positive_response_data_results_inner_screening_question_answers_inner_any_of_answer_spec.rb create mode 100644 spec/models/get_ats_applications_positive_response_data_results_inner_screening_question_answers_inner_any_of_question_spec.rb create mode 100644 spec/models/get_ats_applications_positive_response_data_results_inner_screening_question_answers_inner_any_of_spec.rb create mode 100644 spec/models/get_ats_applications_positive_response_data_results_inner_screening_question_answers_inner_spec.rb create mode 100644 spec/models/get_ats_applications_positive_response_data_results_inner_spec.rb create mode 100644 spec/models/get_ats_applications_positive_response_data_spec.rb create mode 100644 spec/models/get_ats_applications_positive_response_spec.rb create mode 100644 spec/models/get_ats_candidates_candidate_id_attachments_positive_response_data_results_inner_spec.rb create mode 100644 spec/models/get_ats_candidates_candidate_id_attachments_positive_response_data_spec.rb create mode 100644 spec/models/get_ats_candidates_candidate_id_attachments_positive_response_spec.rb create mode 100644 spec/models/get_ats_candidates_parameter_include_deleted_spec.rb create mode 100644 spec/models/get_ats_candidates_positive_response_data_results_inner_applications_inner_spec.rb create mode 100644 spec/models/get_ats_candidates_positive_response_data_results_inner_location_spec.rb create mode 100644 spec/models/get_ats_candidates_positive_response_data_results_inner_spec.rb create mode 100644 spec/models/get_ats_candidates_positive_response_data_spec.rb create mode 100644 spec/models/get_ats_candidates_positive_response_spec.rb create mode 100644 spec/models/get_ats_interviews_parameter_include_deleted_spec.rb create mode 100644 spec/models/get_ats_interviews_positive_response_data_results_inner_application_spec.rb create mode 100644 spec/models/get_ats_interviews_positive_response_data_results_inner_spec.rb create mode 100644 spec/models/get_ats_interviews_positive_response_data_results_inner_users_inner_spec.rb create mode 100644 spec/models/get_ats_interviews_positive_response_data_spec.rb create mode 100644 spec/models/get_ats_interviews_positive_response_spec.rb create mode 100644 spec/models/get_ats_jobs_parameter_include_deleted_spec.rb create mode 100644 spec/models/get_ats_jobs_parameter_status_spec.rb create mode 100644 spec/models/get_ats_jobs_positive_response_data_results_inner_employment_type_spec.rb create mode 100644 spec/models/get_ats_jobs_positive_response_data_results_inner_hiring_team_inner_spec.rb create mode 100644 spec/models/get_ats_jobs_positive_response_data_results_inner_job_postings_inner_spec.rb create mode 100644 spec/models/get_ats_jobs_positive_response_data_results_inner_location_spec.rb create mode 100644 spec/models/get_ats_jobs_positive_response_data_results_inner_remote_work_status_spec.rb create mode 100644 spec/models/get_ats_jobs_positive_response_data_results_inner_salary_period_spec.rb create mode 100644 spec/models/get_ats_jobs_positive_response_data_results_inner_screening_questions_inner_format_any_of1_spec.rb create mode 100644 spec/models/get_ats_jobs_positive_response_data_results_inner_screening_questions_inner_format_any_of2_spec.rb create mode 100644 spec/models/get_ats_jobs_positive_response_data_results_inner_screening_questions_inner_format_any_of3_options_inner_spec.rb create mode 100644 spec/models/get_ats_jobs_positive_response_data_results_inner_screening_questions_inner_format_any_of3_spec.rb create mode 100644 spec/models/get_ats_jobs_positive_response_data_results_inner_screening_questions_inner_format_any_of4_spec.rb create mode 100644 spec/models/get_ats_jobs_positive_response_data_results_inner_screening_questions_inner_format_any_of5_spec.rb create mode 100644 spec/models/get_ats_jobs_positive_response_data_results_inner_screening_questions_inner_format_any_of6_spec.rb create mode 100644 spec/models/get_ats_jobs_positive_response_data_results_inner_screening_questions_inner_format_any_of7_spec.rb create mode 100644 spec/models/get_ats_jobs_positive_response_data_results_inner_screening_questions_inner_format_any_of8_spec.rb create mode 100644 spec/models/get_ats_jobs_positive_response_data_results_inner_screening_questions_inner_format_any_of_spec.rb create mode 100644 spec/models/get_ats_jobs_positive_response_data_results_inner_screening_questions_inner_format_spec.rb create mode 100644 spec/models/get_ats_jobs_positive_response_data_results_inner_screening_questions_inner_precondition_options_spec.rb create mode 100644 spec/models/get_ats_jobs_positive_response_data_results_inner_screening_questions_inner_spec.rb create mode 100644 spec/models/get_ats_jobs_positive_response_data_results_inner_spec.rb create mode 100644 spec/models/get_ats_jobs_positive_response_data_results_inner_stages_inner_spec.rb create mode 100644 spec/models/get_ats_jobs_positive_response_data_results_inner_status_spec.rb create mode 100644 spec/models/get_ats_jobs_positive_response_data_results_inner_visibility_spec.rb create mode 100644 spec/models/get_ats_jobs_positive_response_data_spec.rb create mode 100644 spec/models/get_ats_jobs_positive_response_spec.rb create mode 100644 spec/models/get_ats_offers_parameter_include_deleted_spec.rb create mode 100644 spec/models/get_ats_offers_positive_response_data_results_inner_application_candidate_spec.rb create mode 100644 spec/models/get_ats_offers_positive_response_data_results_inner_application_spec.rb create mode 100644 spec/models/get_ats_offers_positive_response_data_results_inner_spec.rb create mode 100644 spec/models/get_ats_offers_positive_response_data_spec.rb create mode 100644 spec/models/get_ats_offers_positive_response_spec.rb create mode 100644 spec/models/get_ats_rejection_reasons_parameter_include_deleted_spec.rb create mode 100644 spec/models/get_ats_rejection_reasons_positive_response_data_results_inner_spec.rb create mode 100644 spec/models/get_ats_rejection_reasons_positive_response_data_spec.rb create mode 100644 spec/models/get_ats_rejection_reasons_positive_response_spec.rb create mode 100644 spec/models/get_ats_tags_parameter_include_deleted_spec.rb create mode 100644 spec/models/get_ats_tags_positive_response_data_results_inner_spec.rb create mode 100644 spec/models/get_ats_tags_positive_response_data_spec.rb create mode 100644 spec/models/get_ats_tags_positive_response_spec.rb create mode 100644 spec/models/get_ats_users_parameter_include_deleted_spec.rb create mode 100644 spec/models/get_ats_users_positive_response_data_results_inner_spec.rb create mode 100644 spec/models/get_ats_users_positive_response_data_spec.rb create mode 100644 spec/models/get_ats_users_positive_response_spec.rb create mode 100644 spec/models/get_check_api_key_positive_response_data_spec.rb create mode 100644 spec/models/get_check_api_key_positive_response_spec.rb create mode 100644 spec/models/get_connect_integration_by_token_token_positive_response_data_spec.rb create mode 100644 spec/models/get_connect_integration_by_token_token_positive_response_spec.rb create mode 100644 spec/models/get_custom_datev_available_documents_positive_response_data_results_inner_available_for_employees_inner_spec.rb create mode 100644 spec/models/get_custom_datev_available_documents_positive_response_data_results_inner_spec.rb create mode 100644 spec/models/get_custom_datev_available_documents_positive_response_data_spec.rb create mode 100644 spec/models/get_custom_datev_available_documents_positive_response_spec.rb create mode 100644 spec/models/get_custom_datev_check_document_permission_positive_response_data_any_of1_spec.rb create mode 100644 spec/models/get_custom_datev_check_document_permission_positive_response_data_any_of_spec.rb create mode 100644 spec/models/get_custom_datev_check_document_permission_positive_response_data_spec.rb create mode 100644 spec/models/get_custom_datev_check_document_permission_positive_response_spec.rb create mode 100644 spec/models/get_custom_datev_check_eau_permission_positive_response_data_spec.rb create mode 100644 spec/models/get_custom_datev_check_eau_permission_positive_response_spec.rb create mode 100644 spec/models/get_custom_datev_check_write_permission_positive_response_spec.rb create mode 100644 spec/models/get_custom_datev_data_pushes_positive_response_data_data_pushes_inner_spec.rb create mode 100644 spec/models/get_custom_datev_data_pushes_positive_response_data_data_pushes_inner_upload_jobs_inner_spec.rb create mode 100644 spec/models/get_custom_datev_data_pushes_positive_response_data_spec.rb create mode 100644 spec/models/get_custom_datev_data_pushes_positive_response_spec.rb create mode 100644 spec/models/get_custom_datev_eau_requests_eau_id_positive_response_data_raw_feedbacks_from_health_insurance_inner_contact_person_spec.rb create mode 100644 spec/models/get_custom_datev_eau_requests_eau_id_positive_response_data_raw_feedbacks_from_health_insurance_inner_error_block_list_inner_spec.rb create mode 100644 spec/models/get_custom_datev_eau_requests_eau_id_positive_response_data_raw_feedbacks_from_health_insurance_inner_incapacity_for_work_spec.rb create mode 100644 spec/models/get_custom_datev_eau_requests_eau_id_positive_response_data_raw_feedbacks_from_health_insurance_inner_spec.rb create mode 100644 spec/models/get_custom_datev_eau_requests_eau_id_positive_response_data_raw_spec.rb create mode 100644 spec/models/get_custom_datev_eau_requests_eau_id_positive_response_data_spec.rb create mode 100644 spec/models/get_custom_datev_eau_requests_eau_id_positive_response_spec.rb create mode 100644 spec/models/get_custom_datev_system_information_positive_response_data_spec.rb create mode 100644 spec/models/get_custom_datev_system_information_positive_response_spec.rb create mode 100644 spec/models/get_hris_absence_types_parameter_include_deleted_spec.rb create mode 100644 spec/models/get_hris_absence_types_positive_response_data_results_inner_spec.rb create mode 100644 spec/models/get_hris_absence_types_positive_response_data_spec.rb create mode 100644 spec/models/get_hris_absence_types_positive_response_spec.rb create mode 100644 spec/models/get_hris_absences_parameter_include_deleted_spec.rb create mode 100644 spec/models/get_hris_absences_positive_response_data_results_inner_spec.rb create mode 100644 spec/models/get_hris_absences_positive_response_data_results_inner_status_spec.rb create mode 100644 spec/models/get_hris_absences_positive_response_data_spec.rb create mode 100644 spec/models/get_hris_absences_positive_response_spec.rb create mode 100644 spec/models/get_hris_employee_document_categories_parameter_include_deleted_spec.rb create mode 100644 spec/models/get_hris_employee_document_categories_positive_response_data_results_inner_spec.rb create mode 100644 spec/models/get_hris_employee_document_categories_positive_response_data_spec.rb create mode 100644 spec/models/get_hris_employee_document_categories_positive_response_spec.rb create mode 100644 spec/models/get_hris_employee_skill_assignments_positive_response_data_results_inner_spec.rb create mode 100644 spec/models/get_hris_employee_skill_assignments_positive_response_data_spec.rb create mode 100644 spec/models/get_hris_employee_skill_assignments_positive_response_spec.rb create mode 100644 spec/models/get_hris_employees_form_positive_response_data_spec.rb create mode 100644 spec/models/get_hris_employees_form_positive_response_spec.rb create mode 100644 spec/models/get_hris_employees_parameter_employment_status_spec.rb create mode 100644 spec/models/get_hris_employees_parameter_include_deleted_spec.rb create mode 100644 spec/models/get_hris_employees_positive_response_data_results_inner_bank_accounts_inner_domestic_bank_routing_spec.rb create mode 100644 spec/models/get_hris_employees_positive_response_data_results_inner_bank_accounts_inner_spec.rb create mode 100644 spec/models/get_hris_employees_positive_response_data_results_inner_employment_status_spec.rb create mode 100644 spec/models/get_hris_employees_positive_response_data_results_inner_employment_type_spec.rb create mode 100644 spec/models/get_hris_employees_positive_response_data_results_inner_employments_inner_pay_frequency_spec.rb create mode 100644 spec/models/get_hris_employees_positive_response_data_results_inner_employments_inner_pay_period_spec.rb create mode 100644 spec/models/get_hris_employees_positive_response_data_results_inner_employments_inner_spec.rb create mode 100644 spec/models/get_hris_employees_positive_response_data_results_inner_ethnicity_spec.rb create mode 100644 spec/models/get_hris_employees_positive_response_data_results_inner_gender_spec.rb create mode 100644 spec/models/get_hris_employees_positive_response_data_results_inner_groups_inner_spec.rb create mode 100644 spec/models/get_hris_employees_positive_response_data_results_inner_home_address_spec.rb create mode 100644 spec/models/get_hris_employees_positive_response_data_results_inner_integration_fields_inner_spec.rb create mode 100644 spec/models/get_hris_employees_positive_response_data_results_inner_legal_entity_address_spec.rb create mode 100644 spec/models/get_hris_employees_positive_response_data_results_inner_legal_entity_spec.rb create mode 100644 spec/models/get_hris_employees_positive_response_data_results_inner_manager_spec.rb create mode 100644 spec/models/get_hris_employees_positive_response_data_results_inner_marital_status_spec.rb create mode 100644 spec/models/get_hris_employees_positive_response_data_results_inner_spec.rb create mode 100644 spec/models/get_hris_employees_positive_response_data_results_inner_time_off_balances_inner_spec.rb create mode 100644 spec/models/get_hris_employees_positive_response_data_results_inner_work_location_address_spec.rb create mode 100644 spec/models/get_hris_employees_positive_response_data_results_inner_work_location_spec.rb create mode 100644 spec/models/get_hris_employees_positive_response_data_spec.rb create mode 100644 spec/models/get_hris_employees_positive_response_spec.rb create mode 100644 spec/models/get_hris_employments_parameter_include_deleted_spec.rb create mode 100644 spec/models/get_hris_employments_positive_response_data_spec.rb create mode 100644 spec/models/get_hris_employments_positive_response_spec.rb create mode 100644 spec/models/get_hris_groups_parameter_include_deleted_spec.rb create mode 100644 spec/models/get_hris_groups_positive_response_spec.rb create mode 100644 spec/models/get_hris_job_positions_positive_response_data_results_inner_skills_inner_spec.rb create mode 100644 spec/models/get_hris_job_positions_positive_response_data_results_inner_spec.rb create mode 100644 spec/models/get_hris_job_positions_positive_response_data_spec.rb create mode 100644 spec/models/get_hris_job_positions_positive_response_spec.rb create mode 100644 spec/models/get_hris_legal_entities_parameter_include_deleted_spec.rb create mode 100644 spec/models/get_hris_legal_entities_positive_response_data_results_inner_spec.rb create mode 100644 spec/models/get_hris_legal_entities_positive_response_data_spec.rb create mode 100644 spec/models/get_hris_legal_entities_positive_response_spec.rb create mode 100644 spec/models/get_hris_locations_parameter_include_deleted_spec.rb create mode 100644 spec/models/get_hris_locations_positive_response_data_spec.rb create mode 100644 spec/models/get_hris_locations_positive_response_spec.rb create mode 100644 spec/models/get_hris_performance_review_cycles_parameter_include_deleted_spec.rb create mode 100644 spec/models/get_hris_performance_review_cycles_positive_response_data_results_inner_spec.rb create mode 100644 spec/models/get_hris_performance_review_cycles_positive_response_data_spec.rb create mode 100644 spec/models/get_hris_performance_review_cycles_positive_response_spec.rb create mode 100644 spec/models/get_hris_performance_reviews_parameter_include_deleted_spec.rb create mode 100644 spec/models/get_hris_performance_reviews_positive_response_data_results_inner_reviewee_spec.rb create mode 100644 spec/models/get_hris_performance_reviews_positive_response_data_results_inner_reviewer_spec.rb create mode 100644 spec/models/get_hris_performance_reviews_positive_response_data_results_inner_spec.rb create mode 100644 spec/models/get_hris_performance_reviews_positive_response_data_results_inner_summary_rating_any_of1_spec.rb create mode 100644 spec/models/get_hris_performance_reviews_positive_response_data_results_inner_summary_rating_any_of_spec.rb create mode 100644 spec/models/get_hris_performance_reviews_positive_response_data_results_inner_summary_rating_spec.rb create mode 100644 spec/models/get_hris_performance_reviews_positive_response_data_spec.rb create mode 100644 spec/models/get_hris_performance_reviews_positive_response_spec.rb create mode 100644 spec/models/get_hris_skills_positive_response_data_results_inner_spec.rb create mode 100644 spec/models/get_hris_skills_positive_response_data_spec.rb create mode 100644 spec/models/get_hris_skills_positive_response_spec.rb create mode 100644 spec/models/get_hris_teams_parameter_include_deleted_spec.rb create mode 100644 spec/models/get_hris_teams_positive_response_data_results_inner_spec.rb create mode 100644 spec/models/get_hris_teams_positive_response_data_spec.rb create mode 100644 spec/models/get_hris_teams_positive_response_spec.rb create mode 100644 spec/models/get_hris_time_off_balances_parameter_include_deleted_spec.rb create mode 100644 spec/models/get_hris_time_off_balances_positive_response_data_results_inner_spec.rb create mode 100644 spec/models/get_hris_time_off_balances_positive_response_data_spec.rb create mode 100644 spec/models/get_hris_time_off_balances_positive_response_spec.rb create mode 100644 spec/models/get_hris_timesheets_parameter_include_deleted_spec.rb create mode 100644 spec/models/get_hris_timesheets_positive_response_data_results_inner_breaks_inner_ended_at_spec.rb create mode 100644 spec/models/get_hris_timesheets_positive_response_data_results_inner_breaks_inner_spec.rb create mode 100644 spec/models/get_hris_timesheets_positive_response_data_results_inner_breaks_inner_started_at_spec.rb create mode 100644 spec/models/get_hris_timesheets_positive_response_data_results_inner_spec.rb create mode 100644 spec/models/get_hris_timesheets_positive_response_data_spec.rb create mode 100644 spec/models/get_hris_timesheets_positive_response_spec.rb create mode 100644 spec/models/get_integrations_integration_id_custom_fields_positive_response_data_results_inner_integration_field_spec.rb create mode 100644 spec/models/get_integrations_integration_id_custom_fields_positive_response_data_results_inner_spec.rb create mode 100644 spec/models/get_integrations_integration_id_custom_fields_positive_response_data_spec.rb create mode 100644 spec/models/get_integrations_integration_id_custom_fields_positive_response_spec.rb create mode 100644 spec/models/get_integrations_integration_id_integration_fields_positive_response_data_results_inner_spec.rb create mode 100644 spec/models/get_integrations_integration_id_integration_fields_positive_response_data_spec.rb create mode 100644 spec/models/get_integrations_integration_id_integration_fields_positive_response_spec.rb create mode 100644 spec/models/get_integrations_integration_id_positive_response_data_end_user_spec.rb create mode 100644 spec/models/get_integrations_integration_id_positive_response_data_read_models_inner_fields_inner_spec.rb create mode 100644 spec/models/get_integrations_integration_id_positive_response_data_read_models_inner_spec.rb create mode 100644 spec/models/get_integrations_integration_id_positive_response_data_scope_config_spec.rb create mode 100644 spec/models/get_integrations_integration_id_positive_response_data_spec.rb create mode 100644 spec/models/get_integrations_integration_id_positive_response_data_tool_spec.rb create mode 100644 spec/models/get_integrations_integration_id_positive_response_spec.rb create mode 100644 spec/models/get_lms_courses_positive_response_data_results_inner_ordered_content_inner_spec.rb create mode 100644 spec/models/get_lms_courses_positive_response_data_results_inner_skills_inner_spec.rb create mode 100644 spec/models/get_lms_courses_positive_response_data_results_inner_spec.rb create mode 100644 spec/models/get_lms_courses_positive_response_data_spec.rb create mode 100644 spec/models/get_lms_courses_positive_response_spec.rb create mode 100644 spec/models/get_lms_users_parameter_status_spec.rb create mode 100644 spec/models/get_lms_users_positive_response_data_results_inner_progress_inner_spec.rb create mode 100644 spec/models/get_lms_users_positive_response_data_results_inner_spec.rb create mode 100644 spec/models/get_lms_users_positive_response_data_spec.rb create mode 100644 spec/models/get_lms_users_positive_response_spec.rb create mode 100644 spec/models/get_tools_category_parameter_category_spec.rb create mode 100644 spec/models/get_tools_category_positive_response_data_spec.rb create mode 100644 spec/models/get_tools_category_positive_response_data_tools_inner_assets_spec.rb create mode 100644 spec/models/get_tools_category_positive_response_data_tools_inner_coverage_features_inner_spec.rb create mode 100644 spec/models/get_tools_category_positive_response_data_tools_inner_coverage_read_models_inner_fields_inner_spec.rb create mode 100644 spec/models/get_tools_category_positive_response_data_tools_inner_coverage_read_models_inner_spec.rb create mode 100644 spec/models/get_tools_category_positive_response_data_tools_inner_coverage_spec.rb create mode 100644 spec/models/get_tools_category_positive_response_data_tools_inner_coverage_write_actions_inner_spec.rb create mode 100644 spec/models/get_tools_category_positive_response_data_tools_inner_spec.rb create mode 100644 spec/models/get_tools_category_positive_response_spec.rb create mode 100644 spec/models/inline_assessment_order_received_webhook_payload_spec.rb create mode 100644 spec/models/inline_object1_error_spec.rb create mode 100644 spec/models/inline_object1_spec.rb create mode 100644 spec/models/inline_object2_error_spec.rb create mode 100644 spec/models/inline_object2_spec.rb create mode 100644 spec/models/inline_object3_error_spec.rb create mode 100644 spec/models/inline_object3_spec.rb create mode 100644 spec/models/inline_object_error_spec.rb create mode 100644 spec/models/inline_object_spec.rb create mode 100644 spec/models/integration_created_webhook_payload_data_spec.rb create mode 100644 spec/models/integration_created_webhook_payload_spec.rb create mode 100644 spec/models/integration_deleted_webhook_payload_data_spec.rb create mode 100644 spec/models/integration_deleted_webhook_payload_spec.rb create mode 100644 spec/models/integration_state_changed_webhook_payload_data_spec.rb create mode 100644 spec/models/integration_state_changed_webhook_payload_spec.rb create mode 100644 spec/models/patch_ats_applications_application_id_interviews_positive_response_spec.rb create mode 100644 spec/models/patch_ats_applications_application_id_interviews_request_body_location_spec.rb create mode 100644 spec/models/patch_ats_applications_application_id_interviews_request_body_spec.rb create mode 100644 spec/models/patch_hris_employee_skill_assignments_employee_skill_assignment_id_positive_response_spec.rb create mode 100644 spec/models/patch_hris_employee_skill_assignments_employee_skill_assignment_id_request_body_spec.rb create mode 100644 spec/models/patch_hris_employees_employee_id_positive_response_data_spec.rb create mode 100644 spec/models/patch_hris_employees_employee_id_positive_response_spec.rb create mode 100644 spec/models/patch_hris_employees_employee_id_request_body_spec.rb create mode 100644 spec/models/patch_hris_skills_skill_id_positive_response_spec.rb create mode 100644 spec/models/patch_hris_skills_skill_id_request_body_spec.rb create mode 100644 spec/models/patch_integrations_integration_id_integration_fields_integration_field_id_positive_response_spec.rb create mode 100644 spec/models/patch_integrations_integration_id_integration_fields_integration_field_id_request_body_spec.rb create mode 100644 spec/models/patch_lms_progress_progress_id_positive_response_spec.rb create mode 100644 spec/models/patch_lms_progress_progress_id_request_body_spec.rb create mode 100644 spec/models/post_ai_apply_apply_positive_response_data_spec.rb create mode 100644 spec/models/post_ai_apply_apply_positive_response_spec.rb create mode 100644 spec/models/post_ai_apply_apply_request_body_screening_question_answers_inner_spec.rb create mode 100644 spec/models/post_ai_apply_apply_request_body_spec.rb create mode 100644 spec/models/post_ai_apply_career_sites_positive_response_data_spec.rb create mode 100644 spec/models/post_ai_apply_career_sites_positive_response_spec.rb create mode 100644 spec/models/post_ai_apply_career_sites_request_body_spec.rb create mode 100644 spec/models/post_ai_apply_postings_positive_response_spec.rb create mode 100644 spec/models/post_ai_apply_postings_posting_id_inquire_positive_response_data_application_form_inner_any_of1_spec.rb create mode 100644 spec/models/post_ai_apply_postings_posting_id_inquire_positive_response_data_application_form_inner_any_of_display_when_answer_equals_one_of_spec.rb create mode 100644 spec/models/post_ai_apply_postings_posting_id_inquire_positive_response_data_application_form_inner_any_of_display_when_answer_equals_spec.rb create mode 100644 spec/models/post_ai_apply_postings_posting_id_inquire_positive_response_data_application_form_inner_any_of_display_when_spec.rb create mode 100644 spec/models/post_ai_apply_postings_posting_id_inquire_positive_response_data_application_form_inner_any_of_options_inner_spec.rb create mode 100644 spec/models/post_ai_apply_postings_posting_id_inquire_positive_response_data_application_form_inner_any_of_spec.rb create mode 100644 spec/models/post_ai_apply_postings_posting_id_inquire_positive_response_data_application_form_inner_spec.rb create mode 100644 spec/models/post_ai_apply_postings_posting_id_inquire_positive_response_data_spec.rb create mode 100644 spec/models/post_ai_apply_postings_posting_id_inquire_positive_response_spec.rb create mode 100644 spec/models/post_ai_apply_postings_posting_id_parse_positive_response_spec.rb create mode 100644 spec/models/post_ai_apply_postings_request_body_location_spec.rb create mode 100644 spec/models/post_ai_apply_postings_request_body_spec.rb create mode 100644 spec/models/post_ai_apply_unified_api_jobs_job_id_applications_positive_response_spec.rb create mode 100644 spec/models/post_ai_apply_unified_api_jobs_job_id_applications_request_body_spec.rb create mode 100644 spec/models/post_ats_applications_application_id_attachments_positive_response_spec.rb create mode 100644 spec/models/post_ats_applications_application_id_attachments_request_body_attachment_spec.rb create mode 100644 spec/models/post_ats_applications_application_id_attachments_request_body_remote_fields_all_of_oracle_spec.rb create mode 100644 spec/models/post_ats_applications_application_id_attachments_request_body_remote_fields_spec.rb create mode 100644 spec/models/post_ats_applications_application_id_attachments_request_body_spec.rb create mode 100644 spec/models/post_ats_applications_application_id_interviews_positive_response_spec.rb create mode 100644 spec/models/post_ats_applications_application_id_interviews_request_body_location_spec.rb create mode 100644 spec/models/post_ats_applications_application_id_interviews_request_body_spec.rb create mode 100644 spec/models/post_ats_applications_application_id_notes_positive_response_spec.rb create mode 100644 spec/models/post_ats_applications_application_id_notes_request_body_remote_fields_all_of_bullhorn_spec.rb create mode 100644 spec/models/post_ats_applications_application_id_notes_request_body_remote_fields_all_of_greenhouse_spec.rb create mode 100644 spec/models/post_ats_applications_application_id_notes_request_body_remote_fields_all_of_recruitee_spec.rb create mode 100644 spec/models/post_ats_applications_application_id_notes_request_body_remote_fields_all_of_teamtailor_spec.rb create mode 100644 spec/models/post_ats_applications_application_id_notes_request_body_remote_fields_spec.rb create mode 100644 spec/models/post_ats_applications_application_id_notes_request_body_spec.rb create mode 100644 spec/models/post_ats_applications_application_id_reject_positive_response_spec.rb create mode 100644 spec/models/post_ats_applications_application_id_reject_request_body_remote_fields_all_of_greenhouse_spec.rb create mode 100644 spec/models/post_ats_applications_application_id_reject_request_body_remote_fields_spec.rb create mode 100644 spec/models/post_ats_applications_application_id_reject_request_body_spec.rb create mode 100644 spec/models/post_ats_applications_application_id_result_links_positive_response_spec.rb create mode 100644 spec/models/post_ats_applications_application_id_result_links_request_body_details_attributes_inner_spec.rb create mode 100644 spec/models/post_ats_applications_application_id_result_links_request_body_details_spec.rb create mode 100644 spec/models/post_ats_applications_application_id_result_links_request_body_remote_fields_all_of_icims_spec.rb create mode 100644 spec/models/post_ats_applications_application_id_result_links_request_body_remote_fields_all_of_oracle_spec.rb create mode 100644 spec/models/post_ats_applications_application_id_result_links_request_body_remote_fields_spec.rb create mode 100644 spec/models/post_ats_applications_application_id_result_links_request_body_spec.rb create mode 100644 spec/models/post_ats_candidates_candidate_id_attachments_positive_response_spec.rb create mode 100644 spec/models/post_ats_candidates_candidate_id_attachments_request_body_spec.rb create mode 100644 spec/models/post_ats_candidates_candidate_id_result_links_positive_response_spec.rb create mode 100644 spec/models/post_ats_candidates_candidate_id_result_links_request_body_spec.rb create mode 100644 spec/models/post_ats_candidates_candidate_id_tags_positive_response_spec.rb create mode 100644 spec/models/post_ats_candidates_candidate_id_tags_request_body_spec.rb create mode 100644 spec/models/post_ats_candidates_candidate_id_tags_request_body_tag_spec.rb create mode 100644 spec/models/post_ats_candidates_positive_response_spec.rb create mode 100644 spec/models/post_ats_candidates_request_body_application_spec.rb create mode 100644 spec/models/post_ats_candidates_request_body_candidate_additional_email_addresses_inner_spec.rb create mode 100644 spec/models/post_ats_candidates_request_body_candidate_additional_phone_numbers_inner_spec.rb create mode 100644 spec/models/post_ats_candidates_request_body_candidate_location_spec.rb create mode 100644 spec/models/post_ats_candidates_request_body_candidate_salary_expectations_spec.rb create mode 100644 spec/models/post_ats_candidates_request_body_candidate_social_links_inner_spec.rb create mode 100644 spec/models/post_ats_candidates_request_body_candidate_spec.rb create mode 100644 spec/models/post_ats_candidates_request_body_gdpr_consent_spec.rb create mode 100644 spec/models/post_ats_candidates_request_body_remote_fields_all_of_avature_spec.rb create mode 100644 spec/models/post_ats_candidates_request_body_remote_fields_all_of_avature_workflow_spec.rb create mode 100644 spec/models/post_ats_candidates_request_body_remote_fields_all_of_avature_workflow_step_spec.rb create mode 100644 spec/models/post_ats_candidates_request_body_remote_fields_all_of_bullhorn_spec.rb create mode 100644 spec/models/post_ats_candidates_request_body_remote_fields_all_of_dvinci_spec.rb create mode 100644 spec/models/post_ats_candidates_request_body_remote_fields_all_of_greenhouse_spec.rb create mode 100644 spec/models/post_ats_candidates_request_body_remote_fields_all_of_guidecom_spec.rb create mode 100644 spec/models/post_ats_candidates_request_body_remote_fields_all_of_hrworks_spec.rb create mode 100644 spec/models/post_ats_candidates_request_body_remote_fields_all_of_jobylon_application_spec.rb create mode 100644 spec/models/post_ats_candidates_request_body_remote_fields_all_of_jobylon_spec.rb create mode 100644 spec/models/post_ats_candidates_request_body_remote_fields_all_of_lever_spec.rb create mode 100644 spec/models/post_ats_candidates_request_body_remote_fields_all_of_personio_spec.rb create mode 100644 spec/models/post_ats_candidates_request_body_remote_fields_all_of_piloga_candidate_spec.rb create mode 100644 spec/models/post_ats_candidates_request_body_remote_fields_all_of_piloga_spec.rb create mode 100644 spec/models/post_ats_candidates_request_body_remote_fields_all_of_recruitee_candidate_spec.rb create mode 100644 spec/models/post_ats_candidates_request_body_remote_fields_all_of_recruitee_spec.rb create mode 100644 spec/models/post_ats_candidates_request_body_remote_fields_all_of_smartrecruiters_spec.rb create mode 100644 spec/models/post_ats_candidates_request_body_remote_fields_all_of_successfactors_spec.rb create mode 100644 spec/models/post_ats_candidates_request_body_remote_fields_all_of_talentadore_spec.rb create mode 100644 spec/models/post_ats_candidates_request_body_remote_fields_all_of_talentsoft_spec.rb create mode 100644 spec/models/post_ats_candidates_request_body_remote_fields_all_of_teamtailor_application_spec.rb create mode 100644 spec/models/post_ats_candidates_request_body_remote_fields_all_of_teamtailor_spec.rb create mode 100644 spec/models/post_ats_candidates_request_body_remote_fields_all_of_umantis_spec.rb create mode 100644 spec/models/post_ats_candidates_request_body_remote_fields_all_of_workable_spec.rb create mode 100644 spec/models/post_ats_candidates_request_body_remote_fields_all_of_workday_candidate_data_contact_data_location_data_country_region_reference_spec.rb create mode 100644 spec/models/post_ats_candidates_request_body_remote_fields_all_of_workday_candidate_data_contact_data_location_data_spec.rb create mode 100644 spec/models/post_ats_candidates_request_body_remote_fields_all_of_workday_candidate_data_contact_data_spec.rb create mode 100644 spec/models/post_ats_candidates_request_body_remote_fields_all_of_workday_candidate_data_job_application_data_job_applied_to_data_global_personal_information_data_spec.rb create mode 100644 spec/models/post_ats_candidates_request_body_remote_fields_all_of_workday_candidate_data_job_application_data_job_applied_to_data_spec.rb create mode 100644 spec/models/post_ats_candidates_request_body_remote_fields_all_of_workday_candidate_data_job_application_data_resume_data_education_data_inner_field_of_study_reference_spec.rb create mode 100644 spec/models/post_ats_candidates_request_body_remote_fields_all_of_workday_candidate_data_job_application_data_resume_data_education_data_inner_spec.rb create mode 100644 spec/models/post_ats_candidates_request_body_remote_fields_all_of_workday_candidate_data_job_application_data_resume_data_experience_data_inner_spec.rb create mode 100644 spec/models/post_ats_candidates_request_body_remote_fields_all_of_workday_candidate_data_job_application_data_resume_data_language_data_inner_language_language_ability_inner_language_ability_data_spec.rb create mode 100644 spec/models/post_ats_candidates_request_body_remote_fields_all_of_workday_candidate_data_job_application_data_resume_data_language_data_inner_language_language_ability_inner_spec.rb create mode 100644 spec/models/post_ats_candidates_request_body_remote_fields_all_of_workday_candidate_data_job_application_data_resume_data_language_data_inner_language_reference_spec.rb create mode 100644 spec/models/post_ats_candidates_request_body_remote_fields_all_of_workday_candidate_data_job_application_data_resume_data_language_data_inner_language_spec.rb create mode 100644 spec/models/post_ats_candidates_request_body_remote_fields_all_of_workday_candidate_data_job_application_data_resume_data_language_data_inner_spec.rb create mode 100644 spec/models/post_ats_candidates_request_body_remote_fields_all_of_workday_candidate_data_job_application_data_resume_data_skill_data_inner_spec.rb create mode 100644 spec/models/post_ats_candidates_request_body_remote_fields_all_of_workday_candidate_data_job_application_data_resume_data_spec.rb create mode 100644 spec/models/post_ats_candidates_request_body_remote_fields_all_of_workday_candidate_data_job_application_data_spec.rb create mode 100644 spec/models/post_ats_candidates_request_body_remote_fields_all_of_workday_candidate_data_language_reference_spec.rb create mode 100644 spec/models/post_ats_candidates_request_body_remote_fields_all_of_workday_candidate_data_name_detail_data_social_suffix_reference_spec.rb create mode 100644 spec/models/post_ats_candidates_request_body_remote_fields_all_of_workday_candidate_data_name_detail_data_spec.rb create mode 100644 spec/models/post_ats_candidates_request_body_remote_fields_all_of_workday_candidate_data_spec.rb create mode 100644 spec/models/post_ats_candidates_request_body_remote_fields_all_of_workday_candidate_data_worker_reference_spec.rb create mode 100644 spec/models/post_ats_candidates_request_body_remote_fields_all_of_workday_spec.rb create mode 100644 spec/models/post_ats_candidates_request_body_remote_fields_all_of_zohorecruit_spec.rb create mode 100644 spec/models/post_ats_candidates_request_body_remote_fields_spec.rb create mode 100644 spec/models/post_ats_candidates_request_body_screening_question_answers_inner_answer_any_of_spec.rb create mode 100644 spec/models/post_ats_candidates_request_body_screening_question_answers_inner_answer_spec.rb create mode 100644 spec/models/post_ats_candidates_request_body_screening_question_answers_inner_spec.rb create mode 100644 spec/models/post_ats_candidates_request_body_source_spec.rb create mode 100644 spec/models/post_ats_candidates_request_body_sourced_by_spec.rb create mode 100644 spec/models/post_ats_candidates_request_body_spec.rb create mode 100644 spec/models/post_ats_import_tracked_application_positive_response_data_imported_id_erecruiter_any_of1_spec.rb create mode 100644 spec/models/post_ats_import_tracked_application_positive_response_data_imported_id_erecruiter_any_of_spec.rb create mode 100644 spec/models/post_ats_import_tracked_application_positive_response_data_imported_id_erecruiter_spec.rb create mode 100644 spec/models/post_ats_import_tracked_application_positive_response_data_imported_id_greenhouse_spec.rb create mode 100644 spec/models/post_ats_import_tracked_application_positive_response_data_imported_id_onlyfy_spec.rb create mode 100644 spec/models/post_ats_import_tracked_application_positive_response_data_imported_id_recruitee_spec.rb create mode 100644 spec/models/post_ats_import_tracked_application_positive_response_data_imported_id_smartrecruiters_spec.rb create mode 100644 spec/models/post_ats_import_tracked_application_positive_response_data_imported_id_spec.rb create mode 100644 spec/models/post_ats_import_tracked_application_positive_response_data_imported_id_successfactors_spec.rb create mode 100644 spec/models/post_ats_import_tracked_application_positive_response_data_spec.rb create mode 100644 spec/models/post_ats_import_tracked_application_positive_response_spec.rb create mode 100644 spec/models/post_ats_import_tracked_application_request_body_spec.rb create mode 100644 spec/models/post_ats_jobs_job_id_applications_positive_response_data_candidate_spec.rb create mode 100644 spec/models/post_ats_jobs_job_id_applications_positive_response_data_spec.rb create mode 100644 spec/models/post_ats_jobs_job_id_applications_positive_response_spec.rb create mode 100644 spec/models/post_ats_jobs_job_id_applications_request_body_spec.rb create mode 100644 spec/models/post_connect_activate_integration_positive_response_spec.rb create mode 100644 spec/models/post_connect_activate_integration_request_body_spec.rb create mode 100644 spec/models/post_connect_create_link_positive_response_spec.rb create mode 100644 spec/models/post_connect_create_link_request_body_spec.rb create mode 100644 spec/models/post_custom_datev_download_document_positive_response_data_spec.rb create mode 100644 spec/models/post_custom_datev_download_document_positive_response_spec.rb create mode 100644 spec/models/post_custom_datev_download_document_request_body_spec.rb create mode 100644 spec/models/post_custom_datev_employees_employee_id_download_document_positive_response_spec.rb create mode 100644 spec/models/post_custom_datev_employees_employee_id_download_document_request_body_spec.rb create mode 100644 spec/models/post_custom_datev_employees_employee_id_eau_requests_positive_response_data_spec.rb create mode 100644 spec/models/post_custom_datev_employees_employee_id_eau_requests_positive_response_spec.rb create mode 100644 spec/models/post_custom_datev_employees_employee_id_eau_requests_request_body_contact_person_spec.rb create mode 100644 spec/models/post_custom_datev_employees_employee_id_eau_requests_request_body_notification_spec.rb create mode 100644 spec/models/post_custom_datev_employees_employee_id_eau_requests_request_body_spec.rb create mode 100644 spec/models/post_custom_datev_passthrough_positive_response_spec.rb create mode 100644 spec/models/post_custom_datev_passthrough_request_body_spec.rb create mode 100644 spec/models/post_custom_datev_push_data_general_positive_response_data_files_inner_spec.rb create mode 100644 spec/models/post_custom_datev_push_data_general_positive_response_data_spec.rb create mode 100644 spec/models/post_custom_datev_push_data_general_positive_response_spec.rb create mode 100644 spec/models/post_custom_datev_push_data_payroll_positive_response_spec.rb create mode 100644 spec/models/post_custom_datev_push_data_payroll_request_body_spec.rb create mode 100644 spec/models/post_custom_silae_employees_employee_id_payroll_supplements_positive_response_spec.rb create mode 100644 spec/models/post_custom_silae_employees_employee_id_payroll_supplements_request_body_spec.rb create mode 100644 spec/models/post_force_sync_positive_response_data_spec.rb create mode 100644 spec/models/post_force_sync_positive_response_spec.rb create mode 100644 spec/models/post_force_sync_request_body_spec.rb create mode 100644 spec/models/post_hris_absences_positive_response_data_spec.rb create mode 100644 spec/models/post_hris_absences_positive_response_spec.rb create mode 100644 spec/models/post_hris_absences_request_body_remote_fields_adpworkforcenow_spec.rb create mode 100644 spec/models/post_hris_absences_request_body_remote_fields_spec.rb create mode 100644 spec/models/post_hris_absences_request_body_spec.rb create mode 100644 spec/models/post_hris_employee_skill_assignments_positive_response_spec.rb create mode 100644 spec/models/post_hris_employee_skill_assignments_request_body_spec.rb create mode 100644 spec/models/post_hris_employees_employee_id_documents_positive_response_spec.rb create mode 100644 spec/models/post_hris_employees_employee_id_documents_request_body_spec.rb create mode 100644 spec/models/post_hris_employees_form_positive_response_data_spec.rb create mode 100644 spec/models/post_hris_employees_form_positive_response_spec.rb create mode 100644 spec/models/post_hris_employees_form_request_body_spec.rb create mode 100644 spec/models/post_hris_employees_positive_response_data_spec.rb create mode 100644 spec/models/post_hris_employees_positive_response_spec.rb create mode 100644 spec/models/post_hris_employees_request_body_home_address_spec.rb create mode 100644 spec/models/post_hris_employees_request_body_remote_fields_adpworkforcenow_spec.rb create mode 100644 spec/models/post_hris_employees_request_body_remote_fields_azuread_spec.rb create mode 100644 spec/models/post_hris_employees_request_body_remote_fields_bamboohr_spec.rb create mode 100644 spec/models/post_hris_employees_request_body_remote_fields_dayforce_spec.rb create mode 100644 spec/models/post_hris_employees_request_body_remote_fields_deel_spec.rb create mode 100644 spec/models/post_hris_employees_request_body_remote_fields_hibob_spec.rb create mode 100644 spec/models/post_hris_employees_request_body_remote_fields_humaans_spec.rb create mode 100644 spec/models/post_hris_employees_request_body_remote_fields_oracle_spec.rb create mode 100644 spec/models/post_hris_employees_request_body_remote_fields_paycor_spec.rb create mode 100644 spec/models/post_hris_employees_request_body_remote_fields_peoplehr_spec.rb create mode 100644 spec/models/post_hris_employees_request_body_remote_fields_planday_spec.rb create mode 100644 spec/models/post_hris_employees_request_body_remote_fields_silae_spec.rb create mode 100644 spec/models/post_hris_employees_request_body_remote_fields_spec.rb create mode 100644 spec/models/post_hris_employees_request_body_remote_fields_sympa_spec.rb create mode 100644 spec/models/post_hris_employees_request_body_remote_fields_workday_bank_account_spec.rb create mode 100644 spec/models/post_hris_employees_request_body_remote_fields_workday_spec.rb create mode 100644 spec/models/post_hris_employees_request_body_remote_fields_zohopeople_spec.rb create mode 100644 spec/models/post_hris_employees_request_body_spec.rb create mode 100644 spec/models/post_hris_provisioning_groups_group_id_diff_positive_response_data_spec.rb create mode 100644 spec/models/post_hris_provisioning_groups_group_id_diff_positive_response_data_users_already_provisioned_inner_spec.rb create mode 100644 spec/models/post_hris_provisioning_groups_group_id_diff_positive_response_data_users_spec.rb create mode 100644 spec/models/post_hris_provisioning_groups_group_id_diff_positive_response_data_users_to_deprovision_inner_spec.rb create mode 100644 spec/models/post_hris_provisioning_groups_group_id_diff_positive_response_data_users_to_provision_inner_employee_groups_inner_spec.rb create mode 100644 spec/models/post_hris_provisioning_groups_group_id_diff_positive_response_data_users_to_provision_inner_employee_spec.rb create mode 100644 spec/models/post_hris_provisioning_groups_group_id_diff_positive_response_data_users_to_provision_inner_spec.rb create mode 100644 spec/models/post_hris_provisioning_groups_group_id_diff_positive_response_spec.rb create mode 100644 spec/models/post_hris_provisioning_groups_group_id_diff_request_body_options_spec.rb create mode 100644 spec/models/post_hris_provisioning_groups_group_id_diff_request_body_provisioned_users_inner_spec.rb create mode 100644 spec/models/post_hris_provisioning_groups_group_id_diff_request_body_spec.rb create mode 100644 spec/models/post_hris_provisioning_groups_group_id_setup_links_positive_response_data_spec.rb create mode 100644 spec/models/post_hris_provisioning_groups_group_id_setup_links_positive_response_spec.rb create mode 100644 spec/models/post_hris_provisioning_groups_group_id_setup_links_request_body_spec.rb create mode 100644 spec/models/post_hris_skills_positive_response_spec.rb create mode 100644 spec/models/post_hris_skills_request_body_spec.rb create mode 100644 spec/models/post_integrations_integration_id_relink_positive_response_data_spec.rb create mode 100644 spec/models/post_integrations_integration_id_relink_positive_response_spec.rb create mode 100644 spec/models/post_integrations_integration_id_relink_request_body_spec.rb create mode 100644 spec/models/post_lms_content_positive_response_data_spec.rb create mode 100644 spec/models/post_lms_content_positive_response_spec.rb create mode 100644 spec/models/post_lms_content_request_body_spec.rb create mode 100644 spec/models/post_lms_courses_positive_response_spec.rb create mode 100644 spec/models/post_lms_courses_request_body_skills_inner_spec.rb create mode 100644 spec/models/post_lms_courses_request_body_spec.rb create mode 100644 spec/models/post_lms_progress_positive_response_data_spec.rb create mode 100644 spec/models/post_lms_progress_positive_response_spec.rb create mode 100644 spec/models/post_lms_progress_request_body_spec.rb create mode 100644 spec/models/post_passthrough_tool_api_positive_response_data_headers_value_spec.rb create mode 100644 spec/models/post_passthrough_tool_api_positive_response_data_spec.rb create mode 100644 spec/models/post_passthrough_tool_api_positive_response_spec.rb create mode 100644 spec/models/post_passthrough_tool_api_positive_response_warnings_inner_spec.rb create mode 100644 spec/models/post_passthrough_tool_api_request_body_multipart_form_data_inner_spec.rb create mode 100644 spec/models/post_passthrough_tool_api_request_body_multipart_form_data_inner_value_one_of_spec.rb create mode 100644 spec/models/post_passthrough_tool_api_request_body_multipart_form_data_inner_value_spec.rb create mode 100644 spec/models/post_passthrough_tool_api_request_body_spec.rb create mode 100644 spec/models/put_assessment_orders_assessment_order_id_result_positive_response_spec.rb create mode 100644 spec/models/put_assessment_orders_assessment_order_id_result_request_body_attributes_inner_any_of1_score_spec.rb create mode 100644 spec/models/put_assessment_orders_assessment_order_id_result_request_body_attributes_inner_any_of1_spec.rb create mode 100644 spec/models/put_assessment_orders_assessment_order_id_result_request_body_attributes_inner_any_of_spec.rb create mode 100644 spec/models/put_assessment_orders_assessment_order_id_result_request_body_attributes_inner_spec.rb create mode 100644 spec/models/put_assessment_orders_assessment_order_id_result_request_body_remote_fields_smartrecruiters_spec.rb create mode 100644 spec/models/put_assessment_orders_assessment_order_id_result_request_body_remote_fields_spec.rb create mode 100644 spec/models/put_assessment_orders_assessment_order_id_result_request_body_spec.rb create mode 100644 spec/models/put_assessment_packages_positive_response_spec.rb create mode 100644 spec/models/put_assessment_packages_request_body_packages_inner_spec.rb create mode 100644 spec/models/put_assessment_packages_request_body_spec.rb create mode 100644 spec/models/put_ats_applications_application_id_stage_positive_response_spec.rb create mode 100644 spec/models/put_ats_applications_application_id_stage_request_body_remote_fields_greenhouse_post_headers_spec.rb create mode 100644 spec/models/put_ats_applications_application_id_stage_request_body_remote_fields_greenhouse_spec.rb create mode 100644 spec/models/put_ats_applications_application_id_stage_request_body_remote_fields_spec.rb create mode 100644 spec/models/put_ats_applications_application_id_stage_request_body_remote_fields_workable_spec.rb create mode 100644 spec/models/put_ats_applications_application_id_stage_request_body_spec.rb create mode 100644 spec/models/put_custom_datev_employees_employee_id_compensations_positive_response_spec.rb create mode 100644 spec/models/put_custom_datev_employees_employee_id_compensations_request_body_compensations_inner_spec.rb create mode 100644 spec/models/put_custom_datev_employees_employee_id_compensations_request_body_spec.rb create mode 100644 spec/models/put_custom_datev_employees_employee_id_prepare_payroll_positive_response_spec.rb create mode 100644 spec/models/put_custom_datev_employees_employee_id_prepare_payroll_request_body_custom_lodas_inner_spec.rb create mode 100644 spec/models/put_custom_datev_employees_employee_id_prepare_payroll_request_body_fixed_payments_inner_spec.rb create mode 100644 spec/models/put_custom_datev_employees_employee_id_prepare_payroll_request_body_hourly_payments_inner_spec.rb create mode 100644 spec/models/put_custom_datev_employees_employee_id_prepare_payroll_request_body_payroll_run_spec.rb create mode 100644 spec/models/put_custom_datev_employees_employee_id_prepare_payroll_request_body_spec.rb create mode 100644 spec/models/put_integrations_integration_id_custom_fields_custom_field_id_positive_response_spec.rb create mode 100644 spec/models/put_integrations_integration_id_custom_fields_custom_field_id_request_body_spec.rb create mode 100644 spec/models/remote_event_received_webhook_payload_data_spec.rb create mode 100644 spec/models/remote_event_received_webhook_payload_spec.rb create mode 100644 spec/models/schema1_value_spec.rb create mode 100644 spec/models/schema2_any_of1_spec.rb create mode 100644 spec/models/schema2_any_of2_spec.rb create mode 100644 spec/models/schema2_any_of3_options_any_of1_spec.rb create mode 100644 spec/models/schema2_any_of3_options_any_of_entries_inner_remote_id_spec.rb create mode 100644 spec/models/schema2_any_of3_options_any_of_entries_inner_spec.rb create mode 100644 spec/models/schema2_any_of3_options_any_of_spec.rb create mode 100644 spec/models/schema2_any_of3_options_spec.rb create mode 100644 spec/models/schema2_any_of3_spec.rb create mode 100644 spec/models/schema2_any_of4_spec.rb create mode 100644 spec/models/schema2_any_of5_spec.rb create mode 100644 spec/models/schema2_any_of6_spec.rb create mode 100644 spec/models/schema2_any_of7_spec.rb create mode 100644 spec/models/schema2_any_of8_file_restrictions_spec.rb create mode 100644 spec/models/schema2_any_of8_spec.rb create mode 100644 spec/models/schema2_any_of_spec.rb create mode 100644 spec/models/schema2_spec.rb create mode 100644 spec/models/schema4_spec.rb create mode 100644 spec/models/sync_finished_webhook_payload_data_spec.rb create mode 100644 spec/models/sync_finished_webhook_payload_spec.rb create mode 100644 spec/spec_helper.rb diff --git a/.envrc b/.envrc new file mode 100644 index 0000000..e4e10f6 --- /dev/null +++ b/.envrc @@ -0,0 +1,14 @@ +#!/usr/bin/env bash + +if ! has nix_direnv_version || ! nix_direnv_version 3.1.0; then + source_url "https://raw.githubusercontent.com/nix-community/nix-direnv/3.1.0/direnvrc" "sha256-yMJ2OVMzrFaDPn7q8nCBZFRYpL/f0RcHzhmw/i6btJM=" +fi + +export DEVENV_IN_DIRENV_SHELL=true + +watch_file flake.nix +watch_file flake.lock + +if ! use flake . --no-pure-eval; then + echo "devenv could not be built. The devenv environment was not loaded. Make the necessary changes to devenv.nix and hit enter to try again." >&2 +fi diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..8e5c473 --- /dev/null +++ b/.gitignore @@ -0,0 +1,20 @@ +# Ruby +*.gem +*.rbc +/.config +/coverage/ +/InstalledFiles +/pkg/ +/spec/reports/ +/spec/examples.txt +/test/tmp/ +/test/version_tmp/ +/tmp/ + +# Generator +java_opts +ruby-client/ + +# Nix env +.devenv +.direnv diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml new file mode 100644 index 0000000..3a253c4 --- /dev/null +++ b/.gitlab-ci.yml @@ -0,0 +1,26 @@ +.ruby: &ruby + variables: + LANG: "C.UTF-8" + before_script: + - ruby -v + - bundle config set --local deployment true + - bundle install -j $(nproc) + parallel: + matrix: + - RUBY_VERSION: ['2.7', '3.0', '3.1'] + image: "ruby:$RUBY_VERSION" + cache: + paths: + - vendor/ruby + key: 'ruby-$RUBY_VERSION' + +gem: + extends: .ruby + script: + - bundle exec rspec + - bundle exec rake build + - bundle exec rake install + artifacts: + paths: + - pkg/*.gem + diff --git a/.openapi-generator-ignore b/.openapi-generator-ignore new file mode 100644 index 0000000..516c1d8 --- /dev/null +++ b/.openapi-generator-ignore @@ -0,0 +1,9 @@ +# Ignore automation files so the generator doesn't overwrite them +.github/ +scripts/ +README.md +.gitignore +.openapi-generator-ignore +VERSION +api_specs/ +new_openapi.json diff --git a/.openapi-generator/FILES b/.openapi-generator/FILES new file mode 100644 index 0000000..54d1699 --- /dev/null +++ b/.openapi-generator/FILES @@ -0,0 +1,1305 @@ +.gitlab-ci.yml +.rspec +.rubocop.yml +.travis.yml +Gemfile +Rakefile +docs/AIApplyApi.md +docs/AiApplyApplicationStatusUpdatedWebhookPayload.md +docs/AiApplyApplicationStatusUpdatedWebhookPayloadData.md +docs/AiApplyJobPostingStatusUpdatedWebhookPayload.md +docs/AiApplyJobPostingStatusUpdatedWebhookPayloadData.md +docs/AiApplyJobPostingStatusUpdatedWebhookPayloadDataCareerSite.md +docs/AssessmentOrderReceivedWebhookPayload.md +docs/AssessmentOrderReceivedWebhookPayloadData.md +docs/AssessmentOrderReceivedWebhookPayloadDataApplication.md +docs/AssessmentOrderReceivedWebhookPayloadDataCandidate.md +docs/AssessmentOrderReceivedWebhookPayloadDataJob.md +docs/AssessmentOrderReceivedWebhookPayloadDataJobHiringTeamInner.md +docs/AssessmentOrderReceivedWebhookPayloadDataJobLocation.md +docs/ConnectionFlowFailedWebhookPayload.md +docs/ConnectionFlowFailedWebhookPayloadData.md +docs/ConnectionFlowFailedWebhookPayloadDataEndUser.md +docs/CustomEndpointsApi.md +docs/DataChangedWebhookPayload.md +docs/DataChangedWebhookPayloadData.md +docs/DataChangedWebhookPayloadDataChangedModelsInner.md +docs/DefaultApi.md +docs/DeleteAtsCandidatesCandidateIdTagsPositiveResponse.md +docs/DeleteAtsCandidatesCandidateIdTagsRequestBody.md +docs/DeleteAtsCandidatesCandidateIdTagsRequestBodyTag.md +docs/DeleteHrisAbsencesAbsenceIdPositiveResponse.md +docs/DeleteHrisAbsencesAbsenceIdRequestBody.md +docs/DeleteHrisAbsencesAbsenceIdRequestBodyRemoteFields.md +docs/DeleteHrisAbsencesAbsenceIdRequestBodyRemoteFieldsAdpworkforcenow.md +docs/DeleteHrisEmployeeSkillAssignmentsEmployeeSkillAssignmentIdPositiveResponse.md +docs/DeleteHrisSkillsSkillIdPositiveResponse.md +docs/DeleteIntegrationsIntegrationIdPositiveResponse.md +docs/GeneralApi.md +docs/GetAiApplyApplicationsPositiveResponse.md +docs/GetAiApplyApplicationsPositiveResponseData.md +docs/GetAiApplyApplicationsPositiveResponseDataResultsInner.md +docs/GetAiApplyCareerSitesPositiveResponse.md +docs/GetAiApplyCareerSitesPositiveResponseData.md +docs/GetAiApplyPostingsPositiveResponse.md +docs/GetAiApplyPostingsPositiveResponseData.md +docs/GetAiApplyPostingsPositiveResponseDataResultsInner.md +docs/GetAiApplyPostingsPositiveResponseDataResultsInnerCareerSite.md +docs/GetAiApplyUnifiedApiJobsPositiveResponse.md +docs/GetAiApplyUnifiedApiJobsPositiveResponseData.md +docs/GetAiApplyUnifiedApiJobsPositiveResponseDataResultsInner.md +docs/GetAiApplyUnifiedApiJobsPositiveResponseDataResultsInnerEmploymentType.md +docs/GetAiApplyUnifiedApiJobsPositiveResponseDataResultsInnerLocation.md +docs/GetAiApplyUnifiedApiJobsPositiveResponseDataResultsInnerScreeningQuestionsInner.md +docs/GetAiApplyUnifiedApiJobsPositiveResponseDataResultsInnerScreeningQuestionsInnerPreconditionOptions.md +docs/GetAssessmentOrdersOpenPositiveResponse.md +docs/GetAssessmentOrdersOpenPositiveResponseData.md +docs/GetAssessmentOrdersOpenPositiveResponseDataResultsInner.md +docs/GetAssessmentOrdersOpenPositiveResponseDataResultsInnerApplication.md +docs/GetAssessmentOrdersOpenPositiveResponseDataResultsInnerCandidate.md +docs/GetAssessmentOrdersOpenPositiveResponseDataResultsInnerJob.md +docs/GetAssessmentOrdersOpenPositiveResponseDataResultsInnerJobHiringTeamInner.md +docs/GetAssessmentOrdersOpenPositiveResponseDataResultsInnerJobLocation.md +docs/GetAssessmentPackagesPositiveResponse.md +docs/GetAssessmentPackagesPositiveResponseData.md +docs/GetAssessmentPackagesPositiveResponseDataPackagesInner.md +docs/GetAtsActionsAtsAddApplicationAttachmentPositiveResponse.md +docs/GetAtsActionsAtsAddApplicationAttachmentPositiveResponseData.md +docs/GetAtsActionsAtsAddApplicationAttachmentPositiveResponseDataAttachmentRestrictions.md +docs/GetAtsActionsAtsAddApplicationAttachmentPositiveResponseDataAttachmentRestrictionsTypes.md +docs/GetAtsActionsAtsAddApplicationAttachmentPositiveResponseDataAttachmentRestrictionsTypesCOVERLETTER.md +docs/GetAtsActionsAtsAddApplicationAttachmentPositiveResponseDataAttachmentRestrictionsTypesCV.md +docs/GetAtsActionsAtsAddApplicationAttachmentPositiveResponseDataAttachmentRestrictionsTypesCVAnyOf.md +docs/GetAtsActionsAtsAddApplicationAttachmentPositiveResponseDataAttachmentRestrictionsTypesOTHER.md +docs/GetAtsActionsAtsAddCandidateAttachmentPositiveResponse.md +docs/GetAtsActionsAtsCreateApplicationPositiveResponse.md +docs/GetAtsActionsAtsCreateCandidatePositiveResponse.md +docs/GetAtsActionsAtsCreateCandidatePositiveResponseData.md +docs/GetAtsActionsAtsCreateCandidatePositiveResponseDataAttachmentRestrictions.md +docs/GetAtsActionsAtsCreateCandidatePositiveResponseDataAttachmentRestrictionsTypes.md +docs/GetAtsActionsAtsCreateCandidatePositiveResponseDataAttachmentRestrictionsTypesCOVERLETTER.md +docs/GetAtsActionsAtsCreateCandidatePositiveResponseDataAttachmentRestrictionsTypesCV.md +docs/GetAtsActionsAtsCreateCandidatePositiveResponseDataAttachmentRestrictionsTypesCVAnyOf.md +docs/GetAtsActionsAtsCreateCandidatePositiveResponseDataAttachmentRestrictionsTypesCVAnyOf1.md +docs/GetAtsActionsAtsCreateCandidatePositiveResponseDataAttachmentRestrictionsTypesOTHER.md +docs/GetAtsApplicationStagesParameterIncludeDeleted.md +docs/GetAtsApplicationStagesPositiveResponse.md +docs/GetAtsApplicationStagesPositiveResponseData.md +docs/GetAtsApplicationStagesPositiveResponseDataResultsInner.md +docs/GetAtsApplicationsApplicationIdAttachmentsPositiveResponse.md +docs/GetAtsApplicationsApplicationIdAttachmentsPositiveResponseData.md +docs/GetAtsApplicationsApplicationIdAttachmentsPositiveResponseDataResultsInner.md +docs/GetAtsApplicationsParameterIncludeDeleted.md +docs/GetAtsApplicationsParameterOutcome.md +docs/GetAtsApplicationsPositiveResponse.md +docs/GetAtsApplicationsPositiveResponseData.md +docs/GetAtsApplicationsPositiveResponseDataResultsInner.md +docs/GetAtsApplicationsPositiveResponseDataResultsInnerCandidate.md +docs/GetAtsApplicationsPositiveResponseDataResultsInnerCandidateEmailAddressesInner.md +docs/GetAtsApplicationsPositiveResponseDataResultsInnerCandidatePhoneNumbersInner.md +docs/GetAtsApplicationsPositiveResponseDataResultsInnerCandidateSocialMediaInner.md +docs/GetAtsApplicationsPositiveResponseDataResultsInnerCandidateTagsInner.md +docs/GetAtsApplicationsPositiveResponseDataResultsInnerCurrentStage.md +docs/GetAtsApplicationsPositiveResponseDataResultsInnerInterviewsInner.md +docs/GetAtsApplicationsPositiveResponseDataResultsInnerInterviewsInnerLocation.md +docs/GetAtsApplicationsPositiveResponseDataResultsInnerJob.md +docs/GetAtsApplicationsPositiveResponseDataResultsInnerOffersInner.md +docs/GetAtsApplicationsPositiveResponseDataResultsInnerScreeningQuestionAnswersInner.md +docs/GetAtsApplicationsPositiveResponseDataResultsInnerScreeningQuestionAnswersInnerAnyOf.md +docs/GetAtsApplicationsPositiveResponseDataResultsInnerScreeningQuestionAnswersInnerAnyOf1.md +docs/GetAtsApplicationsPositiveResponseDataResultsInnerScreeningQuestionAnswersInnerAnyOf1Answer.md +docs/GetAtsApplicationsPositiveResponseDataResultsInnerScreeningQuestionAnswersInnerAnyOf1Question.md +docs/GetAtsApplicationsPositiveResponseDataResultsInnerScreeningQuestionAnswersInnerAnyOf2.md +docs/GetAtsApplicationsPositiveResponseDataResultsInnerScreeningQuestionAnswersInnerAnyOf2Answer.md +docs/GetAtsApplicationsPositiveResponseDataResultsInnerScreeningQuestionAnswersInnerAnyOf2Question.md +docs/GetAtsApplicationsPositiveResponseDataResultsInnerScreeningQuestionAnswersInnerAnyOf3.md +docs/GetAtsApplicationsPositiveResponseDataResultsInnerScreeningQuestionAnswersInnerAnyOf3Answer.md +docs/GetAtsApplicationsPositiveResponseDataResultsInnerScreeningQuestionAnswersInnerAnyOf3Question.md +docs/GetAtsApplicationsPositiveResponseDataResultsInnerScreeningQuestionAnswersInnerAnyOf4.md +docs/GetAtsApplicationsPositiveResponseDataResultsInnerScreeningQuestionAnswersInnerAnyOf4Answer.md +docs/GetAtsApplicationsPositiveResponseDataResultsInnerScreeningQuestionAnswersInnerAnyOf4Question.md +docs/GetAtsApplicationsPositiveResponseDataResultsInnerScreeningQuestionAnswersInnerAnyOf5.md +docs/GetAtsApplicationsPositiveResponseDataResultsInnerScreeningQuestionAnswersInnerAnyOf5Answer.md +docs/GetAtsApplicationsPositiveResponseDataResultsInnerScreeningQuestionAnswersInnerAnyOf5Question.md +docs/GetAtsApplicationsPositiveResponseDataResultsInnerScreeningQuestionAnswersInnerAnyOf6.md +docs/GetAtsApplicationsPositiveResponseDataResultsInnerScreeningQuestionAnswersInnerAnyOf6Answer.md +docs/GetAtsApplicationsPositiveResponseDataResultsInnerScreeningQuestionAnswersInnerAnyOf6Question.md +docs/GetAtsApplicationsPositiveResponseDataResultsInnerScreeningQuestionAnswersInnerAnyOfAnswer.md +docs/GetAtsApplicationsPositiveResponseDataResultsInnerScreeningQuestionAnswersInnerAnyOfQuestion.md +docs/GetAtsCandidatesCandidateIdAttachmentsPositiveResponse.md +docs/GetAtsCandidatesCandidateIdAttachmentsPositiveResponseData.md +docs/GetAtsCandidatesCandidateIdAttachmentsPositiveResponseDataResultsInner.md +docs/GetAtsCandidatesParameterIncludeDeleted.md +docs/GetAtsCandidatesPositiveResponse.md +docs/GetAtsCandidatesPositiveResponseData.md +docs/GetAtsCandidatesPositiveResponseDataResultsInner.md +docs/GetAtsCandidatesPositiveResponseDataResultsInnerApplicationsInner.md +docs/GetAtsCandidatesPositiveResponseDataResultsInnerLocation.md +docs/GetAtsInterviewsParameterIncludeDeleted.md +docs/GetAtsInterviewsPositiveResponse.md +docs/GetAtsInterviewsPositiveResponseData.md +docs/GetAtsInterviewsPositiveResponseDataResultsInner.md +docs/GetAtsInterviewsPositiveResponseDataResultsInnerApplication.md +docs/GetAtsInterviewsPositiveResponseDataResultsInnerUsersInner.md +docs/GetAtsJobsParameterIncludeDeleted.md +docs/GetAtsJobsParameterStatus.md +docs/GetAtsJobsPositiveResponse.md +docs/GetAtsJobsPositiveResponseData.md +docs/GetAtsJobsPositiveResponseDataResultsInner.md +docs/GetAtsJobsPositiveResponseDataResultsInnerEmploymentType.md +docs/GetAtsJobsPositiveResponseDataResultsInnerHiringTeamInner.md +docs/GetAtsJobsPositiveResponseDataResultsInnerJobPostingsInner.md +docs/GetAtsJobsPositiveResponseDataResultsInnerLocation.md +docs/GetAtsJobsPositiveResponseDataResultsInnerRemoteWorkStatus.md +docs/GetAtsJobsPositiveResponseDataResultsInnerSalaryPeriod.md +docs/GetAtsJobsPositiveResponseDataResultsInnerScreeningQuestionsInner.md +docs/GetAtsJobsPositiveResponseDataResultsInnerScreeningQuestionsInnerFormat.md +docs/GetAtsJobsPositiveResponseDataResultsInnerScreeningQuestionsInnerFormatAnyOf.md +docs/GetAtsJobsPositiveResponseDataResultsInnerScreeningQuestionsInnerFormatAnyOf1.md +docs/GetAtsJobsPositiveResponseDataResultsInnerScreeningQuestionsInnerFormatAnyOf2.md +docs/GetAtsJobsPositiveResponseDataResultsInnerScreeningQuestionsInnerFormatAnyOf3.md +docs/GetAtsJobsPositiveResponseDataResultsInnerScreeningQuestionsInnerFormatAnyOf3OptionsInner.md +docs/GetAtsJobsPositiveResponseDataResultsInnerScreeningQuestionsInnerFormatAnyOf4.md +docs/GetAtsJobsPositiveResponseDataResultsInnerScreeningQuestionsInnerFormatAnyOf5.md +docs/GetAtsJobsPositiveResponseDataResultsInnerScreeningQuestionsInnerFormatAnyOf6.md +docs/GetAtsJobsPositiveResponseDataResultsInnerScreeningQuestionsInnerFormatAnyOf7.md +docs/GetAtsJobsPositiveResponseDataResultsInnerScreeningQuestionsInnerFormatAnyOf8.md +docs/GetAtsJobsPositiveResponseDataResultsInnerScreeningQuestionsInnerPreconditionOptions.md +docs/GetAtsJobsPositiveResponseDataResultsInnerStagesInner.md +docs/GetAtsJobsPositiveResponseDataResultsInnerStatus.md +docs/GetAtsJobsPositiveResponseDataResultsInnerVisibility.md +docs/GetAtsOffersParameterIncludeDeleted.md +docs/GetAtsOffersPositiveResponse.md +docs/GetAtsOffersPositiveResponseData.md +docs/GetAtsOffersPositiveResponseDataResultsInner.md +docs/GetAtsOffersPositiveResponseDataResultsInnerApplication.md +docs/GetAtsOffersPositiveResponseDataResultsInnerApplicationCandidate.md +docs/GetAtsRejectionReasonsParameterIncludeDeleted.md +docs/GetAtsRejectionReasonsPositiveResponse.md +docs/GetAtsRejectionReasonsPositiveResponseData.md +docs/GetAtsRejectionReasonsPositiveResponseDataResultsInner.md +docs/GetAtsTagsParameterIncludeDeleted.md +docs/GetAtsTagsPositiveResponse.md +docs/GetAtsTagsPositiveResponseData.md +docs/GetAtsTagsPositiveResponseDataResultsInner.md +docs/GetAtsUsersParameterIncludeDeleted.md +docs/GetAtsUsersPositiveResponse.md +docs/GetAtsUsersPositiveResponseData.md +docs/GetAtsUsersPositiveResponseDataResultsInner.md +docs/GetCheckApiKeyPositiveResponse.md +docs/GetCheckApiKeyPositiveResponseData.md +docs/GetConnectIntegrationByTokenTokenPositiveResponse.md +docs/GetConnectIntegrationByTokenTokenPositiveResponseData.md +docs/GetCustomDatevAvailableDocumentsPositiveResponse.md +docs/GetCustomDatevAvailableDocumentsPositiveResponseData.md +docs/GetCustomDatevAvailableDocumentsPositiveResponseDataResultsInner.md +docs/GetCustomDatevAvailableDocumentsPositiveResponseDataResultsInnerAvailableForEmployeesInner.md +docs/GetCustomDatevCheckDocumentPermissionPositiveResponse.md +docs/GetCustomDatevCheckDocumentPermissionPositiveResponseData.md +docs/GetCustomDatevCheckDocumentPermissionPositiveResponseDataAnyOf.md +docs/GetCustomDatevCheckDocumentPermissionPositiveResponseDataAnyOf1.md +docs/GetCustomDatevCheckEauPermissionPositiveResponse.md +docs/GetCustomDatevCheckEauPermissionPositiveResponseData.md +docs/GetCustomDatevCheckWritePermissionPositiveResponse.md +docs/GetCustomDatevDataPushesPositiveResponse.md +docs/GetCustomDatevDataPushesPositiveResponseData.md +docs/GetCustomDatevDataPushesPositiveResponseDataDataPushesInner.md +docs/GetCustomDatevDataPushesPositiveResponseDataDataPushesInnerUploadJobsInner.md +docs/GetCustomDatevEauRequestsEauIdPositiveResponse.md +docs/GetCustomDatevEauRequestsEauIdPositiveResponseData.md +docs/GetCustomDatevEauRequestsEauIdPositiveResponseDataRaw.md +docs/GetCustomDatevEauRequestsEauIdPositiveResponseDataRawFeedbacksFromHealthInsuranceInner.md +docs/GetCustomDatevEauRequestsEauIdPositiveResponseDataRawFeedbacksFromHealthInsuranceInnerContactPerson.md +docs/GetCustomDatevEauRequestsEauIdPositiveResponseDataRawFeedbacksFromHealthInsuranceInnerErrorBlockListInner.md +docs/GetCustomDatevEauRequestsEauIdPositiveResponseDataRawFeedbacksFromHealthInsuranceInnerIncapacityForWork.md +docs/GetCustomDatevSystemInformationPositiveResponse.md +docs/GetCustomDatevSystemInformationPositiveResponseData.md +docs/GetHrisAbsenceTypesParameterIncludeDeleted.md +docs/GetHrisAbsenceTypesPositiveResponse.md +docs/GetHrisAbsenceTypesPositiveResponseData.md +docs/GetHrisAbsenceTypesPositiveResponseDataResultsInner.md +docs/GetHrisAbsencesParameterIncludeDeleted.md +docs/GetHrisAbsencesPositiveResponse.md +docs/GetHrisAbsencesPositiveResponseData.md +docs/GetHrisAbsencesPositiveResponseDataResultsInner.md +docs/GetHrisAbsencesPositiveResponseDataResultsInnerStatus.md +docs/GetHrisEmployeeDocumentCategoriesParameterIncludeDeleted.md +docs/GetHrisEmployeeDocumentCategoriesPositiveResponse.md +docs/GetHrisEmployeeDocumentCategoriesPositiveResponseData.md +docs/GetHrisEmployeeDocumentCategoriesPositiveResponseDataResultsInner.md +docs/GetHrisEmployeeSkillAssignmentsPositiveResponse.md +docs/GetHrisEmployeeSkillAssignmentsPositiveResponseData.md +docs/GetHrisEmployeeSkillAssignmentsPositiveResponseDataResultsInner.md +docs/GetHrisEmployeesFormPositiveResponse.md +docs/GetHrisEmployeesFormPositiveResponseData.md +docs/GetHrisEmployeesParameterEmploymentStatus.md +docs/GetHrisEmployeesParameterIncludeDeleted.md +docs/GetHrisEmployeesPositiveResponse.md +docs/GetHrisEmployeesPositiveResponseData.md +docs/GetHrisEmployeesPositiveResponseDataResultsInner.md +docs/GetHrisEmployeesPositiveResponseDataResultsInnerBankAccountsInner.md +docs/GetHrisEmployeesPositiveResponseDataResultsInnerBankAccountsInnerDomesticBankRouting.md +docs/GetHrisEmployeesPositiveResponseDataResultsInnerEmploymentStatus.md +docs/GetHrisEmployeesPositiveResponseDataResultsInnerEmploymentType.md +docs/GetHrisEmployeesPositiveResponseDataResultsInnerEmploymentsInner.md +docs/GetHrisEmployeesPositiveResponseDataResultsInnerEmploymentsInnerPayFrequency.md +docs/GetHrisEmployeesPositiveResponseDataResultsInnerEmploymentsInnerPayPeriod.md +docs/GetHrisEmployeesPositiveResponseDataResultsInnerEthnicity.md +docs/GetHrisEmployeesPositiveResponseDataResultsInnerGender.md +docs/GetHrisEmployeesPositiveResponseDataResultsInnerGroupsInner.md +docs/GetHrisEmployeesPositiveResponseDataResultsInnerHomeAddress.md +docs/GetHrisEmployeesPositiveResponseDataResultsInnerIntegrationFieldsInner.md +docs/GetHrisEmployeesPositiveResponseDataResultsInnerLegalEntity.md +docs/GetHrisEmployeesPositiveResponseDataResultsInnerLegalEntityAddress.md +docs/GetHrisEmployeesPositiveResponseDataResultsInnerManager.md +docs/GetHrisEmployeesPositiveResponseDataResultsInnerMaritalStatus.md +docs/GetHrisEmployeesPositiveResponseDataResultsInnerTimeOffBalancesInner.md +docs/GetHrisEmployeesPositiveResponseDataResultsInnerWorkLocation.md +docs/GetHrisEmployeesPositiveResponseDataResultsInnerWorkLocationAddress.md +docs/GetHrisEmploymentsParameterIncludeDeleted.md +docs/GetHrisEmploymentsPositiveResponse.md +docs/GetHrisEmploymentsPositiveResponseData.md +docs/GetHrisGroupsParameterIncludeDeleted.md +docs/GetHrisGroupsPositiveResponse.md +docs/GetHrisJobPositionsPositiveResponse.md +docs/GetHrisJobPositionsPositiveResponseData.md +docs/GetHrisJobPositionsPositiveResponseDataResultsInner.md +docs/GetHrisJobPositionsPositiveResponseDataResultsInnerSkillsInner.md +docs/GetHrisLegalEntitiesParameterIncludeDeleted.md +docs/GetHrisLegalEntitiesPositiveResponse.md +docs/GetHrisLegalEntitiesPositiveResponseData.md +docs/GetHrisLegalEntitiesPositiveResponseDataResultsInner.md +docs/GetHrisLocationsParameterIncludeDeleted.md +docs/GetHrisLocationsPositiveResponse.md +docs/GetHrisLocationsPositiveResponseData.md +docs/GetHrisPerformanceReviewCyclesParameterIncludeDeleted.md +docs/GetHrisPerformanceReviewCyclesPositiveResponse.md +docs/GetHrisPerformanceReviewCyclesPositiveResponseData.md +docs/GetHrisPerformanceReviewCyclesPositiveResponseDataResultsInner.md +docs/GetHrisPerformanceReviewsParameterIncludeDeleted.md +docs/GetHrisPerformanceReviewsPositiveResponse.md +docs/GetHrisPerformanceReviewsPositiveResponseData.md +docs/GetHrisPerformanceReviewsPositiveResponseDataResultsInner.md +docs/GetHrisPerformanceReviewsPositiveResponseDataResultsInnerReviewee.md +docs/GetHrisPerformanceReviewsPositiveResponseDataResultsInnerReviewer.md +docs/GetHrisPerformanceReviewsPositiveResponseDataResultsInnerSummaryRating.md +docs/GetHrisPerformanceReviewsPositiveResponseDataResultsInnerSummaryRatingAnyOf.md +docs/GetHrisPerformanceReviewsPositiveResponseDataResultsInnerSummaryRatingAnyOf1.md +docs/GetHrisSkillsPositiveResponse.md +docs/GetHrisSkillsPositiveResponseData.md +docs/GetHrisSkillsPositiveResponseDataResultsInner.md +docs/GetHrisTeamsParameterIncludeDeleted.md +docs/GetHrisTeamsPositiveResponse.md +docs/GetHrisTeamsPositiveResponseData.md +docs/GetHrisTeamsPositiveResponseDataResultsInner.md +docs/GetHrisTimeOffBalancesParameterIncludeDeleted.md +docs/GetHrisTimeOffBalancesPositiveResponse.md +docs/GetHrisTimeOffBalancesPositiveResponseData.md +docs/GetHrisTimeOffBalancesPositiveResponseDataResultsInner.md +docs/GetHrisTimesheetsParameterIncludeDeleted.md +docs/GetHrisTimesheetsPositiveResponse.md +docs/GetHrisTimesheetsPositiveResponseData.md +docs/GetHrisTimesheetsPositiveResponseDataResultsInner.md +docs/GetHrisTimesheetsPositiveResponseDataResultsInnerBreaksInner.md +docs/GetHrisTimesheetsPositiveResponseDataResultsInnerBreaksInnerEndedAt.md +docs/GetHrisTimesheetsPositiveResponseDataResultsInnerBreaksInnerStartedAt.md +docs/GetIntegrationsIntegrationIdCustomFieldsPositiveResponse.md +docs/GetIntegrationsIntegrationIdCustomFieldsPositiveResponseData.md +docs/GetIntegrationsIntegrationIdCustomFieldsPositiveResponseDataResultsInner.md +docs/GetIntegrationsIntegrationIdCustomFieldsPositiveResponseDataResultsInnerIntegrationField.md +docs/GetIntegrationsIntegrationIdIntegrationFieldsPositiveResponse.md +docs/GetIntegrationsIntegrationIdIntegrationFieldsPositiveResponseData.md +docs/GetIntegrationsIntegrationIdIntegrationFieldsPositiveResponseDataResultsInner.md +docs/GetIntegrationsIntegrationIdPositiveResponse.md +docs/GetIntegrationsIntegrationIdPositiveResponseData.md +docs/GetIntegrationsIntegrationIdPositiveResponseDataEndUser.md +docs/GetIntegrationsIntegrationIdPositiveResponseDataReadModelsInner.md +docs/GetIntegrationsIntegrationIdPositiveResponseDataReadModelsInnerFieldsInner.md +docs/GetIntegrationsIntegrationIdPositiveResponseDataScopeConfig.md +docs/GetIntegrationsIntegrationIdPositiveResponseDataTool.md +docs/GetLmsCoursesPositiveResponse.md +docs/GetLmsCoursesPositiveResponseData.md +docs/GetLmsCoursesPositiveResponseDataResultsInner.md +docs/GetLmsCoursesPositiveResponseDataResultsInnerOrderedContentInner.md +docs/GetLmsCoursesPositiveResponseDataResultsInnerSkillsInner.md +docs/GetLmsUsersParameterStatus.md +docs/GetLmsUsersPositiveResponse.md +docs/GetLmsUsersPositiveResponseData.md +docs/GetLmsUsersPositiveResponseDataResultsInner.md +docs/GetLmsUsersPositiveResponseDataResultsInnerProgressInner.md +docs/GetToolsCategoryParameterCategory.md +docs/GetToolsCategoryPositiveResponse.md +docs/GetToolsCategoryPositiveResponseData.md +docs/GetToolsCategoryPositiveResponseDataToolsInner.md +docs/GetToolsCategoryPositiveResponseDataToolsInnerAssets.md +docs/GetToolsCategoryPositiveResponseDataToolsInnerCoverage.md +docs/GetToolsCategoryPositiveResponseDataToolsInnerCoverageFeaturesInner.md +docs/GetToolsCategoryPositiveResponseDataToolsInnerCoverageReadModelsInner.md +docs/GetToolsCategoryPositiveResponseDataToolsInnerCoverageReadModelsInnerFieldsInner.md +docs/GetToolsCategoryPositiveResponseDataToolsInnerCoverageWriteActionsInner.md +docs/InlineAssessmentOrderReceivedWebhookPayload.md +docs/InlineObject.md +docs/InlineObject1.md +docs/InlineObject1Error.md +docs/InlineObject2.md +docs/InlineObject2Error.md +docs/InlineObject3.md +docs/InlineObject3Error.md +docs/InlineObjectError.md +docs/IntegrationCreatedWebhookPayload.md +docs/IntegrationCreatedWebhookPayloadData.md +docs/IntegrationDeletedWebhookPayload.md +docs/IntegrationDeletedWebhookPayloadData.md +docs/IntegrationStateChangedWebhookPayload.md +docs/IntegrationStateChangedWebhookPayloadData.md +docs/KomboConnectApi.md +docs/PatchAtsApplicationsApplicationIdInterviewsPositiveResponse.md +docs/PatchAtsApplicationsApplicationIdInterviewsRequestBody.md +docs/PatchAtsApplicationsApplicationIdInterviewsRequestBodyLocation.md +docs/PatchHrisEmployeeSkillAssignmentsEmployeeSkillAssignmentIdPositiveResponse.md +docs/PatchHrisEmployeeSkillAssignmentsEmployeeSkillAssignmentIdRequestBody.md +docs/PatchHrisEmployeesEmployeeIdPositiveResponse.md +docs/PatchHrisEmployeesEmployeeIdPositiveResponseData.md +docs/PatchHrisEmployeesEmployeeIdRequestBody.md +docs/PatchHrisSkillsSkillIdPositiveResponse.md +docs/PatchHrisSkillsSkillIdRequestBody.md +docs/PatchIntegrationsIntegrationIdIntegrationFieldsIntegrationFieldIdPositiveResponse.md +docs/PatchIntegrationsIntegrationIdIntegrationFieldsIntegrationFieldIdRequestBody.md +docs/PatchLmsProgressProgressIdPositiveResponse.md +docs/PatchLmsProgressProgressIdRequestBody.md +docs/PostAiApplyApplyPositiveResponse.md +docs/PostAiApplyApplyPositiveResponseData.md +docs/PostAiApplyApplyRequestBody.md +docs/PostAiApplyApplyRequestBodyScreeningQuestionAnswersInner.md +docs/PostAiApplyCareerSitesPositiveResponse.md +docs/PostAiApplyCareerSitesPositiveResponseData.md +docs/PostAiApplyCareerSitesRequestBody.md +docs/PostAiApplyPostingsPositiveResponse.md +docs/PostAiApplyPostingsPostingIdInquirePositiveResponse.md +docs/PostAiApplyPostingsPostingIdInquirePositiveResponseData.md +docs/PostAiApplyPostingsPostingIdInquirePositiveResponseDataApplicationFormInner.md +docs/PostAiApplyPostingsPostingIdInquirePositiveResponseDataApplicationFormInnerAnyOf.md +docs/PostAiApplyPostingsPostingIdInquirePositiveResponseDataApplicationFormInnerAnyOf1.md +docs/PostAiApplyPostingsPostingIdInquirePositiveResponseDataApplicationFormInnerAnyOfDisplayWhen.md +docs/PostAiApplyPostingsPostingIdInquirePositiveResponseDataApplicationFormInnerAnyOfDisplayWhenAnswerEquals.md +docs/PostAiApplyPostingsPostingIdInquirePositiveResponseDataApplicationFormInnerAnyOfDisplayWhenAnswerEqualsOneOf.md +docs/PostAiApplyPostingsPostingIdInquirePositiveResponseDataApplicationFormInnerAnyOfOptionsInner.md +docs/PostAiApplyPostingsPostingIdParsePositiveResponse.md +docs/PostAiApplyPostingsRequestBody.md +docs/PostAiApplyPostingsRequestBodyLocation.md +docs/PostAiApplyUnifiedApiJobsJobIdApplicationsPositiveResponse.md +docs/PostAiApplyUnifiedApiJobsJobIdApplicationsRequestBody.md +docs/PostAtsApplicationsApplicationIdAttachmentsPositiveResponse.md +docs/PostAtsApplicationsApplicationIdAttachmentsRequestBody.md +docs/PostAtsApplicationsApplicationIdAttachmentsRequestBodyAttachment.md +docs/PostAtsApplicationsApplicationIdAttachmentsRequestBodyRemoteFields.md +docs/PostAtsApplicationsApplicationIdAttachmentsRequestBodyRemoteFieldsAllOfOracle.md +docs/PostAtsApplicationsApplicationIdInterviewsPositiveResponse.md +docs/PostAtsApplicationsApplicationIdInterviewsRequestBody.md +docs/PostAtsApplicationsApplicationIdInterviewsRequestBodyLocation.md +docs/PostAtsApplicationsApplicationIdNotesPositiveResponse.md +docs/PostAtsApplicationsApplicationIdNotesRequestBody.md +docs/PostAtsApplicationsApplicationIdNotesRequestBodyRemoteFields.md +docs/PostAtsApplicationsApplicationIdNotesRequestBodyRemoteFieldsAllOfBullhorn.md +docs/PostAtsApplicationsApplicationIdNotesRequestBodyRemoteFieldsAllOfGreenhouse.md +docs/PostAtsApplicationsApplicationIdNotesRequestBodyRemoteFieldsAllOfRecruitee.md +docs/PostAtsApplicationsApplicationIdNotesRequestBodyRemoteFieldsAllOfTeamtailor.md +docs/PostAtsApplicationsApplicationIdRejectPositiveResponse.md +docs/PostAtsApplicationsApplicationIdRejectRequestBody.md +docs/PostAtsApplicationsApplicationIdRejectRequestBodyRemoteFields.md +docs/PostAtsApplicationsApplicationIdRejectRequestBodyRemoteFieldsAllOfGreenhouse.md +docs/PostAtsApplicationsApplicationIdResultLinksPositiveResponse.md +docs/PostAtsApplicationsApplicationIdResultLinksRequestBody.md +docs/PostAtsApplicationsApplicationIdResultLinksRequestBodyDetails.md +docs/PostAtsApplicationsApplicationIdResultLinksRequestBodyDetailsAttributesInner.md +docs/PostAtsApplicationsApplicationIdResultLinksRequestBodyRemoteFields.md +docs/PostAtsApplicationsApplicationIdResultLinksRequestBodyRemoteFieldsAllOfIcims.md +docs/PostAtsApplicationsApplicationIdResultLinksRequestBodyRemoteFieldsAllOfOracle.md +docs/PostAtsCandidatesCandidateIdAttachmentsPositiveResponse.md +docs/PostAtsCandidatesCandidateIdAttachmentsRequestBody.md +docs/PostAtsCandidatesCandidateIdResultLinksPositiveResponse.md +docs/PostAtsCandidatesCandidateIdResultLinksRequestBody.md +docs/PostAtsCandidatesCandidateIdTagsPositiveResponse.md +docs/PostAtsCandidatesCandidateIdTagsRequestBody.md +docs/PostAtsCandidatesCandidateIdTagsRequestBodyTag.md +docs/PostAtsCandidatesPositiveResponse.md +docs/PostAtsCandidatesRequestBody.md +docs/PostAtsCandidatesRequestBodyApplication.md +docs/PostAtsCandidatesRequestBodyCandidate.md +docs/PostAtsCandidatesRequestBodyCandidateAdditionalEmailAddressesInner.md +docs/PostAtsCandidatesRequestBodyCandidateAdditionalPhoneNumbersInner.md +docs/PostAtsCandidatesRequestBodyCandidateLocation.md +docs/PostAtsCandidatesRequestBodyCandidateSalaryExpectations.md +docs/PostAtsCandidatesRequestBodyCandidateSocialLinksInner.md +docs/PostAtsCandidatesRequestBodyGdprConsent.md +docs/PostAtsCandidatesRequestBodyRemoteFields.md +docs/PostAtsCandidatesRequestBodyRemoteFieldsAllOfAvature.md +docs/PostAtsCandidatesRequestBodyRemoteFieldsAllOfAvatureWorkflow.md +docs/PostAtsCandidatesRequestBodyRemoteFieldsAllOfAvatureWorkflowStep.md +docs/PostAtsCandidatesRequestBodyRemoteFieldsAllOfBullhorn.md +docs/PostAtsCandidatesRequestBodyRemoteFieldsAllOfDvinci.md +docs/PostAtsCandidatesRequestBodyRemoteFieldsAllOfGreenhouse.md +docs/PostAtsCandidatesRequestBodyRemoteFieldsAllOfGuidecom.md +docs/PostAtsCandidatesRequestBodyRemoteFieldsAllOfHrworks.md +docs/PostAtsCandidatesRequestBodyRemoteFieldsAllOfJobylon.md +docs/PostAtsCandidatesRequestBodyRemoteFieldsAllOfJobylonApplication.md +docs/PostAtsCandidatesRequestBodyRemoteFieldsAllOfLever.md +docs/PostAtsCandidatesRequestBodyRemoteFieldsAllOfPersonio.md +docs/PostAtsCandidatesRequestBodyRemoteFieldsAllOfPiloga.md +docs/PostAtsCandidatesRequestBodyRemoteFieldsAllOfPilogaCandidate.md +docs/PostAtsCandidatesRequestBodyRemoteFieldsAllOfRecruitee.md +docs/PostAtsCandidatesRequestBodyRemoteFieldsAllOfRecruiteeCandidate.md +docs/PostAtsCandidatesRequestBodyRemoteFieldsAllOfSmartrecruiters.md +docs/PostAtsCandidatesRequestBodyRemoteFieldsAllOfSuccessfactors.md +docs/PostAtsCandidatesRequestBodyRemoteFieldsAllOfTalentadore.md +docs/PostAtsCandidatesRequestBodyRemoteFieldsAllOfTalentsoft.md +docs/PostAtsCandidatesRequestBodyRemoteFieldsAllOfTeamtailor.md +docs/PostAtsCandidatesRequestBodyRemoteFieldsAllOfTeamtailorApplication.md +docs/PostAtsCandidatesRequestBodyRemoteFieldsAllOfUmantis.md +docs/PostAtsCandidatesRequestBodyRemoteFieldsAllOfWorkable.md +docs/PostAtsCandidatesRequestBodyRemoteFieldsAllOfWorkday.md +docs/PostAtsCandidatesRequestBodyRemoteFieldsAllOfWorkdayCandidateData.md +docs/PostAtsCandidatesRequestBodyRemoteFieldsAllOfWorkdayCandidateDataContactData.md +docs/PostAtsCandidatesRequestBodyRemoteFieldsAllOfWorkdayCandidateDataContactDataLocationData.md +docs/PostAtsCandidatesRequestBodyRemoteFieldsAllOfWorkdayCandidateDataContactDataLocationDataCountryRegionReference.md +docs/PostAtsCandidatesRequestBodyRemoteFieldsAllOfWorkdayCandidateDataJobApplicationData.md +docs/PostAtsCandidatesRequestBodyRemoteFieldsAllOfWorkdayCandidateDataJobApplicationDataJobAppliedToData.md +docs/PostAtsCandidatesRequestBodyRemoteFieldsAllOfWorkdayCandidateDataJobApplicationDataJobAppliedToDataGlobalPersonalInformationData.md +docs/PostAtsCandidatesRequestBodyRemoteFieldsAllOfWorkdayCandidateDataJobApplicationDataResumeData.md +docs/PostAtsCandidatesRequestBodyRemoteFieldsAllOfWorkdayCandidateDataJobApplicationDataResumeDataEducationDataInner.md +docs/PostAtsCandidatesRequestBodyRemoteFieldsAllOfWorkdayCandidateDataJobApplicationDataResumeDataEducationDataInnerFieldOfStudyReference.md +docs/PostAtsCandidatesRequestBodyRemoteFieldsAllOfWorkdayCandidateDataJobApplicationDataResumeDataExperienceDataInner.md +docs/PostAtsCandidatesRequestBodyRemoteFieldsAllOfWorkdayCandidateDataJobApplicationDataResumeDataLanguageDataInner.md +docs/PostAtsCandidatesRequestBodyRemoteFieldsAllOfWorkdayCandidateDataJobApplicationDataResumeDataLanguageDataInnerLanguage.md +docs/PostAtsCandidatesRequestBodyRemoteFieldsAllOfWorkdayCandidateDataJobApplicationDataResumeDataLanguageDataInnerLanguageLanguageAbilityInner.md +docs/PostAtsCandidatesRequestBodyRemoteFieldsAllOfWorkdayCandidateDataJobApplicationDataResumeDataLanguageDataInnerLanguageLanguageAbilityInnerLanguageAbilityData.md +docs/PostAtsCandidatesRequestBodyRemoteFieldsAllOfWorkdayCandidateDataJobApplicationDataResumeDataLanguageDataInnerLanguageReference.md +docs/PostAtsCandidatesRequestBodyRemoteFieldsAllOfWorkdayCandidateDataJobApplicationDataResumeDataSkillDataInner.md +docs/PostAtsCandidatesRequestBodyRemoteFieldsAllOfWorkdayCandidateDataLanguageReference.md +docs/PostAtsCandidatesRequestBodyRemoteFieldsAllOfWorkdayCandidateDataNameDetailData.md +docs/PostAtsCandidatesRequestBodyRemoteFieldsAllOfWorkdayCandidateDataNameDetailDataSocialSuffixReference.md +docs/PostAtsCandidatesRequestBodyRemoteFieldsAllOfWorkdayCandidateDataWorkerReference.md +docs/PostAtsCandidatesRequestBodyRemoteFieldsAllOfZohorecruit.md +docs/PostAtsCandidatesRequestBodyScreeningQuestionAnswersInner.md +docs/PostAtsCandidatesRequestBodyScreeningQuestionAnswersInnerAnswer.md +docs/PostAtsCandidatesRequestBodyScreeningQuestionAnswersInnerAnswerAnyOf.md +docs/PostAtsCandidatesRequestBodySource.md +docs/PostAtsCandidatesRequestBodySourcedBy.md +docs/PostAtsImportTrackedApplicationPositiveResponse.md +docs/PostAtsImportTrackedApplicationPositiveResponseData.md +docs/PostAtsImportTrackedApplicationPositiveResponseDataImportedId.md +docs/PostAtsImportTrackedApplicationPositiveResponseDataImportedIdErecruiter.md +docs/PostAtsImportTrackedApplicationPositiveResponseDataImportedIdErecruiterAnyOf.md +docs/PostAtsImportTrackedApplicationPositiveResponseDataImportedIdErecruiterAnyOf1.md +docs/PostAtsImportTrackedApplicationPositiveResponseDataImportedIdGreenhouse.md +docs/PostAtsImportTrackedApplicationPositiveResponseDataImportedIdOnlyfy.md +docs/PostAtsImportTrackedApplicationPositiveResponseDataImportedIdRecruitee.md +docs/PostAtsImportTrackedApplicationPositiveResponseDataImportedIdSmartrecruiters.md +docs/PostAtsImportTrackedApplicationPositiveResponseDataImportedIdSuccessfactors.md +docs/PostAtsImportTrackedApplicationRequestBody.md +docs/PostAtsJobsJobIdApplicationsPositiveResponse.md +docs/PostAtsJobsJobIdApplicationsPositiveResponseData.md +docs/PostAtsJobsJobIdApplicationsPositiveResponseDataCandidate.md +docs/PostAtsJobsJobIdApplicationsRequestBody.md +docs/PostConnectActivateIntegrationPositiveResponse.md +docs/PostConnectActivateIntegrationRequestBody.md +docs/PostConnectCreateLinkPositiveResponse.md +docs/PostConnectCreateLinkRequestBody.md +docs/PostCustomDatevDownloadDocumentPositiveResponse.md +docs/PostCustomDatevDownloadDocumentPositiveResponseData.md +docs/PostCustomDatevDownloadDocumentRequestBody.md +docs/PostCustomDatevEmployeesEmployeeIdDownloadDocumentPositiveResponse.md +docs/PostCustomDatevEmployeesEmployeeIdDownloadDocumentRequestBody.md +docs/PostCustomDatevEmployeesEmployeeIdEauRequestsPositiveResponse.md +docs/PostCustomDatevEmployeesEmployeeIdEauRequestsPositiveResponseData.md +docs/PostCustomDatevEmployeesEmployeeIdEauRequestsRequestBody.md +docs/PostCustomDatevEmployeesEmployeeIdEauRequestsRequestBodyContactPerson.md +docs/PostCustomDatevEmployeesEmployeeIdEauRequestsRequestBodyNotification.md +docs/PostCustomDatevPassthroughPositiveResponse.md +docs/PostCustomDatevPassthroughRequestBody.md +docs/PostCustomDatevPushDataGeneralPositiveResponse.md +docs/PostCustomDatevPushDataGeneralPositiveResponseData.md +docs/PostCustomDatevPushDataGeneralPositiveResponseDataFilesInner.md +docs/PostCustomDatevPushDataPayrollPositiveResponse.md +docs/PostCustomDatevPushDataPayrollRequestBody.md +docs/PostCustomSilaeEmployeesEmployeeIdPayrollSupplementsPositiveResponse.md +docs/PostCustomSilaeEmployeesEmployeeIdPayrollSupplementsRequestBody.md +docs/PostForceSyncPositiveResponse.md +docs/PostForceSyncPositiveResponseData.md +docs/PostForceSyncRequestBody.md +docs/PostHrisAbsencesPositiveResponse.md +docs/PostHrisAbsencesPositiveResponseData.md +docs/PostHrisAbsencesRequestBody.md +docs/PostHrisAbsencesRequestBodyRemoteFields.md +docs/PostHrisAbsencesRequestBodyRemoteFieldsAdpworkforcenow.md +docs/PostHrisEmployeeSkillAssignmentsPositiveResponse.md +docs/PostHrisEmployeeSkillAssignmentsRequestBody.md +docs/PostHrisEmployeesEmployeeIdDocumentsPositiveResponse.md +docs/PostHrisEmployeesEmployeeIdDocumentsRequestBody.md +docs/PostHrisEmployeesFormPositiveResponse.md +docs/PostHrisEmployeesFormPositiveResponseData.md +docs/PostHrisEmployeesFormRequestBody.md +docs/PostHrisEmployeesPositiveResponse.md +docs/PostHrisEmployeesPositiveResponseData.md +docs/PostHrisEmployeesRequestBody.md +docs/PostHrisEmployeesRequestBodyHomeAddress.md +docs/PostHrisEmployeesRequestBodyRemoteFields.md +docs/PostHrisEmployeesRequestBodyRemoteFieldsAdpworkforcenow.md +docs/PostHrisEmployeesRequestBodyRemoteFieldsAzuread.md +docs/PostHrisEmployeesRequestBodyRemoteFieldsBamboohr.md +docs/PostHrisEmployeesRequestBodyRemoteFieldsDayforce.md +docs/PostHrisEmployeesRequestBodyRemoteFieldsDeel.md +docs/PostHrisEmployeesRequestBodyRemoteFieldsHibob.md +docs/PostHrisEmployeesRequestBodyRemoteFieldsHumaans.md +docs/PostHrisEmployeesRequestBodyRemoteFieldsOracle.md +docs/PostHrisEmployeesRequestBodyRemoteFieldsPaycor.md +docs/PostHrisEmployeesRequestBodyRemoteFieldsPeoplehr.md +docs/PostHrisEmployeesRequestBodyRemoteFieldsPlanday.md +docs/PostHrisEmployeesRequestBodyRemoteFieldsSilae.md +docs/PostHrisEmployeesRequestBodyRemoteFieldsSympa.md +docs/PostHrisEmployeesRequestBodyRemoteFieldsWorkday.md +docs/PostHrisEmployeesRequestBodyRemoteFieldsWorkdayBankAccount.md +docs/PostHrisEmployeesRequestBodyRemoteFieldsZohopeople.md +docs/PostHrisProvisioningGroupsGroupIdDiffPositiveResponse.md +docs/PostHrisProvisioningGroupsGroupIdDiffPositiveResponseData.md +docs/PostHrisProvisioningGroupsGroupIdDiffPositiveResponseDataUsers.md +docs/PostHrisProvisioningGroupsGroupIdDiffPositiveResponseDataUsersAlreadyProvisionedInner.md +docs/PostHrisProvisioningGroupsGroupIdDiffPositiveResponseDataUsersToDeprovisionInner.md +docs/PostHrisProvisioningGroupsGroupIdDiffPositiveResponseDataUsersToProvisionInner.md +docs/PostHrisProvisioningGroupsGroupIdDiffPositiveResponseDataUsersToProvisionInnerEmployee.md +docs/PostHrisProvisioningGroupsGroupIdDiffPositiveResponseDataUsersToProvisionInnerEmployeeGroupsInner.md +docs/PostHrisProvisioningGroupsGroupIdDiffRequestBody.md +docs/PostHrisProvisioningGroupsGroupIdDiffRequestBodyOptions.md +docs/PostHrisProvisioningGroupsGroupIdDiffRequestBodyProvisionedUsersInner.md +docs/PostHrisProvisioningGroupsGroupIdSetupLinksPositiveResponse.md +docs/PostHrisProvisioningGroupsGroupIdSetupLinksPositiveResponseData.md +docs/PostHrisProvisioningGroupsGroupIdSetupLinksRequestBody.md +docs/PostHrisSkillsPositiveResponse.md +docs/PostHrisSkillsRequestBody.md +docs/PostIntegrationsIntegrationIdRelinkPositiveResponse.md +docs/PostIntegrationsIntegrationIdRelinkPositiveResponseData.md +docs/PostIntegrationsIntegrationIdRelinkRequestBody.md +docs/PostLmsContentPositiveResponse.md +docs/PostLmsContentPositiveResponseData.md +docs/PostLmsContentRequestBody.md +docs/PostLmsCoursesPositiveResponse.md +docs/PostLmsCoursesRequestBody.md +docs/PostLmsCoursesRequestBodySkillsInner.md +docs/PostLmsProgressPositiveResponse.md +docs/PostLmsProgressPositiveResponseData.md +docs/PostLmsProgressRequestBody.md +docs/PostPassthroughToolApiPositiveResponse.md +docs/PostPassthroughToolApiPositiveResponseData.md +docs/PostPassthroughToolApiPositiveResponseDataHeadersValue.md +docs/PostPassthroughToolApiPositiveResponseWarningsInner.md +docs/PostPassthroughToolApiRequestBody.md +docs/PostPassthroughToolApiRequestBodyMultipartFormDataInner.md +docs/PostPassthroughToolApiRequestBodyMultipartFormDataInnerValue.md +docs/PostPassthroughToolApiRequestBodyMultipartFormDataInnerValueOneOf.md +docs/PutAssessmentOrdersAssessmentOrderIdResultPositiveResponse.md +docs/PutAssessmentOrdersAssessmentOrderIdResultRequestBody.md +docs/PutAssessmentOrdersAssessmentOrderIdResultRequestBodyAttributesInner.md +docs/PutAssessmentOrdersAssessmentOrderIdResultRequestBodyAttributesInnerAnyOf.md +docs/PutAssessmentOrdersAssessmentOrderIdResultRequestBodyAttributesInnerAnyOf1.md +docs/PutAssessmentOrdersAssessmentOrderIdResultRequestBodyAttributesInnerAnyOf1Score.md +docs/PutAssessmentOrdersAssessmentOrderIdResultRequestBodyRemoteFields.md +docs/PutAssessmentOrdersAssessmentOrderIdResultRequestBodyRemoteFieldsSmartrecruiters.md +docs/PutAssessmentPackagesPositiveResponse.md +docs/PutAssessmentPackagesRequestBody.md +docs/PutAssessmentPackagesRequestBodyPackagesInner.md +docs/PutAtsApplicationsApplicationIdStagePositiveResponse.md +docs/PutAtsApplicationsApplicationIdStageRequestBody.md +docs/PutAtsApplicationsApplicationIdStageRequestBodyRemoteFields.md +docs/PutAtsApplicationsApplicationIdStageRequestBodyRemoteFieldsGreenhouse.md +docs/PutAtsApplicationsApplicationIdStageRequestBodyRemoteFieldsGreenhousePostHeaders.md +docs/PutAtsApplicationsApplicationIdStageRequestBodyRemoteFieldsWorkable.md +docs/PutCustomDatevEmployeesEmployeeIdCompensationsPositiveResponse.md +docs/PutCustomDatevEmployeesEmployeeIdCompensationsRequestBody.md +docs/PutCustomDatevEmployeesEmployeeIdCompensationsRequestBodyCompensationsInner.md +docs/PutCustomDatevEmployeesEmployeeIdPreparePayrollPositiveResponse.md +docs/PutCustomDatevEmployeesEmployeeIdPreparePayrollRequestBody.md +docs/PutCustomDatevEmployeesEmployeeIdPreparePayrollRequestBodyCustomLodasInner.md +docs/PutCustomDatevEmployeesEmployeeIdPreparePayrollRequestBodyFixedPaymentsInner.md +docs/PutCustomDatevEmployeesEmployeeIdPreparePayrollRequestBodyHourlyPaymentsInner.md +docs/PutCustomDatevEmployeesEmployeeIdPreparePayrollRequestBodyPayrollRun.md +docs/PutIntegrationsIntegrationIdCustomFieldsCustomFieldIdPositiveResponse.md +docs/PutIntegrationsIntegrationIdCustomFieldsCustomFieldIdRequestBody.md +docs/RemoteEventReceivedWebhookPayload.md +docs/RemoteEventReceivedWebhookPayloadData.md +docs/Schema1Value.md +docs/Schema2.md +docs/Schema2AnyOf.md +docs/Schema2AnyOf1.md +docs/Schema2AnyOf2.md +docs/Schema2AnyOf3.md +docs/Schema2AnyOf3Options.md +docs/Schema2AnyOf3OptionsAnyOf.md +docs/Schema2AnyOf3OptionsAnyOf1.md +docs/Schema2AnyOf3OptionsAnyOfEntriesInner.md +docs/Schema2AnyOf3OptionsAnyOfEntriesInnerRemoteId.md +docs/Schema2AnyOf4.md +docs/Schema2AnyOf5.md +docs/Schema2AnyOf6.md +docs/Schema2AnyOf7.md +docs/Schema2AnyOf8.md +docs/Schema2AnyOf8FileRestrictions.md +docs/Schema4.md +docs/SyncFinishedWebhookPayload.md +docs/SyncFinishedWebhookPayloadData.md +docs/UnifiedATSAPIApi.md +docs/UnifiedATSAssessmentBackgroundCheckAPIApi.md +docs/UnifiedHRISAPIApi.md +git_push.sh +kombo_client.gemspec +lib/kombo_client.rb +lib/kombo_client/api/ai_apply_api.rb +lib/kombo_client/api/custom_endpoints_api.rb +lib/kombo_client/api/default_api.rb +lib/kombo_client/api/general_api.rb +lib/kombo_client/api/kombo_connect_api.rb +lib/kombo_client/api/unified_ats_assessment_background_check_api_api.rb +lib/kombo_client/api/unified_atsapi_api.rb +lib/kombo_client/api/unified_hrisapi_api.rb +lib/kombo_client/api_client.rb +lib/kombo_client/api_error.rb +lib/kombo_client/api_model_base.rb +lib/kombo_client/configuration.rb +lib/kombo_client/models/ai_apply_application_status_updated_webhook_payload.rb +lib/kombo_client/models/ai_apply_application_status_updated_webhook_payload_data.rb +lib/kombo_client/models/ai_apply_job_posting_status_updated_webhook_payload.rb +lib/kombo_client/models/ai_apply_job_posting_status_updated_webhook_payload_data.rb +lib/kombo_client/models/ai_apply_job_posting_status_updated_webhook_payload_data_career_site.rb +lib/kombo_client/models/assessment_order_received_webhook_payload.rb +lib/kombo_client/models/assessment_order_received_webhook_payload_data.rb +lib/kombo_client/models/assessment_order_received_webhook_payload_data_application.rb +lib/kombo_client/models/assessment_order_received_webhook_payload_data_candidate.rb +lib/kombo_client/models/assessment_order_received_webhook_payload_data_job.rb +lib/kombo_client/models/assessment_order_received_webhook_payload_data_job_hiring_team_inner.rb +lib/kombo_client/models/assessment_order_received_webhook_payload_data_job_location.rb +lib/kombo_client/models/connection_flow_failed_webhook_payload.rb +lib/kombo_client/models/connection_flow_failed_webhook_payload_data.rb +lib/kombo_client/models/connection_flow_failed_webhook_payload_data_end_user.rb +lib/kombo_client/models/data_changed_webhook_payload.rb +lib/kombo_client/models/data_changed_webhook_payload_data.rb +lib/kombo_client/models/data_changed_webhook_payload_data_changed_models_inner.rb +lib/kombo_client/models/delete_ats_candidates_candidate_id_tags_positive_response.rb +lib/kombo_client/models/delete_ats_candidates_candidate_id_tags_request_body.rb +lib/kombo_client/models/delete_ats_candidates_candidate_id_tags_request_body_tag.rb +lib/kombo_client/models/delete_hris_absences_absence_id_positive_response.rb +lib/kombo_client/models/delete_hris_absences_absence_id_request_body.rb +lib/kombo_client/models/delete_hris_absences_absence_id_request_body_remote_fields.rb +lib/kombo_client/models/delete_hris_absences_absence_id_request_body_remote_fields_adpworkforcenow.rb +lib/kombo_client/models/delete_hris_employee_skill_assignments_employee_skill_assignment_id_positive_response.rb +lib/kombo_client/models/delete_hris_skills_skill_id_positive_response.rb +lib/kombo_client/models/delete_integrations_integration_id_positive_response.rb +lib/kombo_client/models/get_ai_apply_applications_positive_response.rb +lib/kombo_client/models/get_ai_apply_applications_positive_response_data.rb +lib/kombo_client/models/get_ai_apply_applications_positive_response_data_results_inner.rb +lib/kombo_client/models/get_ai_apply_career_sites_positive_response.rb +lib/kombo_client/models/get_ai_apply_career_sites_positive_response_data.rb +lib/kombo_client/models/get_ai_apply_postings_positive_response.rb +lib/kombo_client/models/get_ai_apply_postings_positive_response_data.rb +lib/kombo_client/models/get_ai_apply_postings_positive_response_data_results_inner.rb +lib/kombo_client/models/get_ai_apply_postings_positive_response_data_results_inner_career_site.rb +lib/kombo_client/models/get_ai_apply_unified_api_jobs_positive_response.rb +lib/kombo_client/models/get_ai_apply_unified_api_jobs_positive_response_data.rb +lib/kombo_client/models/get_ai_apply_unified_api_jobs_positive_response_data_results_inner.rb +lib/kombo_client/models/get_ai_apply_unified_api_jobs_positive_response_data_results_inner_employment_type.rb +lib/kombo_client/models/get_ai_apply_unified_api_jobs_positive_response_data_results_inner_location.rb +lib/kombo_client/models/get_ai_apply_unified_api_jobs_positive_response_data_results_inner_screening_questions_inner.rb +lib/kombo_client/models/get_ai_apply_unified_api_jobs_positive_response_data_results_inner_screening_questions_inner_precondition_options.rb +lib/kombo_client/models/get_assessment_orders_open_positive_response.rb +lib/kombo_client/models/get_assessment_orders_open_positive_response_data.rb +lib/kombo_client/models/get_assessment_orders_open_positive_response_data_results_inner.rb +lib/kombo_client/models/get_assessment_orders_open_positive_response_data_results_inner_application.rb +lib/kombo_client/models/get_assessment_orders_open_positive_response_data_results_inner_candidate.rb +lib/kombo_client/models/get_assessment_orders_open_positive_response_data_results_inner_job.rb +lib/kombo_client/models/get_assessment_orders_open_positive_response_data_results_inner_job_hiring_team_inner.rb +lib/kombo_client/models/get_assessment_orders_open_positive_response_data_results_inner_job_location.rb +lib/kombo_client/models/get_assessment_packages_positive_response.rb +lib/kombo_client/models/get_assessment_packages_positive_response_data.rb +lib/kombo_client/models/get_assessment_packages_positive_response_data_packages_inner.rb +lib/kombo_client/models/get_ats_actions_ats_add_application_attachment_positive_response.rb +lib/kombo_client/models/get_ats_actions_ats_add_application_attachment_positive_response_data.rb +lib/kombo_client/models/get_ats_actions_ats_add_application_attachment_positive_response_data_attachment_restrictions.rb +lib/kombo_client/models/get_ats_actions_ats_add_application_attachment_positive_response_data_attachment_restrictions_types.rb +lib/kombo_client/models/get_ats_actions_ats_add_application_attachment_positive_response_data_attachment_restrictions_types_coverletter.rb +lib/kombo_client/models/get_ats_actions_ats_add_application_attachment_positive_response_data_attachment_restrictions_types_cv.rb +lib/kombo_client/models/get_ats_actions_ats_add_application_attachment_positive_response_data_attachment_restrictions_types_cv_any_of.rb +lib/kombo_client/models/get_ats_actions_ats_add_application_attachment_positive_response_data_attachment_restrictions_types_other.rb +lib/kombo_client/models/get_ats_actions_ats_add_candidate_attachment_positive_response.rb +lib/kombo_client/models/get_ats_actions_ats_create_application_positive_response.rb +lib/kombo_client/models/get_ats_actions_ats_create_candidate_positive_response.rb +lib/kombo_client/models/get_ats_actions_ats_create_candidate_positive_response_data.rb +lib/kombo_client/models/get_ats_actions_ats_create_candidate_positive_response_data_attachment_restrictions.rb +lib/kombo_client/models/get_ats_actions_ats_create_candidate_positive_response_data_attachment_restrictions_types.rb +lib/kombo_client/models/get_ats_actions_ats_create_candidate_positive_response_data_attachment_restrictions_types_coverletter.rb +lib/kombo_client/models/get_ats_actions_ats_create_candidate_positive_response_data_attachment_restrictions_types_cv.rb +lib/kombo_client/models/get_ats_actions_ats_create_candidate_positive_response_data_attachment_restrictions_types_cv_any_of.rb +lib/kombo_client/models/get_ats_actions_ats_create_candidate_positive_response_data_attachment_restrictions_types_cv_any_of1.rb +lib/kombo_client/models/get_ats_actions_ats_create_candidate_positive_response_data_attachment_restrictions_types_other.rb +lib/kombo_client/models/get_ats_application_stages_parameter_include_deleted.rb +lib/kombo_client/models/get_ats_application_stages_positive_response.rb +lib/kombo_client/models/get_ats_application_stages_positive_response_data.rb +lib/kombo_client/models/get_ats_application_stages_positive_response_data_results_inner.rb +lib/kombo_client/models/get_ats_applications_application_id_attachments_positive_response.rb +lib/kombo_client/models/get_ats_applications_application_id_attachments_positive_response_data.rb +lib/kombo_client/models/get_ats_applications_application_id_attachments_positive_response_data_results_inner.rb +lib/kombo_client/models/get_ats_applications_parameter_include_deleted.rb +lib/kombo_client/models/get_ats_applications_parameter_outcome.rb +lib/kombo_client/models/get_ats_applications_positive_response.rb +lib/kombo_client/models/get_ats_applications_positive_response_data.rb +lib/kombo_client/models/get_ats_applications_positive_response_data_results_inner.rb +lib/kombo_client/models/get_ats_applications_positive_response_data_results_inner_candidate.rb +lib/kombo_client/models/get_ats_applications_positive_response_data_results_inner_candidate_email_addresses_inner.rb +lib/kombo_client/models/get_ats_applications_positive_response_data_results_inner_candidate_phone_numbers_inner.rb +lib/kombo_client/models/get_ats_applications_positive_response_data_results_inner_candidate_social_media_inner.rb +lib/kombo_client/models/get_ats_applications_positive_response_data_results_inner_candidate_tags_inner.rb +lib/kombo_client/models/get_ats_applications_positive_response_data_results_inner_current_stage.rb +lib/kombo_client/models/get_ats_applications_positive_response_data_results_inner_interviews_inner.rb +lib/kombo_client/models/get_ats_applications_positive_response_data_results_inner_interviews_inner_location.rb +lib/kombo_client/models/get_ats_applications_positive_response_data_results_inner_job.rb +lib/kombo_client/models/get_ats_applications_positive_response_data_results_inner_offers_inner.rb +lib/kombo_client/models/get_ats_applications_positive_response_data_results_inner_screening_question_answers_inner.rb +lib/kombo_client/models/get_ats_applications_positive_response_data_results_inner_screening_question_answers_inner_any_of.rb +lib/kombo_client/models/get_ats_applications_positive_response_data_results_inner_screening_question_answers_inner_any_of1.rb +lib/kombo_client/models/get_ats_applications_positive_response_data_results_inner_screening_question_answers_inner_any_of1_answer.rb +lib/kombo_client/models/get_ats_applications_positive_response_data_results_inner_screening_question_answers_inner_any_of1_question.rb +lib/kombo_client/models/get_ats_applications_positive_response_data_results_inner_screening_question_answers_inner_any_of2.rb +lib/kombo_client/models/get_ats_applications_positive_response_data_results_inner_screening_question_answers_inner_any_of2_answer.rb +lib/kombo_client/models/get_ats_applications_positive_response_data_results_inner_screening_question_answers_inner_any_of2_question.rb +lib/kombo_client/models/get_ats_applications_positive_response_data_results_inner_screening_question_answers_inner_any_of3.rb +lib/kombo_client/models/get_ats_applications_positive_response_data_results_inner_screening_question_answers_inner_any_of3_answer.rb +lib/kombo_client/models/get_ats_applications_positive_response_data_results_inner_screening_question_answers_inner_any_of3_question.rb +lib/kombo_client/models/get_ats_applications_positive_response_data_results_inner_screening_question_answers_inner_any_of4.rb +lib/kombo_client/models/get_ats_applications_positive_response_data_results_inner_screening_question_answers_inner_any_of4_answer.rb +lib/kombo_client/models/get_ats_applications_positive_response_data_results_inner_screening_question_answers_inner_any_of4_question.rb +lib/kombo_client/models/get_ats_applications_positive_response_data_results_inner_screening_question_answers_inner_any_of5.rb +lib/kombo_client/models/get_ats_applications_positive_response_data_results_inner_screening_question_answers_inner_any_of5_answer.rb +lib/kombo_client/models/get_ats_applications_positive_response_data_results_inner_screening_question_answers_inner_any_of5_question.rb +lib/kombo_client/models/get_ats_applications_positive_response_data_results_inner_screening_question_answers_inner_any_of6.rb +lib/kombo_client/models/get_ats_applications_positive_response_data_results_inner_screening_question_answers_inner_any_of6_answer.rb +lib/kombo_client/models/get_ats_applications_positive_response_data_results_inner_screening_question_answers_inner_any_of6_question.rb +lib/kombo_client/models/get_ats_applications_positive_response_data_results_inner_screening_question_answers_inner_any_of_answer.rb +lib/kombo_client/models/get_ats_applications_positive_response_data_results_inner_screening_question_answers_inner_any_of_question.rb +lib/kombo_client/models/get_ats_candidates_candidate_id_attachments_positive_response.rb +lib/kombo_client/models/get_ats_candidates_candidate_id_attachments_positive_response_data.rb +lib/kombo_client/models/get_ats_candidates_candidate_id_attachments_positive_response_data_results_inner.rb +lib/kombo_client/models/get_ats_candidates_parameter_include_deleted.rb +lib/kombo_client/models/get_ats_candidates_positive_response.rb +lib/kombo_client/models/get_ats_candidates_positive_response_data.rb +lib/kombo_client/models/get_ats_candidates_positive_response_data_results_inner.rb +lib/kombo_client/models/get_ats_candidates_positive_response_data_results_inner_applications_inner.rb +lib/kombo_client/models/get_ats_candidates_positive_response_data_results_inner_location.rb +lib/kombo_client/models/get_ats_interviews_parameter_include_deleted.rb +lib/kombo_client/models/get_ats_interviews_positive_response.rb +lib/kombo_client/models/get_ats_interviews_positive_response_data.rb +lib/kombo_client/models/get_ats_interviews_positive_response_data_results_inner.rb +lib/kombo_client/models/get_ats_interviews_positive_response_data_results_inner_application.rb +lib/kombo_client/models/get_ats_interviews_positive_response_data_results_inner_users_inner.rb +lib/kombo_client/models/get_ats_jobs_parameter_include_deleted.rb +lib/kombo_client/models/get_ats_jobs_parameter_status.rb +lib/kombo_client/models/get_ats_jobs_positive_response.rb +lib/kombo_client/models/get_ats_jobs_positive_response_data.rb +lib/kombo_client/models/get_ats_jobs_positive_response_data_results_inner.rb +lib/kombo_client/models/get_ats_jobs_positive_response_data_results_inner_employment_type.rb +lib/kombo_client/models/get_ats_jobs_positive_response_data_results_inner_hiring_team_inner.rb +lib/kombo_client/models/get_ats_jobs_positive_response_data_results_inner_job_postings_inner.rb +lib/kombo_client/models/get_ats_jobs_positive_response_data_results_inner_location.rb +lib/kombo_client/models/get_ats_jobs_positive_response_data_results_inner_remote_work_status.rb +lib/kombo_client/models/get_ats_jobs_positive_response_data_results_inner_salary_period.rb +lib/kombo_client/models/get_ats_jobs_positive_response_data_results_inner_screening_questions_inner.rb +lib/kombo_client/models/get_ats_jobs_positive_response_data_results_inner_screening_questions_inner_format.rb +lib/kombo_client/models/get_ats_jobs_positive_response_data_results_inner_screening_questions_inner_format_any_of.rb +lib/kombo_client/models/get_ats_jobs_positive_response_data_results_inner_screening_questions_inner_format_any_of1.rb +lib/kombo_client/models/get_ats_jobs_positive_response_data_results_inner_screening_questions_inner_format_any_of2.rb +lib/kombo_client/models/get_ats_jobs_positive_response_data_results_inner_screening_questions_inner_format_any_of3.rb +lib/kombo_client/models/get_ats_jobs_positive_response_data_results_inner_screening_questions_inner_format_any_of3_options_inner.rb +lib/kombo_client/models/get_ats_jobs_positive_response_data_results_inner_screening_questions_inner_format_any_of4.rb +lib/kombo_client/models/get_ats_jobs_positive_response_data_results_inner_screening_questions_inner_format_any_of5.rb +lib/kombo_client/models/get_ats_jobs_positive_response_data_results_inner_screening_questions_inner_format_any_of6.rb +lib/kombo_client/models/get_ats_jobs_positive_response_data_results_inner_screening_questions_inner_format_any_of7.rb +lib/kombo_client/models/get_ats_jobs_positive_response_data_results_inner_screening_questions_inner_format_any_of8.rb +lib/kombo_client/models/get_ats_jobs_positive_response_data_results_inner_screening_questions_inner_precondition_options.rb +lib/kombo_client/models/get_ats_jobs_positive_response_data_results_inner_stages_inner.rb +lib/kombo_client/models/get_ats_jobs_positive_response_data_results_inner_status.rb +lib/kombo_client/models/get_ats_jobs_positive_response_data_results_inner_visibility.rb +lib/kombo_client/models/get_ats_offers_parameter_include_deleted.rb +lib/kombo_client/models/get_ats_offers_positive_response.rb +lib/kombo_client/models/get_ats_offers_positive_response_data.rb +lib/kombo_client/models/get_ats_offers_positive_response_data_results_inner.rb +lib/kombo_client/models/get_ats_offers_positive_response_data_results_inner_application.rb +lib/kombo_client/models/get_ats_offers_positive_response_data_results_inner_application_candidate.rb +lib/kombo_client/models/get_ats_rejection_reasons_parameter_include_deleted.rb +lib/kombo_client/models/get_ats_rejection_reasons_positive_response.rb +lib/kombo_client/models/get_ats_rejection_reasons_positive_response_data.rb +lib/kombo_client/models/get_ats_rejection_reasons_positive_response_data_results_inner.rb +lib/kombo_client/models/get_ats_tags_parameter_include_deleted.rb +lib/kombo_client/models/get_ats_tags_positive_response.rb +lib/kombo_client/models/get_ats_tags_positive_response_data.rb +lib/kombo_client/models/get_ats_tags_positive_response_data_results_inner.rb +lib/kombo_client/models/get_ats_users_parameter_include_deleted.rb +lib/kombo_client/models/get_ats_users_positive_response.rb +lib/kombo_client/models/get_ats_users_positive_response_data.rb +lib/kombo_client/models/get_ats_users_positive_response_data_results_inner.rb +lib/kombo_client/models/get_check_api_key_positive_response.rb +lib/kombo_client/models/get_check_api_key_positive_response_data.rb +lib/kombo_client/models/get_connect_integration_by_token_token_positive_response.rb +lib/kombo_client/models/get_connect_integration_by_token_token_positive_response_data.rb +lib/kombo_client/models/get_custom_datev_available_documents_positive_response.rb +lib/kombo_client/models/get_custom_datev_available_documents_positive_response_data.rb +lib/kombo_client/models/get_custom_datev_available_documents_positive_response_data_results_inner.rb +lib/kombo_client/models/get_custom_datev_available_documents_positive_response_data_results_inner_available_for_employees_inner.rb +lib/kombo_client/models/get_custom_datev_check_document_permission_positive_response.rb +lib/kombo_client/models/get_custom_datev_check_document_permission_positive_response_data.rb +lib/kombo_client/models/get_custom_datev_check_document_permission_positive_response_data_any_of.rb +lib/kombo_client/models/get_custom_datev_check_document_permission_positive_response_data_any_of1.rb +lib/kombo_client/models/get_custom_datev_check_eau_permission_positive_response.rb +lib/kombo_client/models/get_custom_datev_check_eau_permission_positive_response_data.rb +lib/kombo_client/models/get_custom_datev_check_write_permission_positive_response.rb +lib/kombo_client/models/get_custom_datev_data_pushes_positive_response.rb +lib/kombo_client/models/get_custom_datev_data_pushes_positive_response_data.rb +lib/kombo_client/models/get_custom_datev_data_pushes_positive_response_data_data_pushes_inner.rb +lib/kombo_client/models/get_custom_datev_data_pushes_positive_response_data_data_pushes_inner_upload_jobs_inner.rb +lib/kombo_client/models/get_custom_datev_eau_requests_eau_id_positive_response.rb +lib/kombo_client/models/get_custom_datev_eau_requests_eau_id_positive_response_data.rb +lib/kombo_client/models/get_custom_datev_eau_requests_eau_id_positive_response_data_raw.rb +lib/kombo_client/models/get_custom_datev_eau_requests_eau_id_positive_response_data_raw_feedbacks_from_health_insurance_inner.rb +lib/kombo_client/models/get_custom_datev_eau_requests_eau_id_positive_response_data_raw_feedbacks_from_health_insurance_inner_contact_person.rb +lib/kombo_client/models/get_custom_datev_eau_requests_eau_id_positive_response_data_raw_feedbacks_from_health_insurance_inner_error_block_list_inner.rb +lib/kombo_client/models/get_custom_datev_eau_requests_eau_id_positive_response_data_raw_feedbacks_from_health_insurance_inner_incapacity_for_work.rb +lib/kombo_client/models/get_custom_datev_system_information_positive_response.rb +lib/kombo_client/models/get_custom_datev_system_information_positive_response_data.rb +lib/kombo_client/models/get_hris_absence_types_parameter_include_deleted.rb +lib/kombo_client/models/get_hris_absence_types_positive_response.rb +lib/kombo_client/models/get_hris_absence_types_positive_response_data.rb +lib/kombo_client/models/get_hris_absence_types_positive_response_data_results_inner.rb +lib/kombo_client/models/get_hris_absences_parameter_include_deleted.rb +lib/kombo_client/models/get_hris_absences_positive_response.rb +lib/kombo_client/models/get_hris_absences_positive_response_data.rb +lib/kombo_client/models/get_hris_absences_positive_response_data_results_inner.rb +lib/kombo_client/models/get_hris_absences_positive_response_data_results_inner_status.rb +lib/kombo_client/models/get_hris_employee_document_categories_parameter_include_deleted.rb +lib/kombo_client/models/get_hris_employee_document_categories_positive_response.rb +lib/kombo_client/models/get_hris_employee_document_categories_positive_response_data.rb +lib/kombo_client/models/get_hris_employee_document_categories_positive_response_data_results_inner.rb +lib/kombo_client/models/get_hris_employee_skill_assignments_positive_response.rb +lib/kombo_client/models/get_hris_employee_skill_assignments_positive_response_data.rb +lib/kombo_client/models/get_hris_employee_skill_assignments_positive_response_data_results_inner.rb +lib/kombo_client/models/get_hris_employees_form_positive_response.rb +lib/kombo_client/models/get_hris_employees_form_positive_response_data.rb +lib/kombo_client/models/get_hris_employees_parameter_employment_status.rb +lib/kombo_client/models/get_hris_employees_parameter_include_deleted.rb +lib/kombo_client/models/get_hris_employees_positive_response.rb +lib/kombo_client/models/get_hris_employees_positive_response_data.rb +lib/kombo_client/models/get_hris_employees_positive_response_data_results_inner.rb +lib/kombo_client/models/get_hris_employees_positive_response_data_results_inner_bank_accounts_inner.rb +lib/kombo_client/models/get_hris_employees_positive_response_data_results_inner_bank_accounts_inner_domestic_bank_routing.rb +lib/kombo_client/models/get_hris_employees_positive_response_data_results_inner_employment_status.rb +lib/kombo_client/models/get_hris_employees_positive_response_data_results_inner_employment_type.rb +lib/kombo_client/models/get_hris_employees_positive_response_data_results_inner_employments_inner.rb +lib/kombo_client/models/get_hris_employees_positive_response_data_results_inner_employments_inner_pay_frequency.rb +lib/kombo_client/models/get_hris_employees_positive_response_data_results_inner_employments_inner_pay_period.rb +lib/kombo_client/models/get_hris_employees_positive_response_data_results_inner_ethnicity.rb +lib/kombo_client/models/get_hris_employees_positive_response_data_results_inner_gender.rb +lib/kombo_client/models/get_hris_employees_positive_response_data_results_inner_groups_inner.rb +lib/kombo_client/models/get_hris_employees_positive_response_data_results_inner_home_address.rb +lib/kombo_client/models/get_hris_employees_positive_response_data_results_inner_integration_fields_inner.rb +lib/kombo_client/models/get_hris_employees_positive_response_data_results_inner_legal_entity.rb +lib/kombo_client/models/get_hris_employees_positive_response_data_results_inner_legal_entity_address.rb +lib/kombo_client/models/get_hris_employees_positive_response_data_results_inner_manager.rb +lib/kombo_client/models/get_hris_employees_positive_response_data_results_inner_marital_status.rb +lib/kombo_client/models/get_hris_employees_positive_response_data_results_inner_time_off_balances_inner.rb +lib/kombo_client/models/get_hris_employees_positive_response_data_results_inner_work_location.rb +lib/kombo_client/models/get_hris_employees_positive_response_data_results_inner_work_location_address.rb +lib/kombo_client/models/get_hris_employments_parameter_include_deleted.rb +lib/kombo_client/models/get_hris_employments_positive_response.rb +lib/kombo_client/models/get_hris_employments_positive_response_data.rb +lib/kombo_client/models/get_hris_groups_parameter_include_deleted.rb +lib/kombo_client/models/get_hris_groups_positive_response.rb +lib/kombo_client/models/get_hris_job_positions_positive_response.rb +lib/kombo_client/models/get_hris_job_positions_positive_response_data.rb +lib/kombo_client/models/get_hris_job_positions_positive_response_data_results_inner.rb +lib/kombo_client/models/get_hris_job_positions_positive_response_data_results_inner_skills_inner.rb +lib/kombo_client/models/get_hris_legal_entities_parameter_include_deleted.rb +lib/kombo_client/models/get_hris_legal_entities_positive_response.rb +lib/kombo_client/models/get_hris_legal_entities_positive_response_data.rb +lib/kombo_client/models/get_hris_legal_entities_positive_response_data_results_inner.rb +lib/kombo_client/models/get_hris_locations_parameter_include_deleted.rb +lib/kombo_client/models/get_hris_locations_positive_response.rb +lib/kombo_client/models/get_hris_locations_positive_response_data.rb +lib/kombo_client/models/get_hris_performance_review_cycles_parameter_include_deleted.rb +lib/kombo_client/models/get_hris_performance_review_cycles_positive_response.rb +lib/kombo_client/models/get_hris_performance_review_cycles_positive_response_data.rb +lib/kombo_client/models/get_hris_performance_review_cycles_positive_response_data_results_inner.rb +lib/kombo_client/models/get_hris_performance_reviews_parameter_include_deleted.rb +lib/kombo_client/models/get_hris_performance_reviews_positive_response.rb +lib/kombo_client/models/get_hris_performance_reviews_positive_response_data.rb +lib/kombo_client/models/get_hris_performance_reviews_positive_response_data_results_inner.rb +lib/kombo_client/models/get_hris_performance_reviews_positive_response_data_results_inner_reviewee.rb +lib/kombo_client/models/get_hris_performance_reviews_positive_response_data_results_inner_reviewer.rb +lib/kombo_client/models/get_hris_performance_reviews_positive_response_data_results_inner_summary_rating.rb +lib/kombo_client/models/get_hris_performance_reviews_positive_response_data_results_inner_summary_rating_any_of.rb +lib/kombo_client/models/get_hris_performance_reviews_positive_response_data_results_inner_summary_rating_any_of1.rb +lib/kombo_client/models/get_hris_skills_positive_response.rb +lib/kombo_client/models/get_hris_skills_positive_response_data.rb +lib/kombo_client/models/get_hris_skills_positive_response_data_results_inner.rb +lib/kombo_client/models/get_hris_teams_parameter_include_deleted.rb +lib/kombo_client/models/get_hris_teams_positive_response.rb +lib/kombo_client/models/get_hris_teams_positive_response_data.rb +lib/kombo_client/models/get_hris_teams_positive_response_data_results_inner.rb +lib/kombo_client/models/get_hris_time_off_balances_parameter_include_deleted.rb +lib/kombo_client/models/get_hris_time_off_balances_positive_response.rb +lib/kombo_client/models/get_hris_time_off_balances_positive_response_data.rb +lib/kombo_client/models/get_hris_time_off_balances_positive_response_data_results_inner.rb +lib/kombo_client/models/get_hris_timesheets_parameter_include_deleted.rb +lib/kombo_client/models/get_hris_timesheets_positive_response.rb +lib/kombo_client/models/get_hris_timesheets_positive_response_data.rb +lib/kombo_client/models/get_hris_timesheets_positive_response_data_results_inner.rb +lib/kombo_client/models/get_hris_timesheets_positive_response_data_results_inner_breaks_inner.rb +lib/kombo_client/models/get_hris_timesheets_positive_response_data_results_inner_breaks_inner_ended_at.rb +lib/kombo_client/models/get_hris_timesheets_positive_response_data_results_inner_breaks_inner_started_at.rb +lib/kombo_client/models/get_integrations_integration_id_custom_fields_positive_response.rb +lib/kombo_client/models/get_integrations_integration_id_custom_fields_positive_response_data.rb +lib/kombo_client/models/get_integrations_integration_id_custom_fields_positive_response_data_results_inner.rb +lib/kombo_client/models/get_integrations_integration_id_custom_fields_positive_response_data_results_inner_integration_field.rb +lib/kombo_client/models/get_integrations_integration_id_integration_fields_positive_response.rb +lib/kombo_client/models/get_integrations_integration_id_integration_fields_positive_response_data.rb +lib/kombo_client/models/get_integrations_integration_id_integration_fields_positive_response_data_results_inner.rb +lib/kombo_client/models/get_integrations_integration_id_positive_response.rb +lib/kombo_client/models/get_integrations_integration_id_positive_response_data.rb +lib/kombo_client/models/get_integrations_integration_id_positive_response_data_end_user.rb +lib/kombo_client/models/get_integrations_integration_id_positive_response_data_read_models_inner.rb +lib/kombo_client/models/get_integrations_integration_id_positive_response_data_read_models_inner_fields_inner.rb +lib/kombo_client/models/get_integrations_integration_id_positive_response_data_scope_config.rb +lib/kombo_client/models/get_integrations_integration_id_positive_response_data_tool.rb +lib/kombo_client/models/get_lms_courses_positive_response.rb +lib/kombo_client/models/get_lms_courses_positive_response_data.rb +lib/kombo_client/models/get_lms_courses_positive_response_data_results_inner.rb +lib/kombo_client/models/get_lms_courses_positive_response_data_results_inner_ordered_content_inner.rb +lib/kombo_client/models/get_lms_courses_positive_response_data_results_inner_skills_inner.rb +lib/kombo_client/models/get_lms_users_parameter_status.rb +lib/kombo_client/models/get_lms_users_positive_response.rb +lib/kombo_client/models/get_lms_users_positive_response_data.rb +lib/kombo_client/models/get_lms_users_positive_response_data_results_inner.rb +lib/kombo_client/models/get_lms_users_positive_response_data_results_inner_progress_inner.rb +lib/kombo_client/models/get_tools_category_parameter_category.rb +lib/kombo_client/models/get_tools_category_positive_response.rb +lib/kombo_client/models/get_tools_category_positive_response_data.rb +lib/kombo_client/models/get_tools_category_positive_response_data_tools_inner.rb +lib/kombo_client/models/get_tools_category_positive_response_data_tools_inner_assets.rb +lib/kombo_client/models/get_tools_category_positive_response_data_tools_inner_coverage.rb +lib/kombo_client/models/get_tools_category_positive_response_data_tools_inner_coverage_features_inner.rb +lib/kombo_client/models/get_tools_category_positive_response_data_tools_inner_coverage_read_models_inner.rb +lib/kombo_client/models/get_tools_category_positive_response_data_tools_inner_coverage_read_models_inner_fields_inner.rb +lib/kombo_client/models/get_tools_category_positive_response_data_tools_inner_coverage_write_actions_inner.rb +lib/kombo_client/models/inline_assessment_order_received_webhook_payload.rb +lib/kombo_client/models/inline_object.rb +lib/kombo_client/models/inline_object1.rb +lib/kombo_client/models/inline_object1_error.rb +lib/kombo_client/models/inline_object2.rb +lib/kombo_client/models/inline_object2_error.rb +lib/kombo_client/models/inline_object3.rb +lib/kombo_client/models/inline_object3_error.rb +lib/kombo_client/models/inline_object_error.rb +lib/kombo_client/models/integration_created_webhook_payload.rb +lib/kombo_client/models/integration_created_webhook_payload_data.rb +lib/kombo_client/models/integration_deleted_webhook_payload.rb +lib/kombo_client/models/integration_deleted_webhook_payload_data.rb +lib/kombo_client/models/integration_state_changed_webhook_payload.rb +lib/kombo_client/models/integration_state_changed_webhook_payload_data.rb +lib/kombo_client/models/patch_ats_applications_application_id_interviews_positive_response.rb +lib/kombo_client/models/patch_ats_applications_application_id_interviews_request_body.rb +lib/kombo_client/models/patch_ats_applications_application_id_interviews_request_body_location.rb +lib/kombo_client/models/patch_hris_employee_skill_assignments_employee_skill_assignment_id_positive_response.rb +lib/kombo_client/models/patch_hris_employee_skill_assignments_employee_skill_assignment_id_request_body.rb +lib/kombo_client/models/patch_hris_employees_employee_id_positive_response.rb +lib/kombo_client/models/patch_hris_employees_employee_id_positive_response_data.rb +lib/kombo_client/models/patch_hris_employees_employee_id_request_body.rb +lib/kombo_client/models/patch_hris_skills_skill_id_positive_response.rb +lib/kombo_client/models/patch_hris_skills_skill_id_request_body.rb +lib/kombo_client/models/patch_integrations_integration_id_integration_fields_integration_field_id_positive_response.rb +lib/kombo_client/models/patch_integrations_integration_id_integration_fields_integration_field_id_request_body.rb +lib/kombo_client/models/patch_lms_progress_progress_id_positive_response.rb +lib/kombo_client/models/patch_lms_progress_progress_id_request_body.rb +lib/kombo_client/models/post_ai_apply_apply_positive_response.rb +lib/kombo_client/models/post_ai_apply_apply_positive_response_data.rb +lib/kombo_client/models/post_ai_apply_apply_request_body.rb +lib/kombo_client/models/post_ai_apply_apply_request_body_screening_question_answers_inner.rb +lib/kombo_client/models/post_ai_apply_career_sites_positive_response.rb +lib/kombo_client/models/post_ai_apply_career_sites_positive_response_data.rb +lib/kombo_client/models/post_ai_apply_career_sites_request_body.rb +lib/kombo_client/models/post_ai_apply_postings_positive_response.rb +lib/kombo_client/models/post_ai_apply_postings_posting_id_inquire_positive_response.rb +lib/kombo_client/models/post_ai_apply_postings_posting_id_inquire_positive_response_data.rb +lib/kombo_client/models/post_ai_apply_postings_posting_id_inquire_positive_response_data_application_form_inner.rb +lib/kombo_client/models/post_ai_apply_postings_posting_id_inquire_positive_response_data_application_form_inner_any_of.rb +lib/kombo_client/models/post_ai_apply_postings_posting_id_inquire_positive_response_data_application_form_inner_any_of1.rb +lib/kombo_client/models/post_ai_apply_postings_posting_id_inquire_positive_response_data_application_form_inner_any_of_display_when.rb +lib/kombo_client/models/post_ai_apply_postings_posting_id_inquire_positive_response_data_application_form_inner_any_of_display_when_answer_equals.rb +lib/kombo_client/models/post_ai_apply_postings_posting_id_inquire_positive_response_data_application_form_inner_any_of_display_when_answer_equals_one_of.rb +lib/kombo_client/models/post_ai_apply_postings_posting_id_inquire_positive_response_data_application_form_inner_any_of_options_inner.rb +lib/kombo_client/models/post_ai_apply_postings_posting_id_parse_positive_response.rb +lib/kombo_client/models/post_ai_apply_postings_request_body.rb +lib/kombo_client/models/post_ai_apply_postings_request_body_location.rb +lib/kombo_client/models/post_ai_apply_unified_api_jobs_job_id_applications_positive_response.rb +lib/kombo_client/models/post_ai_apply_unified_api_jobs_job_id_applications_request_body.rb +lib/kombo_client/models/post_ats_applications_application_id_attachments_positive_response.rb +lib/kombo_client/models/post_ats_applications_application_id_attachments_request_body.rb +lib/kombo_client/models/post_ats_applications_application_id_attachments_request_body_attachment.rb +lib/kombo_client/models/post_ats_applications_application_id_attachments_request_body_remote_fields.rb +lib/kombo_client/models/post_ats_applications_application_id_attachments_request_body_remote_fields_all_of_oracle.rb +lib/kombo_client/models/post_ats_applications_application_id_interviews_positive_response.rb +lib/kombo_client/models/post_ats_applications_application_id_interviews_request_body.rb +lib/kombo_client/models/post_ats_applications_application_id_interviews_request_body_location.rb +lib/kombo_client/models/post_ats_applications_application_id_notes_positive_response.rb +lib/kombo_client/models/post_ats_applications_application_id_notes_request_body.rb +lib/kombo_client/models/post_ats_applications_application_id_notes_request_body_remote_fields.rb +lib/kombo_client/models/post_ats_applications_application_id_notes_request_body_remote_fields_all_of_bullhorn.rb +lib/kombo_client/models/post_ats_applications_application_id_notes_request_body_remote_fields_all_of_greenhouse.rb +lib/kombo_client/models/post_ats_applications_application_id_notes_request_body_remote_fields_all_of_recruitee.rb +lib/kombo_client/models/post_ats_applications_application_id_notes_request_body_remote_fields_all_of_teamtailor.rb +lib/kombo_client/models/post_ats_applications_application_id_reject_positive_response.rb +lib/kombo_client/models/post_ats_applications_application_id_reject_request_body.rb +lib/kombo_client/models/post_ats_applications_application_id_reject_request_body_remote_fields.rb +lib/kombo_client/models/post_ats_applications_application_id_reject_request_body_remote_fields_all_of_greenhouse.rb +lib/kombo_client/models/post_ats_applications_application_id_result_links_positive_response.rb +lib/kombo_client/models/post_ats_applications_application_id_result_links_request_body.rb +lib/kombo_client/models/post_ats_applications_application_id_result_links_request_body_details.rb +lib/kombo_client/models/post_ats_applications_application_id_result_links_request_body_details_attributes_inner.rb +lib/kombo_client/models/post_ats_applications_application_id_result_links_request_body_remote_fields.rb +lib/kombo_client/models/post_ats_applications_application_id_result_links_request_body_remote_fields_all_of_icims.rb +lib/kombo_client/models/post_ats_applications_application_id_result_links_request_body_remote_fields_all_of_oracle.rb +lib/kombo_client/models/post_ats_candidates_candidate_id_attachments_positive_response.rb +lib/kombo_client/models/post_ats_candidates_candidate_id_attachments_request_body.rb +lib/kombo_client/models/post_ats_candidates_candidate_id_result_links_positive_response.rb +lib/kombo_client/models/post_ats_candidates_candidate_id_result_links_request_body.rb +lib/kombo_client/models/post_ats_candidates_candidate_id_tags_positive_response.rb +lib/kombo_client/models/post_ats_candidates_candidate_id_tags_request_body.rb +lib/kombo_client/models/post_ats_candidates_candidate_id_tags_request_body_tag.rb +lib/kombo_client/models/post_ats_candidates_positive_response.rb +lib/kombo_client/models/post_ats_candidates_request_body.rb +lib/kombo_client/models/post_ats_candidates_request_body_application.rb +lib/kombo_client/models/post_ats_candidates_request_body_candidate.rb +lib/kombo_client/models/post_ats_candidates_request_body_candidate_additional_email_addresses_inner.rb +lib/kombo_client/models/post_ats_candidates_request_body_candidate_additional_phone_numbers_inner.rb +lib/kombo_client/models/post_ats_candidates_request_body_candidate_location.rb +lib/kombo_client/models/post_ats_candidates_request_body_candidate_salary_expectations.rb +lib/kombo_client/models/post_ats_candidates_request_body_candidate_social_links_inner.rb +lib/kombo_client/models/post_ats_candidates_request_body_gdpr_consent.rb +lib/kombo_client/models/post_ats_candidates_request_body_remote_fields.rb +lib/kombo_client/models/post_ats_candidates_request_body_remote_fields_all_of_avature.rb +lib/kombo_client/models/post_ats_candidates_request_body_remote_fields_all_of_avature_workflow.rb +lib/kombo_client/models/post_ats_candidates_request_body_remote_fields_all_of_avature_workflow_step.rb +lib/kombo_client/models/post_ats_candidates_request_body_remote_fields_all_of_bullhorn.rb +lib/kombo_client/models/post_ats_candidates_request_body_remote_fields_all_of_dvinci.rb +lib/kombo_client/models/post_ats_candidates_request_body_remote_fields_all_of_greenhouse.rb +lib/kombo_client/models/post_ats_candidates_request_body_remote_fields_all_of_guidecom.rb +lib/kombo_client/models/post_ats_candidates_request_body_remote_fields_all_of_hrworks.rb +lib/kombo_client/models/post_ats_candidates_request_body_remote_fields_all_of_jobylon.rb +lib/kombo_client/models/post_ats_candidates_request_body_remote_fields_all_of_jobylon_application.rb +lib/kombo_client/models/post_ats_candidates_request_body_remote_fields_all_of_lever.rb +lib/kombo_client/models/post_ats_candidates_request_body_remote_fields_all_of_personio.rb +lib/kombo_client/models/post_ats_candidates_request_body_remote_fields_all_of_piloga.rb +lib/kombo_client/models/post_ats_candidates_request_body_remote_fields_all_of_piloga_candidate.rb +lib/kombo_client/models/post_ats_candidates_request_body_remote_fields_all_of_recruitee.rb +lib/kombo_client/models/post_ats_candidates_request_body_remote_fields_all_of_recruitee_candidate.rb +lib/kombo_client/models/post_ats_candidates_request_body_remote_fields_all_of_smartrecruiters.rb +lib/kombo_client/models/post_ats_candidates_request_body_remote_fields_all_of_successfactors.rb +lib/kombo_client/models/post_ats_candidates_request_body_remote_fields_all_of_talentadore.rb +lib/kombo_client/models/post_ats_candidates_request_body_remote_fields_all_of_talentsoft.rb +lib/kombo_client/models/post_ats_candidates_request_body_remote_fields_all_of_teamtailor.rb +lib/kombo_client/models/post_ats_candidates_request_body_remote_fields_all_of_teamtailor_application.rb +lib/kombo_client/models/post_ats_candidates_request_body_remote_fields_all_of_umantis.rb +lib/kombo_client/models/post_ats_candidates_request_body_remote_fields_all_of_workable.rb +lib/kombo_client/models/post_ats_candidates_request_body_remote_fields_all_of_workday.rb +lib/kombo_client/models/post_ats_candidates_request_body_remote_fields_all_of_workday_candidate_data.rb +lib/kombo_client/models/post_ats_candidates_request_body_remote_fields_all_of_workday_candidate_data_contact_data.rb +lib/kombo_client/models/post_ats_candidates_request_body_remote_fields_all_of_workday_candidate_data_contact_data_location_data.rb +lib/kombo_client/models/post_ats_candidates_request_body_remote_fields_all_of_workday_candidate_data_contact_data_location_data_country_region_reference.rb +lib/kombo_client/models/post_ats_candidates_request_body_remote_fields_all_of_workday_candidate_data_job_application_data.rb +lib/kombo_client/models/post_ats_candidates_request_body_remote_fields_all_of_workday_candidate_data_job_application_data_job_applied_to_data.rb +lib/kombo_client/models/post_ats_candidates_request_body_remote_fields_all_of_workday_candidate_data_job_application_data_job_applied_to_data_global_personal_information_data.rb +lib/kombo_client/models/post_ats_candidates_request_body_remote_fields_all_of_workday_candidate_data_job_application_data_resume_data.rb +lib/kombo_client/models/post_ats_candidates_request_body_remote_fields_all_of_workday_candidate_data_job_application_data_resume_data_education_data_inner.rb +lib/kombo_client/models/post_ats_candidates_request_body_remote_fields_all_of_workday_candidate_data_job_application_data_resume_data_education_data_inner_field_of_study_reference.rb +lib/kombo_client/models/post_ats_candidates_request_body_remote_fields_all_of_workday_candidate_data_job_application_data_resume_data_experience_data_inner.rb +lib/kombo_client/models/post_ats_candidates_request_body_remote_fields_all_of_workday_candidate_data_job_application_data_resume_data_language_data_inner.rb +lib/kombo_client/models/post_ats_candidates_request_body_remote_fields_all_of_workday_candidate_data_job_application_data_resume_data_language_data_inner_language.rb +lib/kombo_client/models/post_ats_candidates_request_body_remote_fields_all_of_workday_candidate_data_job_application_data_resume_data_language_data_inner_language_language_ability_inner.rb +lib/kombo_client/models/post_ats_candidates_request_body_remote_fields_all_of_workday_candidate_data_job_application_data_resume_data_language_data_inner_language_language_ability_inner_language_ability_data.rb +lib/kombo_client/models/post_ats_candidates_request_body_remote_fields_all_of_workday_candidate_data_job_application_data_resume_data_language_data_inner_language_reference.rb +lib/kombo_client/models/post_ats_candidates_request_body_remote_fields_all_of_workday_candidate_data_job_application_data_resume_data_skill_data_inner.rb +lib/kombo_client/models/post_ats_candidates_request_body_remote_fields_all_of_workday_candidate_data_language_reference.rb +lib/kombo_client/models/post_ats_candidates_request_body_remote_fields_all_of_workday_candidate_data_name_detail_data.rb +lib/kombo_client/models/post_ats_candidates_request_body_remote_fields_all_of_workday_candidate_data_name_detail_data_social_suffix_reference.rb +lib/kombo_client/models/post_ats_candidates_request_body_remote_fields_all_of_workday_candidate_data_worker_reference.rb +lib/kombo_client/models/post_ats_candidates_request_body_remote_fields_all_of_zohorecruit.rb +lib/kombo_client/models/post_ats_candidates_request_body_screening_question_answers_inner.rb +lib/kombo_client/models/post_ats_candidates_request_body_screening_question_answers_inner_answer.rb +lib/kombo_client/models/post_ats_candidates_request_body_screening_question_answers_inner_answer_any_of.rb +lib/kombo_client/models/post_ats_candidates_request_body_source.rb +lib/kombo_client/models/post_ats_candidates_request_body_sourced_by.rb +lib/kombo_client/models/post_ats_import_tracked_application_positive_response.rb +lib/kombo_client/models/post_ats_import_tracked_application_positive_response_data.rb +lib/kombo_client/models/post_ats_import_tracked_application_positive_response_data_imported_id.rb +lib/kombo_client/models/post_ats_import_tracked_application_positive_response_data_imported_id_erecruiter.rb +lib/kombo_client/models/post_ats_import_tracked_application_positive_response_data_imported_id_erecruiter_any_of.rb +lib/kombo_client/models/post_ats_import_tracked_application_positive_response_data_imported_id_erecruiter_any_of1.rb +lib/kombo_client/models/post_ats_import_tracked_application_positive_response_data_imported_id_greenhouse.rb +lib/kombo_client/models/post_ats_import_tracked_application_positive_response_data_imported_id_onlyfy.rb +lib/kombo_client/models/post_ats_import_tracked_application_positive_response_data_imported_id_recruitee.rb +lib/kombo_client/models/post_ats_import_tracked_application_positive_response_data_imported_id_smartrecruiters.rb +lib/kombo_client/models/post_ats_import_tracked_application_positive_response_data_imported_id_successfactors.rb +lib/kombo_client/models/post_ats_import_tracked_application_request_body.rb +lib/kombo_client/models/post_ats_jobs_job_id_applications_positive_response.rb +lib/kombo_client/models/post_ats_jobs_job_id_applications_positive_response_data.rb +lib/kombo_client/models/post_ats_jobs_job_id_applications_positive_response_data_candidate.rb +lib/kombo_client/models/post_ats_jobs_job_id_applications_request_body.rb +lib/kombo_client/models/post_connect_activate_integration_positive_response.rb +lib/kombo_client/models/post_connect_activate_integration_request_body.rb +lib/kombo_client/models/post_connect_create_link_positive_response.rb +lib/kombo_client/models/post_connect_create_link_request_body.rb +lib/kombo_client/models/post_custom_datev_download_document_positive_response.rb +lib/kombo_client/models/post_custom_datev_download_document_positive_response_data.rb +lib/kombo_client/models/post_custom_datev_download_document_request_body.rb +lib/kombo_client/models/post_custom_datev_employees_employee_id_download_document_positive_response.rb +lib/kombo_client/models/post_custom_datev_employees_employee_id_download_document_request_body.rb +lib/kombo_client/models/post_custom_datev_employees_employee_id_eau_requests_positive_response.rb +lib/kombo_client/models/post_custom_datev_employees_employee_id_eau_requests_positive_response_data.rb +lib/kombo_client/models/post_custom_datev_employees_employee_id_eau_requests_request_body.rb +lib/kombo_client/models/post_custom_datev_employees_employee_id_eau_requests_request_body_contact_person.rb +lib/kombo_client/models/post_custom_datev_employees_employee_id_eau_requests_request_body_notification.rb +lib/kombo_client/models/post_custom_datev_passthrough_positive_response.rb +lib/kombo_client/models/post_custom_datev_passthrough_request_body.rb +lib/kombo_client/models/post_custom_datev_push_data_general_positive_response.rb +lib/kombo_client/models/post_custom_datev_push_data_general_positive_response_data.rb +lib/kombo_client/models/post_custom_datev_push_data_general_positive_response_data_files_inner.rb +lib/kombo_client/models/post_custom_datev_push_data_payroll_positive_response.rb +lib/kombo_client/models/post_custom_datev_push_data_payroll_request_body.rb +lib/kombo_client/models/post_custom_silae_employees_employee_id_payroll_supplements_positive_response.rb +lib/kombo_client/models/post_custom_silae_employees_employee_id_payroll_supplements_request_body.rb +lib/kombo_client/models/post_force_sync_positive_response.rb +lib/kombo_client/models/post_force_sync_positive_response_data.rb +lib/kombo_client/models/post_force_sync_request_body.rb +lib/kombo_client/models/post_hris_absences_positive_response.rb +lib/kombo_client/models/post_hris_absences_positive_response_data.rb +lib/kombo_client/models/post_hris_absences_request_body.rb +lib/kombo_client/models/post_hris_absences_request_body_remote_fields.rb +lib/kombo_client/models/post_hris_absences_request_body_remote_fields_adpworkforcenow.rb +lib/kombo_client/models/post_hris_employee_skill_assignments_positive_response.rb +lib/kombo_client/models/post_hris_employee_skill_assignments_request_body.rb +lib/kombo_client/models/post_hris_employees_employee_id_documents_positive_response.rb +lib/kombo_client/models/post_hris_employees_employee_id_documents_request_body.rb +lib/kombo_client/models/post_hris_employees_form_positive_response.rb +lib/kombo_client/models/post_hris_employees_form_positive_response_data.rb +lib/kombo_client/models/post_hris_employees_form_request_body.rb +lib/kombo_client/models/post_hris_employees_positive_response.rb +lib/kombo_client/models/post_hris_employees_positive_response_data.rb +lib/kombo_client/models/post_hris_employees_request_body.rb +lib/kombo_client/models/post_hris_employees_request_body_home_address.rb +lib/kombo_client/models/post_hris_employees_request_body_remote_fields.rb +lib/kombo_client/models/post_hris_employees_request_body_remote_fields_adpworkforcenow.rb +lib/kombo_client/models/post_hris_employees_request_body_remote_fields_azuread.rb +lib/kombo_client/models/post_hris_employees_request_body_remote_fields_bamboohr.rb +lib/kombo_client/models/post_hris_employees_request_body_remote_fields_dayforce.rb +lib/kombo_client/models/post_hris_employees_request_body_remote_fields_deel.rb +lib/kombo_client/models/post_hris_employees_request_body_remote_fields_hibob.rb +lib/kombo_client/models/post_hris_employees_request_body_remote_fields_humaans.rb +lib/kombo_client/models/post_hris_employees_request_body_remote_fields_oracle.rb +lib/kombo_client/models/post_hris_employees_request_body_remote_fields_paycor.rb +lib/kombo_client/models/post_hris_employees_request_body_remote_fields_peoplehr.rb +lib/kombo_client/models/post_hris_employees_request_body_remote_fields_planday.rb +lib/kombo_client/models/post_hris_employees_request_body_remote_fields_silae.rb +lib/kombo_client/models/post_hris_employees_request_body_remote_fields_sympa.rb +lib/kombo_client/models/post_hris_employees_request_body_remote_fields_workday.rb +lib/kombo_client/models/post_hris_employees_request_body_remote_fields_workday_bank_account.rb +lib/kombo_client/models/post_hris_employees_request_body_remote_fields_zohopeople.rb +lib/kombo_client/models/post_hris_provisioning_groups_group_id_diff_positive_response.rb +lib/kombo_client/models/post_hris_provisioning_groups_group_id_diff_positive_response_data.rb +lib/kombo_client/models/post_hris_provisioning_groups_group_id_diff_positive_response_data_users.rb +lib/kombo_client/models/post_hris_provisioning_groups_group_id_diff_positive_response_data_users_already_provisioned_inner.rb +lib/kombo_client/models/post_hris_provisioning_groups_group_id_diff_positive_response_data_users_to_deprovision_inner.rb +lib/kombo_client/models/post_hris_provisioning_groups_group_id_diff_positive_response_data_users_to_provision_inner.rb +lib/kombo_client/models/post_hris_provisioning_groups_group_id_diff_positive_response_data_users_to_provision_inner_employee.rb +lib/kombo_client/models/post_hris_provisioning_groups_group_id_diff_positive_response_data_users_to_provision_inner_employee_groups_inner.rb +lib/kombo_client/models/post_hris_provisioning_groups_group_id_diff_request_body.rb +lib/kombo_client/models/post_hris_provisioning_groups_group_id_diff_request_body_options.rb +lib/kombo_client/models/post_hris_provisioning_groups_group_id_diff_request_body_provisioned_users_inner.rb +lib/kombo_client/models/post_hris_provisioning_groups_group_id_setup_links_positive_response.rb +lib/kombo_client/models/post_hris_provisioning_groups_group_id_setup_links_positive_response_data.rb +lib/kombo_client/models/post_hris_provisioning_groups_group_id_setup_links_request_body.rb +lib/kombo_client/models/post_hris_skills_positive_response.rb +lib/kombo_client/models/post_hris_skills_request_body.rb +lib/kombo_client/models/post_integrations_integration_id_relink_positive_response.rb +lib/kombo_client/models/post_integrations_integration_id_relink_positive_response_data.rb +lib/kombo_client/models/post_integrations_integration_id_relink_request_body.rb +lib/kombo_client/models/post_lms_content_positive_response.rb +lib/kombo_client/models/post_lms_content_positive_response_data.rb +lib/kombo_client/models/post_lms_content_request_body.rb +lib/kombo_client/models/post_lms_courses_positive_response.rb +lib/kombo_client/models/post_lms_courses_request_body.rb +lib/kombo_client/models/post_lms_courses_request_body_skills_inner.rb +lib/kombo_client/models/post_lms_progress_positive_response.rb +lib/kombo_client/models/post_lms_progress_positive_response_data.rb +lib/kombo_client/models/post_lms_progress_request_body.rb +lib/kombo_client/models/post_passthrough_tool_api_positive_response.rb +lib/kombo_client/models/post_passthrough_tool_api_positive_response_data.rb +lib/kombo_client/models/post_passthrough_tool_api_positive_response_data_headers_value.rb +lib/kombo_client/models/post_passthrough_tool_api_positive_response_warnings_inner.rb +lib/kombo_client/models/post_passthrough_tool_api_request_body.rb +lib/kombo_client/models/post_passthrough_tool_api_request_body_multipart_form_data_inner.rb +lib/kombo_client/models/post_passthrough_tool_api_request_body_multipart_form_data_inner_value.rb +lib/kombo_client/models/post_passthrough_tool_api_request_body_multipart_form_data_inner_value_one_of.rb +lib/kombo_client/models/put_assessment_orders_assessment_order_id_result_positive_response.rb +lib/kombo_client/models/put_assessment_orders_assessment_order_id_result_request_body.rb +lib/kombo_client/models/put_assessment_orders_assessment_order_id_result_request_body_attributes_inner.rb +lib/kombo_client/models/put_assessment_orders_assessment_order_id_result_request_body_attributes_inner_any_of.rb +lib/kombo_client/models/put_assessment_orders_assessment_order_id_result_request_body_attributes_inner_any_of1.rb +lib/kombo_client/models/put_assessment_orders_assessment_order_id_result_request_body_attributes_inner_any_of1_score.rb +lib/kombo_client/models/put_assessment_orders_assessment_order_id_result_request_body_remote_fields.rb +lib/kombo_client/models/put_assessment_orders_assessment_order_id_result_request_body_remote_fields_smartrecruiters.rb +lib/kombo_client/models/put_assessment_packages_positive_response.rb +lib/kombo_client/models/put_assessment_packages_request_body.rb +lib/kombo_client/models/put_assessment_packages_request_body_packages_inner.rb +lib/kombo_client/models/put_ats_applications_application_id_stage_positive_response.rb +lib/kombo_client/models/put_ats_applications_application_id_stage_request_body.rb +lib/kombo_client/models/put_ats_applications_application_id_stage_request_body_remote_fields.rb +lib/kombo_client/models/put_ats_applications_application_id_stage_request_body_remote_fields_greenhouse.rb +lib/kombo_client/models/put_ats_applications_application_id_stage_request_body_remote_fields_greenhouse_post_headers.rb +lib/kombo_client/models/put_ats_applications_application_id_stage_request_body_remote_fields_workable.rb +lib/kombo_client/models/put_custom_datev_employees_employee_id_compensations_positive_response.rb +lib/kombo_client/models/put_custom_datev_employees_employee_id_compensations_request_body.rb +lib/kombo_client/models/put_custom_datev_employees_employee_id_compensations_request_body_compensations_inner.rb +lib/kombo_client/models/put_custom_datev_employees_employee_id_prepare_payroll_positive_response.rb +lib/kombo_client/models/put_custom_datev_employees_employee_id_prepare_payroll_request_body.rb +lib/kombo_client/models/put_custom_datev_employees_employee_id_prepare_payroll_request_body_custom_lodas_inner.rb +lib/kombo_client/models/put_custom_datev_employees_employee_id_prepare_payroll_request_body_fixed_payments_inner.rb +lib/kombo_client/models/put_custom_datev_employees_employee_id_prepare_payroll_request_body_hourly_payments_inner.rb +lib/kombo_client/models/put_custom_datev_employees_employee_id_prepare_payroll_request_body_payroll_run.rb +lib/kombo_client/models/put_integrations_integration_id_custom_fields_custom_field_id_positive_response.rb +lib/kombo_client/models/put_integrations_integration_id_custom_fields_custom_field_id_request_body.rb +lib/kombo_client/models/remote_event_received_webhook_payload.rb +lib/kombo_client/models/remote_event_received_webhook_payload_data.rb +lib/kombo_client/models/schema1_value.rb +lib/kombo_client/models/schema2.rb +lib/kombo_client/models/schema2_any_of.rb +lib/kombo_client/models/schema2_any_of1.rb +lib/kombo_client/models/schema2_any_of2.rb +lib/kombo_client/models/schema2_any_of3.rb +lib/kombo_client/models/schema2_any_of3_options.rb +lib/kombo_client/models/schema2_any_of3_options_any_of.rb +lib/kombo_client/models/schema2_any_of3_options_any_of1.rb +lib/kombo_client/models/schema2_any_of3_options_any_of_entries_inner.rb +lib/kombo_client/models/schema2_any_of3_options_any_of_entries_inner_remote_id.rb +lib/kombo_client/models/schema2_any_of4.rb +lib/kombo_client/models/schema2_any_of5.rb +lib/kombo_client/models/schema2_any_of6.rb +lib/kombo_client/models/schema2_any_of7.rb +lib/kombo_client/models/schema2_any_of8.rb +lib/kombo_client/models/schema2_any_of8_file_restrictions.rb +lib/kombo_client/models/schema4.rb +lib/kombo_client/models/sync_finished_webhook_payload.rb +lib/kombo_client/models/sync_finished_webhook_payload_data.rb +lib/kombo_client/version.rb +spec/spec_helper.rb diff --git a/.openapi-generator/VERSION b/.openapi-generator/VERSION new file mode 100644 index 0000000..6328c54 --- /dev/null +++ b/.openapi-generator/VERSION @@ -0,0 +1 @@ +7.17.0 diff --git a/.rspec b/.rspec new file mode 100644 index 0000000..83e16f8 --- /dev/null +++ b/.rspec @@ -0,0 +1,2 @@ +--color +--require spec_helper diff --git a/.rubocop.yml b/.rubocop.yml new file mode 100644 index 0000000..d32b2b1 --- /dev/null +++ b/.rubocop.yml @@ -0,0 +1,148 @@ +# This file is based on https://github.com/rails/rails/blob/master/.rubocop.yml (MIT license) +# Automatically generated by OpenAPI Generator (https://openapi-generator.tech) +AllCops: + TargetRubyVersion: 2.4 + # RuboCop has a bunch of cops enabled by default. This setting tells RuboCop + # to ignore them, so only the ones explicitly set in this file are enabled. + DisabledByDefault: true + Exclude: + - '**/templates/**/*' + - '**/vendor/**/*' + - 'actionpack/lib/action_dispatch/journey/parser.rb' + +# Prefer &&/|| over and/or. +Style/AndOr: + Enabled: true + +# Align `when` with `case`. +Layout/CaseIndentation: + Enabled: true + +# Align comments with method definitions. +Layout/CommentIndentation: + Enabled: true + +Layout/ElseAlignment: + Enabled: true + +Layout/EmptyLineAfterMagicComment: + Enabled: true + +# In a regular class definition, no empty lines around the body. +Layout/EmptyLinesAroundClassBody: + Enabled: true + +# In a regular method definition, no empty lines around the body. +Layout/EmptyLinesAroundMethodBody: + Enabled: true + +# In a regular module definition, no empty lines around the body. +Layout/EmptyLinesAroundModuleBody: + Enabled: true + +Layout/FirstArgumentIndentation: + Enabled: true + +# Use Ruby >= 1.9 syntax for hashes. Prefer { a: :b } over { :a => :b }. +Style/HashSyntax: + Enabled: false + +# Method definitions after `private` or `protected` isolated calls need one +# extra level of indentation. +Layout/IndentationConsistency: + Enabled: true + EnforcedStyle: indented_internal_methods + +# Two spaces, no tabs (for indentation). +Layout/IndentationWidth: + Enabled: true + +Layout/LeadingCommentSpace: + Enabled: true + +Layout/SpaceAfterColon: + Enabled: true + +Layout/SpaceAfterComma: + Enabled: true + +Layout/SpaceAroundEqualsInParameterDefault: + Enabled: true + +Layout/SpaceAroundKeyword: + Enabled: true + +Layout/SpaceAroundOperators: + Enabled: true + +Layout/SpaceBeforeComma: + Enabled: true + +Layout/SpaceBeforeFirstArg: + Enabled: true + +Style/DefWithParentheses: + Enabled: true + +# Defining a method with parameters needs parentheses. +Style/MethodDefParentheses: + Enabled: true + +Style/FrozenStringLiteralComment: + Enabled: false + EnforcedStyle: always + +# Use `foo {}` not `foo{}`. +Layout/SpaceBeforeBlockBraces: + Enabled: true + +# Use `foo { bar }` not `foo {bar}`. +Layout/SpaceInsideBlockBraces: + Enabled: true + +# Use `{ a: 1 }` not `{a:1}`. +Layout/SpaceInsideHashLiteralBraces: + Enabled: true + +Layout/SpaceInsideParens: + Enabled: true + +# Check quotes usage according to lint rule below. +#Style/StringLiterals: +# Enabled: true +# EnforcedStyle: single_quotes + +# Detect hard tabs, no hard tabs. +Layout/IndentationStyle: + Enabled: true + +# Blank lines should not have any spaces. +Layout/TrailingEmptyLines: + Enabled: true + +# No trailing whitespace. +Layout/TrailingWhitespace: + Enabled: false + +# Use quotes for string literals when they are enough. +Style/RedundantPercentQ: + Enabled: true + +# Align `end` with the matching keyword or starting expression except for +# assignments, where it should be aligned with the LHS. +Layout/EndAlignment: + Enabled: true + EnforcedStyleAlignWith: variable + AutoCorrect: true + +# Use my_method(my_arg) not my_method( my_arg ) or my_method my_arg. +Lint/RequireParentheses: + Enabled: true + +Style/RedundantReturn: + Enabled: true + AllowMultipleReturnValues: true + +Style/Semicolon: + Enabled: true + AllowAsExpressionSeparator: true diff --git a/.ruby-version b/.ruby-version new file mode 100644 index 0000000..2aa5131 --- /dev/null +++ b/.ruby-version @@ -0,0 +1 @@ +3.4.7 diff --git a/Gemfile b/Gemfile new file mode 100644 index 0000000..c2e3127 --- /dev/null +++ b/Gemfile @@ -0,0 +1,9 @@ +source 'https://rubygems.org' + +gemspec + +group :development, :test do + gem 'rake', '~> 13.0.1' + gem 'pry-byebug' + gem 'rubocop', '~> 0.66.0' +end diff --git a/Gemfile.lock b/Gemfile.lock new file mode 100644 index 0000000..211f17c --- /dev/null +++ b/Gemfile.lock @@ -0,0 +1,94 @@ +PATH + remote: . + specs: + kombo_client (0) + typhoeus (~> 1.0, >= 1.0.1) + +GEM + remote: https://rubygems.org/ + specs: + ast (2.4.3) + byebug (12.0.0) + coderay (1.1.3) + date (3.5.0) + diff-lcs (1.6.2) + ethon (0.15.0) + ffi (>= 1.15.0) + ffi (1.17.2) + ffi (1.17.2-aarch64-linux-gnu) + ffi (1.17.2-aarch64-linux-musl) + ffi (1.17.2-arm-linux-gnu) + ffi (1.17.2-arm-linux-musl) + ffi (1.17.2-arm64-darwin) + ffi (1.17.2-x86-linux-gnu) + ffi (1.17.2-x86-linux-musl) + ffi (1.17.2-x86_64-darwin) + ffi (1.17.2-x86_64-linux-gnu) + ffi (1.17.2-x86_64-linux-musl) + jaro_winkler (1.5.6) + method_source (1.1.0) + parallel (1.27.0) + parser (3.3.10.0) + ast (~> 2.4.1) + racc + pry (0.15.2) + coderay (~> 1.1) + method_source (~> 1.0) + pry-byebug (3.11.0) + byebug (~> 12.0) + pry (>= 0.13, < 0.16) + psych (5.2.6) + date + stringio + racc (1.8.1) + rainbow (3.1.1) + rake (13.0.6) + rspec (3.13.2) + rspec-core (~> 3.13.0) + rspec-expectations (~> 3.13.0) + rspec-mocks (~> 3.13.0) + rspec-core (3.13.6) + rspec-support (~> 3.13.0) + rspec-expectations (3.13.5) + diff-lcs (>= 1.2.0, < 2.0) + rspec-support (~> 3.13.0) + rspec-mocks (3.13.7) + diff-lcs (>= 1.2.0, < 2.0) + rspec-support (~> 3.13.0) + rspec-support (3.13.6) + rubocop (0.66.0) + jaro_winkler (~> 1.5.1) + parallel (~> 1.10) + parser (>= 2.5, != 2.5.1.1) + psych (>= 3.1.0) + rainbow (>= 2.2.2, < 4.0) + ruby-progressbar (~> 1.7) + unicode-display_width (>= 1.4.0, < 1.6) + ruby-progressbar (1.13.0) + stringio (3.1.8) + typhoeus (1.5.0) + ethon (>= 0.9.0, < 0.16.0) + unicode-display_width (1.5.0) + +PLATFORMS + aarch64-linux-gnu + aarch64-linux-musl + arm-linux-gnu + arm-linux-musl + arm64-darwin + ruby + x86-linux-gnu + x86-linux-musl + x86_64-darwin + x86_64-linux-gnu + x86_64-linux-musl + +DEPENDENCIES + kombo_client! + pry-byebug + rake (~> 13.0.1) + rspec (~> 3.6, >= 3.6.0) + rubocop (~> 0.66.0) + +BUNDLED WITH + 2.6.3 diff --git a/README.md b/README.md index f628863..9b64f25 100644 --- a/README.md +++ b/README.md @@ -1,2 +1,5 @@ -# kombo-ruby-sdk -Experimental ruby SDK for kombo.dev +# Kombo.dev Ruby SDK Generator + +This experimental repository generates a Ruby SDK from [Kombo's OpenAPI spec](https://api.kombo.dev/openapi.json). + + diff --git a/Rakefile b/Rakefile new file mode 100644 index 0000000..c72ca30 --- /dev/null +++ b/Rakefile @@ -0,0 +1,10 @@ +require "bundler/gem_tasks" + +begin + require 'rspec/core/rake_task' + + RSpec::Core::RakeTask.new(:spec) + task default: :spec +rescue LoadError + # no rspec available +end diff --git a/VERSION b/VERSION new file mode 100644 index 0000000..8b13789 --- /dev/null +++ b/VERSION @@ -0,0 +1 @@ + diff --git a/api_specs/kombo-openapi-spec-.json b/api_specs/kombo-openapi-spec-.json new file mode 100644 index 0000000..e38ebce --- /dev/null +++ b/api_specs/kombo-openapi-spec-.json @@ -0,0 +1 @@ +{"openapi":"3.1.0","info":{"title":"Kombo API","version":"1.0.0"},"paths":{"/check-api-key":{"get":{"operationId":"GetCheckApiKey","summary":"Check API key","description":"Check whether your API key is working properly.","tags":["General"],"responses":{"200":{"description":"GET /check-api-key Positive response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GetCheckApiKeyPositiveResponse"},"examples":{"example1":{"value":{"status":"success","data":{"environment_id":"2Uev1YUTqLFdvMPD3Jtrg2FX","customer_id":"2Uev1YUTqLFdvMPD3Jtrg2FX"}}}}}}},"default":{"$ref":"#/components/responses/ErrorResponseGeneral"}}}},"/force-sync":{"post":{"operationId":"PostForceSync","summary":"Trigger sync","description":"Trigger a sync for a specific integration.\n\nPlease 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).","tags":["General"],"parameters":[{"in":"header","name":"X-Integration-Id","schema":{"type":"string"},"description":"ID of the integration you want to interact with.","example":"workday:HWUTwvyx2wLoSUHphiWVrp28","required":true}],"requestBody":{"description":"POST /force-sync Request body","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PostForceSyncRequestBody"}}}},"responses":{"200":{"description":"POST /force-sync Positive response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PostForceSyncPositiveResponse"},"examples":{"example1":{"value":{"status":"success","data":{"already_queued":false,"sync_id":"119ihtp91nA3dqRFiV67nXS6","type":"DELTA"}}}}}}},"default":{"$ref":"#/components/responses/ErrorResponseGeneral"}}}},"/passthrough/{tool}/{api}":{"post":{"operationId":"PostPassthroughToolApi","summary":"Send passthrough request","description":"Send a request to the specified integration's native API.\n\nAt 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.\n\nPass 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.\n\nTo 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.\n\n|Integration|`{tool}/{api}`|Description|\n|---|---|---|\n|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.|\n|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.|\n|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`).|\n|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\".|\n|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).|\n|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.|\n|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.|\n|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.|\n|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.|\n|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.|\n|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).|\n|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.|\n|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.|\n|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.|\n|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.|\n|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.|\n|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`.|\n|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.|\n|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.|\n|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.|\n|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.|\n|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.|\n|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.|\n|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.|\n|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.|\n|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.|\n|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.|\n|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.|\n|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.|\n|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.|\n|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.|\n|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.|\n|rexx systems|`rexx/default`|Rexx's HRIS export API. There is only one endpoint: `Get /`|\n|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.|\n|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.|\n|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.|\n|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.|\n|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.|\n|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.|\n|Jobvite|`jobvite/api`|We automatically authenticate all requests and use 'https://api.jobvite.com/api/v2' as the base URL.|\n|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.|\n|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.|\n|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.|\n|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.|\n|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.|\n|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.|\n|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.|\n|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.|\n|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.|\n|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`|\n|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.|\n|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.|\n|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.|\n|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.|\n|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`.|\n|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.|\n|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.|\n|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.|\n|d.vinci admin|`dvinciadmin/rest-api`|[DVinci REST API](https://static.dvinci-easy.com/files/d.vinci%20rest-api.html).|\n|d.vinci admin|`dvinciadmin/odata-api`|[DVinci ODATA API](https://dvinci.freshdesk.com/en/support/solutions/articles/75000059523-odata-reporting-api).|\n|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.|\n|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.|\n|Remote|`remotecom/default`|Remote's [API](https://remote.com/resources/api/getting-started). We automatically authenticate all requests using provided credentials.|\n|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.|\n|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.|\n|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.|\n|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.|\n|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.|\n|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`.|\n|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.|\n|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.|\n|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.|\n|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.|\n|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.|\n|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.|\n|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.|\n|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.|\n|HR WORKS|`hrworks/v2`|HRWorks's v2 [API](https://developers.hrworks.de/2.0/endpoints). We automatically authenticate all requests using the customer credentials.|\n|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.|\n|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.|\n|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.|\n|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.|\n|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.|\n|JobDiva|`jobdiva/api`|We automatically authenticate all requests and use `https://api.jobdiva.com` as the base URL.|\n|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.|\n|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.|\n|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|\n|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.|\n|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.|\n|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.|\n|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.|\n|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.|\n|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'.|\n|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.|\n|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.|\n|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.|\n|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.|\n|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.|\n|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.|\n|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.|\n|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.|\n|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.|\n|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.|\n|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.|\n|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.|\n|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.|\n|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.|\n|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.|\n|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.|\n|Mysolution|`mysolution/default`|[Mysolution's API](https://swagger.mysolution.nl/). We automatically authenticate all requests and use the customer's domain as base URL.|\n|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|\n|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.|\n|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`/).|\n|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.|\n|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.|\n|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.|\n|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.|\n|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.|\n|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.|\n|Compleet|`compleetpitcher/pitcher`|Compleet's Pitcher API. We automatically authenticate all requests and use the configured base URL.|\n|Gem|`gem/api`|Gem's [ATS API](https://api.gem.com/ats/v0/reference) We automatically authenticate all requests.|\n|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.|\n|Laura|`laura/api`|We automatically authenticate all requests and use `https://\\{subdomain\\}.rekrytointi.com/api/v1.2` as the base URL.|\n|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#/|\n|Coveto (legacy SOAP API)|`coveto/public`|We automatically use `https://\\{subdomain\\}.coveto.de` as the base URL.|\n|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`.|\n|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.|\n|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.|\n|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.|\n|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.|\n|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.|\n|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|\n|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`.|\n|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.|\n|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.|\n|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.|\n|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.|\n|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.|\n|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.|\n|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.|\n|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.|\n|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.|\n|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.|\n\nPlease 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.","tags":["General"],"parameters":[{"in":"header","name":"X-Integration-Id","schema":{"type":"string"},"description":"ID of the integration you want to interact with.","example":"greenhouse:HWUTwvyx2wLoSUHphiWVrp28","required":true},{"name":"tool","in":"path","required":true,"description":"The ID of the tool whose passthrough API you want to call (e.g., `personio`).","schema":{"$ref":"#/components/schemas/PostPassthroughToolApiParameterTool"},"examples":{"example1":{"value":"personio"}}},{"name":"api","in":"path","required":true,"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.","schema":{"$ref":"#/components/schemas/PostPassthroughToolApiParameterApi"},"examples":{"example1":{"value":"personnel"}}}],"requestBody":{"description":"POST /passthrough/:tool/:api Request body","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PostPassthroughToolApiRequestBody"},"examples":{"example1":{"value":{"method":"GET","path":"/company/employees"}}}}}},"responses":{"200":{"description":"POST /passthrough/:tool/:api Positive response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PostPassthroughToolApiPositiveResponse"},"examples":{"example1":{"value":{"status":"success","data":{"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":[{"message":"This is an example warning!"}]}}}}}},"default":{"$ref":"#/components/responses/ErrorResponseGeneral"}}}},"/integrations/{integration_id}":{"delete":{"operationId":"DeleteIntegrationsIntegrationId","summary":"Delete integration","description":"Delete the specified integration.\n**⚠️ This can not be undone!**","tags":["General"],"parameters":[{"name":"integration_id","in":"path","required":true,"description":"DELETE /integrations/:integration_id Parameter","schema":{"$ref":"#/components/schemas/DeleteIntegrationsIntegrationIdParameterIntegrationId"}}],"requestBody":{"description":"DELETE /integrations/:integration_id Request body","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DeleteIntegrationsIntegrationIdRequestBody"}}}},"responses":{"200":{"description":"DELETE /integrations/:integration_id Positive response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DeleteIntegrationsIntegrationIdPositiveResponse"}}}},"default":{"$ref":"#/components/responses/ErrorResponseGeneral"}}},"get":{"operationId":"GetIntegrationsIntegrationId","summary":"Get integration details","description":"Get the specified integration with everything you need to display it to your customer.","tags":["General"],"parameters":[{"name":"integration_id","in":"path","required":true,"description":"GET /integrations/:integration_id Parameter","schema":{"$ref":"#/components/schemas/GetIntegrationsIntegrationIdParameterIntegrationId"}}],"responses":{"200":{"description":"GET /integrations/:integration_id Positive response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GetIntegrationsIntegrationIdPositiveResponse"},"examples":{"example1":{"value":{"status":"success","data":{"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}]}]}}}}}}},"default":{"$ref":"#/components/responses/ErrorResponseGeneral"}}}},"/integrations/{integration_id}/relink":{"post":{"operationId":"PostIntegrationsIntegrationIdRelink","summary":"Create reconnection link","description":"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.\n\nEmbed this the same way you would [embed the connect link](/connect/embedded-flow). By default, the link will be valid for 1 hour.\n\n### Example Request Body\n\n```json\n{\n \"language\": \"en\",\n \"scope_config_id\": \"9Pv6aCFwNDEzPNmwjSsY9SQx\",\n \"link_type\": \"EMBEDDED\"\n}\n```","tags":["General"],"parameters":[{"name":"integration_id","in":"path","required":true,"description":"POST /integrations/:integration_id/relink Parameter","schema":{"$ref":"#/components/schemas/PostIntegrationsIntegrationIdRelinkParameterIntegrationId"},"examples":{"example1":{"value":"personio:93fCvorjZ2jas7ZekX1V1n5d"}}}],"requestBody":{"description":"POST /integrations/:integration_id/relink Request body","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PostIntegrationsIntegrationIdRelinkRequestBody"},"examples":{"example1":{"value":{"language":"en","scope_config_id":"9Pv6aCFwNDEzPNmwjSsY9SQx","link_type":"EMBEDDED"}}}}}},"responses":{"200":{"description":"POST /integrations/:integration_id/relink Positive response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PostIntegrationsIntegrationIdRelinkPositiveResponse"}}}},"default":{"$ref":"#/components/responses/ErrorResponseGeneral"}}}},"/integrations/{integration_id}/integration-fields":{"get":{"operationId":"GetIntegrationsIntegrationIdIntegrationFields","summary":"Get integration fields","description":"Get all fields available on the specified integration.\n**This includes the mapping to your custom fields**","tags":["General"],"parameters":[{"name":"integration_id","in":"path","required":true,"description":"GET /integrations/:integration_id/integration-fields Parameter","schema":{"$ref":"#/components/schemas/GetIntegrationsIntegrationIdIntegrationFieldsParameterIntegrationId"}},{"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/GetIntegrationsIntegrationIdIntegrationFieldsParameterCursor"}},{"name":"page_size","in":"query","required":false,"description":"The number of results to return per page. Maximum is 2000.","schema":{"$ref":"#/components/schemas/GetIntegrationsIntegrationIdIntegrationFieldsParameterPageSize"}}],"responses":{"200":{"description":"GET /integrations/:integration_id/integration-fields Positive response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GetIntegrationsIntegrationIdIntegrationFieldsPositiveResponse"},"examples":{"example1":{"value":{"status":"success","data":{"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}}}}}}},"default":{"$ref":"#/components/responses/ErrorResponseGeneral"}}}},"/integrations/{integration_id}/integration-fields/{integration_field_id}":{"patch":{"operationId":"PatchIntegrationsIntegrationIdIntegrationFieldsIntegrationFieldId","summary":"Updates an integration fields passthrough setting","description":"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.","tags":["General"],"parameters":[{"name":"integration_id","in":"path","required":true,"description":"PATCH /integrations/:integration_id/integration-fields/:integration_field_id Parameter","schema":{"$ref":"#/components/schemas/PatchIntegrationsIntegrationIdIntegrationFieldsIntegrationFieldIdParameterIntegrationId"},"examples":{"example1":{"value":"integration_id"}}},{"name":"integration_field_id","in":"path","required":true,"description":"PATCH /integrations/:integration_id/integration-fields/:integration_field_id Parameter","schema":{"$ref":"#/components/schemas/PatchIntegrationsIntegrationIdIntegrationFieldsIntegrationFieldIdParameterIntegrationFieldId"},"examples":{"example1":{"value":"integration_field_id"}}}],"requestBody":{"description":"PATCH /integrations/:integration_id/integration-fields/:integration_field_id Request body","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PatchIntegrationsIntegrationIdIntegrationFieldsIntegrationFieldIdRequestBody"},"examples":{"example1":{"value":{"enable_passthrough":true}}}}}},"responses":{"200":{"description":"PATCH /integrations/:integration_id/integration-fields/:integration_field_id Positive response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PatchIntegrationsIntegrationIdIntegrationFieldsIntegrationFieldIdPositiveResponse"},"examples":{"example1":{"value":{"status":"success","data":{"id":"9suhxJU83Kon4kPTS47837uE","key":"tax_id","model":"hris_employees","type":"DEFAULT","label":"Tax ID","is_passthrough_enabled":true,"is_writable":false}}}}}}},"default":{"$ref":"#/components/responses/ErrorResponseGeneral"}}}},"/integrations/{integration_id}/custom-fields":{"get":{"operationId":"GetIntegrationsIntegrationIdCustomFields","summary":"Get custom fields with current mappings","description":"Get all custom fields available on the specified integration.\n**This includes the mapping to the corresponding integration field if applicable*","tags":["General"],"parameters":[{"name":"integration_id","in":"path","required":true,"description":"GET /integrations/:integration_id/custom-fields Parameter","schema":{"$ref":"#/components/schemas/GetIntegrationsIntegrationIdCustomFieldsParameterIntegrationId"}},{"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/GetIntegrationsIntegrationIdCustomFieldsParameterCursor"}},{"name":"page_size","in":"query","required":false,"description":"The number of results to return per page. Maximum is 250.","schema":{"$ref":"#/components/schemas/GetIntegrationsIntegrationIdCustomFieldsParameterPageSize"}}],"responses":{"200":{"description":"GET /integrations/:integration_id/custom-fields Positive response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GetIntegrationsIntegrationIdCustomFieldsPositiveResponse"},"examples":{"example1":{"value":{"status":"success","data":{"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}}}}}}},"default":{"$ref":"#/components/responses/ErrorResponseGeneral"}}}},"/integrations/{integration_id}/custom-fields/{custom_field_id}":{"put":{"operationId":"PutIntegrationsIntegrationIdCustomFieldsCustomFieldId","summary":"Put custom field mappings","description":"Updates the mapping of a given custom field. If the custom field is already mapped, it will be updated.","tags":["General"],"parameters":[{"name":"integration_id","in":"path","required":true,"description":"The unique ID of the integration where the custom field mapping should be updated","schema":{"$ref":"#/components/schemas/PutIntegrationsIntegrationIdCustomFieldsCustomFieldIdParameterIntegrationId"},"examples":{"example1":{"value":"integration_id"}}},{"name":"custom_field_id","in":"path","required":true,"description":"The unique ID of the custom field that should be updated","schema":{"$ref":"#/components/schemas/PutIntegrationsIntegrationIdCustomFieldsCustomFieldIdParameterCustomFieldId"},"examples":{"example1":{"value":"custom_field_id"}}}],"requestBody":{"description":"PUT /integrations/:integration_id/custom-fields/:custom_field_id Request body","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PutIntegrationsIntegrationIdCustomFieldsCustomFieldIdRequestBody"},"examples":{"example1":{"value":{"integration_field_id":"integration_field_id"}}}}}},"responses":{"200":{"description":"PUT /integrations/:integration_id/custom-fields/:custom_field_id Positive response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PutIntegrationsIntegrationIdCustomFieldsCustomFieldIdPositiveResponse"},"examples":{"example1":{"value":{"status":"success","data":{"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"}}}}}}},"default":{"$ref":"#/components/responses/ErrorResponseGeneral"}}}},"/tools/{category}":{"get":{"operationId":"GetToolsCategory","summary":"Get tools","description":"Get a list of the tools (i.e., integrations) enabled in your environment.\n 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.","tags":["General"],"parameters":[{"name":"category","in":"path","required":true,"description":"GET /tools/:category Parameter","schema":{"$ref":"#/components/schemas/GetToolsCategoryParameterCategory"}}],"responses":{"200":{"description":"GET /tools/:category Positive response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GetToolsCategoryPositiveResponse"},"examples":{"example1":{"value":{"status":"success","data":{"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"}]}}]}}}}}}},"default":{"$ref":"#/components/responses/ErrorResponseGeneral"}}}},"/hris/provisioning-groups/{group_id}/diff":{"post":{"operationId":"PostHrisProvisioningGroupsGroupIdDiff","summary":"Get provisioning diff","description":"Get the list of users to provision, deprovision, and optionally update based on the users you've already provisioned in your system.","tags":["Unified HRIS API"],"parameters":[{"in":"header","name":"X-Integration-Id","schema":{"type":"string"},"description":"ID of the integration you want to interact with.","example":"bamboohr:HWUTwvyx2wLoSUHphiWVrp28","required":true},{"name":"group_id","in":"path","required":true,"description":"ID of the provisioning group (currently only `default` is allowed).","schema":{"$ref":"#/components/schemas/PostHrisProvisioningGroupsGroupIdDiffParameterGroupId"},"examples":{"example1":{"value":"n39n320clr8c5amf8v83nbch"}}}],"requestBody":{"description":"POST /hris/provisioning-groups/:group_id/diff Request body","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PostHrisProvisioningGroupsGroupIdDiffRequestBody"},"examples":{"example1":{"value":{"provisioned_users":[{"origin_id":"your_id_123","email":"johndoe@example.com"}],"options":{"employee_fields":["id","first_name","last_name"]}}}}}}},"responses":{"200":{"description":"POST /hris/provisioning-groups/:group_id/diff Positive response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PostHrisProvisioningGroupsGroupIdDiffPositiveResponse"}}}},"default":{"$ref":"#/components/responses/ErrorResponseHRIS"}}}},"/hris/provisioning-groups/{group_id}/setup-links":{"post":{"operationId":"PostHrisProvisioningGroupsGroupIdSetupLinks","summary":"Create provisioning setup link","description":"Create a new link that can be passed to the Kombo Connect SDK to open the provisioning setup UI.","tags":["Unified HRIS API"],"parameters":[{"in":"header","name":"X-Integration-Id","schema":{"type":"string"},"description":"ID of the integration you want to interact with.","example":"bamboohr:HWUTwvyx2wLoSUHphiWVrp28","required":true},{"name":"group_id","in":"path","required":true,"description":"ID of the provisioning group (currently only `default` is allowed).","schema":{"$ref":"#/components/schemas/PostHrisProvisioningGroupsGroupIdSetupLinksParameterGroupId"},"examples":{"example1":{"value":"n39n320clr8c5amf8v83nbch"}}}],"requestBody":{"description":"POST /hris/provisioning-groups/:group_id/setup-links Request body","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PostHrisProvisioningGroupsGroupIdSetupLinksRequestBody"},"examples":{"example1":{"value":{"language":"en"}}}}}},"responses":{"200":{"description":"POST /hris/provisioning-groups/:group_id/setup-links Positive response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PostHrisProvisioningGroupsGroupIdSetupLinksPositiveResponse"},"examples":{"example1":{"value":{"status":"success","data":{"url":"https://connect.kombo.dev/v1/setup?token=GinuMJCpUQ9xdpLmD2ocw8qdiK3qiPCizDCv754EXri2vAX4","expires_at":"2023-10-11T12:00:00.000Z"}}}}}}},"default":{"$ref":"#/components/responses/ErrorResponseHRIS"}}}},"/hris/employees":{"get":{"operationId":"GetHrisEmployees","summary":"Get employees","description":"Retrieve all employees.\n\nNot interested in most fields? You can use our [our Scopes feature](/scopes) to customize what data points are synced.\n\nTop 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)`","tags":["Unified HRIS API"],"parameters":[{"in":"header","name":"X-Integration-Id","schema":{"type":"string"},"description":"ID of the integration you want to interact with.","example":"bamboohr:HWUTwvyx2wLoSUHphiWVrp28","required":true},{"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/GetHrisEmployeesParameterCursor"}},{"name":"page_size","in":"query","required":false,"description":"The number of results to return per page. Maximum is 250.","schema":{"$ref":"#/components/schemas/GetHrisEmployeesParameterPageSize"}},{"name":"updated_after","in":"query","required":false,"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).","schema":{"$ref":"#/components/schemas/GetHrisEmployeesParameterUpdatedAfter"}},{"name":"include_deleted","in":"query","required":false,"description":"By default, deleted entries are not returned. Use the `include_deleted` query param to include deleted entries too.","schema":{"$ref":"#/components/schemas/GetHrisEmployeesParameterIncludeDeleted"}},{"name":"ids","in":"query","required":false,"description":"Filter by a comma-separated list of IDs such as `222k7eCGyUdgt2JWZDNnkDs3,B5DVmypWENfU6eMe6gYDyJG3`.","schema":{"$ref":"#/components/schemas/GetHrisEmployeesParameterIds"}},{"name":"remote_ids","in":"query","required":false,"description":"Filter by a comma-separated list of remote IDs.","schema":{"$ref":"#/components/schemas/GetHrisEmployeesParameterRemoteIds"}},{"name":"employment_status","in":"query","required":false,"description":"**(⚠️ Deprecated - Use the `employment_statuses` filter instead.)** Filter by the `employment_status` field.","schema":{"$ref":"#/components/schemas/GetHrisEmployeesParameterEmploymentStatus"}},{"name":"employment_statuses","in":"query","required":false,"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.","schema":{"$ref":"#/components/schemas/GetHrisEmployeesParameterEmploymentStatuses"}},{"name":"group_ids","in":"query","required":false,"description":"Filter by a comma-separated list of group IDs. We will only return employees that are members of _any_ of the groups.","schema":{"$ref":"#/components/schemas/GetHrisEmployeesParameterGroupIds"}},{"name":"legal_entity_ids","in":"query","required":false,"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.","schema":{"$ref":"#/components/schemas/GetHrisEmployeesParameterLegalEntityIds"}},{"name":"work_location_ids","in":"query","required":false,"description":"Filter by a comma-separated list of work location IDs. We will only return employees who are at _any_ of the work locations.","schema":{"$ref":"#/components/schemas/GetHrisEmployeesParameterWorkLocationIds"}},{"name":"work_emails","in":"query","required":false,"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.","schema":{"$ref":"#/components/schemas/GetHrisEmployeesParameterWorkEmails"}},{"name":"personal_emails","in":"query","required":false,"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.","schema":{"$ref":"#/components/schemas/GetHrisEmployeesParameterPersonalEmails"}},{"name":"custom_fields","in":"query","required":false,"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.","schema":{"$ref":"#/components/schemas/GetHrisEmployeesParameterCustomFields"}}],"responses":{"200":{"description":"GET /hris/employees Positive response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GetHrisEmployeesPositiveResponse"},"examples":{"example1":{"value":{"status":"success","data":{"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}}]}}}}}}},"default":{"$ref":"#/components/responses/ErrorResponseHRIS"}}},"post":{"operationId":"PostHrisEmployees","summary":"[DEPRECATED] Create employee","description":"Create a new employee.\n\n\n We are deprecating this endpoint in favor of the new [create employee form](/hris/features/create-employee) endpoint.\n\n\n\n This endpoint requires the permission **Create and manage employees** to be enabled in [your scope config](/scopes).\n\n\n### Example Request Body\n\n```json\n{\n \"first_name\": \"John\",\n \"last_name\": \"Doe\",\n \"work_email\": \"john.doe@acme.com\",\n \"gender\": \"MALE\",\n \"date_of_birth\": \"1986-01-01\",\n \"start_date\": \"2020-04-07\",\n \"job_title\": \"Integrations Team Lead\",\n \"home_address\": {\n \"city\": \"Berlin\",\n \"country\": \"DE\",\n \"state\": \"Berlin\",\n \"street_1\": \"Sonnenallee 63\",\n \"zip_code\": \"12045\"\n }\n}\n```","tags":["Unified HRIS API"],"parameters":[{"in":"header","name":"X-Integration-Id","schema":{"type":"string"},"description":"ID of the integration you want to interact with.","example":"bamboohr:HWUTwvyx2wLoSUHphiWVrp28","required":true}],"requestBody":{"description":"POST /hris/employees Request body","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PostHrisEmployeesRequestBody"},"examples":{"example1":{"value":{"first_name":"John","last_name":"Doe","work_email":"john.doe@acme.com","gender":"MALE","date_of_birth":"1986-01-01","start_date":"2020-04-07","job_title":"Integrations Team Lead","home_address":{"city":"Berlin","country":"DE","state":"Berlin","street_1":"Sonnenallee 63","zip_code":"12045"}}}}}}},"responses":{"200":{"description":"POST /hris/employees Positive response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PostHrisEmployeesPositiveResponse"},"examples":{"example1":{"value":{"status":"success","data":{"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":[{"message":"This is an example warning!"}]}}}}}},"default":{"$ref":"#/components/responses/ErrorResponseHRIS"}}}},"/hris/employees/form":{"get":{"operationId":"GetHrisEmployeesForm","summary":"Get employee form","description":"Get the form for creating an employee. This form can be rendered dynamically on your frontend to allow your customers to create employees in their HRIS.\n\nFollow our [create employee guide here](/hris/features/create-employee) to learn how this form is generated and how you can use it.\n\n### Example Form\n```json\n{\n \"properties\": {\n \"firstName\": {\n \"type\": \"text\",\n \"label\": \"First Name\",\n \"required\": true,\n \"description\": \"Employee's first name\",\n \"unified_key\": \"first_name\",\n \"min_length\": 1,\n \"max_length\": 100\n },\n \"startDate\": {\n \"type\": \"date\",\n \"label\": \"Start Date\",\n \"required\": true,\n \"description\": \"Employee's start date\",\n \"unified_key\": \"start_date\"\n },\n \"workLocation\": {\n \"type\": \"object\",\n \"label\": \"Work Location\",\n \"required\": false,\n \"description\": \"Employee's work location\",\n \"unified_key\": null,\n \"properties\": {\n \"site\": {\n \"type\": \"single_select\",\n \"label\": \"Site\",\n \"required\": true,\n \"description\": \"Employee's site\",\n \"unified_key\": null,\n \"options\": {\n \"type\": \"inline\",\n \"entries\": [\n {\n \"label\": \"Site 1\",\n \"id\": \"FXrER44xubBqA9DLgZ3PFNNx\",\n \"unified_value\": \"1\",\n \"remote_id\": \"site_1\"\n },\n {\n \"label\": \"Site 2\",\n \"id\": \"2rv75UKT2XBoQXsUb9agiTUm\",\n \"unified_value\": \"2\",\n \"remote_id\": \"site_2\"\n }\n ]\n }\n },\n \"keyNumbers\": {\n \"type\": \"array\",\n \"label\": \"Key Numbers\",\n \"required\": false,\n \"description\": \"Employee's key numbers\",\n \"unified_key\": null,\n \"min_items\": 2,\n \"max_items\": 5,\n \"item_type\": {\n \"type\": \"number\",\n \"label\": \"Key Number\",\n \"required\": false,\n \"description\": \"The number of the keys which belong to the employee\",\n \"unified_key\": null,\n \"min\": 0,\n \"max\": 99\n }\n }\n }\n }\n }\n}\n```","tags":["Unified HRIS API"],"parameters":[{"in":"header","name":"X-Integration-Id","schema":{"type":"string"},"description":"ID of the integration you want to interact with.","example":"bamboohr:HWUTwvyx2wLoSUHphiWVrp28","required":true}],"responses":{"200":{"description":"GET /hris/employees/form Positive response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GetHrisEmployeesFormPositiveResponse"},"examples":{"example1":{"value":{"status":"success","data":{"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":[{"message":"This is an example warning!"}]}}}}}},"default":{"$ref":"#/components/responses/ErrorResponseHRIS"}}},"post":{"operationId":"PostHrisEmployeesForm","summary":"Create employee with form","description":"Create an employee, based on the form schema.\n\n\n This endpoint requires the permission **Create and manage employees** to be enabled in [your scope config](/scopes).\n\n\n### Example Request Body\n\n```json\n{\n \"properties\": {\n \"firstName\": \"John\",\n \"startDate\": \"2025-01-01\",\n \"workLocation\": {\n \"site\": \"8e422bf8cav\",\n \"keyNumbers\": [\n 142,\n 525,\n 63\n ]\n }\n }\n}\n```","tags":["Unified HRIS API"],"parameters":[{"in":"header","name":"X-Integration-Id","schema":{"type":"string"},"description":"ID of the integration you want to interact with.","example":"bamboohr:HWUTwvyx2wLoSUHphiWVrp28","required":true}],"requestBody":{"description":"POST /hris/employees/form Request body","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PostHrisEmployeesFormRequestBody"},"examples":{"example1":{"value":{"properties":{"firstName":"John","startDate":"2025-01-01","workLocation":{"site":"8e422bf8cav","keyNumbers":[142,525,63]}}}}}}}},"responses":{"200":{"description":"POST /hris/employees/form Positive response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PostHrisEmployeesFormPositiveResponse"},"examples":{"example1":{"value":{"status":"success","data":{"id":"26vafvWSRmbhNcxJYqjCzuJg","remote_id":"12345","prehire_id":null},"warnings":[{"message":"This is an example warning!"}]}}}}}},"default":{"$ref":"#/components/responses/ErrorResponseHRIS"}}}},"/hris/employees/{employee_id}":{"patch":{"operationId":"PatchHrisEmployeesEmployeeId","summary":"Update employee","description":"Update an employee.\n\n\n This endpoint requires the permission **Create and manage employees** to be enabled in [your scope config](/scopes).\n\n\n### Example Request Body\n\n```json\n{\n \"employee_id\": \"BkgfzSr5muN9cUTMD4wDQFn4\",\n \"first_name\": \"John\",\n \"last_name\": \"Doe\",\n \"work_email\": \"john.doe@acme.com\",\n \"ssn\": \"555-32-6395\",\n \"tax_id\": \"12 345 678 901\",\n \"gender\": \"MALE\",\n \"marital_status\": \"MARRIED\",\n \"date_of_birth\": \"1986-01-01\",\n \"start_date\": \"2020-04-07\",\n \"termination_date\": \"2022-05-20\",\n \"job_title\": \"Integrations Team Lead\",\n \"nationality\": \"DE\",\n \"home_address\": {\n \"city\": \"Berlin\",\n \"country\": \"DE\",\n \"state\": \"Berlin\",\n \"street_1\": \"Sonnenallee 63\",\n \"zip_code\": \"12045\"\n }\n}\n```","tags":["Unified HRIS API"],"parameters":[{"in":"header","name":"X-Integration-Id","schema":{"type":"string"},"description":"ID of the integration you want to interact with.","example":"bamboohr:HWUTwvyx2wLoSUHphiWVrp28","required":true},{"name":"employee_id","in":"path","required":true,"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`)","schema":{"$ref":"#/components/schemas/PatchHrisEmployeesEmployeeIdParameterEmployeeId"},"examples":{"example1":{"value":"BkgfzSr5muN9cUTMD4wDQFn4"}}}],"requestBody":{"description":"PATCH /hris/employees/:employee_id Request body","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PatchHrisEmployeesEmployeeIdRequestBody"},"examples":{"example1":{"value":{"first_name":"John","last_name":"Doe","work_email":"john.doe@acme.com","ssn":"555-32-6395","tax_id":"12 345 678 901","gender":"MALE","marital_status":"MARRIED","date_of_birth":"1986-01-01","start_date":"2020-04-07","termination_date":"2022-05-20","job_title":"Integrations Team Lead","nationality":"DE","home_address":{"city":"Berlin","country":"DE","state":"Berlin","street_1":"Sonnenallee 63","zip_code":"12045"}}}}}}},"responses":{"200":{"description":"PATCH /hris/employees/:employee_id Positive response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PatchHrisEmployeesEmployeeIdPositiveResponse"},"examples":{"example1":{"value":{"status":"success","data":{"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":[{"message":"This is an example warning!"}]}}}}}},"default":{"$ref":"#/components/responses/ErrorResponseHRIS"}}}},"/hris/employees/{employee_id}/documents":{"post":{"operationId":"PostHrisEmployeesEmployeeIdDocuments","summary":"Add document to employee","description":"Uploads an document file for the specified employee.\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 \"category_id\": \"3Cjwu7nA7pH5cX5X1NAPmb7M\",\n \"document\": {\n \"name\": \"Frank Doe Employment Contract.txt\",\n \"data\": \"SGkgdGhlcmUsIEtvbWJvIGlzIGN1cnJlbnRseSBoaXJpbmcgZW5naW5lZXJzIHRoYXQgbG92ZSB0byB3b3JrIG9uIGRldmVsb3BlciBwcm9kdWN0cy4=\",\n \"content_type\": \"text/plain\"\n }\n}\n```","tags":["Unified HRIS API"],"parameters":[{"in":"header","name":"X-Integration-Id","schema":{"type":"string"},"description":"ID of the integration you want to interact with.","example":"bamboohr:HWUTwvyx2wLoSUHphiWVrp28","required":true},{"name":"employee_id","in":"path","required":true,"description":"POST /hris/employees/:employee_id/documents Parameter","schema":{"$ref":"#/components/schemas/PostHrisEmployeesEmployeeIdDocumentsParameterEmployeeId"},"examples":{"example1":{"value":"GRKdd9dibYKKCrmGRSMJf3wu"}}}],"requestBody":{"description":"POST /hris/employees/:employee_id/documents Request body","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PostHrisEmployeesEmployeeIdDocumentsRequestBody"},"examples":{"example1":{"value":{"category_id":"3Cjwu7nA7pH5cX5X1NAPmb7M","document":{"name":"Frank Doe Employment Contract.txt","data":"SGkgdGhlcmUsIEtvbWJvIGlzIGN1cnJlbnRseSBoaXJpbmcgZW5naW5lZXJzIHRoYXQgbG92ZSB0byB3b3JrIG9uIGRldmVsb3BlciBwcm9kdWN0cy4=","content_type":"text/plain"}}}}}}},"responses":{"200":{"description":"POST /hris/employees/:employee_id/documents Positive response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PostHrisEmployeesEmployeeIdDocumentsPositiveResponse"}}}},"default":{"$ref":"#/components/responses/ErrorResponseHRIS"}}}},"/hris/employee-document-categories":{"get":{"operationId":"GetHrisEmployeeDocumentCategories","summary":"Get employee document categories","description":"Get employee document categories.\n\nTop 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)`","tags":["Unified HRIS API"],"parameters":[{"in":"header","name":"X-Integration-Id","schema":{"type":"string"},"description":"ID of the integration you want to interact with.","example":"bamboohr:HWUTwvyx2wLoSUHphiWVrp28","required":true},{"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/GetHrisEmployeeDocumentCategoriesParameterCursor"}},{"name":"page_size","in":"query","required":false,"description":"The number of results to return per page. Maximum is 250.","schema":{"$ref":"#/components/schemas/GetHrisEmployeeDocumentCategoriesParameterPageSize"}},{"name":"updated_after","in":"query","required":false,"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).","schema":{"$ref":"#/components/schemas/GetHrisEmployeeDocumentCategoriesParameterUpdatedAfter"}},{"name":"include_deleted","in":"query","required":false,"description":"By default, deleted entries are not returned. Use the `include_deleted` query param to include deleted entries too.","schema":{"$ref":"#/components/schemas/GetHrisEmployeeDocumentCategoriesParameterIncludeDeleted"}},{"name":"ids","in":"query","required":false,"description":"Filter by a comma-separated list of IDs such as `222k7eCGyUdgt2JWZDNnkDs3,B5DVmypWENfU6eMe6gYDyJG3`.","schema":{"$ref":"#/components/schemas/GetHrisEmployeeDocumentCategoriesParameterIds"}},{"name":"remote_ids","in":"query","required":false,"description":"Filter by a comma-separated list of remote IDs.","schema":{"$ref":"#/components/schemas/GetHrisEmployeeDocumentCategoriesParameterRemoteIds"}}],"responses":{"200":{"description":"GET /hris/employee-document-categories Positive response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GetHrisEmployeeDocumentCategoriesPositiveResponse"},"examples":{"example1":{"value":{"status":"success","data":{"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}]}}}}}}},"default":{"$ref":"#/components/responses/ErrorResponseHRIS"}}}},"/hris/teams":{"get":{"operationId":"GetHrisTeams","summary":"Get teams (deprecated)","description":"Get the teams.\n\n\n **This endpoint is deprecated!**\n\n Please use [the `/groups` endpoint](/hris/v1/get-groups) instead. It returns the same data but the naming makes more sense as the model not only includes teams but also departments and cost centers..\n\n\nTop 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)`","tags":["Unified HRIS API"],"parameters":[{"in":"header","name":"X-Integration-Id","schema":{"type":"string"},"description":"ID of the integration you want to interact with.","example":"bamboohr:HWUTwvyx2wLoSUHphiWVrp28","required":true},{"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/GetHrisTeamsParameterCursor"}},{"name":"page_size","in":"query","required":false,"description":"The number of results to return per page. Maximum is 250.","schema":{"$ref":"#/components/schemas/GetHrisTeamsParameterPageSize"}},{"name":"updated_after","in":"query","required":false,"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).","schema":{"$ref":"#/components/schemas/GetHrisTeamsParameterUpdatedAfter"}},{"name":"include_deleted","in":"query","required":false,"description":"By default, deleted entries are not returned. Use the `include_deleted` query param to include deleted entries too.","schema":{"$ref":"#/components/schemas/GetHrisTeamsParameterIncludeDeleted"}},{"name":"ids","in":"query","required":false,"description":"Filter by a comma-separated list of IDs such as `222k7eCGyUdgt2JWZDNnkDs3,B5DVmypWENfU6eMe6gYDyJG3`.","schema":{"$ref":"#/components/schemas/GetHrisTeamsParameterIds"}},{"name":"remote_ids","in":"query","required":false,"description":"Filter by a comma-separated list of remote IDs.","schema":{"$ref":"#/components/schemas/GetHrisTeamsParameterRemoteIds"}}],"responses":{"200":{"description":"GET /hris/teams Positive response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GetHrisTeamsPositiveResponse"},"examples":{"example1":{"value":{"status":"success","data":{"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}]}}}}}}},"default":{"$ref":"#/components/responses/ErrorResponseHRIS"}}}},"/hris/groups":{"get":{"operationId":"GetHrisGroups","summary":"Get groups","description":"Retrieve all \"groups\" (teams, departments, and cost centers).\n\nTop 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)`","tags":["Unified HRIS API"],"parameters":[{"in":"header","name":"X-Integration-Id","schema":{"type":"string"},"description":"ID of the integration you want to interact with.","example":"bamboohr:HWUTwvyx2wLoSUHphiWVrp28","required":true},{"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/GetHrisGroupsParameterCursor"}},{"name":"page_size","in":"query","required":false,"description":"The number of results to return per page. Maximum is 250.","schema":{"$ref":"#/components/schemas/GetHrisGroupsParameterPageSize"}},{"name":"updated_after","in":"query","required":false,"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).","schema":{"$ref":"#/components/schemas/GetHrisGroupsParameterUpdatedAfter"}},{"name":"include_deleted","in":"query","required":false,"description":"By default, deleted entries are not returned. Use the `include_deleted` query param to include deleted entries too.","schema":{"$ref":"#/components/schemas/GetHrisGroupsParameterIncludeDeleted"}},{"name":"ids","in":"query","required":false,"description":"Filter by a comma-separated list of IDs such as `222k7eCGyUdgt2JWZDNnkDs3,B5DVmypWENfU6eMe6gYDyJG3`.","schema":{"$ref":"#/components/schemas/GetHrisGroupsParameterIds"}},{"name":"remote_ids","in":"query","required":false,"description":"Filter by a comma-separated list of remote IDs.","schema":{"$ref":"#/components/schemas/GetHrisGroupsParameterRemoteIds"}},{"name":"types","in":"query","required":false,"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.","schema":{"$ref":"#/components/schemas/GetHrisGroupsParameterTypes"}},{"name":"name_contains","in":"query","required":false,"description":"Filter by the `name` field. Can be used to find a group by keywords present in the group name.","schema":{"$ref":"#/components/schemas/GetHrisGroupsParameterNameContains"}}],"responses":{"200":{"description":"GET /hris/groups Positive response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GetHrisGroupsPositiveResponse"},"examples":{"example1":{"value":{"status":"success","data":{"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}]}}}}}}},"default":{"$ref":"#/components/responses/ErrorResponseHRIS"}}}},"/hris/employments":{"get":{"operationId":"GetHrisEmployments","summary":"Get employments","description":"Retrieve all employments.\n\nTop 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)`","tags":["Unified HRIS API"],"parameters":[{"in":"header","name":"X-Integration-Id","schema":{"type":"string"},"description":"ID of the integration you want to interact with.","example":"bamboohr:HWUTwvyx2wLoSUHphiWVrp28","required":true},{"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/GetHrisEmploymentsParameterCursor"}},{"name":"page_size","in":"query","required":false,"description":"The number of results to return per page. Maximum is 250.","schema":{"$ref":"#/components/schemas/GetHrisEmploymentsParameterPageSize"}},{"name":"updated_after","in":"query","required":false,"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).","schema":{"$ref":"#/components/schemas/GetHrisEmploymentsParameterUpdatedAfter"}},{"name":"include_deleted","in":"query","required":false,"description":"By default, deleted entries are not returned. Use the `include_deleted` query param to include deleted entries too.","schema":{"$ref":"#/components/schemas/GetHrisEmploymentsParameterIncludeDeleted"}},{"name":"ids","in":"query","required":false,"description":"Filter by a comma-separated list of IDs such as `222k7eCGyUdgt2JWZDNnkDs3,B5DVmypWENfU6eMe6gYDyJG3`.","schema":{"$ref":"#/components/schemas/GetHrisEmploymentsParameterIds"}},{"name":"remote_ids","in":"query","required":false,"description":"Filter by a comma-separated list of remote IDs.","schema":{"$ref":"#/components/schemas/GetHrisEmploymentsParameterRemoteIds"}}],"responses":{"200":{"description":"GET /hris/employments Positive response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GetHrisEmploymentsPositiveResponse"},"examples":{"example1":{"value":{"status":"success","data":{"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":[]}]}}}}}}},"default":{"$ref":"#/components/responses/ErrorResponseHRIS"}}}},"/hris/locations":{"get":{"operationId":"GetHrisLocations","summary":"Get work locations","description":"Retrieve all work locations.\n\nTop 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)`","tags":["Unified HRIS API"],"parameters":[{"in":"header","name":"X-Integration-Id","schema":{"type":"string"},"description":"ID of the integration you want to interact with.","example":"bamboohr:HWUTwvyx2wLoSUHphiWVrp28","required":true},{"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/GetHrisLocationsParameterCursor"}},{"name":"page_size","in":"query","required":false,"description":"The number of results to return per page. Maximum is 250.","schema":{"$ref":"#/components/schemas/GetHrisLocationsParameterPageSize"}},{"name":"updated_after","in":"query","required":false,"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).","schema":{"$ref":"#/components/schemas/GetHrisLocationsParameterUpdatedAfter"}},{"name":"include_deleted","in":"query","required":false,"description":"By default, deleted entries are not returned. Use the `include_deleted` query param to include deleted entries too.","schema":{"$ref":"#/components/schemas/GetHrisLocationsParameterIncludeDeleted"}},{"name":"ids","in":"query","required":false,"description":"Filter by a comma-separated list of IDs such as `222k7eCGyUdgt2JWZDNnkDs3,B5DVmypWENfU6eMe6gYDyJG3`.","schema":{"$ref":"#/components/schemas/GetHrisLocationsParameterIds"}},{"name":"remote_ids","in":"query","required":false,"description":"Filter by a comma-separated list of remote IDs.","schema":{"$ref":"#/components/schemas/GetHrisLocationsParameterRemoteIds"}},{"name":"name_contains","in":"query","required":false,"description":"Filter by the `name` field. Can be used to find a location by keywords present in the location name.","schema":{"$ref":"#/components/schemas/GetHrisLocationsParameterNameContains"}}],"responses":{"200":{"description":"GET /hris/locations Positive response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GetHrisLocationsPositiveResponse"},"examples":{"example1":{"value":{"status":"success","data":{"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}]}}}}}}},"default":{"$ref":"#/components/responses/ErrorResponseHRIS"}}}},"/hris/absence-types":{"get":{"operationId":"GetHrisAbsenceTypes","summary":"Get absence types","description":"Retrieve all absence types.\n\nTop 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)`","tags":["Unified HRIS API"],"parameters":[{"in":"header","name":"X-Integration-Id","schema":{"type":"string"},"description":"ID of the integration you want to interact with.","example":"bamboohr:HWUTwvyx2wLoSUHphiWVrp28","required":true},{"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/GetHrisAbsenceTypesParameterCursor"}},{"name":"page_size","in":"query","required":false,"description":"The number of results to return per page. Maximum is 250.","schema":{"$ref":"#/components/schemas/GetHrisAbsenceTypesParameterPageSize"}},{"name":"updated_after","in":"query","required":false,"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).","schema":{"$ref":"#/components/schemas/GetHrisAbsenceTypesParameterUpdatedAfter"}},{"name":"include_deleted","in":"query","required":false,"description":"By default, deleted entries are not returned. Use the `include_deleted` query param to include deleted entries too.","schema":{"$ref":"#/components/schemas/GetHrisAbsenceTypesParameterIncludeDeleted"}},{"name":"ids","in":"query","required":false,"description":"Filter by a comma-separated list of IDs such as `222k7eCGyUdgt2JWZDNnkDs3,B5DVmypWENfU6eMe6gYDyJG3`.","schema":{"$ref":"#/components/schemas/GetHrisAbsenceTypesParameterIds"}},{"name":"remote_ids","in":"query","required":false,"description":"Filter by a comma-separated list of remote IDs.","schema":{"$ref":"#/components/schemas/GetHrisAbsenceTypesParameterRemoteIds"}}],"responses":{"200":{"description":"GET /hris/absence-types Positive response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GetHrisAbsenceTypesPositiveResponse"},"examples":{"example1":{"value":{"status":"success","data":{"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}]}}}}}}},"default":{"$ref":"#/components/responses/ErrorResponseHRIS"}}}},"/hris/time-off-balances":{"get":{"operationId":"GetHrisTimeOffBalances","summary":"Get time off balances","description":"Retrieve all time off balances.\n\nTop 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)`","tags":["Unified HRIS API"],"parameters":[{"in":"header","name":"X-Integration-Id","schema":{"type":"string"},"description":"ID of the integration you want to interact with.","example":"bamboohr:HWUTwvyx2wLoSUHphiWVrp28","required":true},{"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/GetHrisTimeOffBalancesParameterCursor"}},{"name":"page_size","in":"query","required":false,"description":"The number of results to return per page. Maximum is 250.","schema":{"$ref":"#/components/schemas/GetHrisTimeOffBalancesParameterPageSize"}},{"name":"updated_after","in":"query","required":false,"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).","schema":{"$ref":"#/components/schemas/GetHrisTimeOffBalancesParameterUpdatedAfter"}},{"name":"include_deleted","in":"query","required":false,"description":"By default, deleted entries are not returned. Use the `include_deleted` query param to include deleted entries too.","schema":{"$ref":"#/components/schemas/GetHrisTimeOffBalancesParameterIncludeDeleted"}},{"name":"ids","in":"query","required":false,"description":"Filter by a comma-separated list of IDs such as `222k7eCGyUdgt2JWZDNnkDs3,B5DVmypWENfU6eMe6gYDyJG3`.","schema":{"$ref":"#/components/schemas/GetHrisTimeOffBalancesParameterIds"}},{"name":"remote_ids","in":"query","required":false,"description":"Filter by a comma-separated list of remote IDs.","schema":{"$ref":"#/components/schemas/GetHrisTimeOffBalancesParameterRemoteIds"}},{"name":"employee_id","in":"query","required":false,"description":"Filter by a specific employee using their ID.","schema":{"$ref":"#/components/schemas/GetHrisTimeOffBalancesParameterEmployeeId"}}],"responses":{"200":{"description":"GET /hris/time-off-balances Positive response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GetHrisTimeOffBalancesPositiveResponse"},"examples":{"example1":{"value":{"status":"success","data":{"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}}]}}}}}}},"default":{"$ref":"#/components/responses/ErrorResponseHRIS"}}}},"/hris/absences":{"get":{"operationId":"GetHrisAbsences","summary":"Get absences","description":"Retrieve all absences.\n\nTop 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)`","tags":["Unified HRIS API"],"parameters":[{"in":"header","name":"X-Integration-Id","schema":{"type":"string"},"description":"ID of the integration you want to interact with.","example":"bamboohr:HWUTwvyx2wLoSUHphiWVrp28","required":true},{"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/GetHrisAbsencesParameterCursor"}},{"name":"page_size","in":"query","required":false,"description":"The number of results to return per page. Maximum is 250.","schema":{"$ref":"#/components/schemas/GetHrisAbsencesParameterPageSize"}},{"name":"updated_after","in":"query","required":false,"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).","schema":{"$ref":"#/components/schemas/GetHrisAbsencesParameterUpdatedAfter"}},{"name":"include_deleted","in":"query","required":false,"description":"By default, deleted entries are not returned. Use the `include_deleted` query param to include deleted entries too.","schema":{"$ref":"#/components/schemas/GetHrisAbsencesParameterIncludeDeleted"}},{"name":"ids","in":"query","required":false,"description":"Filter by a comma-separated list of IDs such as `222k7eCGyUdgt2JWZDNnkDs3,B5DVmypWENfU6eMe6gYDyJG3`.","schema":{"$ref":"#/components/schemas/GetHrisAbsencesParameterIds"}},{"name":"remote_ids","in":"query","required":false,"description":"Filter by a comma-separated list of remote IDs.","schema":{"$ref":"#/components/schemas/GetHrisAbsencesParameterRemoteIds"}},{"name":"date_from","in":"query","required":false,"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.","schema":{"$ref":"#/components/schemas/GetHrisAbsencesParameterDateFrom"}},{"name":"date_until","in":"query","required":false,"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.","schema":{"$ref":"#/components/schemas/GetHrisAbsencesParameterDateUntil"}},{"name":"type_ids","in":"query","required":false,"description":"Filter by a comma-separated list of absence type IDs.","schema":{"$ref":"#/components/schemas/GetHrisAbsencesParameterTypeIds"}},{"name":"employee_id","in":"query","required":false,"description":"Filter by a specific employee using their ID.","schema":{"$ref":"#/components/schemas/GetHrisAbsencesParameterEmployeeId"}},{"name":"time_from","in":"query","required":false,"description":"**(⚠️ Deprecated - Use the `date_from` filter instead.)** Filter for absences that either start after or start before and end after a certain time.","schema":{"$ref":"#/components/schemas/GetHrisAbsencesParameterTimeFrom"}},{"name":"time_until","in":"query","required":false,"description":"**(⚠️ Deprecated - Use the `date_until` filter instead.)** Filter for absences that start before a certain time.","schema":{"$ref":"#/components/schemas/GetHrisAbsencesParameterTimeUntil"}}],"responses":{"200":{"description":"GET /hris/absences Positive response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GetHrisAbsencesPositiveResponse"},"examples":{"example1":{"value":{"status":"success","data":{"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}}]}}}}}}},"default":{"$ref":"#/components/responses/ErrorResponseHRIS"}}},"post":{"operationId":"PostHrisAbsences","summary":"Create absence","description":"Create a new absence.\n\nCheck [this page](/hris/features/creating-absences) for a detailed guide.\n\n\n This endpoint requires the permission **Manage absences** to be enabled in [your scope config](/scopes).\n\n\n### Example Request Body\n\n```json\n{\n \"employee_id\": \"wXJMxwDvPAjrJ4CyqdV9\",\n \"absence_type_id\": \"3YKtQ7qedsrcCady1jSyAkY1\",\n \"start_date\": \"2019-09-17\",\n \"end_date\": \"2019-09-21\",\n \"start_time\": \"08:30:00\",\n \"end_time\": \"16:00:00\",\n \"start_half_day\": false,\n \"end_half_day\": false,\n \"employee_note\": \"Visiting the aliens\"\n}\n```","tags":["Unified HRIS API"],"parameters":[{"in":"header","name":"X-Integration-Id","schema":{"type":"string"},"description":"ID of the integration you want to interact with.","example":"bamboohr:HWUTwvyx2wLoSUHphiWVrp28","required":true}],"requestBody":{"description":"POST /hris/absences Request body","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PostHrisAbsencesRequestBody"},"examples":{"example1":{"value":{"employee_id":"wXJMxwDvPAjrJ4CyqdV9","absence_type_id":"3YKtQ7qedsrcCady1jSyAkY1","start_date":"2019-09-17","end_date":"2019-09-21","start_time":"08:30:00","end_time":"16:00:00","start_half_day":false,"end_half_day":false,"employee_note":"Visiting the aliens"}}}}}},"responses":{"200":{"description":"POST /hris/absences Positive response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PostHrisAbsencesPositiveResponse"},"examples":{"example1":{"value":{"status":"success","data":{"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":[{"message":"This is an example warning!"}]}}}}}},"default":{"$ref":"#/components/responses/ErrorResponseHRIS"}}}},"/hris/absences/{absence_id}":{"delete":{"operationId":"DeleteHrisAbsencesAbsenceId","summary":"Delete absence","description":"Delete this absence.\n\n\n This endpoint requires the permission **Manage absences** to be enabled in [your scope config](/scopes).\n\n\n### Example Request Body\n\n```json\n{\n \"absence_id\": \"wXJMxwDvPAjrJ4CyqdV9\"\n}\n```","tags":["Unified HRIS API"],"parameters":[{"in":"header","name":"X-Integration-Id","schema":{"type":"string"},"description":"ID of the integration you want to interact with.","example":"bamboohr:HWUTwvyx2wLoSUHphiWVrp28","required":true},{"name":"absence_id","in":"path","required":true,"description":"The Kombo ID of the absence","schema":{"$ref":"#/components/schemas/DeleteHrisAbsencesAbsenceIdParameterAbsenceId"},"examples":{"example1":{"value":"wXJMxwDvPAjrJ4CyqdV9"}}}],"requestBody":{"description":"DELETE /hris/absences/:absence_id Request body","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DeleteHrisAbsencesAbsenceIdRequestBody"},"examples":{"example1":{"value":{}}}}}},"responses":{"200":{"description":"DELETE /hris/absences/:absence_id Positive response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DeleteHrisAbsencesAbsenceIdPositiveResponse"},"examples":{"example1":{"value":{"status":"success","data":{"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":[{"message":"This is an example warning!"}]}}}}}},"default":{"$ref":"#/components/responses/ErrorResponseHRIS"}}}},"/hris/legal-entities":{"get":{"operationId":"GetHrisLegalEntities","summary":"Get legal entities","description":"Retrieve all legal entites.\n\nTop 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)`","tags":["Unified HRIS API"],"parameters":[{"in":"header","name":"X-Integration-Id","schema":{"type":"string"},"description":"ID of the integration you want to interact with.","example":"bamboohr:HWUTwvyx2wLoSUHphiWVrp28","required":true},{"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/GetHrisLegalEntitiesParameterCursor"}},{"name":"page_size","in":"query","required":false,"description":"The number of results to return per page. Maximum is 250.","schema":{"$ref":"#/components/schemas/GetHrisLegalEntitiesParameterPageSize"}},{"name":"updated_after","in":"query","required":false,"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).","schema":{"$ref":"#/components/schemas/GetHrisLegalEntitiesParameterUpdatedAfter"}},{"name":"include_deleted","in":"query","required":false,"description":"By default, deleted entries are not returned. Use the `include_deleted` query param to include deleted entries too.","schema":{"$ref":"#/components/schemas/GetHrisLegalEntitiesParameterIncludeDeleted"}},{"name":"ids","in":"query","required":false,"description":"Filter by a comma-separated list of IDs such as `222k7eCGyUdgt2JWZDNnkDs3,B5DVmypWENfU6eMe6gYDyJG3`.","schema":{"$ref":"#/components/schemas/GetHrisLegalEntitiesParameterIds"}},{"name":"remote_ids","in":"query","required":false,"description":"Filter by a comma-separated list of remote IDs.","schema":{"$ref":"#/components/schemas/GetHrisLegalEntitiesParameterRemoteIds"}},{"name":"name_contains","in":"query","required":false,"description":"Filter by the `name` field. Can be used to find a legal entity by keywords present in the legal entity name.","schema":{"$ref":"#/components/schemas/GetHrisLegalEntitiesParameterNameContains"}}],"responses":{"200":{"description":"GET /hris/legal-entities Positive response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GetHrisLegalEntitiesPositiveResponse"},"examples":{"example1":{"value":{"status":"success","data":{"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}]}}}}}}},"default":{"$ref":"#/components/responses/ErrorResponseHRIS"}}}},"/hris/timesheets":{"get":{"operationId":"GetHrisTimesheets","summary":"Get timesheets","description":"Get timesheets\n\nRetrieve attendance data and timesheets from HRIS tools.\n\n**Open Beta Feature:** This endpoint is currently in beta. Please reach out to our support team if you need assistance with implementation.\n\nFor a detailed explanation of the data model, validation rules, time zones, payable hours, approvals, and break patterns, see the [Time & Attendance guide](/hris/features/time-and-attendance).\n\nTop 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)`","tags":["Unified HRIS API"],"parameters":[{"in":"header","name":"X-Integration-Id","schema":{"type":"string"},"description":"ID of the integration you want to interact with.","example":"bamboohr:HWUTwvyx2wLoSUHphiWVrp28","required":true},{"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/GetHrisTimesheetsParameterCursor"}},{"name":"page_size","in":"query","required":false,"description":"The number of results to return per page. Maximum is 250.","schema":{"$ref":"#/components/schemas/GetHrisTimesheetsParameterPageSize"}},{"name":"updated_after","in":"query","required":false,"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).","schema":{"$ref":"#/components/schemas/GetHrisTimesheetsParameterUpdatedAfter"}},{"name":"include_deleted","in":"query","required":false,"description":"By default, deleted entries are not returned. Use the `include_deleted` query param to include deleted entries too.","schema":{"$ref":"#/components/schemas/GetHrisTimesheetsParameterIncludeDeleted"}},{"name":"ids","in":"query","required":false,"description":"Filter by a comma-separated list of IDs such as `222k7eCGyUdgt2JWZDNnkDs3,B5DVmypWENfU6eMe6gYDyJG3`.","schema":{"$ref":"#/components/schemas/GetHrisTimesheetsParameterIds"}},{"name":"remote_ids","in":"query","required":false,"description":"Filter by a comma-separated list of remote IDs.","schema":{"$ref":"#/components/schemas/GetHrisTimesheetsParameterRemoteIds"}},{"name":"employee_id","in":"query","required":false,"description":"Returns timesheets for a specific employee.","schema":{"$ref":"#/components/schemas/GetHrisTimesheetsParameterEmployeeId"}},{"name":"started_before","in":"query","required":false,"description":"Return timesheets whose start time is before the given timestamp.","schema":{"$ref":"#/components/schemas/GetHrisTimesheetsParameterStartedBefore"}},{"name":"started_after","in":"query","required":false,"description":"Return timesheets whose start time is on or after the given timestamp.","schema":{"$ref":"#/components/schemas/GetHrisTimesheetsParameterStartedAfter"}},{"name":"ended_before","in":"query","required":false,"description":"Return timesheets whose end time is on or before the given timestamp.","schema":{"$ref":"#/components/schemas/GetHrisTimesheetsParameterEndedBefore"}},{"name":"ended_after","in":"query","required":false,"description":"Return timesheets whose end time is on or after the given timestamp.","schema":{"$ref":"#/components/schemas/GetHrisTimesheetsParameterEndedAfter"}}],"responses":{"200":{"description":"GET /hris/timesheets Positive response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GetHrisTimesheetsPositiveResponse"},"examples":{"example1":{"value":{"status":"success","data":{"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":{}}]}}}}}}},"default":{"$ref":"#/components/responses/ErrorResponseHRIS"}}}},"/hris/performance-review-cycles":{"get":{"operationId":"GetHrisPerformanceReviewCycles","summary":"Get performance review cycles","description":"Get performance review cycles\n\nRetrieve performance review cycles data from HRIS tools.\n\n**Open Beta Feature:** This endpoint is currently in beta. Please reach out to our support team if you need assistance with implementation.\n\n\n\nTop 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)`","tags":["Unified HRIS API"],"parameters":[{"in":"header","name":"X-Integration-Id","schema":{"type":"string"},"description":"ID of the integration you want to interact with.","example":"bamboohr:HWUTwvyx2wLoSUHphiWVrp28","required":true},{"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/GetHrisPerformanceReviewCyclesParameterCursor"}},{"name":"page_size","in":"query","required":false,"description":"The number of results to return per page. Maximum is 250.","schema":{"$ref":"#/components/schemas/GetHrisPerformanceReviewCyclesParameterPageSize"}},{"name":"updated_after","in":"query","required":false,"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).","schema":{"$ref":"#/components/schemas/GetHrisPerformanceReviewCyclesParameterUpdatedAfter"}},{"name":"include_deleted","in":"query","required":false,"description":"By default, deleted entries are not returned. Use the `include_deleted` query param to include deleted entries too.","schema":{"$ref":"#/components/schemas/GetHrisPerformanceReviewCyclesParameterIncludeDeleted"}},{"name":"ids","in":"query","required":false,"description":"Filter by a comma-separated list of IDs such as `222k7eCGyUdgt2JWZDNnkDs3,B5DVmypWENfU6eMe6gYDyJG3`.","schema":{"$ref":"#/components/schemas/GetHrisPerformanceReviewCyclesParameterIds"}},{"name":"remote_ids","in":"query","required":false,"description":"Filter by a comma-separated list of remote IDs.","schema":{"$ref":"#/components/schemas/GetHrisPerformanceReviewCyclesParameterRemoteIds"}}],"responses":{"200":{"description":"GET /hris/performance-review-cycles Positive response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GetHrisPerformanceReviewCyclesPositiveResponse"},"examples":{"example1":{"value":{"status":"success","data":{"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}]}}}}}}},"default":{"$ref":"#/components/responses/ErrorResponseHRIS"}}}},"/hris/performance-reviews":{"get":{"operationId":"GetHrisPerformanceReviews","summary":"Get performance reviews","description":"Get performance reviews\n\nRetrieve performance review data from HRIS tools.\n\n**Open Beta Feature:** This endpoint is currently in beta. Please reach out to our support team if you need assistance with implementation.\n\n\n\nTop 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)`","tags":["Unified HRIS API"],"parameters":[{"in":"header","name":"X-Integration-Id","schema":{"type":"string"},"description":"ID of the integration you want to interact with.","example":"bamboohr:HWUTwvyx2wLoSUHphiWVrp28","required":true},{"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/GetHrisPerformanceReviewsParameterCursor"}},{"name":"page_size","in":"query","required":false,"description":"The number of results to return per page. Maximum is 250.","schema":{"$ref":"#/components/schemas/GetHrisPerformanceReviewsParameterPageSize"}},{"name":"updated_after","in":"query","required":false,"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).","schema":{"$ref":"#/components/schemas/GetHrisPerformanceReviewsParameterUpdatedAfter"}},{"name":"include_deleted","in":"query","required":false,"description":"By default, deleted entries are not returned. Use the `include_deleted` query param to include deleted entries too.","schema":{"$ref":"#/components/schemas/GetHrisPerformanceReviewsParameterIncludeDeleted"}},{"name":"ids","in":"query","required":false,"description":"Filter by a comma-separated list of IDs such as `222k7eCGyUdgt2JWZDNnkDs3,B5DVmypWENfU6eMe6gYDyJG3`.","schema":{"$ref":"#/components/schemas/GetHrisPerformanceReviewsParameterIds"}},{"name":"remote_ids","in":"query","required":false,"description":"Filter by a comma-separated list of remote IDs.","schema":{"$ref":"#/components/schemas/GetHrisPerformanceReviewsParameterRemoteIds"}},{"name":"types","in":"query","required":false,"description":"Filter by a comma-separated list of `MANAGER`, `DIRECT_REPORT`, `PEER`, `SELF` \n\nLeave this blank to get results matching all values.","schema":{"$ref":"#/components/schemas/GetHrisPerformanceReviewsParameterTypes"}},{"name":"review_cycle_ids","in":"query","required":false,"description":"Filter by a comma-separated list of review cycle IDs.","schema":{"$ref":"#/components/schemas/GetHrisPerformanceReviewsParameterReviewCycleIds"}},{"name":"reviewee_ids","in":"query","required":false,"description":"Filter by a comma-separated list of reviewee IDs.","schema":{"$ref":"#/components/schemas/GetHrisPerformanceReviewsParameterRevieweeIds"}}],"responses":{"200":{"description":"GET /hris/performance-reviews Positive response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GetHrisPerformanceReviewsPositiveResponse"},"examples":{"example1":{"value":{"status":"success","data":{"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}}]}}}}}}},"default":{"$ref":"#/components/responses/ErrorResponseHRIS"}}}},"/hris/skills":{"get":{"operationId":"GetHrisSkills","summary":"Get skills","description":"Get skills\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 skills available in the HRIS system. Skills are available on employees and job positions.","tags":["Unified HRIS API"],"parameters":[{"in":"header","name":"X-Integration-Id","schema":{"type":"string"},"description":"ID of the integration you want to interact with.","example":"bamboohr:HWUTwvyx2wLoSUHphiWVrp28","required":true},{"name":"ids","in":"query","required":false,"description":"Filter by a comma-separated list of IDs such as `222k7eCGyUdgt2JWZDNnkDs3,B5DVmypWENfU6eMe6gYDyJG3`.","schema":{"$ref":"#/components/schemas/GetHrisSkillsParameterIds"}},{"name":"remote_ids","in":"query","required":false,"description":"Filter by a comma-separated list of remote IDs.","schema":{"$ref":"#/components/schemas/GetHrisSkillsParameterRemoteIds"}},{"name":"name_contains","in":"query","required":false,"description":"Filter by the `name` field. Can be used to find a skills by keywords present in the skill name.","schema":{"$ref":"#/components/schemas/GetHrisSkillsParameterNameContains"}}],"responses":{"200":{"description":"GET /hris/skills Positive response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GetHrisSkillsPositiveResponse"},"examples":{"example1":{"value":{"status":"success","data":{"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}]}}}}}}},"default":{"$ref":"#/components/responses/ErrorResponseHRIS"}}},"post":{"operationId":"PostHrisSkills","summary":"Create skill","description":"Create skill\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 skill in the HRIS system with specified name and levels. Refer to our coverage grid for support of levels.","tags":["Unified HRIS API"],"parameters":[{"in":"header","name":"X-Integration-Id","schema":{"type":"string"},"description":"ID of the integration you want to interact with.","example":"bamboohr:HWUTwvyx2wLoSUHphiWVrp28","required":true}],"requestBody":{"description":"POST /hris/skills Request body","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PostHrisSkillsRequestBody"},"examples":{"example1":{"value":{"name":"TypeScript Programming"}}}}}},"responses":{"200":{"description":"POST /hris/skills Positive response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PostHrisSkillsPositiveResponse"},"examples":{"example1":{"value":{"status":"success","data":{"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}}}}}}},"default":{"$ref":"#/components/responses/ErrorResponseHRIS"}}}},"/hris/skills/{skill_id}":{"patch":{"operationId":"PatchHrisSkillsSkillId","summary":"Update skill","description":"Update skill\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 skill in the HRIS system.","tags":["Unified HRIS API"],"parameters":[{"in":"header","name":"X-Integration-Id","schema":{"type":"string"},"description":"ID of the integration you want to interact with.","example":"bamboohr:HWUTwvyx2wLoSUHphiWVrp28","required":true},{"name":"skill_id","in":"path","required":true,"description":"The ID of the skill","schema":{"$ref":"#/components/schemas/PatchHrisSkillsSkillIdParameterSkillId"}}],"requestBody":{"description":"PATCH /hris/skills/:skill_id Request body","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PatchHrisSkillsSkillIdRequestBody"}}}},"responses":{"200":{"description":"PATCH /hris/skills/:skill_id Positive response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PatchHrisSkillsSkillIdPositiveResponse"},"examples":{"example1":{"value":{"status":"success","data":{"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}}}}}}},"default":{"$ref":"#/components/responses/ErrorResponseHRIS"}}},"delete":{"operationId":"DeleteHrisSkillsSkillId","summary":"Delete skill","description":"Delete skill\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\nDelete a skill from the HRIS system.","tags":["Unified HRIS API"],"parameters":[{"in":"header","name":"X-Integration-Id","schema":{"type":"string"},"description":"ID of the integration you want to interact with.","example":"bamboohr:HWUTwvyx2wLoSUHphiWVrp28","required":true},{"name":"skill_id","in":"path","required":true,"description":"The ID of the skill","schema":{"$ref":"#/components/schemas/DeleteHrisSkillsSkillIdParameterSkillId"}}],"requestBody":{"description":"DELETE /hris/skills/:skill_id Request body","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DeleteHrisSkillsSkillIdRequestBody"}}}},"responses":{"200":{"description":"DELETE /hris/skills/:skill_id Positive response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DeleteHrisSkillsSkillIdPositiveResponse"},"examples":{"example1":{"value":{"status":"success","data":{"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}}}}}}},"default":{"$ref":"#/components/responses/ErrorResponseHRIS"}}}},"/hris/employee-skill-assignments":{"get":{"operationId":"GetHrisEmployeeSkillAssignments","summary":"Get employee skill assignments","description":"Get employee skill assignments\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 employee skill assignments. These represent the skills that employees possess and their current proficiency levels.","tags":["Unified HRIS API"],"parameters":[{"in":"header","name":"X-Integration-Id","schema":{"type":"string"},"description":"ID of the integration you want to interact with.","example":"bamboohr:HWUTwvyx2wLoSUHphiWVrp28","required":true},{"name":"ids","in":"query","required":false,"description":"Filter by a comma-separated list of IDs such as `222k7eCGyUdgt2JWZDNnkDs3,B5DVmypWENfU6eMe6gYDyJG3`.","schema":{"$ref":"#/components/schemas/GetHrisEmployeeSkillAssignmentsParameterIds"}},{"name":"remote_ids","in":"query","required":false,"description":"Filter by a comma-separated list of remote IDs.","schema":{"$ref":"#/components/schemas/GetHrisEmployeeSkillAssignmentsParameterRemoteIds"}},{"name":"employee_ids","in":"query","required":false,"description":"Filter by a comma-separated list of employee IDs.","schema":{"$ref":"#/components/schemas/GetHrisEmployeeSkillAssignmentsParameterEmployeeIds"}},{"name":"skill_ids","in":"query","required":false,"description":"Filter by a comma-separated list of skill IDs.","schema":{"$ref":"#/components/schemas/GetHrisEmployeeSkillAssignmentsParameterSkillIds"}}],"responses":{"200":{"description":"GET /hris/employee-skill-assignments Positive response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GetHrisEmployeeSkillAssignmentsPositiveResponse"},"examples":{"example1":{"value":{"status":"success","data":{"next":"eyJwYWdlIjoxMiwibm90ZSI6InRoaXMgaXMganVzdCBhbiBleGFtcGxlIGFuZCBub3QgcmVwcmVzZW50YXRpdmUgZm9yIGEgcmVhbCBjdXJzb3IhIn0=","results":[{"id":"8AvRLpxwY5J6pGxfY6fUD81Z","employee_id":"26vafvWSRmbhNcxJYqjCzuJg","skill_id":"28KMdr68N8kG9EzLwjsN9aoz","current_level":"Proficiency Level 1"}]}}}}}}},"default":{"$ref":"#/components/responses/ErrorResponseHRIS"}}},"post":{"operationId":"PostHrisEmployeeSkillAssignments","summary":"Create employee skill assignment","description":"Create employee skill assignment\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\nAssign a skill to an employee with a specified skill level.","tags":["Unified HRIS API"],"parameters":[{"in":"header","name":"X-Integration-Id","schema":{"type":"string"},"description":"ID of the integration you want to interact with.","example":"bamboohr:HWUTwvyx2wLoSUHphiWVrp28","required":true}],"requestBody":{"description":"POST /hris/employee-skill-assignments Request body","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PostHrisEmployeeSkillAssignmentsRequestBody"}}}},"responses":{"200":{"description":"POST /hris/employee-skill-assignments Positive response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PostHrisEmployeeSkillAssignmentsPositiveResponse"},"examples":{"example1":{"value":{"status":"success","data":{"id":"8AvRLpxwY5J6pGxfY6fUD81Z","employee_id":"26vafvWSRmbhNcxJYqjCzuJg","skill_id":"28KMdr68N8kG9EzLwjsN9aoz","current_level":"Proficiency Level 1"}}}}}}},"default":{"$ref":"#/components/responses/ErrorResponseHRIS"}}}},"/hris/employee-skill-assignments/{employee_skill_assignment_id}":{"patch":{"operationId":"PatchHrisEmployeeSkillAssignmentsEmployeeSkillAssignmentId","summary":"Update employee skill assignment","description":"Update employee skill assignment\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 the skill level for an employee skill assignment.","tags":["Unified HRIS API"],"parameters":[{"in":"header","name":"X-Integration-Id","schema":{"type":"string"},"description":"ID of the integration you want to interact with.","example":"bamboohr:HWUTwvyx2wLoSUHphiWVrp28","required":true},{"name":"employee_skill_assignment_id","in":"path","required":true,"description":"The ID of the employee skill assignment","schema":{"$ref":"#/components/schemas/PatchHrisEmployeeSkillAssignmentsEmployeeSkillAssignmentIdParameterEmployeeSkillAssignmentId"}}],"requestBody":{"description":"PATCH /hris/employee-skill-assignments/:employee_skill_assignment_id Request body","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PatchHrisEmployeeSkillAssignmentsEmployeeSkillAssignmentIdRequestBody"}}}},"responses":{"200":{"description":"PATCH /hris/employee-skill-assignments/:employee_skill_assignment_id Positive response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PatchHrisEmployeeSkillAssignmentsEmployeeSkillAssignmentIdPositiveResponse"},"examples":{"example1":{"value":{"status":"success","data":{"id":"8AvRLpxwY5J6pGxfY6fUD81Z","employee_id":"26vafvWSRmbhNcxJYqjCzuJg","skill_id":"28KMdr68N8kG9EzLwjsN9aoz","current_level":"Proficiency Level 1"}}}}}}},"default":{"$ref":"#/components/responses/ErrorResponseHRIS"}}},"delete":{"operationId":"DeleteHrisEmployeeSkillAssignmentsEmployeeSkillAssignmentId","summary":"Delete employee skill assignment","description":"Delete employee skill assignment\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\nRemove a skill assignment from an employee.","tags":["Unified HRIS API"],"parameters":[{"in":"header","name":"X-Integration-Id","schema":{"type":"string"},"description":"ID of the integration you want to interact with.","example":"bamboohr:HWUTwvyx2wLoSUHphiWVrp28","required":true},{"name":"employee_skill_assignment_id","in":"path","required":true,"description":"The ID of the employee skill assignment","schema":{"$ref":"#/components/schemas/DeleteHrisEmployeeSkillAssignmentsEmployeeSkillAssignmentIdParameterEmployeeSkillAssignmentId"}}],"requestBody":{"description":"DELETE /hris/employee-skill-assignments/:employee_skill_assignment_id Request body","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DeleteHrisEmployeeSkillAssignmentsEmployeeSkillAssignmentIdRequestBody"}}}},"responses":{"200":{"description":"DELETE /hris/employee-skill-assignments/:employee_skill_assignment_id Positive response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DeleteHrisEmployeeSkillAssignmentsEmployeeSkillAssignmentIdPositiveResponse"},"examples":{"example1":{"value":{"status":"success","data":{"id":"8AvRLpxwY5J6pGxfY6fUD81Z","employee_id":"26vafvWSRmbhNcxJYqjCzuJg","skill_id":"28KMdr68N8kG9EzLwjsN9aoz","current_level":"Proficiency Level 1"}}}}}}},"default":{"$ref":"#/components/responses/ErrorResponseHRIS"}}}},"/hris/job-positions":{"get":{"operationId":"GetHrisJobPositions","summary":"Get job positions","description":"Get job positions\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 job positions from the HRIS system. Job positions represent the organizational structure and include information about required skills, department, location, and reporting relationships.","tags":["Unified HRIS API"],"parameters":[{"in":"header","name":"X-Integration-Id","schema":{"type":"string"},"description":"ID of the integration you want to interact with.","example":"bamboohr:HWUTwvyx2wLoSUHphiWVrp28","required":true},{"name":"ids","in":"query","required":false,"description":"Filter by a comma-separated list of IDs such as `222k7eCGyUdgt2JWZDNnkDs3,B5DVmypWENfU6eMe6gYDyJG3`.","schema":{"$ref":"#/components/schemas/GetHrisJobPositionsParameterIds"}},{"name":"remote_ids","in":"query","required":false,"description":"Filter by a comma-separated list of remote IDs.","schema":{"$ref":"#/components/schemas/GetHrisJobPositionsParameterRemoteIds"}}],"responses":{"200":{"description":"GET /hris/job-positions Positive response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GetHrisJobPositionsPositiveResponse"},"examples":{"example1":{"value":{"status":"success","data":{"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}]}}}}}}},"default":{"$ref":"#/components/responses/ErrorResponseHRIS"}}}},"/ats/applications":{"get":{"operationId":"GetAtsApplications","summary":"Get applications","description":"Retrieve all applications.\n\nVisit our in-depth guides to learn more about:\n\n- 💡 [Being aware of which applications are tracked](/ats/features/implementation-guide/tracking-created-applications#be-aware-of-which-applications-are-tracked)\n- 🚦 [Hiring signals](/ats/features/implementation-guide/tracking-created-applications#hiring-signals)\n- 📈 [Application stage changes](/ats/features/implementation-guide/tracking-created-applications#application-stage-changes)\n- ❓ [ATS-specific limitations](/ats/features/implementation-guide/tracking-created-applications#ats-specific-limitations)\n\nTop 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)`","tags":["Unified ATS API"],"parameters":[{"in":"header","name":"X-Integration-Id","schema":{"type":"string"},"description":"ID of the integration you want to interact with.","example":"join:HWUTwvyx2wLoSUHphiWVrp28","required":true},{"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/GetAtsApplicationsParameterCursor"}},{"name":"page_size","in":"query","required":false,"description":"The number of results to return per page. Maximum is 250.","schema":{"$ref":"#/components/schemas/GetAtsApplicationsParameterPageSize"}},{"name":"updated_after","in":"query","required":false,"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).","schema":{"$ref":"#/components/schemas/GetAtsApplicationsParameterUpdatedAfter"}},{"name":"include_deleted","in":"query","required":false,"description":"By default, deleted entries are not returned. Use the `include_deleted` query param to include deleted entries too.","schema":{"$ref":"#/components/schemas/GetAtsApplicationsParameterIncludeDeleted"}},{"name":"ids","in":"query","required":false,"description":"Filter by a comma-separated list of IDs such as `222k7eCGyUdgt2JWZDNnkDs3,B5DVmypWENfU6eMe6gYDyJG3`.","schema":{"$ref":"#/components/schemas/GetAtsApplicationsParameterIds"}},{"name":"remote_ids","in":"query","required":false,"description":"Filter by a comma-separated list of remote IDs.","schema":{"$ref":"#/components/schemas/GetAtsApplicationsParameterRemoteIds"}},{"name":"outcome","in":"query","required":false,"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`.","schema":{"$ref":"#/components/schemas/GetAtsApplicationsParameterOutcome"}},{"name":"outcomes","in":"query","required":false,"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.","schema":{"$ref":"#/components/schemas/GetAtsApplicationsParameterOutcomes"}},{"name":"job_ids","in":"query","required":false,"description":"Filter by a comma-separated list of job IDs. We will only return applications that are related to _any_ of the jobs.","schema":{"$ref":"#/components/schemas/GetAtsApplicationsParameterJobIds"}},{"name":"job_remote_ids","in":"query","required":false,"description":"Filter by a comma-separated list of job remote IDs. We will only return applications that are related to _any_ of the jobs.","schema":{"$ref":"#/components/schemas/GetAtsApplicationsParameterJobRemoteIds"}},{"name":"current_stage_ids","in":"query","required":false,"description":"Filter by a comma-separated list of application stage IDs. We will only return applications that are currently in _any_ of the stages.","schema":{"$ref":"#/components/schemas/GetAtsApplicationsParameterCurrentStageIds"}},{"name":"remote_created_after","in":"query","required":false,"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.","schema":{"$ref":"#/components/schemas/GetAtsApplicationsParameterRemoteCreatedAfter"}}],"responses":{"200":{"description":"GET /ats/applications Positive response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GetAtsApplicationsPositiveResponse"},"examples":{"example1":{"value":{"status":"success","data":{"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"}]}]}}}}}}},"default":{"$ref":"#/components/responses/ErrorResponseATS"}}}},"/ats/applications/{application_id}/stage":{"put":{"operationId":"PutAtsApplicationsApplicationIdStage","summary":"Move application to stage","description":"Moves an application to a specified stage. Use job-specific stages from GET /jobs, not the deprecated /application-stages endpoint.\n\n\n This endpoint requires the permission **Set application stage** to be enabled in [your scope config](/scopes).\n\n\n### Example Request Body\n\n```json\n{\n \"stage_id\": \"3PJ8PZhZZa1eEdd2DtPNtVup\"\n}\n```","tags":["Unified ATS API"],"parameters":[{"in":"header","name":"X-Integration-Id","schema":{"type":"string"},"description":"ID of the integration you want to interact with.","example":"join:HWUTwvyx2wLoSUHphiWVrp28","required":true},{"name":"application_id","in":"path","required":true,"description":"The Kombo ID of the application you want to move to a different stage.","schema":{"$ref":"#/components/schemas/PutAtsApplicationsApplicationIdStageParameterApplicationId"},"examples":{"example1":{"value":"GRKdd9dibYKKCrmGRSMJf3wu"}}}],"requestBody":{"description":"PUT /ats/applications/:application_id/stage Request body","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PutAtsApplicationsApplicationIdStageRequestBody"},"examples":{"example1":{"value":{"stage_id":"3PJ8PZhZZa1eEdd2DtPNtVup"}}}}}},"responses":{"200":{"description":"PUT /ats/applications/:application_id/stage Positive response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PutAtsApplicationsApplicationIdStagePositiveResponse"},"examples":{"example1":{"value":{"status":"success","data":{},"warnings":[{"message":"This is an example warning!"}]}}}}}},"default":{"$ref":"#/components/responses/ErrorResponseATS"}}}},"/ats/applications/{application_id}/result-links":{"post":{"operationId":"PostAtsApplicationsApplicationIdResultLinks","summary":"Add result link to application","description":"Add a result link to an application.\n\nThis 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.\n\n\n This endpoint requires the permission **Add result links** to be enabled in [your scope config](/scopes).\n\n\n### Example Request Body\n\n```json\n{\n \"application_id\": \"8Xi6iZrwusZqJmDGXs49GBmJ\",\n \"label\": \"Assessment Result\",\n \"url\": \"https://example.com/test-results/5BtP1WC1UboS7CF3yxjKcvjG\",\n \"details\": {\n \"custom_field_name_prefix\": \"Acme:\",\n \"attributes\": [\n {\n \"key\": \"Score\",\n \"value\": \"100%\"\n },\n {\n \"key\": \"Time\",\n \"value\": \"2:30h\"\n }\n ]\n },\n \"remote_fields\": {}\n}\n```","tags":["Unified ATS API"],"parameters":[{"in":"header","name":"X-Integration-Id","schema":{"type":"string"},"description":"ID of the integration you want to interact with.","example":"join:HWUTwvyx2wLoSUHphiWVrp28","required":true},{"name":"application_id","in":"path","required":true,"description":"The Kombo ID of the application you want to create the link for.","schema":{"$ref":"#/components/schemas/PostAtsApplicationsApplicationIdResultLinksParameterApplicationId"},"examples":{"example1":{"value":"8Xi6iZrwusZqJmDGXs49GBmJ"}}}],"requestBody":{"description":"POST /ats/applications/:application_id/result-links Request body","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PostAtsApplicationsApplicationIdResultLinksRequestBody"},"examples":{"example1":{"value":{"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"}]}}}}}}},"responses":{"200":{"description":"POST /ats/applications/:application_id/result-links Positive response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PostAtsApplicationsApplicationIdResultLinksPositiveResponse"},"examples":{"example1":{"value":{"status":"success","data":{},"warnings":[{"message":"This is an example warning!"}]}}}}}},"default":{"$ref":"#/components/responses/ErrorResponseATS"}}}},"/ats/applications/{application_id}/notes":{"post":{"operationId":"PostAtsApplicationsApplicationIdNotes","summary":"Add note to application","description":"Add a note to an application.\n\nAdd extra information to an application. This can be any extra text information you want to add to an application.\n\n\n This endpoint requires the permission **Add notes** to be enabled in [your scope config](/scopes).\n\n\n### Example Request Body\n\n```json\n{\n \"content\": \"A new message from the candidate is available in YourChat!\",\n \"content_type\": \"PLAIN_TEXT\",\n \"remote_fields\": {}\n}\n```","tags":["Unified ATS API"],"parameters":[{"in":"header","name":"X-Integration-Id","schema":{"type":"string"},"description":"ID of the integration you want to interact with.","example":"join:HWUTwvyx2wLoSUHphiWVrp28","required":true},{"name":"application_id","in":"path","required":true,"description":"The Kombo ID of the application you want to create the note for.","schema":{"$ref":"#/components/schemas/PostAtsApplicationsApplicationIdNotesParameterApplicationId"},"examples":{"example1":{"value":"8Xi6iZrwusZqJmDGXs49GBmJ"}}}],"requestBody":{"description":"POST /ats/applications/:application_id/notes Request body","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PostAtsApplicationsApplicationIdNotesRequestBody"},"examples":{"example1":{"value":{"content":"A new message from the candidate is available in YourChat!","content_type":"PLAIN_TEXT"}}}}}},"responses":{"200":{"description":"POST /ats/applications/:application_id/notes Positive response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PostAtsApplicationsApplicationIdNotesPositiveResponse"},"examples":{"example1":{"value":{"status":"success","data":{},"warnings":[{"message":"This is an example warning!"}]}}}}}},"default":{"$ref":"#/components/responses/ErrorResponseATS"}}}},"/ats/applications/{application_id}/attachments":{"get":{"operationId":"GetAtsApplicationsApplicationIdAttachments","summary":"Get application attachments","description":"Get attachments from a candidate or application.\n\nGet attachments from an application. If the ATS stores the attachments on the candidate, it will get the attachments from the corresponding candidate instead.\n\n\n This endpoint requires the permission **Read document attachments** to be enabled in [your scope config](/scopes).\n","tags":["Unified ATS API"],"parameters":[{"in":"header","name":"X-Integration-Id","schema":{"type":"string"},"description":"ID of the integration you want to interact with.","example":"join:HWUTwvyx2wLoSUHphiWVrp28","required":true},{"name":"application_id","in":"path","required":true,"description":"The Kombo ID of the application you want to obtain attachments for.","schema":{"$ref":"#/components/schemas/GetAtsApplicationsApplicationIdAttachmentsParameterApplicationId"},"examples":{"example1":{"value":"8Xi6iZrwusZqJmDGXs49GBmJ"}}}],"responses":{"200":{"description":"GET /ats/applications/:application_id/attachments Positive response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GetAtsApplicationsApplicationIdAttachmentsPositiveResponse"},"examples":{"example1":{"value":{"status":"success","data":{"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":[{"message":"This is an example warning!"}]}}}}}},"default":{"$ref":"#/components/responses/ErrorResponseATS"}}},"post":{"operationId":"PostAtsApplicationsApplicationIdAttachments","summary":"Add attachment to application","description":"Uploads an attachment file for the specified applicant.\n\n\n 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. \n\n\n\n This endpoint requires the permission **Add attachments** to be enabled in [your scope config](/scopes).\n\n\n### Example Request Body\n\n```json\n{\n \"application_id\": \"GRKdd9dibYKKCrmGRSMJf3wu\",\n \"attachment\": {\n \"name\": \"Frank Doe CV.txt\",\n \"data\": \"SGkgdGhlcmUsIEtvbWJvIGlzIGN1cnJlbnRseSBoaXJpbmcgZW5naW5lZXJzIHRoYXQgbG92ZSB0byB3b3JrIG9uIGRldmVsb3BlciBwcm9kdWN0cy4=\",\n \"type\": \"CV\",\n \"content_type\": \"text/plain\"\n },\n \"remote_fields\": {}\n}\n```","tags":["Unified ATS API"],"parameters":[{"in":"header","name":"X-Integration-Id","schema":{"type":"string"},"description":"ID of the integration you want to interact with.","example":"join:HWUTwvyx2wLoSUHphiWVrp28","required":true},{"name":"application_id","in":"path","required":true,"description":"POST /ats/applications/:application_id/attachments Parameter","schema":{"$ref":"#/components/schemas/PostAtsApplicationsApplicationIdAttachmentsParameterApplicationId"},"examples":{"example1":{"value":"GRKdd9dibYKKCrmGRSMJf3wu"}}}],"requestBody":{"description":"POST /ats/applications/:application_id/attachments Request body","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PostAtsApplicationsApplicationIdAttachmentsRequestBody"},"examples":{"example1":{"value":{"attachment":{"name":"Frank Doe CV.txt","data":"SGkgdGhlcmUsIEtvbWJvIGlzIGN1cnJlbnRseSBoaXJpbmcgZW5naW5lZXJzIHRoYXQgbG92ZSB0byB3b3JrIG9uIGRldmVsb3BlciBwcm9kdWN0cy4=","type":"CV","content_type":"text/plain"}}}}}}},"responses":{"200":{"description":"POST /ats/applications/:application_id/attachments Positive response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PostAtsApplicationsApplicationIdAttachmentsPositiveResponse"},"examples":{"example1":{"value":{"status":"success","data":{},"warnings":[{"message":"This is an example warning!"}]}}}}}},"default":{"$ref":"#/components/responses/ErrorResponseATS"}}}},"/ats/applications/{application_id}/reject":{"post":{"operationId":"PostAtsApplicationsApplicationIdReject","summary":"Reject application","description":"Rejects an application with a provided reason.\n\nRejects 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).\n\n\n This endpoint requires the permission **Reject applications** to be enabled in [your scope config](/scopes).\n\n\n### Example Request Body\n\n```json\n{\n \"rejection_reason_id\": \"3PJ8PZhZZa1eEdd2DtPNtVup\",\n \"note\": \"Candidate was a great culture fit but didn't bring the hard skills we need.\",\n \"remote_fields\": {}\n}\n```","tags":["Unified ATS API"],"parameters":[{"in":"header","name":"X-Integration-Id","schema":{"type":"string"},"description":"ID of the integration you want to interact with.","example":"join:HWUTwvyx2wLoSUHphiWVrp28","required":true},{"name":"application_id","in":"path","required":true,"description":"The Kombo ID of the application you want to reject.","schema":{"$ref":"#/components/schemas/PostAtsApplicationsApplicationIdRejectParameterApplicationId"},"examples":{"example1":{"value":"GRKdd9dibYKKCrmGRSMJf3wu"}}}],"requestBody":{"description":"POST /ats/applications/:application_id/reject Request body","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PostAtsApplicationsApplicationIdRejectRequestBody"},"examples":{"example1":{"value":{"rejection_reason_id":"3PJ8PZhZZa1eEdd2DtPNtVup","note":"Candidate was a great culture fit but didn't bring the hard skills we need."}}}}}},"responses":{"200":{"description":"POST /ats/applications/:application_id/reject Positive response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PostAtsApplicationsApplicationIdRejectPositiveResponse"},"examples":{"example1":{"value":{"status":"success","data":{},"warnings":[{"message":"This is an example warning!"}]}}}}}},"default":{"$ref":"#/components/responses/ErrorResponseATS"}}}},"/ats/applications/{application_id}/interviews":{"post":{"operationId":"PostAtsApplicationsApplicationIdInterviews","summary":"Create interview","description":"Create interview\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","tags":["Unified ATS API"],"parameters":[{"in":"header","name":"X-Integration-Id","schema":{"type":"string"},"description":"ID of the integration you want to interact with.","example":"join:HWUTwvyx2wLoSUHphiWVrp28","required":true},{"name":"application_id","in":"path","required":true,"description":"The ID of the application","schema":{"$ref":"#/components/schemas/PostAtsApplicationsApplicationIdInterviewsParameterApplicationId"}}],"requestBody":{"description":"POST /ats/applications/:application_id/interviews Request body","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PostAtsApplicationsApplicationIdInterviewsRequestBody"}}}},"responses":{"200":{"description":"POST /ats/applications/:application_id/interviews Positive response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PostAtsApplicationsApplicationIdInterviewsPositiveResponse"}}}},"default":{"$ref":"#/components/responses/ErrorResponseATS"}}},"patch":{"operationId":"PatchAtsApplicationsApplicationIdInterviews","summary":"Update interview","description":"Update interview\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","tags":["Unified ATS API"],"parameters":[{"in":"header","name":"X-Integration-Id","schema":{"type":"string"},"description":"ID of the integration you want to interact with.","example":"join:HWUTwvyx2wLoSUHphiWVrp28","required":true},{"name":"application_id","in":"path","required":true,"description":"The ID of the application","schema":{"$ref":"#/components/schemas/PatchAtsApplicationsApplicationIdInterviewsParameterApplicationId"}}],"requestBody":{"description":"PATCH /ats/applications/:application_id/interviews Request body","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PatchAtsApplicationsApplicationIdInterviewsRequestBody"}}}},"responses":{"200":{"description":"PATCH /ats/applications/:application_id/interviews Positive response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PatchAtsApplicationsApplicationIdInterviewsPositiveResponse"}}}},"default":{"$ref":"#/components/responses/ErrorResponseATS"}}}},"/ats/candidates":{"get":{"operationId":"GetAtsCandidates","summary":"Get candidates","description":"Retrieve all candidates.\n\nTop 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)`","tags":["Unified ATS API"],"parameters":[{"in":"header","name":"X-Integration-Id","schema":{"type":"string"},"description":"ID of the integration you want to interact with.","example":"join:HWUTwvyx2wLoSUHphiWVrp28","required":true},{"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/GetAtsCandidatesParameterCursor"}},{"name":"page_size","in":"query","required":false,"description":"The number of results to return per page. Maximum is 250.","schema":{"$ref":"#/components/schemas/GetAtsCandidatesParameterPageSize"}},{"name":"updated_after","in":"query","required":false,"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).","schema":{"$ref":"#/components/schemas/GetAtsCandidatesParameterUpdatedAfter"}},{"name":"include_deleted","in":"query","required":false,"description":"By default, deleted entries are not returned. Use the `include_deleted` query param to include deleted entries too.","schema":{"$ref":"#/components/schemas/GetAtsCandidatesParameterIncludeDeleted"}},{"name":"ids","in":"query","required":false,"description":"Filter by a comma-separated list of IDs such as `222k7eCGyUdgt2JWZDNnkDs3,B5DVmypWENfU6eMe6gYDyJG3`.","schema":{"$ref":"#/components/schemas/GetAtsCandidatesParameterIds"}},{"name":"remote_ids","in":"query","required":false,"description":"Filter by a comma-separated list of remote IDs.","schema":{"$ref":"#/components/schemas/GetAtsCandidatesParameterRemoteIds"}},{"name":"email","in":"query","required":false,"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.","schema":{"$ref":"#/components/schemas/GetAtsCandidatesParameterEmail"}},{"name":"job_ids","in":"query","required":false,"description":"Filter by a comma-separated list of job IDs. We will only return candidates that have applied to _any_ of the jobs.","schema":{"$ref":"#/components/schemas/GetAtsCandidatesParameterJobIds"}},{"name":"first_name","in":"query","required":false,"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.","schema":{"$ref":"#/components/schemas/GetAtsCandidatesParameterFirstName"}},{"name":"last_name","in":"query","required":false,"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.","schema":{"$ref":"#/components/schemas/GetAtsCandidatesParameterLastName"}}],"responses":{"200":{"description":"GET /ats/candidates Positive response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GetAtsCandidatesPositiveResponse"},"examples":{"example1":{"value":{"status":"success","data":{"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"}]}]}}}}}}},"default":{"$ref":"#/components/responses/ErrorResponseATS"}}},"post":{"operationId":"PostAtsCandidates","summary":"Create candidate","description":"Create a new candidate and application for the specified job.\n\n\n **We recommend using the [Create application](/ats/v1/post-jobs-job-id-applications) endpoint instead.**\n\n 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)\n\n Using it also has the benefit that we return the newly created applicant at the root level, so you can easily store its ID.\n \n\n\n This endpoint requires the permission **Create applications and candidates** to be enabled in [your scope config](/scopes).\n\n\n### Example Request Body\n\n```json\n{\n \"candidate\": {\n \"first_name\": \"Frank\",\n \"last_name\": \"Doe\",\n \"company\": \"Acme Inc.\",\n \"title\": \"Head of Integrations\",\n \"email_address\": \"frank.doe@example.com\",\n \"phone_number\": \"+1-541-754-3010\",\n \"gender\": \"MALE\",\n \"salary_expectations\": {\n \"amount\": 100000,\n \"period\": \"YEAR\"\n },\n \"availability_date\": \"2021-01-01\",\n \"location\": {\n \"city\": \"New York\",\n \"country\": \"US\",\n \"state\": \"NY\"\n },\n \"social_links\": [\n {\n \"url\": \"https://www.linkedin.com/in/frank-doe-123456789/\"\n },\n {\n \"url\": \"https://twitter.com/frankdoe\"\n }\n ]\n },\n \"application\": {\n \"job_id\": \"BDpgnpZ148nrGh4mYHNxJBgx\",\n \"stage_id\": \"8x3YKRDcuRnwShdh96ShBNn1\"\n },\n \"attachments\": [\n {\n \"name\": \"Frank Doe CV.txt\",\n \"data\": \"SGkgdGhlcmUsIEtvbWJvIGlzIGN1cnJlbnRseSBoaXJpbmcgZW5naW5lZXJzIHRoYXQgbG92ZSB0byB3b3JrIG9uIGRldmVsb3BlciBwcm9kdWN0cy4=\",\n \"type\": \"CV\",\n \"content_type\": \"text/plain\"\n }\n ],\n \"screening_question_answers\": [\n {\n \"question_id\": \"3phFBNXRweGnDmsU9o2vdPuQ\",\n \"answer\": \"Yes\"\n },\n {\n \"question_id\": \"EYJjhMQT3LtVKXnTbnRT8s6U\",\n \"answer\": [\n \"GUzE666zfyjeoCJX6A8n7wh6\",\n \"5WPHzzKAv8cx97KtHRUV96U8\",\n \"7yZfKGzWigXxxRTygqAfHvyE\"\n ]\n }\n ],\n \"remote_fields\": {}\n}\n```","tags":["Unified ATS API"],"parameters":[{"in":"header","name":"X-Integration-Id","schema":{"type":"string"},"description":"ID of the integration you want to interact with.","example":"join:HWUTwvyx2wLoSUHphiWVrp28","required":true}],"requestBody":{"description":"POST /ats/candidates Request body","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PostAtsCandidatesRequestBody"},"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","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"]}]}}}}}},"responses":{"200":{"description":"POST /ats/candidates Positive response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PostAtsCandidatesPositiveResponse"},"examples":{"example1":{"value":{"status":"success","data":{"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":[{"message":"This is an example warning!"}]}}}}}},"default":{"$ref":"#/components/responses/ErrorResponseATS"}}}},"/ats/candidates/{candidate_id}/attachments":{"get":{"operationId":"GetAtsCandidatesCandidateIdAttachments","summary":"Get candidate attachments","description":"Get attachments from a candidate, including all attachments of all of their applications.\n\n\n This endpoint requires the permission **Read document attachments** to be enabled in [your scope config](/scopes).\n","tags":["Unified ATS API"],"parameters":[{"in":"header","name":"X-Integration-Id","schema":{"type":"string"},"description":"ID of the integration you want to interact with.","example":"join:HWUTwvyx2wLoSUHphiWVrp28","required":true},{"name":"candidate_id","in":"path","required":true,"description":"The Kombo ID of the candidate you want to obtain attachments for.","schema":{"$ref":"#/components/schemas/GetAtsCandidatesCandidateIdAttachmentsParameterCandidateId"},"examples":{"example1":{"value":"8Xi6iZrwusZqJmDGXs49GBmJ"}}}],"responses":{"200":{"description":"GET /ats/candidates/:candidate_id/attachments Positive response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GetAtsCandidatesCandidateIdAttachmentsPositiveResponse"},"examples":{"example1":{"value":{"status":"success","data":{"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":[{"message":"This is an example warning!"}]}}}}}},"default":{"$ref":"#/components/responses/ErrorResponseATS"}}},"post":{"operationId":"PostAtsCandidatesCandidateIdAttachments","summary":"Add attachment to candidate","description":"Uploads an attachment file for the specified candidate.\n\n\n **We recommend using the [add attachment to application](/ats/v1/post-applications-application-id-attachments) endpoint instead.**\n\n 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)\n \n\n\n This endpoint requires the permission **Add attachments** to be enabled in [your scope config](/scopes).\n\n\n### Example Request Body\n\n```json\n{\n \"candidate_id\": \"GRKdd9dibYKKCrmGRSMJf3wu\",\n \"attachment\": {\n \"name\": \"Frank Doe CV.txt\",\n \"data\": \"SGkgdGhlcmUsIEtvbWJvIGlzIGN1cnJlbnRseSBoaXJpbmcgZW5naW5lZXJzIHRoYXQgbG92ZSB0byB3b3JrIG9uIGRldmVsb3BlciBwcm9kdWN0cy4=\",\n \"type\": \"CV\",\n \"content_type\": \"text/plain\"\n }\n}\n```","tags":["Unified ATS API"],"parameters":[{"in":"header","name":"X-Integration-Id","schema":{"type":"string"},"description":"ID of the integration you want to interact with.","example":"join:HWUTwvyx2wLoSUHphiWVrp28","required":true},{"name":"candidate_id","in":"path","required":true,"description":"The Kombo ID of the candidate you want to add the attachment to.","schema":{"$ref":"#/components/schemas/PostAtsCandidatesCandidateIdAttachmentsParameterCandidateId"},"examples":{"example1":{"value":"GRKdd9dibYKKCrmGRSMJf3wu"}}}],"requestBody":{"description":"POST /ats/candidates/:candidate_id/attachments Request body","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PostAtsCandidatesCandidateIdAttachmentsRequestBody"},"examples":{"example1":{"value":{"attachment":{"name":"Frank Doe CV.txt","data":"SGkgdGhlcmUsIEtvbWJvIGlzIGN1cnJlbnRseSBoaXJpbmcgZW5naW5lZXJzIHRoYXQgbG92ZSB0byB3b3JrIG9uIGRldmVsb3BlciBwcm9kdWN0cy4=","type":"CV","content_type":"text/plain"}}}}}}},"responses":{"200":{"description":"POST /ats/candidates/:candidate_id/attachments Positive response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PostAtsCandidatesCandidateIdAttachmentsPositiveResponse"}}}},"default":{"$ref":"#/components/responses/ErrorResponseATS"}}}},"/ats/candidates/{candidate_id}/result-links":{"post":{"operationId":"PostAtsCandidatesCandidateIdResultLinks","summary":"Add result link to candidate","description":"Add a result link to a candidate.\n\n\n **We recommend to use [add result link to application](/ats/v1/post-applications-application-id-result-links) instead.**\n\n 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.\n\n \n \n\n\n This endpoint requires the permission **Add result links** to be enabled in [your scope config](/scopes).\n\n\n### Example Request Body\n\n```json\n{\n \"label\": \"Assessment Result\",\n \"url\": \"https://example.com/test-results/5BtP1WC1UboS7CF3yxjKcvjG\",\n \"details\": {\n \"custom_field_name_prefix\": \"Acme:\",\n \"attributes\": [\n {\n \"key\": \"Score\",\n \"value\": \"100%\"\n },\n {\n \"key\": \"Time\",\n \"value\": \"2:30h\"\n }\n ]\n },\n \"remote_fields\": {}\n}\n```","tags":["Unified ATS API"],"parameters":[{"in":"header","name":"X-Integration-Id","schema":{"type":"string"},"description":"ID of the integration you want to interact with.","example":"join:HWUTwvyx2wLoSUHphiWVrp28","required":true},{"name":"candidate_id","in":"path","required":true,"description":"The Kombo ID of the candidate you want to add the result link to.","schema":{"$ref":"#/components/schemas/PostAtsCandidatesCandidateIdResultLinksParameterCandidateId"},"examples":{"example1":{"value":"8Xi6iZrwusZqJmDGXs49GBmJ"}}}],"requestBody":{"description":"POST /ats/candidates/:candidate_id/result-links Request body","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PostAtsCandidatesCandidateIdResultLinksRequestBody"},"examples":{"example1":{"value":{"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"}]}}}}}}},"responses":{"200":{"description":"POST /ats/candidates/:candidate_id/result-links Positive response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PostAtsCandidatesCandidateIdResultLinksPositiveResponse"}}}},"default":{"$ref":"#/components/responses/ErrorResponseATS"}}}},"/ats/candidates/{candidate_id}/tags":{"post":{"operationId":"PostAtsCandidatesCandidateIdTags","summary":"Add tag to candidate","description":"Add a tag to a candidate.\n\nKombo takes care of creating the tag if required, finding out the right ID, and appending it to the list of tags.\n\n\n This endpoint requires the permission **Manage tags** to be enabled in [your scope config](/scopes).\n\n\n### Example Request Body\n\n```json\n{\n \"tag\": {\n \"name\": \"Excellent Fit\"\n }\n}\n```","tags":["Unified ATS API"],"parameters":[{"in":"header","name":"X-Integration-Id","schema":{"type":"string"},"description":"ID of the integration you want to interact with.","example":"join:HWUTwvyx2wLoSUHphiWVrp28","required":true},{"name":"candidate_id","in":"path","required":true,"description":"The Kombo ID of the candidate you want to add the tag to.","schema":{"$ref":"#/components/schemas/PostAtsCandidatesCandidateIdTagsParameterCandidateId"},"examples":{"example1":{"value":"8Xi6iZrwusZqJmDGXs49GBmJ"}}}],"requestBody":{"description":"POST /ats/candidates/:candidate_id/tags Request body","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PostAtsCandidatesCandidateIdTagsRequestBody"},"examples":{"example1":{"value":{"tag":{"name":"Excellent Fit"}}}}}}},"responses":{"200":{"description":"POST /ats/candidates/:candidate_id/tags Positive response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PostAtsCandidatesCandidateIdTagsPositiveResponse"},"examples":{"example1":{"value":{"status":"success","data":{},"warnings":[{"message":"This is an example warning!"}]}}}}}},"default":{"$ref":"#/components/responses/ErrorResponseATS"}}},"delete":{"operationId":"DeleteAtsCandidatesCandidateIdTags","summary":"Remove tag from candidate","description":"Remove a tag from a candidate based on its name.\n\nThis will also succeed if the tag does not exist on the candidate.\n\n\n This endpoint requires the permission **Manage tags** to be enabled in [your scope config](/scopes).\n\n\n### Example Request Body\n\n```json\n{\n \"tag\": {\n \"name\": \"Excellent Fit\"\n }\n}\n```","tags":["Unified ATS API"],"parameters":[{"in":"header","name":"X-Integration-Id","schema":{"type":"string"},"description":"ID of the integration you want to interact with.","example":"join:HWUTwvyx2wLoSUHphiWVrp28","required":true},{"name":"candidate_id","in":"path","required":true,"description":"The Kombo ID of the candidate you want to remove the tag from.","schema":{"$ref":"#/components/schemas/DeleteAtsCandidatesCandidateIdTagsParameterCandidateId"},"examples":{"example1":{"value":"8Xi6iZrwusZqJmDGXs49GBmJ"}}}],"requestBody":{"description":"DELETE /ats/candidates/:candidate_id/tags Request body","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DeleteAtsCandidatesCandidateIdTagsRequestBody"},"examples":{"example1":{"value":{"tag":{"name":"Excellent Fit"}}}}}}},"responses":{"200":{"description":"DELETE /ats/candidates/:candidate_id/tags Positive response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DeleteAtsCandidatesCandidateIdTagsPositiveResponse"},"examples":{"example1":{"value":{"status":"success","data":{},"warnings":[{"message":"This is an example warning!"}]}}}}}},"default":{"$ref":"#/components/responses/ErrorResponseATS"}}}},"/ats/tags":{"get":{"operationId":"GetAtsTags","summary":"Get tags","description":"Retrieve all tags.\n\nTop 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)`","tags":["Unified ATS API"],"parameters":[{"in":"header","name":"X-Integration-Id","schema":{"type":"string"},"description":"ID of the integration you want to interact with.","example":"join:HWUTwvyx2wLoSUHphiWVrp28","required":true},{"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/GetAtsTagsParameterCursor"}},{"name":"page_size","in":"query","required":false,"description":"The number of results to return per page. Maximum is 250.","schema":{"$ref":"#/components/schemas/GetAtsTagsParameterPageSize"}},{"name":"updated_after","in":"query","required":false,"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).","schema":{"$ref":"#/components/schemas/GetAtsTagsParameterUpdatedAfter"}},{"name":"include_deleted","in":"query","required":false,"description":"By default, deleted entries are not returned. Use the `include_deleted` query param to include deleted entries too.","schema":{"$ref":"#/components/schemas/GetAtsTagsParameterIncludeDeleted"}},{"name":"ids","in":"query","required":false,"description":"Filter by a comma-separated list of IDs such as `222k7eCGyUdgt2JWZDNnkDs3,B5DVmypWENfU6eMe6gYDyJG3`.","schema":{"$ref":"#/components/schemas/GetAtsTagsParameterIds"}},{"name":"remote_ids","in":"query","required":false,"description":"Filter by a comma-separated list of remote IDs.","schema":{"$ref":"#/components/schemas/GetAtsTagsParameterRemoteIds"}}],"responses":{"200":{"description":"GET /ats/tags Positive response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GetAtsTagsPositiveResponse"},"examples":{"example1":{"value":{"status":"success","data":{"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}]}}}}}}},"default":{"$ref":"#/components/responses/ErrorResponseATS"}}}},"/ats/application-stages":{"get":{"operationId":"GetAtsApplicationStages","summary":"Get application stages","description":"Get all application stages available in the ATS.\n\n\n **This endpoint is deprecated!**\n\n 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.\n\n**Important**: Using global stages can cause \"Stage not found\" errors when moving applications, especially with systems like Workable that have job-specific stages.\n\n[Moving Applications Guide](/ats/implementation-guide/moving-and-rejecting-candidates).\n\n\nTop 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)`","tags":["Unified ATS API"],"parameters":[{"in":"header","name":"X-Integration-Id","schema":{"type":"string"},"description":"ID of the integration you want to interact with.","example":"join:HWUTwvyx2wLoSUHphiWVrp28","required":true},{"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/GetAtsApplicationStagesParameterCursor"}},{"name":"page_size","in":"query","required":false,"description":"The number of results to return per page. Maximum is 250.","schema":{"$ref":"#/components/schemas/GetAtsApplicationStagesParameterPageSize"}},{"name":"updated_after","in":"query","required":false,"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).","schema":{"$ref":"#/components/schemas/GetAtsApplicationStagesParameterUpdatedAfter"}},{"name":"include_deleted","in":"query","required":false,"description":"By default, deleted entries are not returned. Use the `include_deleted` query param to include deleted entries too.","schema":{"$ref":"#/components/schemas/GetAtsApplicationStagesParameterIncludeDeleted"}},{"name":"ids","in":"query","required":false,"description":"Filter by a comma-separated list of IDs such as `222k7eCGyUdgt2JWZDNnkDs3,B5DVmypWENfU6eMe6gYDyJG3`.","schema":{"$ref":"#/components/schemas/GetAtsApplicationStagesParameterIds"}},{"name":"remote_ids","in":"query","required":false,"description":"Filter by a comma-separated list of remote IDs.","schema":{"$ref":"#/components/schemas/GetAtsApplicationStagesParameterRemoteIds"}}],"responses":{"200":{"description":"GET /ats/application-stages Positive response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GetAtsApplicationStagesPositiveResponse"},"examples":{"example1":{"value":{"status":"success","data":{"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}]}}}}}}},"default":{"$ref":"#/components/responses/ErrorResponseATS"}}}},"/ats/jobs":{"get":{"operationId":"GetAtsJobs","summary":"Get jobs","description":"Retrieve all jobs.\n\nVisit our in-depth guides to learn more about:\n\n- 🔄 [Getting updates of the data](/ats/features/implementation-guide/reading-jobs#getting-updates-of-the-data)\n- ❗ [Handling failing syncs](/ats/features/implementation-guide/reading-jobs#handling-failing-syncs)\n- 🔍 [Letting your customer choose which jobs to expose](/ats/features/implementation-guide/reading-jobs#let-your-customer-choose-which-jobs-to-expose-to-you)\n- 🔗 [Matching jobs in your database to ATS jobs](/ats/features/implementation-guide/reading-jobs#match-jobs-in-your-database-to-ats-jobs)\n- 🗑️ [Reacting to deleted/closed jobs](/ats/features/implementation-guide/reading-jobs#reacting-to-deleted-closed-jobs)\n\nTop 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)`","tags":["Unified ATS API"],"parameters":[{"in":"header","name":"X-Integration-Id","schema":{"type":"string"},"description":"ID of the integration you want to interact with.","example":"join:HWUTwvyx2wLoSUHphiWVrp28","required":true},{"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/GetAtsJobsParameterCursor"}},{"name":"page_size","in":"query","required":false,"description":"The number of results to return per page. Maximum is 250.","schema":{"$ref":"#/components/schemas/GetAtsJobsParameterPageSize"}},{"name":"updated_after","in":"query","required":false,"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).","schema":{"$ref":"#/components/schemas/GetAtsJobsParameterUpdatedAfter"}},{"name":"include_deleted","in":"query","required":false,"description":"By default, deleted entries are not returned. Use the `include_deleted` query param to include deleted entries too.","schema":{"$ref":"#/components/schemas/GetAtsJobsParameterIncludeDeleted"}},{"name":"ids","in":"query","required":false,"description":"Filter by a comma-separated list of IDs such as `222k7eCGyUdgt2JWZDNnkDs3,B5DVmypWENfU6eMe6gYDyJG3`.","schema":{"$ref":"#/components/schemas/GetAtsJobsParameterIds"}},{"name":"remote_ids","in":"query","required":false,"description":"Filter by a comma-separated list of remote IDs.","schema":{"$ref":"#/components/schemas/GetAtsJobsParameterRemoteIds"}},{"name":"job_codes","in":"query","required":false,"description":"Filter by a comma-separated list of job codes.","schema":{"$ref":"#/components/schemas/GetAtsJobsParameterJobCodes"}},{"name":"post_url","in":"query","required":false,"description":"Filter by the `post_url` field. Can be used to find a job based on its public posting URL.","schema":{"$ref":"#/components/schemas/GetAtsJobsParameterPostUrl"}},{"name":"status","in":"query","required":false,"description":"**(⚠️ Deprecated - Use the `statuses` filter instead.)** Filter by the `status` field. Can be used to find a job based on its status.","schema":{"$ref":"#/components/schemas/GetAtsJobsParameterStatus"}},{"name":"statuses","in":"query","required":false,"description":"Filter by a comma-separated list of `OPEN`, `CLOSED`, `DRAFT`, `ARCHIVED` \n\nLeave this blank to get results matching all values.","schema":{"$ref":"#/components/schemas/GetAtsJobsParameterStatuses"}},{"name":"employment_types","in":"query","required":false,"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.","schema":{"$ref":"#/components/schemas/GetAtsJobsParameterEmploymentTypes"}},{"name":"visibilities","in":"query","required":false,"description":"Filter by a comma-separated list of `PUBLIC`, `INTERNAL`, `UNLISTED`, `CONFIDENTIAL` \n\nLeave this blank to get results matching all values.","schema":{"$ref":"#/components/schemas/GetAtsJobsParameterVisibilities"}},{"name":"remote_created_after","in":"query","required":false,"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.","schema":{"$ref":"#/components/schemas/GetAtsJobsParameterRemoteCreatedAfter"}},{"name":"name_contains","in":"query","required":false,"description":"Filter by the `name` field. Can be used to find a job by keywords present in the job name.","schema":{"$ref":"#/components/schemas/GetAtsJobsParameterNameContains"}}],"responses":{"200":{"description":"GET /ats/jobs Positive response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GetAtsJobsPositiveResponse"},"examples":{"example1":{"value":{"status":"success","data":{"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"]}]}]}}}}}}},"default":{"$ref":"#/components/responses/ErrorResponseATS"}}}},"/ats/jobs/{job_id}/applications":{"post":{"operationId":"PostAtsJobsJobIdApplications","summary":"Create application","description":"Create a new application and candidate for the specified job.\n\nVisit our in-depth guides to learn more about:\n\n- 🌐 [Setting the source of the application](/ats/features/implementation-guide/creating-applications#set-the-source-of-the-application) \n- 📎 [Uploading attachments with the application](/ats/features/implementation-guide/creating-applications#upload-attachments-with-the-application) \n- ♻️ [Retry behaviour](/ats/features/implementation-guide/creating-applications#retry-behaviour) \n- ✏️ [Writing answers to screening questions](/ats/features/implementation-guide/creating-applications#write-answers-to-screening-questions) \n- ⚠️ [Handling ATS-specific limitations](/ats/features/implementation-guide/creating-applications#handle-ats-specific-limitations)\n\n\n This endpoint requires the permission **Create applications and candidates** to be enabled in [your scope config](/scopes).\n\n\n### Example Request Body\n\n```json\n{\n \"candidate\": {\n \"first_name\": \"Frank\",\n \"last_name\": \"Doe\",\n \"company\": \"Acme Inc.\",\n \"title\": \"Head of Integrations\",\n \"email_address\": \"frank.doe@example.com\",\n \"phone_number\": \"+1-541-754-3010\",\n \"gender\": \"MALE\",\n \"salary_expectations\": {\n \"amount\": 100000,\n \"period\": \"YEAR\"\n },\n \"availability_date\": \"2021-01-01\",\n \"location\": {\n \"city\": \"New York\",\n \"country\": \"US\"\n }\n },\n \"stage_id\": \"8x3YKRDcuRnwShdh96ShBNn1\",\n \"attachments\": [\n {\n \"name\": \"Frank Doe CV.txt\",\n \"data\": \"SGkgdGhlcmUsIEtvbWJvIGlzIGN1cnJlbnRseSBoaXJpbmcgZW5naW5lZXJzIHRoYXQgbG92ZSB0byB3b3JrIG9uIGRldmVsb3BlciBwcm9kdWN0cy4=\",\n \"type\": \"CV\",\n \"content_type\": \"text/plain\"\n }\n ],\n \"screening_question_answers\": [\n {\n \"question_id\": \"3phFBNXRweGnDmsU9o2vdPuQ\",\n \"answer\": \"Yes\"\n },\n {\n \"question_id\": \"EYJjhMQT3LtVKXnTbnRT8s6U\",\n \"answer\": [\n \"GUzE666zfyjeoCJX6A8n7wh6\",\n \"5WPHzzKAv8cx97KtHRUV96U8\",\n \"7yZfKGzWigXxxRTygqAfHvyE\"\n ]\n }\n ],\n \"remote_fields\": {}\n}\n```","tags":["Unified ATS API"],"parameters":[{"in":"header","name":"X-Integration-Id","schema":{"type":"string"},"description":"ID of the integration you want to interact with.","example":"join:HWUTwvyx2wLoSUHphiWVrp28","required":true},{"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/PostAtsJobsJobIdApplicationsParameterJobId"},"examples":{"example1":{"value":"BDpgnpZ148nrGh4mYHNxJBgx"}}}],"requestBody":{"description":"POST /ats/jobs/:job_id/applications Request body","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PostAtsJobsJobIdApplicationsRequestBody"},"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 /ats/jobs/:job_id/applications Positive response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PostAtsJobsJobIdApplicationsPositiveResponse"},"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"}]}},"warnings":[{"message":"This is an example warning!"}]}}}}}},"default":{"$ref":"#/components/responses/ErrorResponseATS"}}}},"/ats/users":{"get":{"operationId":"GetAtsUsers","summary":"Get users","description":"Retrieve all users.\n\nTop 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)`","tags":["Unified ATS API"],"parameters":[{"in":"header","name":"X-Integration-Id","schema":{"type":"string"},"description":"ID of the integration you want to interact with.","example":"join:HWUTwvyx2wLoSUHphiWVrp28","required":true},{"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/GetAtsUsersParameterCursor"}},{"name":"page_size","in":"query","required":false,"description":"The number of results to return per page. Maximum is 250.","schema":{"$ref":"#/components/schemas/GetAtsUsersParameterPageSize"}},{"name":"updated_after","in":"query","required":false,"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).","schema":{"$ref":"#/components/schemas/GetAtsUsersParameterUpdatedAfter"}},{"name":"include_deleted","in":"query","required":false,"description":"By default, deleted entries are not returned. Use the `include_deleted` query param to include deleted entries too.","schema":{"$ref":"#/components/schemas/GetAtsUsersParameterIncludeDeleted"}},{"name":"ids","in":"query","required":false,"description":"Filter by a comma-separated list of IDs such as `222k7eCGyUdgt2JWZDNnkDs3,B5DVmypWENfU6eMe6gYDyJG3`.","schema":{"$ref":"#/components/schemas/GetAtsUsersParameterIds"}},{"name":"remote_ids","in":"query","required":false,"description":"Filter by a comma-separated list of remote IDs.","schema":{"$ref":"#/components/schemas/GetAtsUsersParameterRemoteIds"}},{"name":"emails","in":"query","required":false,"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.","schema":{"$ref":"#/components/schemas/GetAtsUsersParameterEmails"}}],"responses":{"200":{"description":"GET /ats/users Positive response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GetAtsUsersPositiveResponse"},"examples":{"example1":{"value":{"status":"success","data":{"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}]}}}}}}},"default":{"$ref":"#/components/responses/ErrorResponseATS"}}}},"/ats/offers":{"get":{"operationId":"GetAtsOffers","summary":"Get offers","description":"Retrieve all offers.\n\nTop 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)`","tags":["Unified ATS API"],"parameters":[{"in":"header","name":"X-Integration-Id","schema":{"type":"string"},"description":"ID of the integration you want to interact with.","example":"join:HWUTwvyx2wLoSUHphiWVrp28","required":true},{"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/GetAtsOffersParameterCursor"}},{"name":"page_size","in":"query","required":false,"description":"The number of results to return per page. Maximum is 250.","schema":{"$ref":"#/components/schemas/GetAtsOffersParameterPageSize"}},{"name":"updated_after","in":"query","required":false,"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).","schema":{"$ref":"#/components/schemas/GetAtsOffersParameterUpdatedAfter"}},{"name":"include_deleted","in":"query","required":false,"description":"By default, deleted entries are not returned. Use the `include_deleted` query param to include deleted entries too.","schema":{"$ref":"#/components/schemas/GetAtsOffersParameterIncludeDeleted"}},{"name":"ids","in":"query","required":false,"description":"Filter by a comma-separated list of IDs such as `222k7eCGyUdgt2JWZDNnkDs3,B5DVmypWENfU6eMe6gYDyJG3`.","schema":{"$ref":"#/components/schemas/GetAtsOffersParameterIds"}},{"name":"remote_ids","in":"query","required":false,"description":"Filter by a comma-separated list of remote IDs.","schema":{"$ref":"#/components/schemas/GetAtsOffersParameterRemoteIds"}}],"responses":{"200":{"description":"GET /ats/offers Positive response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GetAtsOffersPositiveResponse"},"examples":{"example1":{"value":{"status":"success","data":{"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"}}}]}}}}}}},"default":{"$ref":"#/components/responses/ErrorResponseATS"}}}},"/ats/rejection-reasons":{"get":{"operationId":"GetAtsRejectionReasons","summary":"Get rejection reasons","description":"Retrieve all rejection reasons.\n\nGet 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).\n\nTop 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)`","tags":["Unified ATS API"],"parameters":[{"in":"header","name":"X-Integration-Id","schema":{"type":"string"},"description":"ID of the integration you want to interact with.","example":"join:HWUTwvyx2wLoSUHphiWVrp28","required":true},{"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/GetAtsRejectionReasonsParameterCursor"}},{"name":"page_size","in":"query","required":false,"description":"The number of results to return per page. Maximum is 250.","schema":{"$ref":"#/components/schemas/GetAtsRejectionReasonsParameterPageSize"}},{"name":"updated_after","in":"query","required":false,"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).","schema":{"$ref":"#/components/schemas/GetAtsRejectionReasonsParameterUpdatedAfter"}},{"name":"include_deleted","in":"query","required":false,"description":"By default, deleted entries are not returned. Use the `include_deleted` query param to include deleted entries too.","schema":{"$ref":"#/components/schemas/GetAtsRejectionReasonsParameterIncludeDeleted"}},{"name":"ids","in":"query","required":false,"description":"Filter by a comma-separated list of IDs such as `222k7eCGyUdgt2JWZDNnkDs3,B5DVmypWENfU6eMe6gYDyJG3`.","schema":{"$ref":"#/components/schemas/GetAtsRejectionReasonsParameterIds"}},{"name":"remote_ids","in":"query","required":false,"description":"Filter by a comma-separated list of remote IDs.","schema":{"$ref":"#/components/schemas/GetAtsRejectionReasonsParameterRemoteIds"}}],"responses":{"200":{"description":"GET /ats/rejection-reasons Positive response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GetAtsRejectionReasonsPositiveResponse"},"examples":{"example1":{"value":{"status":"success","data":{"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}]}}}}}}},"default":{"$ref":"#/components/responses/ErrorResponseATS"}}}},"/ats/interviews":{"get":{"operationId":"GetAtsInterviews","summary":"Get interviews","description":"Retrieve all interviews.\n\nTop 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)`","tags":["Unified ATS API"],"parameters":[{"in":"header","name":"X-Integration-Id","schema":{"type":"string"},"description":"ID of the integration you want to interact with.","example":"join:HWUTwvyx2wLoSUHphiWVrp28","required":true},{"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/GetAtsInterviewsParameterCursor"}},{"name":"page_size","in":"query","required":false,"description":"The number of results to return per page. Maximum is 250.","schema":{"$ref":"#/components/schemas/GetAtsInterviewsParameterPageSize"}},{"name":"updated_after","in":"query","required":false,"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).","schema":{"$ref":"#/components/schemas/GetAtsInterviewsParameterUpdatedAfter"}},{"name":"include_deleted","in":"query","required":false,"description":"By default, deleted entries are not returned. Use the `include_deleted` query param to include deleted entries too.","schema":{"$ref":"#/components/schemas/GetAtsInterviewsParameterIncludeDeleted"}},{"name":"ids","in":"query","required":false,"description":"Filter by a comma-separated list of IDs such as `222k7eCGyUdgt2JWZDNnkDs3,B5DVmypWENfU6eMe6gYDyJG3`.","schema":{"$ref":"#/components/schemas/GetAtsInterviewsParameterIds"}},{"name":"remote_ids","in":"query","required":false,"description":"Filter by a comma-separated list of remote IDs.","schema":{"$ref":"#/components/schemas/GetAtsInterviewsParameterRemoteIds"}},{"name":"job_ids","in":"query","required":false,"description":"Filter by a comma-separated list of job IDs. We will only return interviews for applications associated with any of these jobs.","schema":{"$ref":"#/components/schemas/GetAtsInterviewsParameterJobIds"}}],"responses":{"200":{"description":"GET /ats/interviews Positive response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GetAtsInterviewsPositiveResponse"},"examples":{"example1":{"value":{"status":"success","data":{"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"}}}]}}}}}}},"default":{"$ref":"#/components/responses/ErrorResponseATS"}}}},"/ats/actions/ats_create_candidate":{"get":{"operationId":"GetAtsActionsAtsCreateCandidate","tags":["Unified ATS API"],"parameters":[{"in":"header","name":"X-Integration-Id","schema":{"type":"string"},"description":"ID of the integration you want to interact with.","example":"join:HWUTwvyx2wLoSUHphiWVrp28","required":true}],"responses":{"200":{"description":"GET /ats/actions/ats_create_candidate Positive response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GetAtsActionsAtsCreateCandidatePositiveResponse"},"examples":{"example1":{"value":{"status":"success","data":{"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}}}}}}}}}},"default":{"$ref":"#/components/responses/ErrorResponseATS"}}}},"/ats/actions/ats_create_application":{"get":{"operationId":"GetAtsActionsAtsCreateApplication","tags":["Unified ATS API"],"parameters":[{"in":"header","name":"X-Integration-Id","schema":{"type":"string"},"description":"ID of the integration you want to interact with.","example":"join:HWUTwvyx2wLoSUHphiWVrp28","required":true}],"responses":{"200":{"description":"GET /ats/actions/ats_create_application Positive response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GetAtsActionsAtsCreateApplicationPositiveResponse"},"examples":{"example1":{"value":{"status":"success","data":{"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}}}}}}}}}},"default":{"$ref":"#/components/responses/ErrorResponseATS"}}}},"/ats/actions/ats_add_application_attachment":{"get":{"operationId":"GetAtsActionsAtsAddApplicationAttachment","tags":["Unified ATS API"],"parameters":[{"in":"header","name":"X-Integration-Id","schema":{"type":"string"},"description":"ID of the integration you want to interact with.","example":"join:HWUTwvyx2wLoSUHphiWVrp28","required":true}],"responses":{"200":{"description":"GET /ats/actions/ats_add_application_attachment Positive response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GetAtsActionsAtsAddApplicationAttachmentPositiveResponse"},"examples":{"example1":{"value":{"status":"success","data":{"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"]}}}}}}}}}},"default":{"$ref":"#/components/responses/ErrorResponseATS"}}}},"/ats/actions/ats_add_candidate_attachment":{"get":{"operationId":"GetAtsActionsAtsAddCandidateAttachment","tags":["Unified ATS API"],"parameters":[{"in":"header","name":"X-Integration-Id","schema":{"type":"string"},"description":"ID of the integration you want to interact with.","example":"join:HWUTwvyx2wLoSUHphiWVrp28","required":true}],"responses":{"200":{"description":"GET /ats/actions/ats_add_candidate_attachment Positive response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GetAtsActionsAtsAddCandidateAttachmentPositiveResponse"},"examples":{"example1":{"value":{"status":"success","data":{"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"]}}}}}}}}}},"default":{"$ref":"#/components/responses/ErrorResponseATS"}}}},"/ats/import-tracked-application":{"post":{"operationId":"PostAtsImportTrackedApplication","summary":"Import tracked application","description":"Import tracked application\n\nRetroactively 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.\n\nTo 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.\n\nOnce imported, Kombo will automatically fetch and update the application's complete data during the next sync.\n\n### Example Request Body\n\n```json\n{\n \"tracked_at\": \"2024-04-12T14:33:47.000Z\",\n \"successfactors\": {\n \"id_type\": \"application_remote_id\",\n \"application_remote_id\": \"1224042\"\n }\n}\n```","tags":["Unified ATS API"],"parameters":[{"in":"header","name":"X-Integration-Id","schema":{"type":"string"},"description":"ID of the integration you want to interact with.","example":"join:HWUTwvyx2wLoSUHphiWVrp28","required":true}],"requestBody":{"description":"POST /ats/import-tracked-application Request body","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PostAtsImportTrackedApplicationRequestBody"},"examples":{"example1":{"value":{"tracked_at":"2024-04-12T14:33:47.000Z","successfactors":{"id_type":"application_remote_id","application_remote_id":"1224042"}}}}}}},"responses":{"200":{"description":"POST /ats/import-tracked-application Positive response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PostAtsImportTrackedApplicationPositiveResponse"},"examples":{"example1":{"value":{"status":"success","data":{"id":"5wdtQtJei2oVhJKya2V1KZLM","tracked_at":"2025-02-11T15:37:37.000Z","imported_id":{"successfactors":{"id_type":"application_remote_id","application_remote_id":"1224042"}}},"warnings":[{"message":"This is an example warning!"}]}}}}}},"default":{"$ref":"#/components/responses/ErrorResponseATS"}}}},"/assessment/packages":{"get":{"operationId":"GetAssessmentPackages","summary":"Get packages","description":"Get all available assessment and background check packages for an integration.\n\nThis is mainly intended for debugging. As you always need to submit the full list of available packages when using [\"set packages\"](/assessment/v1/put-packages), there shouldn't ever be a need to call this endpoint in production.","tags":["Unified ATS (Assessment & Background Check) API"],"parameters":[{"in":"header","name":"X-Integration-Id","schema":{"type":"string"},"description":"ID of the integration you want to interact with.","example":"recruitee:HWUTwvyx2wLoSUHphiWVrp28","required":true}],"responses":{"200":{"description":"GET /assessment/packages Positive response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GetAssessmentPackagesPositiveResponse"},"examples":{"example1":{"value":{"status":"success","data":{"packages":[{"id":"1001","name":"TypeScript","description":"TypeScript coding skills assessments","updated_at":"2023-06-29T18:47:40.890Z","type":"SKILLS_TEST"}]}}}}}}},"default":{"$ref":"#/components/responses/ErrorResponseATS"}}},"put":{"operationId":"PutAssessmentPackages","summary":"Set packages","description":"Set packages\n\nReplaces the list of available assessment and or background check packages.\n\nPackages that have been previously submitted through this endpoint but aren't included again will be marked as deleted.\n\n### Example Request Body\n\n```json\n{\n \"packages\": [\n {\n \"id\": \"1001\",\n \"type\": \"SKILLS_TEST\",\n \"name\": \"TypeScript\",\n \"description\": \"TypeScript coding skills assessments\"\n },\n {\n \"id\": \"1002\",\n \"type\": \"VIDEO_INTERVIEW\",\n \"name\": \"Video Interview\",\n \"description\": \"Video interview to assess communication skills\"\n }\n ]\n}\n```","tags":["Unified ATS (Assessment & Background Check) API"],"parameters":[{"in":"header","name":"X-Integration-Id","schema":{"type":"string"},"description":"ID of the integration you want to interact with.","example":"recruitee:HWUTwvyx2wLoSUHphiWVrp28","required":true}],"requestBody":{"description":"PUT /assessment/packages Request body","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PutAssessmentPackagesRequestBody"},"examples":{"example1":{"value":{"packages":[{"id":"1001","type":"SKILLS_TEST","name":"TypeScript","description":"TypeScript coding skills assessments"},{"id":"1002","type":"VIDEO_INTERVIEW","name":"Video Interview","description":"Video interview to assess communication skills"}]}}}}}},"responses":{"200":{"description":"PUT /assessment/packages Positive response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PutAssessmentPackagesPositiveResponse"}}}},"default":{"$ref":"#/components/responses/ErrorResponseATS"}}}},"/assessment/orders/open":{"get":{"operationId":"GetAssessmentOrdersOpen","summary":"Get open orders","description":"Get all open assessment and background check orders of an integration.","tags":["Unified ATS (Assessment & Background Check) API"],"parameters":[{"in":"header","name":"X-Integration-Id","schema":{"type":"string"},"description":"ID of the integration you want to interact with.","example":"recruitee:HWUTwvyx2wLoSUHphiWVrp28","required":true},{"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/GetAssessmentOrdersOpenParameterCursor"}},{"name":"page_size","in":"query","required":false,"description":"The number of results to return per page. Maximum is 250.","schema":{"$ref":"#/components/schemas/GetAssessmentOrdersOpenParameterPageSize"}}],"responses":{"200":{"description":"GET /assessment/orders/open Positive response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GetAssessmentOrdersOpenPositiveResponse"}}}},"default":{"$ref":"#/components/responses/ErrorResponseATS"}}}},"/assessment/orders/{assessment_order_id}/result":{"put":{"operationId":"PutAssessmentOrdersAssessmentOrderIdResult","summary":"Update order result","description":"Updates an assessment or a background check order result.\n\n### Example Request Body\n\n```json\n{\n \"status\": \"COMPLETED\",\n \"score\": 90,\n \"max_score\": 100,\n \"result_url\": \"https://example.com\",\n \"completed_at\": \"2023-04-04T00:00:00.000Z\",\n \"attributes\": [\n {\n \"type\": \"TEXT\",\n \"label\": \"Role fit\",\n \"value\": \"Excellent\"\n },\n {\n \"type\": \"SUB_RESULT\",\n \"id\": \"\",\n \"label\": \"Personality test\",\n \"score\": {\n \"value\": 97,\n \"max\": 100\n },\n \"status\": \"COMPLETED\"\n }\n ],\n \"attachments\": [\n {\n \"name\": \"Assessment Report.pdf\",\n \"data\": \"SGkgdGhlcmUsIEtvbWJvIGlzIGN1cnJlbnRseSBoaXJpbmcgZW5naW5lZXJzIHRoYXQgbG92ZSB0byB3b3JrIG9uIGRldmVsb3BlciBwcm9kdWN0cy4=\",\n \"content_type\": \"application/pdf\"\n }\n ]\n}\n```","tags":["Unified ATS (Assessment & Background Check) API"],"parameters":[{"in":"header","name":"X-Integration-Id","schema":{"type":"string"},"description":"ID of the integration you want to interact with.","example":"recruitee:HWUTwvyx2wLoSUHphiWVrp28","required":true},{"name":"assessment_order_id","in":"path","required":true,"description":"PUT /assessment/orders/:assessment_order_id/result Parameter","schema":{"$ref":"#/components/schemas/PutAssessmentOrdersAssessmentOrderIdResultParameterAssessmentOrderId"},"examples":{"example1":{"value":"GRKdd9dibYKKCrmGRSMJf3wu"}}}],"requestBody":{"description":"PUT /assessment/orders/:assessment_order_id/result Request body","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PutAssessmentOrdersAssessmentOrderIdResultRequestBody"},"examples":{"example1":{"value":{"status":"COMPLETED","score":90,"max_score":100,"result_url":"https://example.com","completed_at":"2023-04-04T00:00:00.000Z","attributes":[{"type":"TEXT","label":"Role fit","value":"Excellent"},{"type":"SUB_RESULT","id":"","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 # => +rescue Kombo::ApiError => e + puts "Error when calling UnifiedATSAPIApi->put_ats_applications_application_id_stage_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 move to a different stage. | | +| **put_ats_applications_application_id_stage_request_body** | [**PutAtsApplicationsApplicationIdStageRequestBody**](PutAtsApplicationsApplicationIdStageRequestBody.md) | PUT /ats/applications/:application_id/stage Request body | [optional] | + +### Return type + +[**PutAtsApplicationsApplicationIdStagePositiveResponse**](PutAtsApplicationsApplicationIdStagePositiveResponse.md) + +### Authorization + +[ApiKey](../README.md#ApiKey) + +### HTTP request headers + +- **Content-Type**: application/json +- **Accept**: application/json + diff --git a/docs/UnifiedATSAssessmentBackgroundCheckAPIApi.md b/docs/UnifiedATSAssessmentBackgroundCheckAPIApi.md new file mode 100644 index 0000000..e3fc5d4 --- /dev/null +++ b/docs/UnifiedATSAssessmentBackgroundCheckAPIApi.md @@ -0,0 +1,303 @@ +# Kombo::UnifiedATSAssessmentBackgroundCheckAPIApi + +All URIs are relative to *https://api.kombo.dev/v1* + +| Method | HTTP request | Description | +| ------ | ------------ | ----------- | +| [**get_assessment_orders_open**](UnifiedATSAssessmentBackgroundCheckAPIApi.md#get_assessment_orders_open) | **GET** /assessment/orders/open | Get open orders | +| [**get_assessment_packages**](UnifiedATSAssessmentBackgroundCheckAPIApi.md#get_assessment_packages) | **GET** /assessment/packages | Get packages | +| [**put_assessment_orders_assessment_order_id_result**](UnifiedATSAssessmentBackgroundCheckAPIApi.md#put_assessment_orders_assessment_order_id_result) | **PUT** /assessment/orders/{assessment_order_id}/result | Update order result | +| [**put_assessment_packages**](UnifiedATSAssessmentBackgroundCheckAPIApi.md#put_assessment_packages) | **PUT** /assessment/packages | Set packages | + + +## get_assessment_orders_open + +> get_assessment_orders_open(x_integration_id, opts) + +Get open orders + +Get all open assessment and background check orders of an 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::UnifiedATSAssessmentBackgroundCheckAPIApi.new +x_integration_id = 'recruitee: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. +} + +begin + # Get open orders + result = api_instance.get_assessment_orders_open(x_integration_id, opts) + p result +rescue Kombo::ApiError => e + puts "Error when calling UnifiedATSAssessmentBackgroundCheckAPIApi->get_assessment_orders_open: #{e}" +end +``` + +#### Using the get_assessment_orders_open_with_http_info variant + +This returns an Array which contains the response data, status code and headers. + +> , Integer, Hash)> get_assessment_orders_open_with_http_info(x_integration_id, opts) + +```ruby +begin + # Get open orders + data, status_code, headers = api_instance.get_assessment_orders_open_with_http_info(x_integration_id, opts) + p status_code # => 2xx + p headers # => { ... } + p data # => +rescue Kombo::ApiError => e + puts "Error when calling UnifiedATSAssessmentBackgroundCheckAPIApi->get_assessment_orders_open_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] | + +### Return type + +[**GetAssessmentOrdersOpenPositiveResponse**](GetAssessmentOrdersOpenPositiveResponse.md) + +### Authorization + +[ApiKey](../README.md#ApiKey) + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json + + +## get_assessment_packages + +> get_assessment_packages(x_integration_id) + +Get packages + +Get all available assessment and background check packages for an integration. This is mainly intended for debugging. As you always need to submit the full list of available packages when using [\"set packages\"](/assessment/v1/put-packages), there shouldn't ever be a need to call this endpoint in production. + +### 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::UnifiedATSAssessmentBackgroundCheckAPIApi.new +x_integration_id = 'recruitee:HWUTwvyx2wLoSUHphiWVrp28' # String | ID of the integration you want to interact with. + +begin + # Get packages + result = api_instance.get_assessment_packages(x_integration_id) + p result +rescue Kombo::ApiError => e + puts "Error when calling UnifiedATSAssessmentBackgroundCheckAPIApi->get_assessment_packages: #{e}" +end +``` + +#### Using the get_assessment_packages_with_http_info variant + +This returns an Array which contains the response data, status code and headers. + +> , Integer, Hash)> get_assessment_packages_with_http_info(x_integration_id) + +```ruby +begin + # Get packages + data, status_code, headers = api_instance.get_assessment_packages_with_http_info(x_integration_id) + p status_code # => 2xx + p headers # => { ... } + p data # => +rescue Kombo::ApiError => e + puts "Error when calling UnifiedATSAssessmentBackgroundCheckAPIApi->get_assessment_packages_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 + +[**GetAssessmentPackagesPositiveResponse**](GetAssessmentPackagesPositiveResponse.md) + +### Authorization + +[ApiKey](../README.md#ApiKey) + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json + + +## put_assessment_orders_assessment_order_id_result + +> put_assessment_orders_assessment_order_id_result(x_integration_id, assessment_order_id, opts) + +Update order result + +Updates an assessment or a background check order result. ### Example Request Body ```json { \"status\": \"COMPLETED\", \"score\": 90, \"max_score\": 100, \"result_url\": \"https://example.com\", \"completed_at\": \"2023-04-04T00:00:00.000Z\", \"attributes\": [ { \"type\": \"TEXT\", \"label\": \"Role fit\", \"value\": \"Excellent\" }, { \"type\": \"SUB_RESULT\", \"id\": \"\", \"label\": \"Personality test\", \"score\": { \"value\": 97, \"max\": 100 }, \"status\": \"COMPLETED\" } ], \"attachments\": [ { \"name\": \"Assessment Report.pdf\", \"data\": \"SGkgdGhlcmUsIEtvbWJvIGlzIGN1cnJlbnRseSBoaXJpbmcgZW5naW5lZXJzIHRoYXQgbG92ZSB0byB3b3JrIG9uIGRldmVsb3BlciBwcm9kdWN0cy4=\", \"content_type\": \"application/pdf\" } ] } ``` + +### 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::UnifiedATSAssessmentBackgroundCheckAPIApi.new +x_integration_id = 'recruitee:HWUTwvyx2wLoSUHphiWVrp28' # String | ID of the integration you want to interact with. +assessment_order_id = 'GRKdd9dibYKKCrmGRSMJf3wu' # String | PUT /assessment/orders/:assessment_order_id/result Parameter +opts = { + put_assessment_orders_assessment_order_id_result_request_body: Kombo::PutAssessmentOrdersAssessmentOrderIdResultRequestBody.new({status: 'COMPLETED', result_url: 'result_url_example'}) # PutAssessmentOrdersAssessmentOrderIdResultRequestBody | PUT /assessment/orders/:assessment_order_id/result Request body +} + +begin + # Update order result + result = api_instance.put_assessment_orders_assessment_order_id_result(x_integration_id, assessment_order_id, opts) + p result +rescue Kombo::ApiError => e + puts "Error when calling UnifiedATSAssessmentBackgroundCheckAPIApi->put_assessment_orders_assessment_order_id_result: #{e}" +end +``` + +#### Using the put_assessment_orders_assessment_order_id_result_with_http_info variant + +This returns an Array which contains the response data, status code and headers. + +> , Integer, Hash)> put_assessment_orders_assessment_order_id_result_with_http_info(x_integration_id, assessment_order_id, opts) + +```ruby +begin + # Update order result + data, status_code, headers = api_instance.put_assessment_orders_assessment_order_id_result_with_http_info(x_integration_id, assessment_order_id, opts) + p status_code # => 2xx + p headers # => { ... } + p data # => +rescue Kombo::ApiError => e + puts "Error when calling UnifiedATSAssessmentBackgroundCheckAPIApi->put_assessment_orders_assessment_order_id_result_with_http_info: #{e}" +end +``` + +### Parameters + +| Name | Type | Description | Notes | +| ---- | ---- | ----------- | ----- | +| **x_integration_id** | **String** | ID of the integration you want to interact with. | | +| **assessment_order_id** | **String** | PUT /assessment/orders/:assessment_order_id/result Parameter | | +| **put_assessment_orders_assessment_order_id_result_request_body** | [**PutAssessmentOrdersAssessmentOrderIdResultRequestBody**](PutAssessmentOrdersAssessmentOrderIdResultRequestBody.md) | PUT /assessment/orders/:assessment_order_id/result Request body | [optional] | + +### Return type + +[**PutAssessmentOrdersAssessmentOrderIdResultPositiveResponse**](PutAssessmentOrdersAssessmentOrderIdResultPositiveResponse.md) + +### Authorization + +[ApiKey](../README.md#ApiKey) + +### HTTP request headers + +- **Content-Type**: application/json +- **Accept**: application/json + + +## put_assessment_packages + +> put_assessment_packages(x_integration_id, opts) + +Set packages + +Set packages Replaces the list of available assessment and or background check packages. Packages that have been previously submitted through this endpoint but aren't included again will be marked as deleted. ### Example Request Body ```json { \"packages\": [ { \"id\": \"1001\", \"type\": \"SKILLS_TEST\", \"name\": \"TypeScript\", \"description\": \"TypeScript coding skills assessments\" }, { \"id\": \"1002\", \"type\": \"VIDEO_INTERVIEW\", \"name\": \"Video Interview\", \"description\": \"Video interview to assess communication 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::UnifiedATSAssessmentBackgroundCheckAPIApi.new +x_integration_id = 'recruitee:HWUTwvyx2wLoSUHphiWVrp28' # String | ID of the integration you want to interact with. +opts = { + put_assessment_packages_request_body: Kombo::PutAssessmentPackagesRequestBody.new({packages: [Kombo::PutAssessmentPackagesRequestBodyPackagesInner.new({id: 'id_example', type: 'BEHAVIORAL', name: 'name_example', description: 'description_example'})]}) # PutAssessmentPackagesRequestBody | PUT /assessment/packages Request body +} + +begin + # Set packages + result = api_instance.put_assessment_packages(x_integration_id, opts) + p result +rescue Kombo::ApiError => e + puts "Error when calling UnifiedATSAssessmentBackgroundCheckAPIApi->put_assessment_packages: #{e}" +end +``` + +#### Using the put_assessment_packages_with_http_info variant + +This returns an Array which contains the response data, status code and headers. + +> , Integer, Hash)> put_assessment_packages_with_http_info(x_integration_id, opts) + +```ruby +begin + # Set packages + data, status_code, headers = api_instance.put_assessment_packages_with_http_info(x_integration_id, opts) + p status_code # => 2xx + p headers # => { ... } + p data # => +rescue Kombo::ApiError => e + puts "Error when calling UnifiedATSAssessmentBackgroundCheckAPIApi->put_assessment_packages_with_http_info: #{e}" +end +``` + +### Parameters + +| Name | Type | Description | Notes | +| ---- | ---- | ----------- | ----- | +| **x_integration_id** | **String** | ID of the integration you want to interact with. | | +| **put_assessment_packages_request_body** | [**PutAssessmentPackagesRequestBody**](PutAssessmentPackagesRequestBody.md) | PUT /assessment/packages Request body | [optional] | + +### Return type + +[**PutAssessmentPackagesPositiveResponse**](PutAssessmentPackagesPositiveResponse.md) + +### Authorization + +[ApiKey](../README.md#ApiKey) + +### HTTP request headers + +- **Content-Type**: application/json +- **Accept**: application/json + diff --git a/docs/UnifiedHRISAPIApi.md b/docs/UnifiedHRISAPIApi.md new file mode 100644 index 0000000..cd41fcb --- /dev/null +++ b/docs/UnifiedHRISAPIApi.md @@ -0,0 +1,2511 @@ +# Kombo::UnifiedHRISAPIApi + +All URIs are relative to *https://api.kombo.dev/v1* + +| Method | HTTP request | Description | +| ------ | ------------ | ----------- | +| [**delete_hris_absences_absence_id**](UnifiedHRISAPIApi.md#delete_hris_absences_absence_id) | **DELETE** /hris/absences/{absence_id} | Delete absence | +| [**delete_hris_employee_skill_assignments_employee_skill_assignment_id**](UnifiedHRISAPIApi.md#delete_hris_employee_skill_assignments_employee_skill_assignment_id) | **DELETE** /hris/employee-skill-assignments/{employee_skill_assignment_id} | Delete employee skill assignment | +| [**delete_hris_skills_skill_id**](UnifiedHRISAPIApi.md#delete_hris_skills_skill_id) | **DELETE** /hris/skills/{skill_id} | Delete skill | +| [**get_hris_absence_types**](UnifiedHRISAPIApi.md#get_hris_absence_types) | **GET** /hris/absence-types | Get absence types | +| [**get_hris_absences**](UnifiedHRISAPIApi.md#get_hris_absences) | **GET** /hris/absences | Get absences | +| [**get_hris_employee_document_categories**](UnifiedHRISAPIApi.md#get_hris_employee_document_categories) | **GET** /hris/employee-document-categories | Get employee document categories | +| [**get_hris_employee_skill_assignments**](UnifiedHRISAPIApi.md#get_hris_employee_skill_assignments) | **GET** /hris/employee-skill-assignments | Get employee skill assignments | +| [**get_hris_employees**](UnifiedHRISAPIApi.md#get_hris_employees) | **GET** /hris/employees | Get employees | +| [**get_hris_employees_form**](UnifiedHRISAPIApi.md#get_hris_employees_form) | **GET** /hris/employees/form | Get employee form | +| [**get_hris_employments**](UnifiedHRISAPIApi.md#get_hris_employments) | **GET** /hris/employments | Get employments | +| [**get_hris_groups**](UnifiedHRISAPIApi.md#get_hris_groups) | **GET** /hris/groups | Get groups | +| [**get_hris_job_positions**](UnifiedHRISAPIApi.md#get_hris_job_positions) | **GET** /hris/job-positions | Get job positions | +| [**get_hris_legal_entities**](UnifiedHRISAPIApi.md#get_hris_legal_entities) | **GET** /hris/legal-entities | Get legal entities | +| [**get_hris_locations**](UnifiedHRISAPIApi.md#get_hris_locations) | **GET** /hris/locations | Get work locations | +| [**get_hris_performance_review_cycles**](UnifiedHRISAPIApi.md#get_hris_performance_review_cycles) | **GET** /hris/performance-review-cycles | Get performance review cycles | +| [**get_hris_performance_reviews**](UnifiedHRISAPIApi.md#get_hris_performance_reviews) | **GET** /hris/performance-reviews | Get performance reviews | +| [**get_hris_skills**](UnifiedHRISAPIApi.md#get_hris_skills) | **GET** /hris/skills | Get skills | +| [**get_hris_teams**](UnifiedHRISAPIApi.md#get_hris_teams) | **GET** /hris/teams | Get teams (deprecated) | +| [**get_hris_time_off_balances**](UnifiedHRISAPIApi.md#get_hris_time_off_balances) | **GET** /hris/time-off-balances | Get time off balances | +| [**get_hris_timesheets**](UnifiedHRISAPIApi.md#get_hris_timesheets) | **GET** /hris/timesheets | Get timesheets | +| [**patch_hris_employee_skill_assignments_employee_skill_assignment_id**](UnifiedHRISAPIApi.md#patch_hris_employee_skill_assignments_employee_skill_assignment_id) | **PATCH** /hris/employee-skill-assignments/{employee_skill_assignment_id} | Update employee skill assignment | +| [**patch_hris_employees_employee_id**](UnifiedHRISAPIApi.md#patch_hris_employees_employee_id) | **PATCH** /hris/employees/{employee_id} | Update employee | +| [**patch_hris_skills_skill_id**](UnifiedHRISAPIApi.md#patch_hris_skills_skill_id) | **PATCH** /hris/skills/{skill_id} | Update skill | +| [**post_hris_absences**](UnifiedHRISAPIApi.md#post_hris_absences) | **POST** /hris/absences | Create absence | +| [**post_hris_employee_skill_assignments**](UnifiedHRISAPIApi.md#post_hris_employee_skill_assignments) | **POST** /hris/employee-skill-assignments | Create employee skill assignment | +| [**post_hris_employees**](UnifiedHRISAPIApi.md#post_hris_employees) | **POST** /hris/employees | [DEPRECATED] Create employee | +| [**post_hris_employees_employee_id_documents**](UnifiedHRISAPIApi.md#post_hris_employees_employee_id_documents) | **POST** /hris/employees/{employee_id}/documents | Add document to employee | +| [**post_hris_employees_form**](UnifiedHRISAPIApi.md#post_hris_employees_form) | **POST** /hris/employees/form | Create employee with form | +| [**post_hris_provisioning_groups_group_id_diff**](UnifiedHRISAPIApi.md#post_hris_provisioning_groups_group_id_diff) | **POST** /hris/provisioning-groups/{group_id}/diff | Get provisioning diff | +| [**post_hris_provisioning_groups_group_id_setup_links**](UnifiedHRISAPIApi.md#post_hris_provisioning_groups_group_id_setup_links) | **POST** /hris/provisioning-groups/{group_id}/setup-links | Create provisioning setup link | +| [**post_hris_skills**](UnifiedHRISAPIApi.md#post_hris_skills) | **POST** /hris/skills | Create skill | + + +## delete_hris_absences_absence_id + +> delete_hris_absences_absence_id(x_integration_id, absence_id, opts) + +Delete absence + +Delete this absence. This endpoint requires the permission **Manage absences** to be enabled in [your scope config](/scopes). ### Example Request Body ```json { \"absence_id\": \"wXJMxwDvPAjrJ4CyqdV9\" } ``` + +### 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::UnifiedHRISAPIApi.new +x_integration_id = 'bamboohr:HWUTwvyx2wLoSUHphiWVrp28' # String | ID of the integration you want to interact with. +absence_id = 'wXJMxwDvPAjrJ4CyqdV9' # String | The Kombo ID of the absence +opts = { + delete_hris_absences_absence_id_request_body: Kombo::DeleteHrisAbsencesAbsenceIdRequestBody.new # DeleteHrisAbsencesAbsenceIdRequestBody | DELETE /hris/absences/:absence_id Request body +} + +begin + # Delete absence + result = api_instance.delete_hris_absences_absence_id(x_integration_id, absence_id, opts) + p result +rescue Kombo::ApiError => e + puts "Error when calling UnifiedHRISAPIApi->delete_hris_absences_absence_id: #{e}" +end +``` + +#### Using the delete_hris_absences_absence_id_with_http_info variant + +This returns an Array which contains the response data, status code and headers. + +> , Integer, Hash)> delete_hris_absences_absence_id_with_http_info(x_integration_id, absence_id, opts) + +```ruby +begin + # Delete absence + data, status_code, headers = api_instance.delete_hris_absences_absence_id_with_http_info(x_integration_id, absence_id, opts) + p status_code # => 2xx + p headers # => { ... } + p data # => +rescue Kombo::ApiError => e + puts "Error when calling UnifiedHRISAPIApi->delete_hris_absences_absence_id_with_http_info: #{e}" +end +``` + +### Parameters + +| Name | Type | Description | Notes | +| ---- | ---- | ----------- | ----- | +| **x_integration_id** | **String** | ID of the integration you want to interact with. | | +| **absence_id** | **String** | The Kombo ID of the absence | | +| **delete_hris_absences_absence_id_request_body** | [**DeleteHrisAbsencesAbsenceIdRequestBody**](DeleteHrisAbsencesAbsenceIdRequestBody.md) | DELETE /hris/absences/:absence_id Request body | [optional] | + +### Return type + +[**DeleteHrisAbsencesAbsenceIdPositiveResponse**](DeleteHrisAbsencesAbsenceIdPositiveResponse.md) + +### Authorization + +[ApiKey](../README.md#ApiKey) + +### HTTP request headers + +- **Content-Type**: application/json +- **Accept**: application/json + + +## delete_hris_employee_skill_assignments_employee_skill_assignment_id + +> delete_hris_employee_skill_assignments_employee_skill_assignment_id(x_integration_id, employee_skill_assignment_id, opts) + +Delete employee skill assignment + +Delete employee skill assignment **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. Remove a skill assignment from an employee. + +### 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::UnifiedHRISAPIApi.new +x_integration_id = 'bamboohr:HWUTwvyx2wLoSUHphiWVrp28' # String | ID of the integration you want to interact with. +employee_skill_assignment_id = 'employee_skill_assignment_id_example' # String | The ID of the employee skill assignment +opts = { + body: { ... } # Object | DELETE /hris/employee-skill-assignments/:employee_skill_assignment_id Request body +} + +begin + # Delete employee skill assignment + result = api_instance.delete_hris_employee_skill_assignments_employee_skill_assignment_id(x_integration_id, employee_skill_assignment_id, opts) + p result +rescue Kombo::ApiError => e + puts "Error when calling UnifiedHRISAPIApi->delete_hris_employee_skill_assignments_employee_skill_assignment_id: #{e}" +end +``` + +#### Using the delete_hris_employee_skill_assignments_employee_skill_assignment_id_with_http_info variant + +This returns an Array which contains the response data, status code and headers. + +> , Integer, Hash)> delete_hris_employee_skill_assignments_employee_skill_assignment_id_with_http_info(x_integration_id, employee_skill_assignment_id, opts) + +```ruby +begin + # Delete employee skill assignment + data, status_code, headers = api_instance.delete_hris_employee_skill_assignments_employee_skill_assignment_id_with_http_info(x_integration_id, employee_skill_assignment_id, opts) + p status_code # => 2xx + p headers # => { ... } + p data # => +rescue Kombo::ApiError => e + puts "Error when calling UnifiedHRISAPIApi->delete_hris_employee_skill_assignments_employee_skill_assignment_id_with_http_info: #{e}" +end +``` + +### Parameters + +| Name | Type | Description | Notes | +| ---- | ---- | ----------- | ----- | +| **x_integration_id** | **String** | ID of the integration you want to interact with. | | +| **employee_skill_assignment_id** | **String** | The ID of the employee skill assignment | | +| **body** | **Object** | DELETE /hris/employee-skill-assignments/:employee_skill_assignment_id Request body | [optional] | + +### Return type + +[**DeleteHrisEmployeeSkillAssignmentsEmployeeSkillAssignmentIdPositiveResponse**](DeleteHrisEmployeeSkillAssignmentsEmployeeSkillAssignmentIdPositiveResponse.md) + +### Authorization + +[ApiKey](../README.md#ApiKey) + +### HTTP request headers + +- **Content-Type**: application/json +- **Accept**: application/json + + +## delete_hris_skills_skill_id + +> delete_hris_skills_skill_id(x_integration_id, skill_id, opts) + +Delete skill + +Delete skill **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. Delete a skill from the HRIS 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::UnifiedHRISAPIApi.new +x_integration_id = 'bamboohr:HWUTwvyx2wLoSUHphiWVrp28' # String | ID of the integration you want to interact with. +skill_id = 'skill_id_example' # String | The ID of the skill +opts = { + body: { ... } # Object | DELETE /hris/skills/:skill_id Request body +} + +begin + # Delete skill + result = api_instance.delete_hris_skills_skill_id(x_integration_id, skill_id, opts) + p result +rescue Kombo::ApiError => e + puts "Error when calling UnifiedHRISAPIApi->delete_hris_skills_skill_id: #{e}" +end +``` + +#### Using the delete_hris_skills_skill_id_with_http_info variant + +This returns an Array which contains the response data, status code and headers. + +> , Integer, Hash)> delete_hris_skills_skill_id_with_http_info(x_integration_id, skill_id, opts) + +```ruby +begin + # Delete skill + data, status_code, headers = api_instance.delete_hris_skills_skill_id_with_http_info(x_integration_id, skill_id, opts) + p status_code # => 2xx + p headers # => { ... } + p data # => +rescue Kombo::ApiError => e + puts "Error when calling UnifiedHRISAPIApi->delete_hris_skills_skill_id_with_http_info: #{e}" +end +``` + +### Parameters + +| Name | Type | Description | Notes | +| ---- | ---- | ----------- | ----- | +| **x_integration_id** | **String** | ID of the integration you want to interact with. | | +| **skill_id** | **String** | The ID of the skill | | +| **body** | **Object** | DELETE /hris/skills/:skill_id Request body | [optional] | + +### Return type + +[**DeleteHrisSkillsSkillIdPositiveResponse**](DeleteHrisSkillsSkillIdPositiveResponse.md) + +### Authorization + +[ApiKey](../README.md#ApiKey) + +### HTTP request headers + +- **Content-Type**: application/json +- **Accept**: application/json + + +## get_hris_absence_types + +> get_hris_absence_types(x_integration_id, opts) + +Get absence types + +Retrieve all absence types. 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::UnifiedHRISAPIApi.new +x_integration_id = 'bamboohr: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::GetHrisAbsenceTypesParameterIncludeDeleted::TRUE, # GetHrisAbsenceTypesParameterIncludeDeleted | 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 absence types + result = api_instance.get_hris_absence_types(x_integration_id, opts) + p result +rescue Kombo::ApiError => e + puts "Error when calling UnifiedHRISAPIApi->get_hris_absence_types: #{e}" +end +``` + +#### Using the get_hris_absence_types_with_http_info variant + +This returns an Array which contains the response data, status code and headers. + +> , Integer, Hash)> get_hris_absence_types_with_http_info(x_integration_id, opts) + +```ruby +begin + # Get absence types + data, status_code, headers = api_instance.get_hris_absence_types_with_http_info(x_integration_id, opts) + p status_code # => 2xx + p headers # => { ... } + p data # => +rescue Kombo::ApiError => e + puts "Error when calling UnifiedHRISAPIApi->get_hris_absence_types_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** | [**GetHrisAbsenceTypesParameterIncludeDeleted**](.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 + +[**GetHrisAbsenceTypesPositiveResponse**](GetHrisAbsenceTypesPositiveResponse.md) + +### Authorization + +[ApiKey](../README.md#ApiKey) + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json + + +## get_hris_absences + +> get_hris_absences(x_integration_id, opts) + +Get absences + +Retrieve all absences. 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::UnifiedHRISAPIApi.new +x_integration_id = 'bamboohr: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::GetHrisAbsencesParameterIncludeDeleted::TRUE, # GetHrisAbsencesParameterIncludeDeleted | 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. + date_from: Time.parse('2013-10-20T19:20:30+01:00'), # Time | 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. + date_until: Time.parse('2013-10-20T19:20:30+01:00'), # Time | 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_ids: 'type_ids_example', # String | Filter by a comma-separated list of absence type IDs. + employee_id: 'employee_id_example', # String | Filter by a specific employee using their ID. + time_from: Time.parse('2013-10-20T19:20:30+01:00'), # Time | **(⚠️ Deprecated - Use the `date_from` filter instead.)** Filter for absences that either start after or start before and end after a certain time. + time_until: Time.parse('2013-10-20T19:20:30+01:00') # Time | **(⚠️ Deprecated - Use the `date_until` filter instead.)** Filter for absences that start before a certain time. +} + +begin + # Get absences + result = api_instance.get_hris_absences(x_integration_id, opts) + p result +rescue Kombo::ApiError => e + puts "Error when calling UnifiedHRISAPIApi->get_hris_absences: #{e}" +end +``` + +#### Using the get_hris_absences_with_http_info variant + +This returns an Array which contains the response data, status code and headers. + +> , Integer, Hash)> get_hris_absences_with_http_info(x_integration_id, opts) + +```ruby +begin + # Get absences + data, status_code, headers = api_instance.get_hris_absences_with_http_info(x_integration_id, opts) + p status_code # => 2xx + p headers # => { ... } + p data # => +rescue Kombo::ApiError => e + puts "Error when calling UnifiedHRISAPIApi->get_hris_absences_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** | [**GetHrisAbsencesParameterIncludeDeleted**](.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] | +| **date_from** | **Time** | 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. | [optional] | +| **date_until** | **Time** | 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. | [optional] | +| **type_ids** | **String** | Filter by a comma-separated list of absence type IDs. | [optional] | +| **employee_id** | **String** | Filter by a specific employee using their ID. | [optional] | +| **time_from** | **Time** | **(⚠️ Deprecated - Use the `date_from` filter instead.)** Filter for absences that either start after or start before and end after a certain time. | [optional] | +| **time_until** | **Time** | **(⚠️ Deprecated - Use the `date_until` filter instead.)** Filter for absences that start before a certain time. | [optional] | + +### Return type + +[**GetHrisAbsencesPositiveResponse**](GetHrisAbsencesPositiveResponse.md) + +### Authorization + +[ApiKey](../README.md#ApiKey) + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json + + +## get_hris_employee_document_categories + +> get_hris_employee_document_categories(x_integration_id, opts) + +Get employee document categories + +Get employee document categories. 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::UnifiedHRISAPIApi.new +x_integration_id = 'bamboohr: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::GetHrisEmployeeDocumentCategoriesParameterIncludeDeleted::TRUE, # GetHrisEmployeeDocumentCategoriesParameterIncludeDeleted | 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 employee document categories + result = api_instance.get_hris_employee_document_categories(x_integration_id, opts) + p result +rescue Kombo::ApiError => e + puts "Error when calling UnifiedHRISAPIApi->get_hris_employee_document_categories: #{e}" +end +``` + +#### Using the get_hris_employee_document_categories_with_http_info variant + +This returns an Array which contains the response data, status code and headers. + +> , Integer, Hash)> get_hris_employee_document_categories_with_http_info(x_integration_id, opts) + +```ruby +begin + # Get employee document categories + data, status_code, headers = api_instance.get_hris_employee_document_categories_with_http_info(x_integration_id, opts) + p status_code # => 2xx + p headers # => { ... } + p data # => +rescue Kombo::ApiError => e + puts "Error when calling UnifiedHRISAPIApi->get_hris_employee_document_categories_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** | [**GetHrisEmployeeDocumentCategoriesParameterIncludeDeleted**](.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 + +[**GetHrisEmployeeDocumentCategoriesPositiveResponse**](GetHrisEmployeeDocumentCategoriesPositiveResponse.md) + +### Authorization + +[ApiKey](../README.md#ApiKey) + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json + + +## get_hris_employee_skill_assignments + +> get_hris_employee_skill_assignments(x_integration_id, opts) + +Get employee skill assignments + +Get employee skill assignments **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 employee skill assignments. These represent the skills that employees possess and their current proficiency levels. + +### 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::UnifiedHRISAPIApi.new +x_integration_id = 'bamboohr:HWUTwvyx2wLoSUHphiWVrp28' # String | ID of the integration you want to interact with. +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. + employee_ids: 'employee_ids_example', # String | Filter by a comma-separated list of employee IDs. + skill_ids: 'skill_ids_example' # String | Filter by a comma-separated list of skill IDs. +} + +begin + # Get employee skill assignments + result = api_instance.get_hris_employee_skill_assignments(x_integration_id, opts) + p result +rescue Kombo::ApiError => e + puts "Error when calling UnifiedHRISAPIApi->get_hris_employee_skill_assignments: #{e}" +end +``` + +#### Using the get_hris_employee_skill_assignments_with_http_info variant + +This returns an Array which contains the response data, status code and headers. + +> , Integer, Hash)> get_hris_employee_skill_assignments_with_http_info(x_integration_id, opts) + +```ruby +begin + # Get employee skill assignments + data, status_code, headers = api_instance.get_hris_employee_skill_assignments_with_http_info(x_integration_id, opts) + p status_code # => 2xx + p headers # => { ... } + p data # => +rescue Kombo::ApiError => e + puts "Error when calling UnifiedHRISAPIApi->get_hris_employee_skill_assignments_with_http_info: #{e}" +end +``` + +### Parameters + +| Name | Type | Description | Notes | +| ---- | ---- | ----------- | ----- | +| **x_integration_id** | **String** | ID of the integration you want to interact with. | | +| **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] | +| **employee_ids** | **String** | Filter by a comma-separated list of employee IDs. | [optional] | +| **skill_ids** | **String** | Filter by a comma-separated list of skill IDs. | [optional] | + +### Return type + +[**GetHrisEmployeeSkillAssignmentsPositiveResponse**](GetHrisEmployeeSkillAssignmentsPositiveResponse.md) + +### Authorization + +[ApiKey](../README.md#ApiKey) + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json + + +## get_hris_employees + +> get_hris_employees(x_integration_id, opts) + +Get employees + +Retrieve all employees. Not interested in most fields? You can use our [our Scopes feature](/scopes) to customize what data points are synced. 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::UnifiedHRISAPIApi.new +x_integration_id = 'bamboohr: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::GetHrisEmployeesParameterIncludeDeleted::TRUE, # GetHrisEmployeesParameterIncludeDeleted | 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. + employment_status: Kombo::GetHrisEmployeesParameterEmploymentStatus::ACTIVE, # GetHrisEmployeesParameterEmploymentStatus | **(⚠️ Deprecated - Use the `employment_statuses` filter instead.)** Filter by the `employment_status` field. + employment_statuses: 'employment_statuses_example', # String | Filter by a comma-separated list of `ACTIVE`, `PENDING`, `INACTIVE`, `LEAVE` * `ACTIVE`: the employee is **actively employed** * `PENDING`: the employee is **not actively employed yet** (but they signed their contract or are part of an onboarding process) * `INACTIVE`: a full-time employee is no longer employed, or, for a contract worker when their contract runs out * `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) Leave this blank to get results matching all values. + group_ids: 'group_ids_example', # String | Filter by a comma-separated list of group IDs. We will only return employees that are members of _any_ of the groups. + legal_entity_ids: 'legal_entity_ids_example', # String | Filter by a comma-separated list of legal entity IDs. We will only return employees that are members of _any_ of the legal entities. + work_location_ids: 'work_location_ids_example', # String | Filter by a comma-separated list of work location IDs. We will only return employees who are at _any_ of the work locations. + work_emails: 'work_emails_example', # String | 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. + personal_emails: 'personal_emails_example', # String | 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. + custom_fields: 'custom_fields_example' # String | 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. +} + +begin + # Get employees + result = api_instance.get_hris_employees(x_integration_id, opts) + p result +rescue Kombo::ApiError => e + puts "Error when calling UnifiedHRISAPIApi->get_hris_employees: #{e}" +end +``` + +#### Using the get_hris_employees_with_http_info variant + +This returns an Array which contains the response data, status code and headers. + +> , Integer, Hash)> get_hris_employees_with_http_info(x_integration_id, opts) + +```ruby +begin + # Get employees + data, status_code, headers = api_instance.get_hris_employees_with_http_info(x_integration_id, opts) + p status_code # => 2xx + p headers # => { ... } + p data # => +rescue Kombo::ApiError => e + puts "Error when calling UnifiedHRISAPIApi->get_hris_employees_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** | [**GetHrisEmployeesParameterIncludeDeleted**](.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] | +| **employment_status** | [**GetHrisEmployeesParameterEmploymentStatus**](.md) | **(⚠️ Deprecated - Use the `employment_statuses` filter instead.)** Filter by the `employment_status` field. | [optional] | +| **employment_statuses** | **String** | Filter by a comma-separated list of `ACTIVE`, `PENDING`, `INACTIVE`, `LEAVE` * `ACTIVE`: the employee is **actively employed** * `PENDING`: the employee is **not actively employed yet** (but they signed their contract or are part of an onboarding process) * `INACTIVE`: a full-time employee is no longer employed, or, for a contract worker when their contract runs out * `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) Leave this blank to get results matching all values. | [optional] | +| **group_ids** | **String** | Filter by a comma-separated list of group IDs. We will only return employees that are members of _any_ of the groups. | [optional] | +| **legal_entity_ids** | **String** | Filter by a comma-separated list of legal entity IDs. We will only return employees that are members of _any_ of the legal entities. | [optional] | +| **work_location_ids** | **String** | Filter by a comma-separated list of work location IDs. We will only return employees who are at _any_ of the work locations. | [optional] | +| **work_emails** | **String** | 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. | [optional] | +| **personal_emails** | **String** | 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. | [optional] | +| **custom_fields** | **String** | 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. | [optional] | + +### Return type + +[**GetHrisEmployeesPositiveResponse**](GetHrisEmployeesPositiveResponse.md) + +### Authorization + +[ApiKey](../README.md#ApiKey) + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json + + +## get_hris_employees_form + +> get_hris_employees_form(x_integration_id) + +Get employee form + +Get the form for creating an employee. This form can be rendered dynamically on your frontend to allow your customers to create employees in their HRIS. Follow our [create employee guide here](/hris/features/create-employee) to learn how this form is generated and how you can use it. ### Example Form ```json { \"properties\": { \"firstName\": { \"type\": \"text\", \"label\": \"First Name\", \"required\": true, \"description\": \"Employee's first name\", \"unified_key\": \"first_name\", \"min_length\": 1, \"max_length\": 100 }, \"startDate\": { \"type\": \"date\", \"label\": \"Start Date\", \"required\": true, \"description\": \"Employee's start date\", \"unified_key\": \"start_date\" }, \"workLocation\": { \"type\": \"object\", \"label\": \"Work Location\", \"required\": false, \"description\": \"Employee's work location\", \"unified_key\": null, \"properties\": { \"site\": { \"type\": \"single_select\", \"label\": \"Site\", \"required\": true, \"description\": \"Employee's site\", \"unified_key\": null, \"options\": { \"type\": \"inline\", \"entries\": [ { \"label\": \"Site 1\", \"id\": \"FXrER44xubBqA9DLgZ3PFNNx\", \"unified_value\": \"1\", \"remote_id\": \"site_1\" }, { \"label\": \"Site 2\", \"id\": \"2rv75UKT2XBoQXsUb9agiTUm\", \"unified_value\": \"2\", \"remote_id\": \"site_2\" } ] } }, \"keyNumbers\": { \"type\": \"array\", \"label\": \"Key Numbers\", \"required\": false, \"description\": \"Employee's key numbers\", \"unified_key\": null, \"min_items\": 2, \"max_items\": 5, \"item_type\": { \"type\": \"number\", \"label\": \"Key Number\", \"required\": false, \"description\": \"The number of the keys which belong to the employee\", \"unified_key\": null, \"min\": 0, \"max\": 99 } } } } } } ``` + +### 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::UnifiedHRISAPIApi.new +x_integration_id = 'bamboohr:HWUTwvyx2wLoSUHphiWVrp28' # String | ID of the integration you want to interact with. + +begin + # Get employee form + result = api_instance.get_hris_employees_form(x_integration_id) + p result +rescue Kombo::ApiError => e + puts "Error when calling UnifiedHRISAPIApi->get_hris_employees_form: #{e}" +end +``` + +#### Using the get_hris_employees_form_with_http_info variant + +This returns an Array which contains the response data, status code and headers. + +> , Integer, Hash)> get_hris_employees_form_with_http_info(x_integration_id) + +```ruby +begin + # Get employee form + data, status_code, headers = api_instance.get_hris_employees_form_with_http_info(x_integration_id) + p status_code # => 2xx + p headers # => { ... } + p data # => +rescue Kombo::ApiError => e + puts "Error when calling UnifiedHRISAPIApi->get_hris_employees_form_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 + +[**GetHrisEmployeesFormPositiveResponse**](GetHrisEmployeesFormPositiveResponse.md) + +### Authorization + +[ApiKey](../README.md#ApiKey) + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json + + +## get_hris_employments + +> get_hris_employments(x_integration_id, opts) + +Get employments + +Retrieve all employments. 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::UnifiedHRISAPIApi.new +x_integration_id = 'bamboohr: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::GetHrisEmploymentsParameterIncludeDeleted::TRUE, # GetHrisEmploymentsParameterIncludeDeleted | 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 employments + result = api_instance.get_hris_employments(x_integration_id, opts) + p result +rescue Kombo::ApiError => e + puts "Error when calling UnifiedHRISAPIApi->get_hris_employments: #{e}" +end +``` + +#### Using the get_hris_employments_with_http_info variant + +This returns an Array which contains the response data, status code and headers. + +> , Integer, Hash)> get_hris_employments_with_http_info(x_integration_id, opts) + +```ruby +begin + # Get employments + data, status_code, headers = api_instance.get_hris_employments_with_http_info(x_integration_id, opts) + p status_code # => 2xx + p headers # => { ... } + p data # => +rescue Kombo::ApiError => e + puts "Error when calling UnifiedHRISAPIApi->get_hris_employments_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** | [**GetHrisEmploymentsParameterIncludeDeleted**](.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 + +[**GetHrisEmploymentsPositiveResponse**](GetHrisEmploymentsPositiveResponse.md) + +### Authorization + +[ApiKey](../README.md#ApiKey) + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json + + +## get_hris_groups + +> get_hris_groups(x_integration_id, opts) + +Get groups + +Retrieve all \"groups\" (teams, departments, and cost centers). 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::UnifiedHRISAPIApi.new +x_integration_id = 'bamboohr: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::GetHrisGroupsParameterIncludeDeleted::TRUE, # GetHrisGroupsParameterIncludeDeleted | 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. + types: 'types_example', # String | Filter by a comma-separated list of group types: `DEPARTMENT`, `TEAM`, `COST_CENTER`, or `null` to filter groups without a type. Leave this blank to get results matching all values. + name_contains: 'name_contains_example' # String | Filter by the `name` field. Can be used to find a group by keywords present in the group name. +} + +begin + # Get groups + result = api_instance.get_hris_groups(x_integration_id, opts) + p result +rescue Kombo::ApiError => e + puts "Error when calling UnifiedHRISAPIApi->get_hris_groups: #{e}" +end +``` + +#### Using the get_hris_groups_with_http_info variant + +This returns an Array which contains the response data, status code and headers. + +> , Integer, Hash)> get_hris_groups_with_http_info(x_integration_id, opts) + +```ruby +begin + # Get groups + data, status_code, headers = api_instance.get_hris_groups_with_http_info(x_integration_id, opts) + p status_code # => 2xx + p headers # => { ... } + p data # => +rescue Kombo::ApiError => e + puts "Error when calling UnifiedHRISAPIApi->get_hris_groups_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** | [**GetHrisGroupsParameterIncludeDeleted**](.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] | +| **types** | **String** | Filter by a comma-separated list of group types: `DEPARTMENT`, `TEAM`, `COST_CENTER`, or `null` to filter groups without a type. Leave this blank to get results matching all values. | [optional] | +| **name_contains** | **String** | Filter by the `name` field. Can be used to find a group by keywords present in the group name. | [optional] | + +### Return type + +[**GetHrisGroupsPositiveResponse**](GetHrisGroupsPositiveResponse.md) + +### Authorization + +[ApiKey](../README.md#ApiKey) + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json + + +## get_hris_job_positions + +> get_hris_job_positions(x_integration_id, opts) + +Get job positions + +Get job positions **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 job positions from the HRIS system. Job positions represent the organizational structure and include information about required skills, department, location, and reporting relationships. + +### 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::UnifiedHRISAPIApi.new +x_integration_id = 'bamboohr:HWUTwvyx2wLoSUHphiWVrp28' # String | ID of the integration you want to interact with. +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. +} + +begin + # Get job positions + result = api_instance.get_hris_job_positions(x_integration_id, opts) + p result +rescue Kombo::ApiError => e + puts "Error when calling UnifiedHRISAPIApi->get_hris_job_positions: #{e}" +end +``` + +#### Using the get_hris_job_positions_with_http_info variant + +This returns an Array which contains the response data, status code and headers. + +> , Integer, Hash)> get_hris_job_positions_with_http_info(x_integration_id, opts) + +```ruby +begin + # Get job positions + data, status_code, headers = api_instance.get_hris_job_positions_with_http_info(x_integration_id, opts) + p status_code # => 2xx + p headers # => { ... } + p data # => +rescue Kombo::ApiError => e + puts "Error when calling UnifiedHRISAPIApi->get_hris_job_positions_with_http_info: #{e}" +end +``` + +### Parameters + +| Name | Type | Description | Notes | +| ---- | ---- | ----------- | ----- | +| **x_integration_id** | **String** | ID of the integration you want to interact with. | | +| **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 + +[**GetHrisJobPositionsPositiveResponse**](GetHrisJobPositionsPositiveResponse.md) + +### Authorization + +[ApiKey](../README.md#ApiKey) + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json + + +## get_hris_legal_entities + +> get_hris_legal_entities(x_integration_id, opts) + +Get legal entities + +Retrieve all legal entites. 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::UnifiedHRISAPIApi.new +x_integration_id = 'bamboohr: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::GetHrisLegalEntitiesParameterIncludeDeleted::TRUE, # GetHrisLegalEntitiesParameterIncludeDeleted | 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. + name_contains: 'name_contains_example' # String | Filter by the `name` field. Can be used to find a legal entity by keywords present in the legal entity name. +} + +begin + # Get legal entities + result = api_instance.get_hris_legal_entities(x_integration_id, opts) + p result +rescue Kombo::ApiError => e + puts "Error when calling UnifiedHRISAPIApi->get_hris_legal_entities: #{e}" +end +``` + +#### Using the get_hris_legal_entities_with_http_info variant + +This returns an Array which contains the response data, status code and headers. + +> , Integer, Hash)> get_hris_legal_entities_with_http_info(x_integration_id, opts) + +```ruby +begin + # Get legal entities + data, status_code, headers = api_instance.get_hris_legal_entities_with_http_info(x_integration_id, opts) + p status_code # => 2xx + p headers # => { ... } + p data # => +rescue Kombo::ApiError => e + puts "Error when calling UnifiedHRISAPIApi->get_hris_legal_entities_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** | [**GetHrisLegalEntitiesParameterIncludeDeleted**](.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] | +| **name_contains** | **String** | Filter by the `name` field. Can be used to find a legal entity by keywords present in the legal entity name. | [optional] | + +### Return type + +[**GetHrisLegalEntitiesPositiveResponse**](GetHrisLegalEntitiesPositiveResponse.md) + +### Authorization + +[ApiKey](../README.md#ApiKey) + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json + + +## get_hris_locations + +> get_hris_locations(x_integration_id, opts) + +Get work locations + +Retrieve all work locations. 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::UnifiedHRISAPIApi.new +x_integration_id = 'bamboohr: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::GetHrisLocationsParameterIncludeDeleted::TRUE, # GetHrisLocationsParameterIncludeDeleted | 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. + name_contains: 'name_contains_example' # String | Filter by the `name` field. Can be used to find a location by keywords present in the location name. +} + +begin + # Get work locations + result = api_instance.get_hris_locations(x_integration_id, opts) + p result +rescue Kombo::ApiError => e + puts "Error when calling UnifiedHRISAPIApi->get_hris_locations: #{e}" +end +``` + +#### Using the get_hris_locations_with_http_info variant + +This returns an Array which contains the response data, status code and headers. + +> , Integer, Hash)> get_hris_locations_with_http_info(x_integration_id, opts) + +```ruby +begin + # Get work locations + data, status_code, headers = api_instance.get_hris_locations_with_http_info(x_integration_id, opts) + p status_code # => 2xx + p headers # => { ... } + p data # => +rescue Kombo::ApiError => e + puts "Error when calling UnifiedHRISAPIApi->get_hris_locations_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** | [**GetHrisLocationsParameterIncludeDeleted**](.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] | +| **name_contains** | **String** | Filter by the `name` field. Can be used to find a location by keywords present in the location name. | [optional] | + +### Return type + +[**GetHrisLocationsPositiveResponse**](GetHrisLocationsPositiveResponse.md) + +### Authorization + +[ApiKey](../README.md#ApiKey) + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json + + +## get_hris_performance_review_cycles + +> get_hris_performance_review_cycles(x_integration_id, opts) + +Get performance review cycles + +Get performance review cycles Retrieve performance review cycles data from HRIS tools. **Open Beta Feature:** This endpoint is currently in beta. Please reach out to our support team if you need assistance with implementation. 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::UnifiedHRISAPIApi.new +x_integration_id = 'bamboohr: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::GetHrisPerformanceReviewCyclesParameterIncludeDeleted::TRUE, # GetHrisPerformanceReviewCyclesParameterIncludeDeleted | 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 performance review cycles + result = api_instance.get_hris_performance_review_cycles(x_integration_id, opts) + p result +rescue Kombo::ApiError => e + puts "Error when calling UnifiedHRISAPIApi->get_hris_performance_review_cycles: #{e}" +end +``` + +#### Using the get_hris_performance_review_cycles_with_http_info variant + +This returns an Array which contains the response data, status code and headers. + +> , Integer, Hash)> get_hris_performance_review_cycles_with_http_info(x_integration_id, opts) + +```ruby +begin + # Get performance review cycles + data, status_code, headers = api_instance.get_hris_performance_review_cycles_with_http_info(x_integration_id, opts) + p status_code # => 2xx + p headers # => { ... } + p data # => +rescue Kombo::ApiError => e + puts "Error when calling UnifiedHRISAPIApi->get_hris_performance_review_cycles_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** | [**GetHrisPerformanceReviewCyclesParameterIncludeDeleted**](.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 + +[**GetHrisPerformanceReviewCyclesPositiveResponse**](GetHrisPerformanceReviewCyclesPositiveResponse.md) + +### Authorization + +[ApiKey](../README.md#ApiKey) + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json + + +## get_hris_performance_reviews + +> get_hris_performance_reviews(x_integration_id, opts) + +Get performance reviews + +Get performance reviews Retrieve performance review data from HRIS tools. **Open Beta Feature:** This endpoint is currently in beta. Please reach out to our support team if you need assistance with implementation. 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::UnifiedHRISAPIApi.new +x_integration_id = 'bamboohr: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::GetHrisPerformanceReviewsParameterIncludeDeleted::TRUE, # GetHrisPerformanceReviewsParameterIncludeDeleted | 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. + types: 'types_example', # String | Filter by a comma-separated list of `MANAGER`, `DIRECT_REPORT`, `PEER`, `SELF` Leave this blank to get results matching all values. + review_cycle_ids: 'review_cycle_ids_example', # String | Filter by a comma-separated list of review cycle IDs. + reviewee_ids: 'reviewee_ids_example' # String | Filter by a comma-separated list of reviewee IDs. +} + +begin + # Get performance reviews + result = api_instance.get_hris_performance_reviews(x_integration_id, opts) + p result +rescue Kombo::ApiError => e + puts "Error when calling UnifiedHRISAPIApi->get_hris_performance_reviews: #{e}" +end +``` + +#### Using the get_hris_performance_reviews_with_http_info variant + +This returns an Array which contains the response data, status code and headers. + +> , Integer, Hash)> get_hris_performance_reviews_with_http_info(x_integration_id, opts) + +```ruby +begin + # Get performance reviews + data, status_code, headers = api_instance.get_hris_performance_reviews_with_http_info(x_integration_id, opts) + p status_code # => 2xx + p headers # => { ... } + p data # => +rescue Kombo::ApiError => e + puts "Error when calling UnifiedHRISAPIApi->get_hris_performance_reviews_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** | [**GetHrisPerformanceReviewsParameterIncludeDeleted**](.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] | +| **types** | **String** | Filter by a comma-separated list of `MANAGER`, `DIRECT_REPORT`, `PEER`, `SELF` Leave this blank to get results matching all values. | [optional] | +| **review_cycle_ids** | **String** | Filter by a comma-separated list of review cycle IDs. | [optional] | +| **reviewee_ids** | **String** | Filter by a comma-separated list of reviewee IDs. | [optional] | + +### Return type + +[**GetHrisPerformanceReviewsPositiveResponse**](GetHrisPerformanceReviewsPositiveResponse.md) + +### Authorization + +[ApiKey](../README.md#ApiKey) + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json + + +## get_hris_skills + +> get_hris_skills(x_integration_id, opts) + +Get skills + +Get skills **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 skills available in the HRIS system. Skills are available on employees and job positions. + +### 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::UnifiedHRISAPIApi.new +x_integration_id = 'bamboohr:HWUTwvyx2wLoSUHphiWVrp28' # String | ID of the integration you want to interact with. +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. + name_contains: 'name_contains_example' # String | Filter by the `name` field. Can be used to find a skills by keywords present in the skill name. +} + +begin + # Get skills + result = api_instance.get_hris_skills(x_integration_id, opts) + p result +rescue Kombo::ApiError => e + puts "Error when calling UnifiedHRISAPIApi->get_hris_skills: #{e}" +end +``` + +#### Using the get_hris_skills_with_http_info variant + +This returns an Array which contains the response data, status code and headers. + +> , Integer, Hash)> get_hris_skills_with_http_info(x_integration_id, opts) + +```ruby +begin + # Get skills + data, status_code, headers = api_instance.get_hris_skills_with_http_info(x_integration_id, opts) + p status_code # => 2xx + p headers # => { ... } + p data # => +rescue Kombo::ApiError => e + puts "Error when calling UnifiedHRISAPIApi->get_hris_skills_with_http_info: #{e}" +end +``` + +### Parameters + +| Name | Type | Description | Notes | +| ---- | ---- | ----------- | ----- | +| **x_integration_id** | **String** | ID of the integration you want to interact with. | | +| **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] | +| **name_contains** | **String** | Filter by the `name` field. Can be used to find a skills by keywords present in the skill name. | [optional] | + +### Return type + +[**GetHrisSkillsPositiveResponse**](GetHrisSkillsPositiveResponse.md) + +### Authorization + +[ApiKey](../README.md#ApiKey) + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json + + +## get_hris_teams + +> get_hris_teams(x_integration_id, opts) + +Get teams (deprecated) + +Get the teams. **This endpoint is deprecated!** Please use [the `/groups` endpoint](/hris/v1/get-groups) instead. It returns the same data but the naming makes more sense as the model not only includes teams but also departments and cost centers.. 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::UnifiedHRISAPIApi.new +x_integration_id = 'bamboohr: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::GetHrisTeamsParameterIncludeDeleted::TRUE, # GetHrisTeamsParameterIncludeDeleted | 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 teams (deprecated) + result = api_instance.get_hris_teams(x_integration_id, opts) + p result +rescue Kombo::ApiError => e + puts "Error when calling UnifiedHRISAPIApi->get_hris_teams: #{e}" +end +``` + +#### Using the get_hris_teams_with_http_info variant + +This returns an Array which contains the response data, status code and headers. + +> , Integer, Hash)> get_hris_teams_with_http_info(x_integration_id, opts) + +```ruby +begin + # Get teams (deprecated) + data, status_code, headers = api_instance.get_hris_teams_with_http_info(x_integration_id, opts) + p status_code # => 2xx + p headers # => { ... } + p data # => +rescue Kombo::ApiError => e + puts "Error when calling UnifiedHRISAPIApi->get_hris_teams_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** | [**GetHrisTeamsParameterIncludeDeleted**](.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 + +[**GetHrisTeamsPositiveResponse**](GetHrisTeamsPositiveResponse.md) + +### Authorization + +[ApiKey](../README.md#ApiKey) + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json + + +## get_hris_time_off_balances + +> get_hris_time_off_balances(x_integration_id, opts) + +Get time off balances + +Retrieve all time off balances. 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::UnifiedHRISAPIApi.new +x_integration_id = 'bamboohr: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::GetHrisTimeOffBalancesParameterIncludeDeleted::TRUE, # GetHrisTimeOffBalancesParameterIncludeDeleted | 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. + employee_id: 'employee_id_example' # String | Filter by a specific employee using their ID. +} + +begin + # Get time off balances + result = api_instance.get_hris_time_off_balances(x_integration_id, opts) + p result +rescue Kombo::ApiError => e + puts "Error when calling UnifiedHRISAPIApi->get_hris_time_off_balances: #{e}" +end +``` + +#### Using the get_hris_time_off_balances_with_http_info variant + +This returns an Array which contains the response data, status code and headers. + +> , Integer, Hash)> get_hris_time_off_balances_with_http_info(x_integration_id, opts) + +```ruby +begin + # Get time off balances + data, status_code, headers = api_instance.get_hris_time_off_balances_with_http_info(x_integration_id, opts) + p status_code # => 2xx + p headers # => { ... } + p data # => +rescue Kombo::ApiError => e + puts "Error when calling UnifiedHRISAPIApi->get_hris_time_off_balances_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** | [**GetHrisTimeOffBalancesParameterIncludeDeleted**](.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] | +| **employee_id** | **String** | Filter by a specific employee using their ID. | [optional] | + +### Return type + +[**GetHrisTimeOffBalancesPositiveResponse**](GetHrisTimeOffBalancesPositiveResponse.md) + +### Authorization + +[ApiKey](../README.md#ApiKey) + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json + + +## get_hris_timesheets + +> get_hris_timesheets(x_integration_id, opts) + +Get timesheets + +Get timesheets Retrieve attendance data and timesheets from HRIS tools. **Open Beta Feature:** This endpoint is currently in beta. Please reach out to our support team if you need assistance with implementation. For a detailed explanation of the data model, validation rules, time zones, payable hours, approvals, and break patterns, see the [Time & Attendance guide](/hris/features/time-and-attendance). 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::UnifiedHRISAPIApi.new +x_integration_id = 'bamboohr: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::GetHrisTimesheetsParameterIncludeDeleted::TRUE, # GetHrisTimesheetsParameterIncludeDeleted | 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. + employee_id: 'employee_id_example', # String | Returns timesheets for a specific employee. + started_before: Time.parse('2013-10-20T19:20:30+01:00'), # Time | Return timesheets whose start time is before the given timestamp. + started_after: Time.parse('2013-10-20T19:20:30+01:00'), # Time | Return timesheets whose start time is on or after the given timestamp. + ended_before: Time.parse('2013-10-20T19:20:30+01:00'), # Time | Return timesheets whose end time is on or before the given timestamp. + ended_after: Time.parse('2013-10-20T19:20:30+01:00') # Time | Return timesheets whose end time is on or after the given timestamp. +} + +begin + # Get timesheets + result = api_instance.get_hris_timesheets(x_integration_id, opts) + p result +rescue Kombo::ApiError => e + puts "Error when calling UnifiedHRISAPIApi->get_hris_timesheets: #{e}" +end +``` + +#### Using the get_hris_timesheets_with_http_info variant + +This returns an Array which contains the response data, status code and headers. + +> , Integer, Hash)> get_hris_timesheets_with_http_info(x_integration_id, opts) + +```ruby +begin + # Get timesheets + data, status_code, headers = api_instance.get_hris_timesheets_with_http_info(x_integration_id, opts) + p status_code # => 2xx + p headers # => { ... } + p data # => +rescue Kombo::ApiError => e + puts "Error when calling UnifiedHRISAPIApi->get_hris_timesheets_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** | [**GetHrisTimesheetsParameterIncludeDeleted**](.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] | +| **employee_id** | **String** | Returns timesheets for a specific employee. | [optional] | +| **started_before** | **Time** | Return timesheets whose start time is before the given timestamp. | [optional] | +| **started_after** | **Time** | Return timesheets whose start time is on or after the given timestamp. | [optional] | +| **ended_before** | **Time** | Return timesheets whose end time is on or before the given timestamp. | [optional] | +| **ended_after** | **Time** | Return timesheets whose end time is on or after the given timestamp. | [optional] | + +### Return type + +[**GetHrisTimesheetsPositiveResponse**](GetHrisTimesheetsPositiveResponse.md) + +### Authorization + +[ApiKey](../README.md#ApiKey) + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json + + +## patch_hris_employee_skill_assignments_employee_skill_assignment_id + +> patch_hris_employee_skill_assignments_employee_skill_assignment_id(x_integration_id, employee_skill_assignment_id, opts) + +Update employee skill assignment + +Update employee skill assignment **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 the skill level for an employee skill assignment. + +### 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::UnifiedHRISAPIApi.new +x_integration_id = 'bamboohr:HWUTwvyx2wLoSUHphiWVrp28' # String | ID of the integration you want to interact with. +employee_skill_assignment_id = 'employee_skill_assignment_id_example' # String | The ID of the employee skill assignment +opts = { + patch_hris_employee_skill_assignments_employee_skill_assignment_id_request_body: Kombo::PatchHrisEmployeeSkillAssignmentsEmployeeSkillAssignmentIdRequestBody.new({current_level: 'current_level_example'}) # PatchHrisEmployeeSkillAssignmentsEmployeeSkillAssignmentIdRequestBody | PATCH /hris/employee-skill-assignments/:employee_skill_assignment_id Request body +} + +begin + # Update employee skill assignment + result = api_instance.patch_hris_employee_skill_assignments_employee_skill_assignment_id(x_integration_id, employee_skill_assignment_id, opts) + p result +rescue Kombo::ApiError => e + puts "Error when calling UnifiedHRISAPIApi->patch_hris_employee_skill_assignments_employee_skill_assignment_id: #{e}" +end +``` + +#### Using the patch_hris_employee_skill_assignments_employee_skill_assignment_id_with_http_info variant + +This returns an Array which contains the response data, status code and headers. + +> , Integer, Hash)> patch_hris_employee_skill_assignments_employee_skill_assignment_id_with_http_info(x_integration_id, employee_skill_assignment_id, opts) + +```ruby +begin + # Update employee skill assignment + data, status_code, headers = api_instance.patch_hris_employee_skill_assignments_employee_skill_assignment_id_with_http_info(x_integration_id, employee_skill_assignment_id, opts) + p status_code # => 2xx + p headers # => { ... } + p data # => +rescue Kombo::ApiError => e + puts "Error when calling UnifiedHRISAPIApi->patch_hris_employee_skill_assignments_employee_skill_assignment_id_with_http_info: #{e}" +end +``` + +### Parameters + +| Name | Type | Description | Notes | +| ---- | ---- | ----------- | ----- | +| **x_integration_id** | **String** | ID of the integration you want to interact with. | | +| **employee_skill_assignment_id** | **String** | The ID of the employee skill assignment | | +| **patch_hris_employee_skill_assignments_employee_skill_assignment_id_request_body** | [**PatchHrisEmployeeSkillAssignmentsEmployeeSkillAssignmentIdRequestBody**](PatchHrisEmployeeSkillAssignmentsEmployeeSkillAssignmentIdRequestBody.md) | PATCH /hris/employee-skill-assignments/:employee_skill_assignment_id Request body | [optional] | + +### Return type + +[**PatchHrisEmployeeSkillAssignmentsEmployeeSkillAssignmentIdPositiveResponse**](PatchHrisEmployeeSkillAssignmentsEmployeeSkillAssignmentIdPositiveResponse.md) + +### Authorization + +[ApiKey](../README.md#ApiKey) + +### HTTP request headers + +- **Content-Type**: application/json +- **Accept**: application/json + + +## patch_hris_employees_employee_id + +> patch_hris_employees_employee_id(x_integration_id, employee_id, opts) + +Update employee + +Update an employee. This endpoint requires the permission **Create and manage employees** to be enabled in [your scope config](/scopes). ### Example Request Body ```json { \"employee_id\": \"BkgfzSr5muN9cUTMD4wDQFn4\", \"first_name\": \"John\", \"last_name\": \"Doe\", \"work_email\": \"john.doe@acme.com\", \"ssn\": \"555-32-6395\", \"tax_id\": \"12 345 678 901\", \"gender\": \"MALE\", \"marital_status\": \"MARRIED\", \"date_of_birth\": \"1986-01-01\", \"start_date\": \"2020-04-07\", \"termination_date\": \"2022-05-20\", \"job_title\": \"Integrations Team Lead\", \"nationality\": \"DE\", \"home_address\": { \"city\": \"Berlin\", \"country\": \"DE\", \"state\": \"Berlin\", \"street_1\": \"Sonnenallee 63\", \"zip_code\": \"12045\" } } ``` + +### 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::UnifiedHRISAPIApi.new +x_integration_id = 'bamboohr:HWUTwvyx2wLoSUHphiWVrp28' # String | ID of the integration you want to interact with. +employee_id = 'BkgfzSr5muN9cUTMD4wDQFn4' # String | 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`) +opts = { + patch_hris_employees_employee_id_request_body: Kombo::PatchHrisEmployeesEmployeeIdRequestBody.new({work_email: 'work_email_example'}) # PatchHrisEmployeesEmployeeIdRequestBody | PATCH /hris/employees/:employee_id Request body +} + +begin + # Update employee + result = api_instance.patch_hris_employees_employee_id(x_integration_id, employee_id, opts) + p result +rescue Kombo::ApiError => e + puts "Error when calling UnifiedHRISAPIApi->patch_hris_employees_employee_id: #{e}" +end +``` + +#### Using the patch_hris_employees_employee_id_with_http_info variant + +This returns an Array which contains the response data, status code and headers. + +> , Integer, Hash)> patch_hris_employees_employee_id_with_http_info(x_integration_id, employee_id, opts) + +```ruby +begin + # Update employee + data, status_code, headers = api_instance.patch_hris_employees_employee_id_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 UnifiedHRISAPIApi->patch_hris_employees_employee_id_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** | 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`) | | +| **patch_hris_employees_employee_id_request_body** | [**PatchHrisEmployeesEmployeeIdRequestBody**](PatchHrisEmployeesEmployeeIdRequestBody.md) | PATCH /hris/employees/:employee_id Request body | [optional] | + +### Return type + +[**PatchHrisEmployeesEmployeeIdPositiveResponse**](PatchHrisEmployeesEmployeeIdPositiveResponse.md) + +### Authorization + +[ApiKey](../README.md#ApiKey) + +### HTTP request headers + +- **Content-Type**: application/json +- **Accept**: application/json + + +## patch_hris_skills_skill_id + +> patch_hris_skills_skill_id(x_integration_id, skill_id, opts) + +Update skill + +Update skill **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 skill in the HRIS 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::UnifiedHRISAPIApi.new +x_integration_id = 'bamboohr:HWUTwvyx2wLoSUHphiWVrp28' # String | ID of the integration you want to interact with. +skill_id = 'skill_id_example' # String | The ID of the skill +opts = { + patch_hris_skills_skill_id_request_body: Kombo::PatchHrisSkillsSkillIdRequestBody.new # PatchHrisSkillsSkillIdRequestBody | PATCH /hris/skills/:skill_id Request body +} + +begin + # Update skill + result = api_instance.patch_hris_skills_skill_id(x_integration_id, skill_id, opts) + p result +rescue Kombo::ApiError => e + puts "Error when calling UnifiedHRISAPIApi->patch_hris_skills_skill_id: #{e}" +end +``` + +#### Using the patch_hris_skills_skill_id_with_http_info variant + +This returns an Array which contains the response data, status code and headers. + +> , Integer, Hash)> patch_hris_skills_skill_id_with_http_info(x_integration_id, skill_id, opts) + +```ruby +begin + # Update skill + data, status_code, headers = api_instance.patch_hris_skills_skill_id_with_http_info(x_integration_id, skill_id, opts) + p status_code # => 2xx + p headers # => { ... } + p data # => +rescue Kombo::ApiError => e + puts "Error when calling UnifiedHRISAPIApi->patch_hris_skills_skill_id_with_http_info: #{e}" +end +``` + +### Parameters + +| Name | Type | Description | Notes | +| ---- | ---- | ----------- | ----- | +| **x_integration_id** | **String** | ID of the integration you want to interact with. | | +| **skill_id** | **String** | The ID of the skill | | +| **patch_hris_skills_skill_id_request_body** | [**PatchHrisSkillsSkillIdRequestBody**](PatchHrisSkillsSkillIdRequestBody.md) | PATCH /hris/skills/:skill_id Request body | [optional] | + +### Return type + +[**PatchHrisSkillsSkillIdPositiveResponse**](PatchHrisSkillsSkillIdPositiveResponse.md) + +### Authorization + +[ApiKey](../README.md#ApiKey) + +### HTTP request headers + +- **Content-Type**: application/json +- **Accept**: application/json + + +## post_hris_absences + +> post_hris_absences(x_integration_id, opts) + +Create absence + +Create a new absence. Check [this page](/hris/features/creating-absences) for a detailed guide. This endpoint requires the permission **Manage absences** to be enabled in [your scope config](/scopes). ### Example Request Body ```json { \"employee_id\": \"wXJMxwDvPAjrJ4CyqdV9\", \"absence_type_id\": \"3YKtQ7qedsrcCady1jSyAkY1\", \"start_date\": \"2019-09-17\", \"end_date\": \"2019-09-21\", \"start_time\": \"08:30:00\", \"end_time\": \"16:00:00\", \"start_half_day\": false, \"end_half_day\": false, \"employee_note\": \"Visiting the aliens\" } ``` + +### 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::UnifiedHRISAPIApi.new +x_integration_id = 'bamboohr:HWUTwvyx2wLoSUHphiWVrp28' # String | ID of the integration you want to interact with. +opts = { + post_hris_absences_request_body: Kombo::PostHrisAbsencesRequestBody.new({employee_id: 'employee_id_example', absence_type_id: 'absence_type_id_example', start_date: Time.now, end_date: Time.now, employee_note: 'employee_note_example'}) # PostHrisAbsencesRequestBody | POST /hris/absences Request body +} + +begin + # Create absence + result = api_instance.post_hris_absences(x_integration_id, opts) + p result +rescue Kombo::ApiError => e + puts "Error when calling UnifiedHRISAPIApi->post_hris_absences: #{e}" +end +``` + +#### Using the post_hris_absences_with_http_info variant + +This returns an Array which contains the response data, status code and headers. + +> , Integer, Hash)> post_hris_absences_with_http_info(x_integration_id, opts) + +```ruby +begin + # Create absence + data, status_code, headers = api_instance.post_hris_absences_with_http_info(x_integration_id, opts) + p status_code # => 2xx + p headers # => { ... } + p data # => +rescue Kombo::ApiError => e + puts "Error when calling UnifiedHRISAPIApi->post_hris_absences_with_http_info: #{e}" +end +``` + +### Parameters + +| Name | Type | Description | Notes | +| ---- | ---- | ----------- | ----- | +| **x_integration_id** | **String** | ID of the integration you want to interact with. | | +| **post_hris_absences_request_body** | [**PostHrisAbsencesRequestBody**](PostHrisAbsencesRequestBody.md) | POST /hris/absences Request body | [optional] | + +### Return type + +[**PostHrisAbsencesPositiveResponse**](PostHrisAbsencesPositiveResponse.md) + +### Authorization + +[ApiKey](../README.md#ApiKey) + +### HTTP request headers + +- **Content-Type**: application/json +- **Accept**: application/json + + +## post_hris_employee_skill_assignments + +> post_hris_employee_skill_assignments(x_integration_id, opts) + +Create employee skill assignment + +Create employee skill assignment **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. Assign a skill to an employee with a specified skill level. + +### 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::UnifiedHRISAPIApi.new +x_integration_id = 'bamboohr:HWUTwvyx2wLoSUHphiWVrp28' # String | ID of the integration you want to interact with. +opts = { + post_hris_employee_skill_assignments_request_body: Kombo::PostHrisEmployeeSkillAssignmentsRequestBody.new({employee_id: 'employee_id_example', skill_id: 'skill_id_example'}) # PostHrisEmployeeSkillAssignmentsRequestBody | POST /hris/employee-skill-assignments Request body +} + +begin + # Create employee skill assignment + result = api_instance.post_hris_employee_skill_assignments(x_integration_id, opts) + p result +rescue Kombo::ApiError => e + puts "Error when calling UnifiedHRISAPIApi->post_hris_employee_skill_assignments: #{e}" +end +``` + +#### Using the post_hris_employee_skill_assignments_with_http_info variant + +This returns an Array which contains the response data, status code and headers. + +> , Integer, Hash)> post_hris_employee_skill_assignments_with_http_info(x_integration_id, opts) + +```ruby +begin + # Create employee skill assignment + data, status_code, headers = api_instance.post_hris_employee_skill_assignments_with_http_info(x_integration_id, opts) + p status_code # => 2xx + p headers # => { ... } + p data # => +rescue Kombo::ApiError => e + puts "Error when calling UnifiedHRISAPIApi->post_hris_employee_skill_assignments_with_http_info: #{e}" +end +``` + +### Parameters + +| Name | Type | Description | Notes | +| ---- | ---- | ----------- | ----- | +| **x_integration_id** | **String** | ID of the integration you want to interact with. | | +| **post_hris_employee_skill_assignments_request_body** | [**PostHrisEmployeeSkillAssignmentsRequestBody**](PostHrisEmployeeSkillAssignmentsRequestBody.md) | POST /hris/employee-skill-assignments Request body | [optional] | + +### Return type + +[**PostHrisEmployeeSkillAssignmentsPositiveResponse**](PostHrisEmployeeSkillAssignmentsPositiveResponse.md) + +### Authorization + +[ApiKey](../README.md#ApiKey) + +### HTTP request headers + +- **Content-Type**: application/json +- **Accept**: application/json + + +## post_hris_employees + +> post_hris_employees(x_integration_id, opts) + +[DEPRECATED] Create employee + +Create a new employee. We are deprecating this endpoint in favor of the new [create employee form](/hris/features/create-employee) endpoint. This endpoint requires the permission **Create and manage employees** to be enabled in [your scope config](/scopes). ### Example Request Body ```json { \"first_name\": \"John\", \"last_name\": \"Doe\", \"work_email\": \"john.doe@acme.com\", \"gender\": \"MALE\", \"date_of_birth\": \"1986-01-01\", \"start_date\": \"2020-04-07\", \"job_title\": \"Integrations Team Lead\", \"home_address\": { \"city\": \"Berlin\", \"country\": \"DE\", \"state\": \"Berlin\", \"street_1\": \"Sonnenallee 63\", \"zip_code\": \"12045\" } } ``` + +### 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::UnifiedHRISAPIApi.new +x_integration_id = 'bamboohr:HWUTwvyx2wLoSUHphiWVrp28' # String | ID of the integration you want to interact with. +opts = { + post_hris_employees_request_body: Kombo::PostHrisEmployeesRequestBody.new({first_name: 'first_name_example', last_name: 'last_name_example'}) # PostHrisEmployeesRequestBody | POST /hris/employees Request body +} + +begin + # [DEPRECATED] Create employee + result = api_instance.post_hris_employees(x_integration_id, opts) + p result +rescue Kombo::ApiError => e + puts "Error when calling UnifiedHRISAPIApi->post_hris_employees: #{e}" +end +``` + +#### Using the post_hris_employees_with_http_info variant + +This returns an Array which contains the response data, status code and headers. + +> , Integer, Hash)> post_hris_employees_with_http_info(x_integration_id, opts) + +```ruby +begin + # [DEPRECATED] Create employee + data, status_code, headers = api_instance.post_hris_employees_with_http_info(x_integration_id, opts) + p status_code # => 2xx + p headers # => { ... } + p data # => +rescue Kombo::ApiError => e + puts "Error when calling UnifiedHRISAPIApi->post_hris_employees_with_http_info: #{e}" +end +``` + +### Parameters + +| Name | Type | Description | Notes | +| ---- | ---- | ----------- | ----- | +| **x_integration_id** | **String** | ID of the integration you want to interact with. | | +| **post_hris_employees_request_body** | [**PostHrisEmployeesRequestBody**](PostHrisEmployeesRequestBody.md) | POST /hris/employees Request body | [optional] | + +### Return type + +[**PostHrisEmployeesPositiveResponse**](PostHrisEmployeesPositiveResponse.md) + +### Authorization + +[ApiKey](../README.md#ApiKey) + +### HTTP request headers + +- **Content-Type**: application/json +- **Accept**: application/json + + +## post_hris_employees_employee_id_documents + +> post_hris_employees_employee_id_documents(x_integration_id, employee_id, opts) + +Add document to employee + +Uploads an document file for the specified employee. This endpoint requires the permission **Manage documents** to be enabled in [your scope config](/scopes). ### Example Request Body ```json { \"category_id\": \"3Cjwu7nA7pH5cX5X1NAPmb7M\", \"document\": { \"name\": \"Frank Doe Employment Contract.txt\", \"data\": \"SGkgdGhlcmUsIEtvbWJvIGlzIGN1cnJlbnRseSBoaXJpbmcgZW5naW5lZXJzIHRoYXQgbG92ZSB0byB3b3JrIG9uIGRldmVsb3BlciBwcm9kdWN0cy4=\", \"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::UnifiedHRISAPIApi.new +x_integration_id = 'bamboohr:HWUTwvyx2wLoSUHphiWVrp28' # String | ID of the integration you want to interact with. +employee_id = 'GRKdd9dibYKKCrmGRSMJf3wu' # String | POST /hris/employees/:employee_id/documents Parameter +opts = { + post_hris_employees_employee_id_documents_request_body: Kombo::PostHrisEmployeesEmployeeIdDocumentsRequestBody.new({category_id: 'category_id_example', document: Kombo::PostPassthroughToolApiRequestBodyMultipartFormDataInnerValueOneOf.new({name: 'name_example'})}) # PostHrisEmployeesEmployeeIdDocumentsRequestBody | POST /hris/employees/:employee_id/documents Request body +} + +begin + # Add document to employee + result = api_instance.post_hris_employees_employee_id_documents(x_integration_id, employee_id, opts) + p result +rescue Kombo::ApiError => e + puts "Error when calling UnifiedHRISAPIApi->post_hris_employees_employee_id_documents: #{e}" +end +``` + +#### Using the post_hris_employees_employee_id_documents_with_http_info variant + +This returns an Array which contains the response data, status code and headers. + +> , Integer, Hash)> post_hris_employees_employee_id_documents_with_http_info(x_integration_id, employee_id, opts) + +```ruby +begin + # Add document to employee + data, status_code, headers = api_instance.post_hris_employees_employee_id_documents_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 UnifiedHRISAPIApi->post_hris_employees_employee_id_documents_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 /hris/employees/:employee_id/documents Parameter | | +| **post_hris_employees_employee_id_documents_request_body** | [**PostHrisEmployeesEmployeeIdDocumentsRequestBody**](PostHrisEmployeesEmployeeIdDocumentsRequestBody.md) | POST /hris/employees/:employee_id/documents Request body | [optional] | + +### Return type + +[**PostHrisEmployeesEmployeeIdDocumentsPositiveResponse**](PostHrisEmployeesEmployeeIdDocumentsPositiveResponse.md) + +### Authorization + +[ApiKey](../README.md#ApiKey) + +### HTTP request headers + +- **Content-Type**: application/json +- **Accept**: application/json + + +## post_hris_employees_form + +> post_hris_employees_form(x_integration_id, opts) + +Create employee with form + +Create an employee, based on the form schema. This endpoint requires the permission **Create and manage employees** to be enabled in [your scope config](/scopes). ### Example Request Body ```json { \"properties\": { \"firstName\": \"John\", \"startDate\": \"2025-01-01\", \"workLocation\": { \"site\": \"8e422bf8cav\", \"keyNumbers\": [ 142, 525, 63 ] } } } ``` + +### 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::UnifiedHRISAPIApi.new +x_integration_id = 'bamboohr:HWUTwvyx2wLoSUHphiWVrp28' # String | ID of the integration you want to interact with. +opts = { + post_hris_employees_form_request_body: Kombo::PostHrisEmployeesFormRequestBody.new({properties: { key: nil}}) # PostHrisEmployeesFormRequestBody | POST /hris/employees/form Request body +} + +begin + # Create employee with form + result = api_instance.post_hris_employees_form(x_integration_id, opts) + p result +rescue Kombo::ApiError => e + puts "Error when calling UnifiedHRISAPIApi->post_hris_employees_form: #{e}" +end +``` + +#### Using the post_hris_employees_form_with_http_info variant + +This returns an Array which contains the response data, status code and headers. + +> , Integer, Hash)> post_hris_employees_form_with_http_info(x_integration_id, opts) + +```ruby +begin + # Create employee with form + data, status_code, headers = api_instance.post_hris_employees_form_with_http_info(x_integration_id, opts) + p status_code # => 2xx + p headers # => { ... } + p data # => +rescue Kombo::ApiError => e + puts "Error when calling UnifiedHRISAPIApi->post_hris_employees_form_with_http_info: #{e}" +end +``` + +### Parameters + +| Name | Type | Description | Notes | +| ---- | ---- | ----------- | ----- | +| **x_integration_id** | **String** | ID of the integration you want to interact with. | | +| **post_hris_employees_form_request_body** | [**PostHrisEmployeesFormRequestBody**](PostHrisEmployeesFormRequestBody.md) | POST /hris/employees/form Request body | [optional] | + +### Return type + +[**PostHrisEmployeesFormPositiveResponse**](PostHrisEmployeesFormPositiveResponse.md) + +### Authorization + +[ApiKey](../README.md#ApiKey) + +### HTTP request headers + +- **Content-Type**: application/json +- **Accept**: application/json + + +## post_hris_provisioning_groups_group_id_diff + +> post_hris_provisioning_groups_group_id_diff(x_integration_id, group_id, opts) + +Get provisioning diff + +Get the list of users to provision, deprovision, and optionally update based on the users you've already provisioned in 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::UnifiedHRISAPIApi.new +x_integration_id = 'bamboohr:HWUTwvyx2wLoSUHphiWVrp28' # String | ID of the integration you want to interact with. +group_id = 'n39n320clr8c5amf8v83nbch' # String | ID of the provisioning group (currently only `default` is allowed). +opts = { + post_hris_provisioning_groups_group_id_diff_request_body: Kombo::PostHrisProvisioningGroupsGroupIdDiffRequestBody.new({provisioned_users: [Kombo::PostHrisProvisioningGroupsGroupIdDiffRequestBodyProvisionedUsersInner.new({origin_id: 'origin_id_example', email: 'email_example'})], options: Kombo::PostHrisProvisioningGroupsGroupIdDiffRequestBodyOptions.new({employee_fields: ['id']})}) # PostHrisProvisioningGroupsGroupIdDiffRequestBody | POST /hris/provisioning-groups/:group_id/diff Request body +} + +begin + # Get provisioning diff + result = api_instance.post_hris_provisioning_groups_group_id_diff(x_integration_id, group_id, opts) + p result +rescue Kombo::ApiError => e + puts "Error when calling UnifiedHRISAPIApi->post_hris_provisioning_groups_group_id_diff: #{e}" +end +``` + +#### Using the post_hris_provisioning_groups_group_id_diff_with_http_info variant + +This returns an Array which contains the response data, status code and headers. + +> , Integer, Hash)> post_hris_provisioning_groups_group_id_diff_with_http_info(x_integration_id, group_id, opts) + +```ruby +begin + # Get provisioning diff + data, status_code, headers = api_instance.post_hris_provisioning_groups_group_id_diff_with_http_info(x_integration_id, group_id, opts) + p status_code # => 2xx + p headers # => { ... } + p data # => +rescue Kombo::ApiError => e + puts "Error when calling UnifiedHRISAPIApi->post_hris_provisioning_groups_group_id_diff_with_http_info: #{e}" +end +``` + +### Parameters + +| Name | Type | Description | Notes | +| ---- | ---- | ----------- | ----- | +| **x_integration_id** | **String** | ID of the integration you want to interact with. | | +| **group_id** | **String** | ID of the provisioning group (currently only `default` is allowed). | | +| **post_hris_provisioning_groups_group_id_diff_request_body** | [**PostHrisProvisioningGroupsGroupIdDiffRequestBody**](PostHrisProvisioningGroupsGroupIdDiffRequestBody.md) | POST /hris/provisioning-groups/:group_id/diff Request body | [optional] | + +### Return type + +[**PostHrisProvisioningGroupsGroupIdDiffPositiveResponse**](PostHrisProvisioningGroupsGroupIdDiffPositiveResponse.md) + +### Authorization + +[ApiKey](../README.md#ApiKey) + +### HTTP request headers + +- **Content-Type**: application/json +- **Accept**: application/json + + +## post_hris_provisioning_groups_group_id_setup_links + +> post_hris_provisioning_groups_group_id_setup_links(x_integration_id, group_id, opts) + +Create provisioning setup link + +Create a new link that can be passed to the Kombo Connect SDK to open the provisioning setup UI. + +### 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::UnifiedHRISAPIApi.new +x_integration_id = 'bamboohr:HWUTwvyx2wLoSUHphiWVrp28' # String | ID of the integration you want to interact with. +group_id = 'n39n320clr8c5amf8v83nbch' # String | ID of the provisioning group (currently only `default` is allowed). +opts = { + post_hris_provisioning_groups_group_id_setup_links_request_body: Kombo::PostHrisProvisioningGroupsGroupIdSetupLinksRequestBody.new # PostHrisProvisioningGroupsGroupIdSetupLinksRequestBody | POST /hris/provisioning-groups/:group_id/setup-links Request body +} + +begin + # Create provisioning setup link + result = api_instance.post_hris_provisioning_groups_group_id_setup_links(x_integration_id, group_id, opts) + p result +rescue Kombo::ApiError => e + puts "Error when calling UnifiedHRISAPIApi->post_hris_provisioning_groups_group_id_setup_links: #{e}" +end +``` + +#### Using the post_hris_provisioning_groups_group_id_setup_links_with_http_info variant + +This returns an Array which contains the response data, status code and headers. + +> , Integer, Hash)> post_hris_provisioning_groups_group_id_setup_links_with_http_info(x_integration_id, group_id, opts) + +```ruby +begin + # Create provisioning setup link + data, status_code, headers = api_instance.post_hris_provisioning_groups_group_id_setup_links_with_http_info(x_integration_id, group_id, opts) + p status_code # => 2xx + p headers # => { ... } + p data # => +rescue Kombo::ApiError => e + puts "Error when calling UnifiedHRISAPIApi->post_hris_provisioning_groups_group_id_setup_links_with_http_info: #{e}" +end +``` + +### Parameters + +| Name | Type | Description | Notes | +| ---- | ---- | ----------- | ----- | +| **x_integration_id** | **String** | ID of the integration you want to interact with. | | +| **group_id** | **String** | ID of the provisioning group (currently only `default` is allowed). | | +| **post_hris_provisioning_groups_group_id_setup_links_request_body** | [**PostHrisProvisioningGroupsGroupIdSetupLinksRequestBody**](PostHrisProvisioningGroupsGroupIdSetupLinksRequestBody.md) | POST /hris/provisioning-groups/:group_id/setup-links Request body | [optional] | + +### Return type + +[**PostHrisProvisioningGroupsGroupIdSetupLinksPositiveResponse**](PostHrisProvisioningGroupsGroupIdSetupLinksPositiveResponse.md) + +### Authorization + +[ApiKey](../README.md#ApiKey) + +### HTTP request headers + +- **Content-Type**: application/json +- **Accept**: application/json + + +## post_hris_skills + +> post_hris_skills(x_integration_id, opts) + +Create skill + +Create skill **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 skill in the HRIS system with specified name and levels. Refer to our coverage grid for support of levels. + +### 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::UnifiedHRISAPIApi.new +x_integration_id = 'bamboohr:HWUTwvyx2wLoSUHphiWVrp28' # String | ID of the integration you want to interact with. +opts = { + post_hris_skills_request_body: Kombo::PostHrisSkillsRequestBody.new({name: 'name_example'}) # PostHrisSkillsRequestBody | POST /hris/skills Request body +} + +begin + # Create skill + result = api_instance.post_hris_skills(x_integration_id, opts) + p result +rescue Kombo::ApiError => e + puts "Error when calling UnifiedHRISAPIApi->post_hris_skills: #{e}" +end +``` + +#### Using the post_hris_skills_with_http_info variant + +This returns an Array which contains the response data, status code and headers. + +> , Integer, Hash)> post_hris_skills_with_http_info(x_integration_id, opts) + +```ruby +begin + # Create skill + data, status_code, headers = api_instance.post_hris_skills_with_http_info(x_integration_id, opts) + p status_code # => 2xx + p headers # => { ... } + p data # => +rescue Kombo::ApiError => e + puts "Error when calling UnifiedHRISAPIApi->post_hris_skills_with_http_info: #{e}" +end +``` + +### Parameters + +| Name | Type | Description | Notes | +| ---- | ---- | ----------- | ----- | +| **x_integration_id** | **String** | ID of the integration you want to interact with. | | +| **post_hris_skills_request_body** | [**PostHrisSkillsRequestBody**](PostHrisSkillsRequestBody.md) | POST /hris/skills Request body | [optional] | + +### Return type + +[**PostHrisSkillsPositiveResponse**](PostHrisSkillsPositiveResponse.md) + +### Authorization + +[ApiKey](../README.md#ApiKey) + +### HTTP request headers + +- **Content-Type**: application/json +- **Accept**: application/json + diff --git a/flake.lock b/flake.lock new file mode 100644 index 0000000..01713d4 --- /dev/null +++ b/flake.lock @@ -0,0 +1,317 @@ +{ + "nodes": { + "cachix": { + "inputs": { + "devenv": [ + "devenv" + ], + "flake-compat": [ + "devenv", + "flake-compat" + ], + "git-hooks": [ + "devenv", + "git-hooks" + ], + "nixpkgs": [ + "devenv", + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1760971495, + "narHash": "sha256-IwnNtbNVrlZIHh7h4Wz6VP0Furxg9Hh0ycighvL5cZc=", + "owner": "cachix", + "repo": "cachix", + "rev": "c5bfd933d1033672f51a863c47303fc0e093c2d2", + "type": "github" + }, + "original": { + "owner": "cachix", + "ref": "latest", + "repo": "cachix", + "type": "github" + } + }, + "devenv": { + "inputs": { + "cachix": "cachix", + "flake-compat": "flake-compat", + "flake-parts": "flake-parts", + "git-hooks": "git-hooks", + "nix": "nix", + "nixpkgs": [ + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1763568647, + "narHash": "sha256-cglff1KfFuPB6u03JCWCUiqXd6aky7js1UdpR4dr5Rg=", + "owner": "cachix", + "repo": "devenv", + "rev": "cecb0452cacd9c524ccfc973d5caffff834cbf02", + "type": "github" + }, + "original": { + "owner": "cachix", + "repo": "devenv", + "type": "github" + } + }, + "flake-compat": { + "flake": false, + "locked": { + "lastModified": 1761588595, + "narHash": "sha256-XKUZz9zewJNUj46b4AJdiRZJAvSZ0Dqj2BNfXvFlJC4=", + "owner": "edolstra", + "repo": "flake-compat", + "rev": "f387cd2afec9419c8ee37694406ca490c3f34ee5", + "type": "github" + }, + "original": { + "owner": "edolstra", + "repo": "flake-compat", + "type": "github" + } + }, + "flake-compat_2": { + "flake": false, + "locked": { + "lastModified": 1747046372, + "narHash": "sha256-CIVLLkVgvHYbgI2UpXvIIBJ12HWgX+fjA8Xf8PUmqCY=", + "owner": "edolstra", + "repo": "flake-compat", + "rev": "9100a0f413b0c601e0533d1d94ffd501ce2e7885", + "type": "github" + }, + "original": { + "owner": "edolstra", + "repo": "flake-compat", + "type": "github" + } + }, + "flake-parts": { + "inputs": { + "nixpkgs-lib": [ + "devenv", + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1760948891, + "narHash": "sha256-TmWcdiUUaWk8J4lpjzu4gCGxWY6/Ok7mOK4fIFfBuU4=", + "owner": "hercules-ci", + "repo": "flake-parts", + "rev": "864599284fc7c0ba6357ed89ed5e2cd5040f0c04", + "type": "github" + }, + "original": { + "owner": "hercules-ci", + "repo": "flake-parts", + "type": "github" + } + }, + "flake-parts_2": { + "inputs": { + "nixpkgs-lib": "nixpkgs-lib" + }, + "locked": { + "lastModified": 1762980239, + "narHash": "sha256-8oNVE8TrD19ulHinjaqONf9QWCKK+w4url56cdStMpM=", + "owner": "hercules-ci", + "repo": "flake-parts", + "rev": "52a2caecc898d0b46b2b905f058ccc5081f842da", + "type": "github" + }, + "original": { + "owner": "hercules-ci", + "repo": "flake-parts", + "type": "github" + } + }, + "flake-utils": { + "inputs": { + "systems": "systems" + }, + "locked": { + "lastModified": 1731533236, + "narHash": "sha256-l0KFg5HjrsfsO/JpG+r7fRrqm12kzFHyUHqHCVpMMbI=", + "owner": "numtide", + "repo": "flake-utils", + "rev": "11707dc2f618dd54ca8739b309ec4fc024de578b", + "type": "github" + }, + "original": { + "owner": "numtide", + "repo": "flake-utils", + "type": "github" + } + }, + "git-hooks": { + "inputs": { + "flake-compat": [ + "devenv", + "flake-compat" + ], + "gitignore": "gitignore", + "nixpkgs": [ + "devenv", + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1760663237, + "narHash": "sha256-BflA6U4AM1bzuRMR8QqzPXqh8sWVCNDzOdsxXEguJIc=", + "owner": "cachix", + "repo": "git-hooks.nix", + "rev": "ca5b894d3e3e151ffc1db040b6ce4dcc75d31c37", + "type": "github" + }, + "original": { + "owner": "cachix", + "repo": "git-hooks.nix", + "type": "github" + } + }, + "gitignore": { + "inputs": { + "nixpkgs": [ + "devenv", + "git-hooks", + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1709087332, + "narHash": "sha256-HG2cCnktfHsKV0s4XW83gU3F57gaTljL9KNSuG6bnQs=", + "owner": "hercules-ci", + "repo": "gitignore.nix", + "rev": "637db329424fd7e46cf4185293b9cc8c88c95394", + "type": "github" + }, + "original": { + "owner": "hercules-ci", + "repo": "gitignore.nix", + "type": "github" + } + }, + "nix": { + "inputs": { + "flake-compat": [ + "devenv", + "flake-compat" + ], + "flake-parts": [ + "devenv", + "flake-parts" + ], + "git-hooks-nix": [ + "devenv", + "git-hooks" + ], + "nixpkgs": [ + "devenv", + "nixpkgs" + ], + "nixpkgs-23-11": [ + "devenv" + ], + "nixpkgs-regression": [ + "devenv" + ] + }, + "locked": { + "lastModified": 1761648602, + "narHash": "sha256-H97KSB/luq/aGobKRuHahOvT1r7C03BgB6D5HBZsbN8=", + "owner": "cachix", + "repo": "nix", + "rev": "3e5644da6830ef65f0a2f7ec22830c46285bfff6", + "type": "github" + }, + "original": { + "owner": "cachix", + "ref": "devenv-2.30.6", + "repo": "nix", + "type": "github" + } + }, + "nixpkgs": { + "locked": { + "lastModified": 1763421233, + "narHash": "sha256-Stk9ZYRkGrnnpyJ4eqt9eQtdFWRRIvMxpNRf4sIegnw=", + "owner": "nixos", + "repo": "nixpkgs", + "rev": "89c2b2330e733d6cdb5eae7b899326930c2c0648", + "type": "github" + }, + "original": { + "owner": "nixos", + "ref": "nixos-unstable", + "repo": "nixpkgs", + "type": "github" + } + }, + "nixpkgs-lib": { + "locked": { + "lastModified": 1761765539, + "narHash": "sha256-b0yj6kfvO8ApcSE+QmA6mUfu8IYG6/uU28OFn4PaC8M=", + "owner": "nix-community", + "repo": "nixpkgs.lib", + "rev": "719359f4562934ae99f5443f20aa06c2ffff91fc", + "type": "github" + }, + "original": { + "owner": "nix-community", + "repo": "nixpkgs.lib", + "type": "github" + } + }, + "nixpkgs-ruby": { + "inputs": { + "flake-compat": "flake-compat_2", + "flake-utils": "flake-utils", + "nixpkgs": [ + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1759902829, + "narHash": "sha256-8mF8hyntxkjxZ5AOM+uHbJMSdA/kTgNTGOdskCKm1+c=", + "owner": "bobvanderlinden", + "repo": "nixpkgs-ruby", + "rev": "5fba6c022a63f1e76dee4da71edddad8959f088a", + "type": "github" + }, + "original": { + "owner": "bobvanderlinden", + "repo": "nixpkgs-ruby", + "type": "github" + } + }, + "root": { + "inputs": { + "devenv": "devenv", + "flake-parts": "flake-parts_2", + "nixpkgs": "nixpkgs", + "nixpkgs-ruby": "nixpkgs-ruby" + } + }, + "systems": { + "locked": { + "lastModified": 1681028828, + "narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=", + "owner": "nix-systems", + "repo": "default", + "rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e", + "type": "github" + }, + "original": { + "owner": "nix-systems", + "repo": "default", + "type": "github" + } + } + }, + "root": "root", + "version": 7 +} diff --git a/flake.nix b/flake.nix new file mode 100644 index 0000000..2271529 --- /dev/null +++ b/flake.nix @@ -0,0 +1,160 @@ +{ + inputs = { + flake-parts.url = "github:hercules-ci/flake-parts"; + nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable"; + devenv = { + url = "github:cachix/devenv"; + inputs.nixpkgs.follows = "nixpkgs"; + }; + nixpkgs-ruby = { + url = "github:bobvanderlinden/nixpkgs-ruby"; + inputs = {nixpkgs.follows = "nixpkgs";}; + }; + }; + + outputs = {nixpkgs, ...} @ inputs: + inputs.flake-parts.lib.mkFlake {inherit inputs;} { + debug = true; + + systems = [ + "x86_64-linux" + "x86_64-darwin" + "aarch64-darwin" + ]; + + imports = [inputs.devenv.flakeModule]; + + perSystem = { + config, + pkgs, + system, + ... + }: { + _module.args.pkgs = import nixpkgs { + inherit system; + config.allowUnfree = true; + }; + + formatter = pkgs.alejandra; + devenv.shells.default = let + config' = config.devenv.shells.default; + lib = pkgs.lib; + stdenv = pkgs.stdenvNoCC; + in { + inherit stdenv; + info = false; + + enterShell = + # bash + '' + bundle check || bundle install + run-show-help + ''; + + env = { + }; + + packages = with pkgs; [ + # flake + alejandra # nix files formatter (this is a Nix file) + nix-direnv + + # tools + svu + openapi-generator-cli + + # Dev dependencies + libyaml # psych gem + ]; + languages = { + ruby = { + enable = true; + bundler.enable = false; + versionFile = ./.ruby-version; + }; + }; + + scripts = { + run-show-help = { + description = "Show this help text"; + + exec = + # bash + '' + echo + echo Helper scripts available: + echo + ${lib.getExe pkgs.gnused} -e 's| |XX|g' \ + -e 's|=| |' < /dev/null; then + CURRENT_VERSION=$(cat $VERSION_FILE) + else + echo "Error: 'svu' utility not found." + exit 1 + fi + + LAST_SPEC_FILE="$SPECS_DIR/kombo-openapi-spec-$CURRENT_VERSION.json" + if [ -f "$LAST_SPEC_FILE" ]; then + if cmp -s "$LAST_SPEC_FILE" "new_openapi.json"; then + echo "No changes detected in OpenAPI spec." + rm new_openapi.json + echo "API specification has not changed: skipping SDK generation" + exit 0 + fi + fi + + echo "Kombo API updated. Proceeding with generation." + + NEW_VERSION=$(svu patch) + echo "Current version: $CURRENT_VERSION" + echo "New version: $NEW_VERSION" + + NEW_SPEC_FILE="$SPECS_DIR/kombo-openapi-spec-$NEW_VERSION.json" + mv new_openapi.json "$NEW_SPEC_FILE" + echo "$NEW_VERSION" > "$VERSION_FILE" + + echo "Generating Ruby Client..." + openapi-generator-cli generate \ + -i "$NEW_SPEC_FILE" \ + -g ruby \ + -o . \ + --additional-properties=gemName=kombo_client,gemVersion=$NEW_VERSION,moduleName=Kombo + + echo "SDK Generation complete" + ''; + }; + }; + }; + }; + }; +} diff --git a/kombo_client.gemspec b/kombo_client.gemspec new file mode 100644 index 0000000..199f3b8 --- /dev/null +++ b/kombo_client.gemspec @@ -0,0 +1,39 @@ +# -*- encoding: utf-8 -*- + +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.17.0 + +=end + +$:.push File.expand_path("../lib", __FILE__) +require "kombo_client/version" + +Gem::Specification.new do |s| + s.name = "kombo_client" + s.version = Kombo::VERSION + s.platform = Gem::Platform::RUBY + s.authors = ["OpenAPI-Generator"] + s.email = [""] + s.homepage = "https://openapi-generator.tech" + s.summary = "Kombo API Ruby Gem" + s.description = "No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)" + s.license = "Unlicense" + s.required_ruby_version = ">= 2.7" + s.metadata = {} + + s.add_runtime_dependency 'typhoeus', '~> 1.0', '>= 1.0.1' + + s.add_development_dependency 'rspec', '~> 3.6', '>= 3.6.0' + + s.files = `find *`.split("\n").uniq.sort.select { |f| !f.empty? } + s.test_files = `find spec/*`.split("\n") + s.executables = [] + s.require_paths = ["lib"] +end diff --git a/lib/kombo_client.rb b/lib/kombo_client.rb new file mode 100644 index 0000000..4402860 --- /dev/null +++ b/lib/kombo_client.rb @@ -0,0 +1,684 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.17.0 + +=end + +# Common files +require 'kombo_client/api_client' +require 'kombo_client/api_error' +require 'kombo_client/api_model_base' +require 'kombo_client/version' +require 'kombo_client/configuration' + +# Models +require 'kombo_client/models/ai_apply_application_status_updated_webhook_payload' +require 'kombo_client/models/ai_apply_application_status_updated_webhook_payload_data' +require 'kombo_client/models/ai_apply_job_posting_status_updated_webhook_payload' +require 'kombo_client/models/ai_apply_job_posting_status_updated_webhook_payload_data' +require 'kombo_client/models/ai_apply_job_posting_status_updated_webhook_payload_data_career_site' +require 'kombo_client/models/assessment_order_received_webhook_payload' +require 'kombo_client/models/assessment_order_received_webhook_payload_data' +require 'kombo_client/models/assessment_order_received_webhook_payload_data_application' +require 'kombo_client/models/assessment_order_received_webhook_payload_data_candidate' +require 'kombo_client/models/assessment_order_received_webhook_payload_data_job' +require 'kombo_client/models/assessment_order_received_webhook_payload_data_job_hiring_team_inner' +require 'kombo_client/models/assessment_order_received_webhook_payload_data_job_location' +require 'kombo_client/models/connection_flow_failed_webhook_payload' +require 'kombo_client/models/connection_flow_failed_webhook_payload_data' +require 'kombo_client/models/connection_flow_failed_webhook_payload_data_end_user' +require 'kombo_client/models/data_changed_webhook_payload' +require 'kombo_client/models/data_changed_webhook_payload_data' +require 'kombo_client/models/data_changed_webhook_payload_data_changed_models_inner' +require 'kombo_client/models/delete_ats_candidates_candidate_id_tags_positive_response' +require 'kombo_client/models/delete_ats_candidates_candidate_id_tags_request_body' +require 'kombo_client/models/delete_ats_candidates_candidate_id_tags_request_body_tag' +require 'kombo_client/models/delete_hris_absences_absence_id_positive_response' +require 'kombo_client/models/delete_hris_absences_absence_id_request_body' +require 'kombo_client/models/delete_hris_absences_absence_id_request_body_remote_fields' +require 'kombo_client/models/delete_hris_absences_absence_id_request_body_remote_fields_adpworkforcenow' +require 'kombo_client/models/delete_hris_employee_skill_assignments_employee_skill_assignment_id_positive_response' +require 'kombo_client/models/delete_hris_skills_skill_id_positive_response' +require 'kombo_client/models/delete_integrations_integration_id_positive_response' +require 'kombo_client/models/get_ai_apply_applications_positive_response' +require 'kombo_client/models/get_ai_apply_applications_positive_response_data' +require 'kombo_client/models/get_ai_apply_applications_positive_response_data_results_inner' +require 'kombo_client/models/get_ai_apply_career_sites_positive_response' +require 'kombo_client/models/get_ai_apply_career_sites_positive_response_data' +require 'kombo_client/models/get_ai_apply_postings_positive_response' +require 'kombo_client/models/get_ai_apply_postings_positive_response_data' +require 'kombo_client/models/get_ai_apply_postings_positive_response_data_results_inner' +require 'kombo_client/models/get_ai_apply_postings_positive_response_data_results_inner_career_site' +require 'kombo_client/models/get_ai_apply_unified_api_jobs_positive_response' +require 'kombo_client/models/get_ai_apply_unified_api_jobs_positive_response_data' +require 'kombo_client/models/get_ai_apply_unified_api_jobs_positive_response_data_results_inner' +require 'kombo_client/models/get_ai_apply_unified_api_jobs_positive_response_data_results_inner_employment_type' +require 'kombo_client/models/get_ai_apply_unified_api_jobs_positive_response_data_results_inner_location' +require 'kombo_client/models/get_ai_apply_unified_api_jobs_positive_response_data_results_inner_screening_questions_inner' +require 'kombo_client/models/get_ai_apply_unified_api_jobs_positive_response_data_results_inner_screening_questions_inner_precondition_options' +require 'kombo_client/models/get_assessment_orders_open_positive_response' +require 'kombo_client/models/get_assessment_orders_open_positive_response_data' +require 'kombo_client/models/get_assessment_orders_open_positive_response_data_results_inner' +require 'kombo_client/models/get_assessment_orders_open_positive_response_data_results_inner_application' +require 'kombo_client/models/get_assessment_orders_open_positive_response_data_results_inner_candidate' +require 'kombo_client/models/get_assessment_orders_open_positive_response_data_results_inner_job' +require 'kombo_client/models/get_assessment_orders_open_positive_response_data_results_inner_job_hiring_team_inner' +require 'kombo_client/models/get_assessment_orders_open_positive_response_data_results_inner_job_location' +require 'kombo_client/models/get_assessment_packages_positive_response' +require 'kombo_client/models/get_assessment_packages_positive_response_data' +require 'kombo_client/models/get_assessment_packages_positive_response_data_packages_inner' +require 'kombo_client/models/get_ats_actions_ats_add_application_attachment_positive_response' +require 'kombo_client/models/get_ats_actions_ats_add_application_attachment_positive_response_data' +require 'kombo_client/models/get_ats_actions_ats_add_application_attachment_positive_response_data_attachment_restrictions' +require 'kombo_client/models/get_ats_actions_ats_add_application_attachment_positive_response_data_attachment_restrictions_types' +require 'kombo_client/models/get_ats_actions_ats_add_application_attachment_positive_response_data_attachment_restrictions_types_coverletter' +require 'kombo_client/models/get_ats_actions_ats_add_application_attachment_positive_response_data_attachment_restrictions_types_cv' +require 'kombo_client/models/get_ats_actions_ats_add_application_attachment_positive_response_data_attachment_restrictions_types_cv_any_of' +require 'kombo_client/models/get_ats_actions_ats_add_application_attachment_positive_response_data_attachment_restrictions_types_other' +require 'kombo_client/models/get_ats_actions_ats_add_candidate_attachment_positive_response' +require 'kombo_client/models/get_ats_actions_ats_create_application_positive_response' +require 'kombo_client/models/get_ats_actions_ats_create_candidate_positive_response' +require 'kombo_client/models/get_ats_actions_ats_create_candidate_positive_response_data' +require 'kombo_client/models/get_ats_actions_ats_create_candidate_positive_response_data_attachment_restrictions' +require 'kombo_client/models/get_ats_actions_ats_create_candidate_positive_response_data_attachment_restrictions_types' +require 'kombo_client/models/get_ats_actions_ats_create_candidate_positive_response_data_attachment_restrictions_types_coverletter' +require 'kombo_client/models/get_ats_actions_ats_create_candidate_positive_response_data_attachment_restrictions_types_cv' +require 'kombo_client/models/get_ats_actions_ats_create_candidate_positive_response_data_attachment_restrictions_types_cv_any_of' +require 'kombo_client/models/get_ats_actions_ats_create_candidate_positive_response_data_attachment_restrictions_types_cv_any_of1' +require 'kombo_client/models/get_ats_actions_ats_create_candidate_positive_response_data_attachment_restrictions_types_other' +require 'kombo_client/models/get_ats_application_stages_parameter_include_deleted' +require 'kombo_client/models/get_ats_application_stages_positive_response' +require 'kombo_client/models/get_ats_application_stages_positive_response_data' +require 'kombo_client/models/get_ats_application_stages_positive_response_data_results_inner' +require 'kombo_client/models/get_ats_applications_application_id_attachments_positive_response' +require 'kombo_client/models/get_ats_applications_application_id_attachments_positive_response_data' +require 'kombo_client/models/get_ats_applications_application_id_attachments_positive_response_data_results_inner' +require 'kombo_client/models/get_ats_applications_parameter_include_deleted' +require 'kombo_client/models/get_ats_applications_parameter_outcome' +require 'kombo_client/models/get_ats_applications_positive_response' +require 'kombo_client/models/get_ats_applications_positive_response_data' +require 'kombo_client/models/get_ats_applications_positive_response_data_results_inner' +require 'kombo_client/models/get_ats_applications_positive_response_data_results_inner_candidate' +require 'kombo_client/models/get_ats_applications_positive_response_data_results_inner_candidate_email_addresses_inner' +require 'kombo_client/models/get_ats_applications_positive_response_data_results_inner_candidate_phone_numbers_inner' +require 'kombo_client/models/get_ats_applications_positive_response_data_results_inner_candidate_social_media_inner' +require 'kombo_client/models/get_ats_applications_positive_response_data_results_inner_candidate_tags_inner' +require 'kombo_client/models/get_ats_applications_positive_response_data_results_inner_current_stage' +require 'kombo_client/models/get_ats_applications_positive_response_data_results_inner_interviews_inner' +require 'kombo_client/models/get_ats_applications_positive_response_data_results_inner_interviews_inner_location' +require 'kombo_client/models/get_ats_applications_positive_response_data_results_inner_job' +require 'kombo_client/models/get_ats_applications_positive_response_data_results_inner_offers_inner' +require 'kombo_client/models/get_ats_applications_positive_response_data_results_inner_screening_question_answers_inner' +require 'kombo_client/models/get_ats_applications_positive_response_data_results_inner_screening_question_answers_inner_any_of' +require 'kombo_client/models/get_ats_applications_positive_response_data_results_inner_screening_question_answers_inner_any_of1' +require 'kombo_client/models/get_ats_applications_positive_response_data_results_inner_screening_question_answers_inner_any_of1_answer' +require 'kombo_client/models/get_ats_applications_positive_response_data_results_inner_screening_question_answers_inner_any_of1_question' +require 'kombo_client/models/get_ats_applications_positive_response_data_results_inner_screening_question_answers_inner_any_of2' +require 'kombo_client/models/get_ats_applications_positive_response_data_results_inner_screening_question_answers_inner_any_of2_answer' +require 'kombo_client/models/get_ats_applications_positive_response_data_results_inner_screening_question_answers_inner_any_of2_question' +require 'kombo_client/models/get_ats_applications_positive_response_data_results_inner_screening_question_answers_inner_any_of3' +require 'kombo_client/models/get_ats_applications_positive_response_data_results_inner_screening_question_answers_inner_any_of3_answer' +require 'kombo_client/models/get_ats_applications_positive_response_data_results_inner_screening_question_answers_inner_any_of3_question' +require 'kombo_client/models/get_ats_applications_positive_response_data_results_inner_screening_question_answers_inner_any_of4' +require 'kombo_client/models/get_ats_applications_positive_response_data_results_inner_screening_question_answers_inner_any_of4_answer' +require 'kombo_client/models/get_ats_applications_positive_response_data_results_inner_screening_question_answers_inner_any_of4_question' +require 'kombo_client/models/get_ats_applications_positive_response_data_results_inner_screening_question_answers_inner_any_of5' +require 'kombo_client/models/get_ats_applications_positive_response_data_results_inner_screening_question_answers_inner_any_of5_answer' +require 'kombo_client/models/get_ats_applications_positive_response_data_results_inner_screening_question_answers_inner_any_of5_question' +require 'kombo_client/models/get_ats_applications_positive_response_data_results_inner_screening_question_answers_inner_any_of6' +require 'kombo_client/models/get_ats_applications_positive_response_data_results_inner_screening_question_answers_inner_any_of6_answer' +require 'kombo_client/models/get_ats_applications_positive_response_data_results_inner_screening_question_answers_inner_any_of6_question' +require 'kombo_client/models/get_ats_applications_positive_response_data_results_inner_screening_question_answers_inner_any_of_answer' +require 'kombo_client/models/get_ats_applications_positive_response_data_results_inner_screening_question_answers_inner_any_of_question' +require 'kombo_client/models/get_ats_candidates_candidate_id_attachments_positive_response' +require 'kombo_client/models/get_ats_candidates_candidate_id_attachments_positive_response_data' +require 'kombo_client/models/get_ats_candidates_candidate_id_attachments_positive_response_data_results_inner' +require 'kombo_client/models/get_ats_candidates_parameter_include_deleted' +require 'kombo_client/models/get_ats_candidates_positive_response' +require 'kombo_client/models/get_ats_candidates_positive_response_data' +require 'kombo_client/models/get_ats_candidates_positive_response_data_results_inner' +require 'kombo_client/models/get_ats_candidates_positive_response_data_results_inner_applications_inner' +require 'kombo_client/models/get_ats_candidates_positive_response_data_results_inner_location' +require 'kombo_client/models/get_ats_interviews_parameter_include_deleted' +require 'kombo_client/models/get_ats_interviews_positive_response' +require 'kombo_client/models/get_ats_interviews_positive_response_data' +require 'kombo_client/models/get_ats_interviews_positive_response_data_results_inner' +require 'kombo_client/models/get_ats_interviews_positive_response_data_results_inner_application' +require 'kombo_client/models/get_ats_interviews_positive_response_data_results_inner_users_inner' +require 'kombo_client/models/get_ats_jobs_parameter_include_deleted' +require 'kombo_client/models/get_ats_jobs_parameter_status' +require 'kombo_client/models/get_ats_jobs_positive_response' +require 'kombo_client/models/get_ats_jobs_positive_response_data' +require 'kombo_client/models/get_ats_jobs_positive_response_data_results_inner' +require 'kombo_client/models/get_ats_jobs_positive_response_data_results_inner_employment_type' +require 'kombo_client/models/get_ats_jobs_positive_response_data_results_inner_hiring_team_inner' +require 'kombo_client/models/get_ats_jobs_positive_response_data_results_inner_job_postings_inner' +require 'kombo_client/models/get_ats_jobs_positive_response_data_results_inner_location' +require 'kombo_client/models/get_ats_jobs_positive_response_data_results_inner_remote_work_status' +require 'kombo_client/models/get_ats_jobs_positive_response_data_results_inner_salary_period' +require 'kombo_client/models/get_ats_jobs_positive_response_data_results_inner_screening_questions_inner' +require 'kombo_client/models/get_ats_jobs_positive_response_data_results_inner_screening_questions_inner_format' +require 'kombo_client/models/get_ats_jobs_positive_response_data_results_inner_screening_questions_inner_format_any_of' +require 'kombo_client/models/get_ats_jobs_positive_response_data_results_inner_screening_questions_inner_format_any_of1' +require 'kombo_client/models/get_ats_jobs_positive_response_data_results_inner_screening_questions_inner_format_any_of2' +require 'kombo_client/models/get_ats_jobs_positive_response_data_results_inner_screening_questions_inner_format_any_of3' +require 'kombo_client/models/get_ats_jobs_positive_response_data_results_inner_screening_questions_inner_format_any_of3_options_inner' +require 'kombo_client/models/get_ats_jobs_positive_response_data_results_inner_screening_questions_inner_format_any_of4' +require 'kombo_client/models/get_ats_jobs_positive_response_data_results_inner_screening_questions_inner_format_any_of5' +require 'kombo_client/models/get_ats_jobs_positive_response_data_results_inner_screening_questions_inner_format_any_of6' +require 'kombo_client/models/get_ats_jobs_positive_response_data_results_inner_screening_questions_inner_format_any_of7' +require 'kombo_client/models/get_ats_jobs_positive_response_data_results_inner_screening_questions_inner_format_any_of8' +require 'kombo_client/models/get_ats_jobs_positive_response_data_results_inner_screening_questions_inner_precondition_options' +require 'kombo_client/models/get_ats_jobs_positive_response_data_results_inner_stages_inner' +require 'kombo_client/models/get_ats_jobs_positive_response_data_results_inner_status' +require 'kombo_client/models/get_ats_jobs_positive_response_data_results_inner_visibility' +require 'kombo_client/models/get_ats_offers_parameter_include_deleted' +require 'kombo_client/models/get_ats_offers_positive_response' +require 'kombo_client/models/get_ats_offers_positive_response_data' +require 'kombo_client/models/get_ats_offers_positive_response_data_results_inner' +require 'kombo_client/models/get_ats_offers_positive_response_data_results_inner_application' +require 'kombo_client/models/get_ats_offers_positive_response_data_results_inner_application_candidate' +require 'kombo_client/models/get_ats_rejection_reasons_parameter_include_deleted' +require 'kombo_client/models/get_ats_rejection_reasons_positive_response' +require 'kombo_client/models/get_ats_rejection_reasons_positive_response_data' +require 'kombo_client/models/get_ats_rejection_reasons_positive_response_data_results_inner' +require 'kombo_client/models/get_ats_tags_parameter_include_deleted' +require 'kombo_client/models/get_ats_tags_positive_response' +require 'kombo_client/models/get_ats_tags_positive_response_data' +require 'kombo_client/models/get_ats_tags_positive_response_data_results_inner' +require 'kombo_client/models/get_ats_users_parameter_include_deleted' +require 'kombo_client/models/get_ats_users_positive_response' +require 'kombo_client/models/get_ats_users_positive_response_data' +require 'kombo_client/models/get_ats_users_positive_response_data_results_inner' +require 'kombo_client/models/get_check_api_key_positive_response' +require 'kombo_client/models/get_check_api_key_positive_response_data' +require 'kombo_client/models/get_connect_integration_by_token_token_positive_response' +require 'kombo_client/models/get_connect_integration_by_token_token_positive_response_data' +require 'kombo_client/models/get_custom_datev_available_documents_positive_response' +require 'kombo_client/models/get_custom_datev_available_documents_positive_response_data' +require 'kombo_client/models/get_custom_datev_available_documents_positive_response_data_results_inner' +require 'kombo_client/models/get_custom_datev_available_documents_positive_response_data_results_inner_available_for_employees_inner' +require 'kombo_client/models/get_custom_datev_check_document_permission_positive_response' +require 'kombo_client/models/get_custom_datev_check_document_permission_positive_response_data' +require 'kombo_client/models/get_custom_datev_check_document_permission_positive_response_data_any_of' +require 'kombo_client/models/get_custom_datev_check_document_permission_positive_response_data_any_of1' +require 'kombo_client/models/get_custom_datev_check_eau_permission_positive_response' +require 'kombo_client/models/get_custom_datev_check_eau_permission_positive_response_data' +require 'kombo_client/models/get_custom_datev_check_write_permission_positive_response' +require 'kombo_client/models/get_custom_datev_data_pushes_positive_response' +require 'kombo_client/models/get_custom_datev_data_pushes_positive_response_data' +require 'kombo_client/models/get_custom_datev_data_pushes_positive_response_data_data_pushes_inner' +require 'kombo_client/models/get_custom_datev_data_pushes_positive_response_data_data_pushes_inner_upload_jobs_inner' +require 'kombo_client/models/get_custom_datev_eau_requests_eau_id_positive_response' +require 'kombo_client/models/get_custom_datev_eau_requests_eau_id_positive_response_data' +require 'kombo_client/models/get_custom_datev_eau_requests_eau_id_positive_response_data_raw' +require 'kombo_client/models/get_custom_datev_eau_requests_eau_id_positive_response_data_raw_feedbacks_from_health_insurance_inner' +require 'kombo_client/models/get_custom_datev_eau_requests_eau_id_positive_response_data_raw_feedbacks_from_health_insurance_inner_contact_person' +require 'kombo_client/models/get_custom_datev_eau_requests_eau_id_positive_response_data_raw_feedbacks_from_health_insurance_inner_error_block_list_inner' +require 'kombo_client/models/get_custom_datev_eau_requests_eau_id_positive_response_data_raw_feedbacks_from_health_insurance_inner_incapacity_for_work' +require 'kombo_client/models/get_custom_datev_system_information_positive_response' +require 'kombo_client/models/get_custom_datev_system_information_positive_response_data' +require 'kombo_client/models/get_hris_absence_types_parameter_include_deleted' +require 'kombo_client/models/get_hris_absence_types_positive_response' +require 'kombo_client/models/get_hris_absence_types_positive_response_data' +require 'kombo_client/models/get_hris_absence_types_positive_response_data_results_inner' +require 'kombo_client/models/get_hris_absences_parameter_include_deleted' +require 'kombo_client/models/get_hris_absences_positive_response' +require 'kombo_client/models/get_hris_absences_positive_response_data' +require 'kombo_client/models/get_hris_absences_positive_response_data_results_inner' +require 'kombo_client/models/get_hris_absences_positive_response_data_results_inner_status' +require 'kombo_client/models/get_hris_employee_document_categories_parameter_include_deleted' +require 'kombo_client/models/get_hris_employee_document_categories_positive_response' +require 'kombo_client/models/get_hris_employee_document_categories_positive_response_data' +require 'kombo_client/models/get_hris_employee_document_categories_positive_response_data_results_inner' +require 'kombo_client/models/get_hris_employee_skill_assignments_positive_response' +require 'kombo_client/models/get_hris_employee_skill_assignments_positive_response_data' +require 'kombo_client/models/get_hris_employee_skill_assignments_positive_response_data_results_inner' +require 'kombo_client/models/get_hris_employees_form_positive_response' +require 'kombo_client/models/get_hris_employees_form_positive_response_data' +require 'kombo_client/models/get_hris_employees_parameter_employment_status' +require 'kombo_client/models/get_hris_employees_parameter_include_deleted' +require 'kombo_client/models/get_hris_employees_positive_response' +require 'kombo_client/models/get_hris_employees_positive_response_data' +require 'kombo_client/models/get_hris_employees_positive_response_data_results_inner' +require 'kombo_client/models/get_hris_employees_positive_response_data_results_inner_bank_accounts_inner' +require 'kombo_client/models/get_hris_employees_positive_response_data_results_inner_bank_accounts_inner_domestic_bank_routing' +require 'kombo_client/models/get_hris_employees_positive_response_data_results_inner_employment_status' +require 'kombo_client/models/get_hris_employees_positive_response_data_results_inner_employment_type' +require 'kombo_client/models/get_hris_employees_positive_response_data_results_inner_employments_inner' +require 'kombo_client/models/get_hris_employees_positive_response_data_results_inner_employments_inner_pay_frequency' +require 'kombo_client/models/get_hris_employees_positive_response_data_results_inner_employments_inner_pay_period' +require 'kombo_client/models/get_hris_employees_positive_response_data_results_inner_ethnicity' +require 'kombo_client/models/get_hris_employees_positive_response_data_results_inner_gender' +require 'kombo_client/models/get_hris_employees_positive_response_data_results_inner_groups_inner' +require 'kombo_client/models/get_hris_employees_positive_response_data_results_inner_home_address' +require 'kombo_client/models/get_hris_employees_positive_response_data_results_inner_integration_fields_inner' +require 'kombo_client/models/get_hris_employees_positive_response_data_results_inner_legal_entity' +require 'kombo_client/models/get_hris_employees_positive_response_data_results_inner_legal_entity_address' +require 'kombo_client/models/get_hris_employees_positive_response_data_results_inner_manager' +require 'kombo_client/models/get_hris_employees_positive_response_data_results_inner_marital_status' +require 'kombo_client/models/get_hris_employees_positive_response_data_results_inner_time_off_balances_inner' +require 'kombo_client/models/get_hris_employees_positive_response_data_results_inner_work_location' +require 'kombo_client/models/get_hris_employees_positive_response_data_results_inner_work_location_address' +require 'kombo_client/models/get_hris_employments_parameter_include_deleted' +require 'kombo_client/models/get_hris_employments_positive_response' +require 'kombo_client/models/get_hris_employments_positive_response_data' +require 'kombo_client/models/get_hris_groups_parameter_include_deleted' +require 'kombo_client/models/get_hris_groups_positive_response' +require 'kombo_client/models/get_hris_job_positions_positive_response' +require 'kombo_client/models/get_hris_job_positions_positive_response_data' +require 'kombo_client/models/get_hris_job_positions_positive_response_data_results_inner' +require 'kombo_client/models/get_hris_job_positions_positive_response_data_results_inner_skills_inner' +require 'kombo_client/models/get_hris_legal_entities_parameter_include_deleted' +require 'kombo_client/models/get_hris_legal_entities_positive_response' +require 'kombo_client/models/get_hris_legal_entities_positive_response_data' +require 'kombo_client/models/get_hris_legal_entities_positive_response_data_results_inner' +require 'kombo_client/models/get_hris_locations_parameter_include_deleted' +require 'kombo_client/models/get_hris_locations_positive_response' +require 'kombo_client/models/get_hris_locations_positive_response_data' +require 'kombo_client/models/get_hris_performance_review_cycles_parameter_include_deleted' +require 'kombo_client/models/get_hris_performance_review_cycles_positive_response' +require 'kombo_client/models/get_hris_performance_review_cycles_positive_response_data' +require 'kombo_client/models/get_hris_performance_review_cycles_positive_response_data_results_inner' +require 'kombo_client/models/get_hris_performance_reviews_parameter_include_deleted' +require 'kombo_client/models/get_hris_performance_reviews_positive_response' +require 'kombo_client/models/get_hris_performance_reviews_positive_response_data' +require 'kombo_client/models/get_hris_performance_reviews_positive_response_data_results_inner' +require 'kombo_client/models/get_hris_performance_reviews_positive_response_data_results_inner_reviewee' +require 'kombo_client/models/get_hris_performance_reviews_positive_response_data_results_inner_reviewer' +require 'kombo_client/models/get_hris_performance_reviews_positive_response_data_results_inner_summary_rating' +require 'kombo_client/models/get_hris_performance_reviews_positive_response_data_results_inner_summary_rating_any_of' +require 'kombo_client/models/get_hris_performance_reviews_positive_response_data_results_inner_summary_rating_any_of1' +require 'kombo_client/models/get_hris_skills_positive_response' +require 'kombo_client/models/get_hris_skills_positive_response_data' +require 'kombo_client/models/get_hris_skills_positive_response_data_results_inner' +require 'kombo_client/models/get_hris_teams_parameter_include_deleted' +require 'kombo_client/models/get_hris_teams_positive_response' +require 'kombo_client/models/get_hris_teams_positive_response_data' +require 'kombo_client/models/get_hris_teams_positive_response_data_results_inner' +require 'kombo_client/models/get_hris_time_off_balances_parameter_include_deleted' +require 'kombo_client/models/get_hris_time_off_balances_positive_response' +require 'kombo_client/models/get_hris_time_off_balances_positive_response_data' +require 'kombo_client/models/get_hris_time_off_balances_positive_response_data_results_inner' +require 'kombo_client/models/get_hris_timesheets_parameter_include_deleted' +require 'kombo_client/models/get_hris_timesheets_positive_response' +require 'kombo_client/models/get_hris_timesheets_positive_response_data' +require 'kombo_client/models/get_hris_timesheets_positive_response_data_results_inner' +require 'kombo_client/models/get_hris_timesheets_positive_response_data_results_inner_breaks_inner' +require 'kombo_client/models/get_hris_timesheets_positive_response_data_results_inner_breaks_inner_ended_at' +require 'kombo_client/models/get_hris_timesheets_positive_response_data_results_inner_breaks_inner_started_at' +require 'kombo_client/models/get_integrations_integration_id_custom_fields_positive_response' +require 'kombo_client/models/get_integrations_integration_id_custom_fields_positive_response_data' +require 'kombo_client/models/get_integrations_integration_id_custom_fields_positive_response_data_results_inner' +require 'kombo_client/models/get_integrations_integration_id_custom_fields_positive_response_data_results_inner_integration_field' +require 'kombo_client/models/get_integrations_integration_id_integration_fields_positive_response' +require 'kombo_client/models/get_integrations_integration_id_integration_fields_positive_response_data' +require 'kombo_client/models/get_integrations_integration_id_integration_fields_positive_response_data_results_inner' +require 'kombo_client/models/get_integrations_integration_id_positive_response' +require 'kombo_client/models/get_integrations_integration_id_positive_response_data' +require 'kombo_client/models/get_integrations_integration_id_positive_response_data_end_user' +require 'kombo_client/models/get_integrations_integration_id_positive_response_data_read_models_inner' +require 'kombo_client/models/get_integrations_integration_id_positive_response_data_read_models_inner_fields_inner' +require 'kombo_client/models/get_integrations_integration_id_positive_response_data_scope_config' +require 'kombo_client/models/get_integrations_integration_id_positive_response_data_tool' +require 'kombo_client/models/get_lms_courses_positive_response' +require 'kombo_client/models/get_lms_courses_positive_response_data' +require 'kombo_client/models/get_lms_courses_positive_response_data_results_inner' +require 'kombo_client/models/get_lms_courses_positive_response_data_results_inner_ordered_content_inner' +require 'kombo_client/models/get_lms_courses_positive_response_data_results_inner_skills_inner' +require 'kombo_client/models/get_lms_users_parameter_status' +require 'kombo_client/models/get_lms_users_positive_response' +require 'kombo_client/models/get_lms_users_positive_response_data' +require 'kombo_client/models/get_lms_users_positive_response_data_results_inner' +require 'kombo_client/models/get_lms_users_positive_response_data_results_inner_progress_inner' +require 'kombo_client/models/get_tools_category_parameter_category' +require 'kombo_client/models/get_tools_category_positive_response' +require 'kombo_client/models/get_tools_category_positive_response_data' +require 'kombo_client/models/get_tools_category_positive_response_data_tools_inner' +require 'kombo_client/models/get_tools_category_positive_response_data_tools_inner_assets' +require 'kombo_client/models/get_tools_category_positive_response_data_tools_inner_coverage' +require 'kombo_client/models/get_tools_category_positive_response_data_tools_inner_coverage_features_inner' +require 'kombo_client/models/get_tools_category_positive_response_data_tools_inner_coverage_read_models_inner' +require 'kombo_client/models/get_tools_category_positive_response_data_tools_inner_coverage_read_models_inner_fields_inner' +require 'kombo_client/models/get_tools_category_positive_response_data_tools_inner_coverage_write_actions_inner' +require 'kombo_client/models/inline_assessment_order_received_webhook_payload' +require 'kombo_client/models/inline_object' +require 'kombo_client/models/inline_object1' +require 'kombo_client/models/inline_object1_error' +require 'kombo_client/models/inline_object2' +require 'kombo_client/models/inline_object2_error' +require 'kombo_client/models/inline_object3' +require 'kombo_client/models/inline_object3_error' +require 'kombo_client/models/inline_object_error' +require 'kombo_client/models/integration_created_webhook_payload' +require 'kombo_client/models/integration_created_webhook_payload_data' +require 'kombo_client/models/integration_deleted_webhook_payload' +require 'kombo_client/models/integration_deleted_webhook_payload_data' +require 'kombo_client/models/integration_state_changed_webhook_payload' +require 'kombo_client/models/integration_state_changed_webhook_payload_data' +require 'kombo_client/models/patch_ats_applications_application_id_interviews_positive_response' +require 'kombo_client/models/patch_ats_applications_application_id_interviews_request_body' +require 'kombo_client/models/patch_ats_applications_application_id_interviews_request_body_location' +require 'kombo_client/models/patch_hris_employee_skill_assignments_employee_skill_assignment_id_positive_response' +require 'kombo_client/models/patch_hris_employee_skill_assignments_employee_skill_assignment_id_request_body' +require 'kombo_client/models/patch_hris_employees_employee_id_positive_response' +require 'kombo_client/models/patch_hris_employees_employee_id_positive_response_data' +require 'kombo_client/models/patch_hris_employees_employee_id_request_body' +require 'kombo_client/models/patch_hris_skills_skill_id_positive_response' +require 'kombo_client/models/patch_hris_skills_skill_id_request_body' +require 'kombo_client/models/patch_integrations_integration_id_integration_fields_integration_field_id_positive_response' +require 'kombo_client/models/patch_integrations_integration_id_integration_fields_integration_field_id_request_body' +require 'kombo_client/models/patch_lms_progress_progress_id_positive_response' +require 'kombo_client/models/patch_lms_progress_progress_id_request_body' +require 'kombo_client/models/post_ai_apply_apply_positive_response' +require 'kombo_client/models/post_ai_apply_apply_positive_response_data' +require 'kombo_client/models/post_ai_apply_apply_request_body' +require 'kombo_client/models/post_ai_apply_apply_request_body_screening_question_answers_inner' +require 'kombo_client/models/post_ai_apply_career_sites_positive_response' +require 'kombo_client/models/post_ai_apply_career_sites_positive_response_data' +require 'kombo_client/models/post_ai_apply_career_sites_request_body' +require 'kombo_client/models/post_ai_apply_postings_positive_response' +require 'kombo_client/models/post_ai_apply_postings_posting_id_inquire_positive_response' +require 'kombo_client/models/post_ai_apply_postings_posting_id_inquire_positive_response_data' +require 'kombo_client/models/post_ai_apply_postings_posting_id_inquire_positive_response_data_application_form_inner' +require 'kombo_client/models/post_ai_apply_postings_posting_id_inquire_positive_response_data_application_form_inner_any_of' +require 'kombo_client/models/post_ai_apply_postings_posting_id_inquire_positive_response_data_application_form_inner_any_of1' +require 'kombo_client/models/post_ai_apply_postings_posting_id_inquire_positive_response_data_application_form_inner_any_of_display_when' +require 'kombo_client/models/post_ai_apply_postings_posting_id_inquire_positive_response_data_application_form_inner_any_of_display_when_answer_equals' +require 'kombo_client/models/post_ai_apply_postings_posting_id_inquire_positive_response_data_application_form_inner_any_of_display_when_answer_equals_one_of' +require 'kombo_client/models/post_ai_apply_postings_posting_id_inquire_positive_response_data_application_form_inner_any_of_options_inner' +require 'kombo_client/models/post_ai_apply_postings_posting_id_parse_positive_response' +require 'kombo_client/models/post_ai_apply_postings_request_body' +require 'kombo_client/models/post_ai_apply_postings_request_body_location' +require 'kombo_client/models/post_ai_apply_unified_api_jobs_job_id_applications_positive_response' +require 'kombo_client/models/post_ai_apply_unified_api_jobs_job_id_applications_request_body' +require 'kombo_client/models/post_ats_applications_application_id_attachments_positive_response' +require 'kombo_client/models/post_ats_applications_application_id_attachments_request_body' +require 'kombo_client/models/post_ats_applications_application_id_attachments_request_body_attachment' +require 'kombo_client/models/post_ats_applications_application_id_attachments_request_body_remote_fields' +require 'kombo_client/models/post_ats_applications_application_id_attachments_request_body_remote_fields_all_of_oracle' +require 'kombo_client/models/post_ats_applications_application_id_interviews_positive_response' +require 'kombo_client/models/post_ats_applications_application_id_interviews_request_body' +require 'kombo_client/models/post_ats_applications_application_id_interviews_request_body_location' +require 'kombo_client/models/post_ats_applications_application_id_notes_positive_response' +require 'kombo_client/models/post_ats_applications_application_id_notes_request_body' +require 'kombo_client/models/post_ats_applications_application_id_notes_request_body_remote_fields' +require 'kombo_client/models/post_ats_applications_application_id_notes_request_body_remote_fields_all_of_bullhorn' +require 'kombo_client/models/post_ats_applications_application_id_notes_request_body_remote_fields_all_of_greenhouse' +require 'kombo_client/models/post_ats_applications_application_id_notes_request_body_remote_fields_all_of_recruitee' +require 'kombo_client/models/post_ats_applications_application_id_notes_request_body_remote_fields_all_of_teamtailor' +require 'kombo_client/models/post_ats_applications_application_id_reject_positive_response' +require 'kombo_client/models/post_ats_applications_application_id_reject_request_body' +require 'kombo_client/models/post_ats_applications_application_id_reject_request_body_remote_fields' +require 'kombo_client/models/post_ats_applications_application_id_reject_request_body_remote_fields_all_of_greenhouse' +require 'kombo_client/models/post_ats_applications_application_id_result_links_positive_response' +require 'kombo_client/models/post_ats_applications_application_id_result_links_request_body' +require 'kombo_client/models/post_ats_applications_application_id_result_links_request_body_details' +require 'kombo_client/models/post_ats_applications_application_id_result_links_request_body_details_attributes_inner' +require 'kombo_client/models/post_ats_applications_application_id_result_links_request_body_remote_fields' +require 'kombo_client/models/post_ats_applications_application_id_result_links_request_body_remote_fields_all_of_icims' +require 'kombo_client/models/post_ats_applications_application_id_result_links_request_body_remote_fields_all_of_oracle' +require 'kombo_client/models/post_ats_candidates_candidate_id_attachments_positive_response' +require 'kombo_client/models/post_ats_candidates_candidate_id_attachments_request_body' +require 'kombo_client/models/post_ats_candidates_candidate_id_result_links_positive_response' +require 'kombo_client/models/post_ats_candidates_candidate_id_result_links_request_body' +require 'kombo_client/models/post_ats_candidates_candidate_id_tags_positive_response' +require 'kombo_client/models/post_ats_candidates_candidate_id_tags_request_body' +require 'kombo_client/models/post_ats_candidates_candidate_id_tags_request_body_tag' +require 'kombo_client/models/post_ats_candidates_positive_response' +require 'kombo_client/models/post_ats_candidates_request_body' +require 'kombo_client/models/post_ats_candidates_request_body_application' +require 'kombo_client/models/post_ats_candidates_request_body_candidate' +require 'kombo_client/models/post_ats_candidates_request_body_candidate_additional_email_addresses_inner' +require 'kombo_client/models/post_ats_candidates_request_body_candidate_additional_phone_numbers_inner' +require 'kombo_client/models/post_ats_candidates_request_body_candidate_location' +require 'kombo_client/models/post_ats_candidates_request_body_candidate_salary_expectations' +require 'kombo_client/models/post_ats_candidates_request_body_candidate_social_links_inner' +require 'kombo_client/models/post_ats_candidates_request_body_gdpr_consent' +require 'kombo_client/models/post_ats_candidates_request_body_remote_fields' +require 'kombo_client/models/post_ats_candidates_request_body_remote_fields_all_of_avature' +require 'kombo_client/models/post_ats_candidates_request_body_remote_fields_all_of_avature_workflow' +require 'kombo_client/models/post_ats_candidates_request_body_remote_fields_all_of_avature_workflow_step' +require 'kombo_client/models/post_ats_candidates_request_body_remote_fields_all_of_bullhorn' +require 'kombo_client/models/post_ats_candidates_request_body_remote_fields_all_of_dvinci' +require 'kombo_client/models/post_ats_candidates_request_body_remote_fields_all_of_greenhouse' +require 'kombo_client/models/post_ats_candidates_request_body_remote_fields_all_of_guidecom' +require 'kombo_client/models/post_ats_candidates_request_body_remote_fields_all_of_hrworks' +require 'kombo_client/models/post_ats_candidates_request_body_remote_fields_all_of_jobylon' +require 'kombo_client/models/post_ats_candidates_request_body_remote_fields_all_of_jobylon_application' +require 'kombo_client/models/post_ats_candidates_request_body_remote_fields_all_of_lever' +require 'kombo_client/models/post_ats_candidates_request_body_remote_fields_all_of_personio' +require 'kombo_client/models/post_ats_candidates_request_body_remote_fields_all_of_piloga' +require 'kombo_client/models/post_ats_candidates_request_body_remote_fields_all_of_piloga_candidate' +require 'kombo_client/models/post_ats_candidates_request_body_remote_fields_all_of_recruitee' +require 'kombo_client/models/post_ats_candidates_request_body_remote_fields_all_of_recruitee_candidate' +require 'kombo_client/models/post_ats_candidates_request_body_remote_fields_all_of_smartrecruiters' +require 'kombo_client/models/post_ats_candidates_request_body_remote_fields_all_of_successfactors' +require 'kombo_client/models/post_ats_candidates_request_body_remote_fields_all_of_talentadore' +require 'kombo_client/models/post_ats_candidates_request_body_remote_fields_all_of_talentsoft' +require 'kombo_client/models/post_ats_candidates_request_body_remote_fields_all_of_teamtailor' +require 'kombo_client/models/post_ats_candidates_request_body_remote_fields_all_of_teamtailor_application' +require 'kombo_client/models/post_ats_candidates_request_body_remote_fields_all_of_umantis' +require 'kombo_client/models/post_ats_candidates_request_body_remote_fields_all_of_workable' +require 'kombo_client/models/post_ats_candidates_request_body_remote_fields_all_of_workday' +require 'kombo_client/models/post_ats_candidates_request_body_remote_fields_all_of_workday_candidate_data' +require 'kombo_client/models/post_ats_candidates_request_body_remote_fields_all_of_workday_candidate_data_contact_data' +require 'kombo_client/models/post_ats_candidates_request_body_remote_fields_all_of_workday_candidate_data_contact_data_location_data' +require 'kombo_client/models/post_ats_candidates_request_body_remote_fields_all_of_workday_candidate_data_contact_data_location_data_country_region_reference' +require 'kombo_client/models/post_ats_candidates_request_body_remote_fields_all_of_workday_candidate_data_job_application_data' +require 'kombo_client/models/post_ats_candidates_request_body_remote_fields_all_of_workday_candidate_data_job_application_data_job_applied_to_data' +require 'kombo_client/models/post_ats_candidates_request_body_remote_fields_all_of_workday_candidate_data_job_application_data_job_applied_to_data_global_personal_information_data' +require 'kombo_client/models/post_ats_candidates_request_body_remote_fields_all_of_workday_candidate_data_job_application_data_resume_data' +require 'kombo_client/models/post_ats_candidates_request_body_remote_fields_all_of_workday_candidate_data_job_application_data_resume_data_education_data_inner' +require 'kombo_client/models/post_ats_candidates_request_body_remote_fields_all_of_workday_candidate_data_job_application_data_resume_data_education_data_inner_field_of_study_reference' +require 'kombo_client/models/post_ats_candidates_request_body_remote_fields_all_of_workday_candidate_data_job_application_data_resume_data_experience_data_inner' +require 'kombo_client/models/post_ats_candidates_request_body_remote_fields_all_of_workday_candidate_data_job_application_data_resume_data_language_data_inner' +require 'kombo_client/models/post_ats_candidates_request_body_remote_fields_all_of_workday_candidate_data_job_application_data_resume_data_language_data_inner_language' +require 'kombo_client/models/post_ats_candidates_request_body_remote_fields_all_of_workday_candidate_data_job_application_data_resume_data_language_data_inner_language_language_ability_inner' +require 'kombo_client/models/post_ats_candidates_request_body_remote_fields_all_of_workday_candidate_data_job_application_data_resume_data_language_data_inner_language_language_ability_inner_language_ability_data' +require 'kombo_client/models/post_ats_candidates_request_body_remote_fields_all_of_workday_candidate_data_job_application_data_resume_data_language_data_inner_language_reference' +require 'kombo_client/models/post_ats_candidates_request_body_remote_fields_all_of_workday_candidate_data_job_application_data_resume_data_skill_data_inner' +require 'kombo_client/models/post_ats_candidates_request_body_remote_fields_all_of_workday_candidate_data_language_reference' +require 'kombo_client/models/post_ats_candidates_request_body_remote_fields_all_of_workday_candidate_data_name_detail_data' +require 'kombo_client/models/post_ats_candidates_request_body_remote_fields_all_of_workday_candidate_data_name_detail_data_social_suffix_reference' +require 'kombo_client/models/post_ats_candidates_request_body_remote_fields_all_of_workday_candidate_data_worker_reference' +require 'kombo_client/models/post_ats_candidates_request_body_remote_fields_all_of_zohorecruit' +require 'kombo_client/models/post_ats_candidates_request_body_screening_question_answers_inner' +require 'kombo_client/models/post_ats_candidates_request_body_screening_question_answers_inner_answer' +require 'kombo_client/models/post_ats_candidates_request_body_screening_question_answers_inner_answer_any_of' +require 'kombo_client/models/post_ats_candidates_request_body_source' +require 'kombo_client/models/post_ats_candidates_request_body_sourced_by' +require 'kombo_client/models/post_ats_import_tracked_application_positive_response' +require 'kombo_client/models/post_ats_import_tracked_application_positive_response_data' +require 'kombo_client/models/post_ats_import_tracked_application_positive_response_data_imported_id' +require 'kombo_client/models/post_ats_import_tracked_application_positive_response_data_imported_id_erecruiter' +require 'kombo_client/models/post_ats_import_tracked_application_positive_response_data_imported_id_erecruiter_any_of' +require 'kombo_client/models/post_ats_import_tracked_application_positive_response_data_imported_id_erecruiter_any_of1' +require 'kombo_client/models/post_ats_import_tracked_application_positive_response_data_imported_id_greenhouse' +require 'kombo_client/models/post_ats_import_tracked_application_positive_response_data_imported_id_onlyfy' +require 'kombo_client/models/post_ats_import_tracked_application_positive_response_data_imported_id_recruitee' +require 'kombo_client/models/post_ats_import_tracked_application_positive_response_data_imported_id_smartrecruiters' +require 'kombo_client/models/post_ats_import_tracked_application_positive_response_data_imported_id_successfactors' +require 'kombo_client/models/post_ats_import_tracked_application_request_body' +require 'kombo_client/models/post_ats_jobs_job_id_applications_positive_response' +require 'kombo_client/models/post_ats_jobs_job_id_applications_positive_response_data' +require 'kombo_client/models/post_ats_jobs_job_id_applications_positive_response_data_candidate' +require 'kombo_client/models/post_ats_jobs_job_id_applications_request_body' +require 'kombo_client/models/post_connect_activate_integration_positive_response' +require 'kombo_client/models/post_connect_activate_integration_request_body' +require 'kombo_client/models/post_connect_create_link_positive_response' +require 'kombo_client/models/post_connect_create_link_request_body' +require 'kombo_client/models/post_custom_datev_download_document_positive_response' +require 'kombo_client/models/post_custom_datev_download_document_positive_response_data' +require 'kombo_client/models/post_custom_datev_download_document_request_body' +require 'kombo_client/models/post_custom_datev_employees_employee_id_download_document_positive_response' +require 'kombo_client/models/post_custom_datev_employees_employee_id_download_document_request_body' +require 'kombo_client/models/post_custom_datev_employees_employee_id_eau_requests_positive_response' +require 'kombo_client/models/post_custom_datev_employees_employee_id_eau_requests_positive_response_data' +require 'kombo_client/models/post_custom_datev_employees_employee_id_eau_requests_request_body' +require 'kombo_client/models/post_custom_datev_employees_employee_id_eau_requests_request_body_contact_person' +require 'kombo_client/models/post_custom_datev_employees_employee_id_eau_requests_request_body_notification' +require 'kombo_client/models/post_custom_datev_passthrough_positive_response' +require 'kombo_client/models/post_custom_datev_passthrough_request_body' +require 'kombo_client/models/post_custom_datev_push_data_general_positive_response' +require 'kombo_client/models/post_custom_datev_push_data_general_positive_response_data' +require 'kombo_client/models/post_custom_datev_push_data_general_positive_response_data_files_inner' +require 'kombo_client/models/post_custom_datev_push_data_payroll_positive_response' +require 'kombo_client/models/post_custom_datev_push_data_payroll_request_body' +require 'kombo_client/models/post_custom_silae_employees_employee_id_payroll_supplements_positive_response' +require 'kombo_client/models/post_custom_silae_employees_employee_id_payroll_supplements_request_body' +require 'kombo_client/models/post_force_sync_positive_response' +require 'kombo_client/models/post_force_sync_positive_response_data' +require 'kombo_client/models/post_force_sync_request_body' +require 'kombo_client/models/post_hris_absences_positive_response' +require 'kombo_client/models/post_hris_absences_positive_response_data' +require 'kombo_client/models/post_hris_absences_request_body' +require 'kombo_client/models/post_hris_absences_request_body_remote_fields' +require 'kombo_client/models/post_hris_absences_request_body_remote_fields_adpworkforcenow' +require 'kombo_client/models/post_hris_employee_skill_assignments_positive_response' +require 'kombo_client/models/post_hris_employee_skill_assignments_request_body' +require 'kombo_client/models/post_hris_employees_employee_id_documents_positive_response' +require 'kombo_client/models/post_hris_employees_employee_id_documents_request_body' +require 'kombo_client/models/post_hris_employees_form_positive_response' +require 'kombo_client/models/post_hris_employees_form_positive_response_data' +require 'kombo_client/models/post_hris_employees_form_request_body' +require 'kombo_client/models/post_hris_employees_positive_response' +require 'kombo_client/models/post_hris_employees_positive_response_data' +require 'kombo_client/models/post_hris_employees_request_body' +require 'kombo_client/models/post_hris_employees_request_body_home_address' +require 'kombo_client/models/post_hris_employees_request_body_remote_fields' +require 'kombo_client/models/post_hris_employees_request_body_remote_fields_adpworkforcenow' +require 'kombo_client/models/post_hris_employees_request_body_remote_fields_azuread' +require 'kombo_client/models/post_hris_employees_request_body_remote_fields_bamboohr' +require 'kombo_client/models/post_hris_employees_request_body_remote_fields_dayforce' +require 'kombo_client/models/post_hris_employees_request_body_remote_fields_deel' +require 'kombo_client/models/post_hris_employees_request_body_remote_fields_hibob' +require 'kombo_client/models/post_hris_employees_request_body_remote_fields_humaans' +require 'kombo_client/models/post_hris_employees_request_body_remote_fields_oracle' +require 'kombo_client/models/post_hris_employees_request_body_remote_fields_paycor' +require 'kombo_client/models/post_hris_employees_request_body_remote_fields_peoplehr' +require 'kombo_client/models/post_hris_employees_request_body_remote_fields_planday' +require 'kombo_client/models/post_hris_employees_request_body_remote_fields_silae' +require 'kombo_client/models/post_hris_employees_request_body_remote_fields_sympa' +require 'kombo_client/models/post_hris_employees_request_body_remote_fields_workday' +require 'kombo_client/models/post_hris_employees_request_body_remote_fields_workday_bank_account' +require 'kombo_client/models/post_hris_employees_request_body_remote_fields_zohopeople' +require 'kombo_client/models/post_hris_provisioning_groups_group_id_diff_positive_response' +require 'kombo_client/models/post_hris_provisioning_groups_group_id_diff_positive_response_data' +require 'kombo_client/models/post_hris_provisioning_groups_group_id_diff_positive_response_data_users' +require 'kombo_client/models/post_hris_provisioning_groups_group_id_diff_positive_response_data_users_already_provisioned_inner' +require 'kombo_client/models/post_hris_provisioning_groups_group_id_diff_positive_response_data_users_to_deprovision_inner' +require 'kombo_client/models/post_hris_provisioning_groups_group_id_diff_positive_response_data_users_to_provision_inner' +require 'kombo_client/models/post_hris_provisioning_groups_group_id_diff_positive_response_data_users_to_provision_inner_employee' +require 'kombo_client/models/post_hris_provisioning_groups_group_id_diff_positive_response_data_users_to_provision_inner_employee_groups_inner' +require 'kombo_client/models/post_hris_provisioning_groups_group_id_diff_request_body' +require 'kombo_client/models/post_hris_provisioning_groups_group_id_diff_request_body_options' +require 'kombo_client/models/post_hris_provisioning_groups_group_id_diff_request_body_provisioned_users_inner' +require 'kombo_client/models/post_hris_provisioning_groups_group_id_setup_links_positive_response' +require 'kombo_client/models/post_hris_provisioning_groups_group_id_setup_links_positive_response_data' +require 'kombo_client/models/post_hris_provisioning_groups_group_id_setup_links_request_body' +require 'kombo_client/models/post_hris_skills_positive_response' +require 'kombo_client/models/post_hris_skills_request_body' +require 'kombo_client/models/post_integrations_integration_id_relink_positive_response' +require 'kombo_client/models/post_integrations_integration_id_relink_positive_response_data' +require 'kombo_client/models/post_integrations_integration_id_relink_request_body' +require 'kombo_client/models/post_lms_content_positive_response' +require 'kombo_client/models/post_lms_content_positive_response_data' +require 'kombo_client/models/post_lms_content_request_body' +require 'kombo_client/models/post_lms_courses_positive_response' +require 'kombo_client/models/post_lms_courses_request_body' +require 'kombo_client/models/post_lms_courses_request_body_skills_inner' +require 'kombo_client/models/post_lms_progress_positive_response' +require 'kombo_client/models/post_lms_progress_positive_response_data' +require 'kombo_client/models/post_lms_progress_request_body' +require 'kombo_client/models/post_passthrough_tool_api_positive_response' +require 'kombo_client/models/post_passthrough_tool_api_positive_response_data' +require 'kombo_client/models/post_passthrough_tool_api_positive_response_data_headers_value' +require 'kombo_client/models/post_passthrough_tool_api_positive_response_warnings_inner' +require 'kombo_client/models/post_passthrough_tool_api_request_body' +require 'kombo_client/models/post_passthrough_tool_api_request_body_multipart_form_data_inner' +require 'kombo_client/models/post_passthrough_tool_api_request_body_multipart_form_data_inner_value' +require 'kombo_client/models/post_passthrough_tool_api_request_body_multipart_form_data_inner_value_one_of' +require 'kombo_client/models/put_assessment_orders_assessment_order_id_result_positive_response' +require 'kombo_client/models/put_assessment_orders_assessment_order_id_result_request_body' +require 'kombo_client/models/put_assessment_orders_assessment_order_id_result_request_body_attributes_inner' +require 'kombo_client/models/put_assessment_orders_assessment_order_id_result_request_body_attributes_inner_any_of' +require 'kombo_client/models/put_assessment_orders_assessment_order_id_result_request_body_attributes_inner_any_of1' +require 'kombo_client/models/put_assessment_orders_assessment_order_id_result_request_body_attributes_inner_any_of1_score' +require 'kombo_client/models/put_assessment_orders_assessment_order_id_result_request_body_remote_fields' +require 'kombo_client/models/put_assessment_orders_assessment_order_id_result_request_body_remote_fields_smartrecruiters' +require 'kombo_client/models/put_assessment_packages_positive_response' +require 'kombo_client/models/put_assessment_packages_request_body' +require 'kombo_client/models/put_assessment_packages_request_body_packages_inner' +require 'kombo_client/models/put_ats_applications_application_id_stage_positive_response' +require 'kombo_client/models/put_ats_applications_application_id_stage_request_body' +require 'kombo_client/models/put_ats_applications_application_id_stage_request_body_remote_fields' +require 'kombo_client/models/put_ats_applications_application_id_stage_request_body_remote_fields_greenhouse' +require 'kombo_client/models/put_ats_applications_application_id_stage_request_body_remote_fields_greenhouse_post_headers' +require 'kombo_client/models/put_ats_applications_application_id_stage_request_body_remote_fields_workable' +require 'kombo_client/models/put_custom_datev_employees_employee_id_compensations_positive_response' +require 'kombo_client/models/put_custom_datev_employees_employee_id_compensations_request_body' +require 'kombo_client/models/put_custom_datev_employees_employee_id_compensations_request_body_compensations_inner' +require 'kombo_client/models/put_custom_datev_employees_employee_id_prepare_payroll_positive_response' +require 'kombo_client/models/put_custom_datev_employees_employee_id_prepare_payroll_request_body' +require 'kombo_client/models/put_custom_datev_employees_employee_id_prepare_payroll_request_body_custom_lodas_inner' +require 'kombo_client/models/put_custom_datev_employees_employee_id_prepare_payroll_request_body_fixed_payments_inner' +require 'kombo_client/models/put_custom_datev_employees_employee_id_prepare_payroll_request_body_hourly_payments_inner' +require 'kombo_client/models/put_custom_datev_employees_employee_id_prepare_payroll_request_body_payroll_run' +require 'kombo_client/models/put_integrations_integration_id_custom_fields_custom_field_id_positive_response' +require 'kombo_client/models/put_integrations_integration_id_custom_fields_custom_field_id_request_body' +require 'kombo_client/models/remote_event_received_webhook_payload' +require 'kombo_client/models/remote_event_received_webhook_payload_data' +require 'kombo_client/models/schema1_value' +require 'kombo_client/models/schema2' +require 'kombo_client/models/schema2_any_of' +require 'kombo_client/models/schema2_any_of1' +require 'kombo_client/models/schema2_any_of2' +require 'kombo_client/models/schema2_any_of3' +require 'kombo_client/models/schema2_any_of3_options' +require 'kombo_client/models/schema2_any_of3_options_any_of' +require 'kombo_client/models/schema2_any_of3_options_any_of1' +require 'kombo_client/models/schema2_any_of3_options_any_of_entries_inner' +require 'kombo_client/models/schema2_any_of3_options_any_of_entries_inner_remote_id' +require 'kombo_client/models/schema2_any_of4' +require 'kombo_client/models/schema2_any_of5' +require 'kombo_client/models/schema2_any_of6' +require 'kombo_client/models/schema2_any_of7' +require 'kombo_client/models/schema2_any_of8' +require 'kombo_client/models/schema2_any_of8_file_restrictions' +require 'kombo_client/models/schema4' +require 'kombo_client/models/sync_finished_webhook_payload' +require 'kombo_client/models/sync_finished_webhook_payload_data' + +# APIs +require 'kombo_client/api/ai_apply_api' +require 'kombo_client/api/custom_endpoints_api' +require 'kombo_client/api/general_api' +require 'kombo_client/api/kombo_connect_api' +require 'kombo_client/api/unified_atsapi_api' +require 'kombo_client/api/unified_ats_assessment_background_check_api_api' +require 'kombo_client/api/unified_hrisapi_api' + +module Kombo + class << self + # Customize default settings for the SDK using block. + # Kombo.configure do |config| + # config.username = "xxx" + # config.password = "xxx" + # end + # If no block given, return the default Configuration object. + def configure + if block_given? + yield(Configuration.default) + else + Configuration.default + end + end + end +end diff --git a/lib/kombo_client/api/ai_apply_api.rb b/lib/kombo_client/api/ai_apply_api.rb new file mode 100644 index 0000000..aec3827 --- /dev/null +++ b/lib/kombo_client/api/ai_apply_api.rb @@ -0,0 +1,738 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.17.0 + +=end + +require 'cgi' + +module Kombo + class AIApplyApi + attr_accessor :api_client + + def initialize(api_client = ApiClient.default) + @api_client = api_client + end + # Get applications + # Get all applications. + # @param [Hash] opts the optional parameters + # @option opts [String] :cursor An optional cursor string used for pagination. This can be retrieved from the `next` property of the previous page response. + # @option opts [Integer] :page_size The number of results to return per page. Maximum is 250. (default to 100) + # @option opts [String] :ids Filter by a comma-separated list of IDs such as `222k7eCGyUdgt2JWZDNnkDs3,B5DVmypWENfU6eMe6gYDyJG3`. + # @option opts [String] :job_posting_ids Filter by a comma-separated list of job posting IDs such as `89V6GEKpdZwqbxQz59n1ftFb,kcGHREEXCMF26Yhpuyh1gDVE`. + # @return [GetAiApplyApplicationsPositiveResponse] + def get_ai_apply_applications(opts = {}) + data, _status_code, _headers = get_ai_apply_applications_with_http_info(opts) + data + end + + # Get applications + # Get all applications. + # @param [Hash] opts the optional parameters + # @option opts [String] :cursor An optional cursor string used for pagination. This can be retrieved from the `next` property of the previous page response. + # @option opts [Integer] :page_size The number of results to return per page. Maximum is 250. (default to 100) + # @option opts [String] :ids Filter by a comma-separated list of IDs such as `222k7eCGyUdgt2JWZDNnkDs3,B5DVmypWENfU6eMe6gYDyJG3`. + # @option opts [String] :job_posting_ids Filter by a comma-separated list of job posting IDs such as `89V6GEKpdZwqbxQz59n1ftFb,kcGHREEXCMF26Yhpuyh1gDVE`. + # @return [Array<(GetAiApplyApplicationsPositiveResponse, Integer, Hash)>] GetAiApplyApplicationsPositiveResponse data, response status code and response headers + def get_ai_apply_applications_with_http_info(opts = {}) + if @api_client.config.debugging + @api_client.config.logger.debug 'Calling API: AIApplyApi.get_ai_apply_applications ...' + end + if @api_client.config.client_side_validation && !opts[:'page_size'].nil? && opts[:'page_size'] > 250 + fail ArgumentError, 'invalid value for "opts[:"page_size"]" when calling AIApplyApi.get_ai_apply_applications, must be smaller than or equal to 250.' + end + + if @api_client.config.client_side_validation && !opts[:'page_size'].nil? && opts[:'page_size'] < 1 + fail ArgumentError, 'invalid value for "opts[:"page_size"]" when calling AIApplyApi.get_ai_apply_applications, must be greater than or equal to 1.' + end + + # resource path + local_var_path = '/ai-apply/applications' + + # query parameters + query_params = opts[:query_params] || {} + query_params[:'cursor'] = opts[:'cursor'] if !opts[:'cursor'].nil? + query_params[:'page_size'] = opts[:'page_size'] if !opts[:'page_size'].nil? + query_params[:'ids'] = opts[:'ids'] if !opts[:'ids'].nil? + query_params[:'job_posting_ids'] = opts[:'job_posting_ids'] if !opts[:'job_posting_ids'].nil? + + # header parameters + header_params = opts[:header_params] || {} + # HTTP header 'Accept' (if needed) + header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept'] + + # form parameters + form_params = opts[:form_params] || {} + + # http body (model) + post_body = opts[:debug_body] + + # return_type + return_type = opts[:debug_return_type] || 'GetAiApplyApplicationsPositiveResponse' + + # auth_names + auth_names = opts[:debug_auth_names] || ['ApiKey'] + + new_options = opts.merge( + :operation => :"AIApplyApi.get_ai_apply_applications", + :header_params => header_params, + :query_params => query_params, + :form_params => form_params, + :body => post_body, + :auth_names => auth_names, + :return_type => return_type + ) + + data, status_code, headers = @api_client.call_api(:GET, local_var_path, new_options) + if @api_client.config.debugging + @api_client.config.logger.debug "API called: AIApplyApi#get_ai_apply_applications\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}" + end + return data, status_code, headers + end + + # Get career sites + # Get all career sites. + # @param [Hash] opts the optional parameters + # @option opts [String] :cursor An optional cursor string used for pagination. This can be retrieved from the `next` property of the previous page response. + # @option opts [Integer] :page_size The number of results to return per page. Maximum is 250. (default to 100) + # @option opts [String] :ids Filter by a comma-separated list of IDs such as `222k7eCGyUdgt2JWZDNnkDs3,B5DVmypWENfU6eMe6gYDyJG3`. + # @return [GetAiApplyCareerSitesPositiveResponse] + def get_ai_apply_career_sites(opts = {}) + data, _status_code, _headers = get_ai_apply_career_sites_with_http_info(opts) + data + end + + # Get career sites + # Get all career sites. + # @param [Hash] opts the optional parameters + # @option opts [String] :cursor An optional cursor string used for pagination. This can be retrieved from the `next` property of the previous page response. + # @option opts [Integer] :page_size The number of results to return per page. Maximum is 250. (default to 100) + # @option opts [String] :ids Filter by a comma-separated list of IDs such as `222k7eCGyUdgt2JWZDNnkDs3,B5DVmypWENfU6eMe6gYDyJG3`. + # @return [Array<(GetAiApplyCareerSitesPositiveResponse, Integer, Hash)>] GetAiApplyCareerSitesPositiveResponse data, response status code and response headers + def get_ai_apply_career_sites_with_http_info(opts = {}) + if @api_client.config.debugging + @api_client.config.logger.debug 'Calling API: AIApplyApi.get_ai_apply_career_sites ...' + end + if @api_client.config.client_side_validation && !opts[:'page_size'].nil? && opts[:'page_size'] > 250 + fail ArgumentError, 'invalid value for "opts[:"page_size"]" when calling AIApplyApi.get_ai_apply_career_sites, must be smaller than or equal to 250.' + end + + if @api_client.config.client_side_validation && !opts[:'page_size'].nil? && opts[:'page_size'] < 1 + fail ArgumentError, 'invalid value for "opts[:"page_size"]" when calling AIApplyApi.get_ai_apply_career_sites, must be greater than or equal to 1.' + end + + # resource path + local_var_path = '/ai-apply/career-sites' + + # query parameters + query_params = opts[:query_params] || {} + query_params[:'cursor'] = opts[:'cursor'] if !opts[:'cursor'].nil? + query_params[:'page_size'] = opts[:'page_size'] if !opts[:'page_size'].nil? + query_params[:'ids'] = opts[:'ids'] if !opts[:'ids'].nil? + + # header parameters + header_params = opts[:header_params] || {} + # HTTP header 'Accept' (if needed) + header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept'] + + # form parameters + form_params = opts[:form_params] || {} + + # http body (model) + post_body = opts[:debug_body] + + # return_type + return_type = opts[:debug_return_type] || 'GetAiApplyCareerSitesPositiveResponse' + + # auth_names + auth_names = opts[:debug_auth_names] || ['ApiKey'] + + new_options = opts.merge( + :operation => :"AIApplyApi.get_ai_apply_career_sites", + :header_params => header_params, + :query_params => query_params, + :form_params => form_params, + :body => post_body, + :auth_names => auth_names, + :return_type => return_type + ) + + data, status_code, headers = @api_client.call_api(:GET, local_var_path, new_options) + if @api_client.config.debugging + @api_client.config.logger.debug "API called: AIApplyApi#get_ai_apply_career_sites\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}" + end + return data, status_code, headers + end + + # Get job postings + # Get all job postings. To get the application form and submit applications, use the POST /postings/:id/inquire endpoint. + # @param [Hash] opts the optional parameters + # @option opts [String] :cursor An optional cursor string used for pagination. This can be retrieved from the `next` property of the previous page response. + # @option opts [Integer] :page_size The number of results to return per page. Maximum is 250. (default to 100) + # @option opts [String] :ids Filter by a comma-separated list of IDs such as `222k7eCGyUdgt2JWZDNnkDs3,B5DVmypWENfU6eMe6gYDyJG3`. + # @option opts [String] :career_site_ids Filter by a comma-separated list of career site IDs such as `A8m9k9RhjNokMfRTWtpQ99VtH,rCbkAA3pvcKjsFYwEeXtCQkc`. + # @option opts [String] :job_codes Filter by a comma-separated list of job codes such as `ACME_13,ACME_14`. + # @return [GetAiApplyPostingsPositiveResponse] + def get_ai_apply_postings(opts = {}) + data, _status_code, _headers = get_ai_apply_postings_with_http_info(opts) + data + end + + # Get job postings + # Get all job postings. To get the application form and submit applications, use the POST /postings/:id/inquire endpoint. + # @param [Hash] opts the optional parameters + # @option opts [String] :cursor An optional cursor string used for pagination. This can be retrieved from the `next` property of the previous page response. + # @option opts [Integer] :page_size The number of results to return per page. Maximum is 250. (default to 100) + # @option opts [String] :ids Filter by a comma-separated list of IDs such as `222k7eCGyUdgt2JWZDNnkDs3,B5DVmypWENfU6eMe6gYDyJG3`. + # @option opts [String] :career_site_ids Filter by a comma-separated list of career site IDs such as `A8m9k9RhjNokMfRTWtpQ99VtH,rCbkAA3pvcKjsFYwEeXtCQkc`. + # @option opts [String] :job_codes Filter by a comma-separated list of job codes such as `ACME_13,ACME_14`. + # @return [Array<(GetAiApplyPostingsPositiveResponse, Integer, Hash)>] GetAiApplyPostingsPositiveResponse data, response status code and response headers + def get_ai_apply_postings_with_http_info(opts = {}) + if @api_client.config.debugging + @api_client.config.logger.debug 'Calling API: AIApplyApi.get_ai_apply_postings ...' + end + if @api_client.config.client_side_validation && !opts[:'page_size'].nil? && opts[:'page_size'] > 250 + fail ArgumentError, 'invalid value for "opts[:"page_size"]" when calling AIApplyApi.get_ai_apply_postings, must be smaller than or equal to 250.' + end + + if @api_client.config.client_side_validation && !opts[:'page_size'].nil? && opts[:'page_size'] < 1 + fail ArgumentError, 'invalid value for "opts[:"page_size"]" when calling AIApplyApi.get_ai_apply_postings, must be greater than or equal to 1.' + end + + # resource path + local_var_path = '/ai-apply/postings' + + # query parameters + query_params = opts[:query_params] || {} + query_params[:'cursor'] = opts[:'cursor'] if !opts[:'cursor'].nil? + query_params[:'page_size'] = opts[:'page_size'] if !opts[:'page_size'].nil? + query_params[:'ids'] = opts[:'ids'] if !opts[:'ids'].nil? + query_params[:'career_site_ids'] = opts[:'career_site_ids'] if !opts[:'career_site_ids'].nil? + query_params[:'job_codes'] = opts[:'job_codes'] if !opts[:'job_codes'].nil? + + # header parameters + header_params = opts[:header_params] || {} + # HTTP header 'Accept' (if needed) + header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept'] + + # form parameters + form_params = opts[:form_params] || {} + + # http body (model) + post_body = opts[:debug_body] + + # return_type + return_type = opts[:debug_return_type] || 'GetAiApplyPostingsPositiveResponse' + + # auth_names + auth_names = opts[:debug_auth_names] || ['ApiKey'] + + new_options = opts.merge( + :operation => :"AIApplyApi.get_ai_apply_postings", + :header_params => header_params, + :query_params => query_params, + :form_params => form_params, + :body => post_body, + :auth_names => auth_names, + :return_type => return_type + ) + + data, status_code, headers = @api_client.call_api(:GET, local_var_path, new_options) + if @api_client.config.debugging + @api_client.config.logger.debug "API called: AIApplyApi#get_ai_apply_postings\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}" + end + return data, status_code, headers + end + + # 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. + # @param [Hash] opts the optional parameters + # @option opts [String] :cursor An optional cursor string used for pagination. This can be retrieved from the `next` property of the previous page response. + # @option opts [Integer] :page_size The number of results to return per page. Maximum is 5. (default to 5) + # @option opts [String] :ids Filter by a comma-separated list of IDs such as `222k7eCGyUdgt2JWZDNnkDs3,B5DVmypWENfU6eMe6gYDyJG3`. + # @option opts [String] :remote_ids 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. + # @option opts [String] :job_codes Filter by a comma-separated list of job codes such as `ACME_12,ACME_14`. + # @option opts [String] :career_site_ids Filter by a comma-separated list of career site IDs such as `A8m9k9RhjNokMfRTWtpQ99VtH,rCbkAA3pvcKjsFYwEeXtCQkc`. + # @return [GetAiApplyUnifiedApiJobsPositiveResponse] + def get_ai_apply_unified_api_jobs(opts = {}) + data, _status_code, _headers = get_ai_apply_unified_api_jobs_with_http_info(opts) + data + end + + # 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. + # @param [Hash] opts the optional parameters + # @option opts [String] :cursor An optional cursor string used for pagination. This can be retrieved from the `next` property of the previous page response. + # @option opts [Integer] :page_size The number of results to return per page. Maximum is 5. (default to 5) + # @option opts [String] :ids Filter by a comma-separated list of IDs such as `222k7eCGyUdgt2JWZDNnkDs3,B5DVmypWENfU6eMe6gYDyJG3`. + # @option opts [String] :remote_ids 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. + # @option opts [String] :job_codes Filter by a comma-separated list of job codes such as `ACME_12,ACME_14`. + # @option opts [String] :career_site_ids Filter by a comma-separated list of career site IDs such as `A8m9k9RhjNokMfRTWtpQ99VtH,rCbkAA3pvcKjsFYwEeXtCQkc`. + # @return [Array<(GetAiApplyUnifiedApiJobsPositiveResponse, Integer, Hash)>] GetAiApplyUnifiedApiJobsPositiveResponse data, response status code and response headers + def get_ai_apply_unified_api_jobs_with_http_info(opts = {}) + if @api_client.config.debugging + @api_client.config.logger.debug 'Calling API: AIApplyApi.get_ai_apply_unified_api_jobs ...' + end + if @api_client.config.client_side_validation && !opts[:'page_size'].nil? && opts[:'page_size'] > 5 + fail ArgumentError, 'invalid value for "opts[:"page_size"]" when calling AIApplyApi.get_ai_apply_unified_api_jobs, must be smaller than or equal to 5.' + end + + if @api_client.config.client_side_validation && !opts[:'page_size'].nil? && opts[:'page_size'] < 1 + fail ArgumentError, 'invalid value for "opts[:"page_size"]" when calling AIApplyApi.get_ai_apply_unified_api_jobs, must be greater than or equal to 1.' + end + + # resource path + local_var_path = '/ai-apply/unified-api/jobs' + + # query parameters + query_params = opts[:query_params] || {} + query_params[:'cursor'] = opts[:'cursor'] if !opts[:'cursor'].nil? + query_params[:'page_size'] = opts[:'page_size'] if !opts[:'page_size'].nil? + query_params[:'ids'] = opts[:'ids'] if !opts[:'ids'].nil? + query_params[:'remote_ids'] = opts[:'remote_ids'] if !opts[:'remote_ids'].nil? + query_params[:'job_codes'] = opts[:'job_codes'] if !opts[:'job_codes'].nil? + query_params[:'career_site_ids'] = opts[:'career_site_ids'] if !opts[:'career_site_ids'].nil? + + # header parameters + header_params = opts[:header_params] || {} + # HTTP header 'Accept' (if needed) + header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept'] + + # form parameters + form_params = opts[:form_params] || {} + + # http body (model) + post_body = opts[:debug_body] + + # return_type + return_type = opts[:debug_return_type] || 'GetAiApplyUnifiedApiJobsPositiveResponse' + + # auth_names + auth_names = opts[:debug_auth_names] || ['ApiKey'] + + new_options = opts.merge( + :operation => :"AIApplyApi.get_ai_apply_unified_api_jobs", + :header_params => header_params, + :query_params => query_params, + :form_params => form_params, + :body => post_body, + :auth_names => auth_names, + :return_type => return_type + ) + + data, status_code, headers = @api_client.call_api(:GET, local_var_path, new_options) + if @api_client.config.debugging + @api_client.config.logger.debug "API called: AIApplyApi#get_ai_apply_unified_api_jobs\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}" + end + return data, status_code, headers + end + + # 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. + # @param [Hash] opts the optional parameters + # @option opts [PostAiApplyApplyRequestBody] :post_ai_apply_apply_request_body POST /ai-apply/apply Request body + # @return [PostAiApplyApplyPositiveResponse] + def post_ai_apply_apply(opts = {}) + data, _status_code, _headers = post_ai_apply_apply_with_http_info(opts) + data + end + + # 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. + # @param [Hash] opts the optional parameters + # @option opts [PostAiApplyApplyRequestBody] :post_ai_apply_apply_request_body POST /ai-apply/apply Request body + # @return [Array<(PostAiApplyApplyPositiveResponse, Integer, Hash)>] PostAiApplyApplyPositiveResponse data, response status code and response headers + def post_ai_apply_apply_with_http_info(opts = {}) + if @api_client.config.debugging + @api_client.config.logger.debug 'Calling API: AIApplyApi.post_ai_apply_apply ...' + end + # resource path + local_var_path = '/ai-apply/apply' + + # query parameters + query_params = opts[:query_params] || {} + + # header parameters + header_params = opts[:header_params] || {} + # HTTP header 'Accept' (if needed) + header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept'] + # HTTP header 'Content-Type' + content_type = @api_client.select_header_content_type(['application/json']) + if !content_type.nil? + header_params['Content-Type'] = content_type + end + + # form parameters + form_params = opts[:form_params] || {} + + # http body (model) + post_body = opts[:debug_body] || @api_client.object_to_http_body(opts[:'post_ai_apply_apply_request_body']) + + # return_type + return_type = opts[:debug_return_type] || 'PostAiApplyApplyPositiveResponse' + + # auth_names + auth_names = opts[:debug_auth_names] || ['ApiKey'] + + new_options = opts.merge( + :operation => :"AIApplyApi.post_ai_apply_apply", + :header_params => header_params, + :query_params => query_params, + :form_params => form_params, + :body => post_body, + :auth_names => auth_names, + :return_type => return_type + ) + + data, status_code, headers = @api_client.call_api(:POST, local_var_path, new_options) + if @api_client.config.debugging + @api_client.config.logger.debug "API called: AIApplyApi#post_ai_apply_apply\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}" + end + return data, status_code, headers + end + + # 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. + # @param [Hash] opts the optional parameters + # @option opts [PostAiApplyCareerSitesRequestBody] :post_ai_apply_career_sites_request_body POST /ai-apply/career-sites Request body + # @return [PostAiApplyCareerSitesPositiveResponse] + def post_ai_apply_career_sites(opts = {}) + data, _status_code, _headers = post_ai_apply_career_sites_with_http_info(opts) + data + end + + # 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. + # @param [Hash] opts the optional parameters + # @option opts [PostAiApplyCareerSitesRequestBody] :post_ai_apply_career_sites_request_body POST /ai-apply/career-sites Request body + # @return [Array<(PostAiApplyCareerSitesPositiveResponse, Integer, Hash)>] PostAiApplyCareerSitesPositiveResponse data, response status code and response headers + def post_ai_apply_career_sites_with_http_info(opts = {}) + if @api_client.config.debugging + @api_client.config.logger.debug 'Calling API: AIApplyApi.post_ai_apply_career_sites ...' + end + # resource path + local_var_path = '/ai-apply/career-sites' + + # query parameters + query_params = opts[:query_params] || {} + + # header parameters + header_params = opts[:header_params] || {} + # HTTP header 'Accept' (if needed) + header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept'] + # HTTP header 'Content-Type' + content_type = @api_client.select_header_content_type(['application/json']) + if !content_type.nil? + header_params['Content-Type'] = content_type + end + + # form parameters + form_params = opts[:form_params] || {} + + # http body (model) + post_body = opts[:debug_body] || @api_client.object_to_http_body(opts[:'post_ai_apply_career_sites_request_body']) + + # return_type + return_type = opts[:debug_return_type] || 'PostAiApplyCareerSitesPositiveResponse' + + # auth_names + auth_names = opts[:debug_auth_names] || ['ApiKey'] + + new_options = opts.merge( + :operation => :"AIApplyApi.post_ai_apply_career_sites", + :header_params => header_params, + :query_params => query_params, + :form_params => form_params, + :body => post_body, + :auth_names => auth_names, + :return_type => return_type + ) + + data, status_code, headers = @api_client.call_api(:POST, local_var_path, new_options) + if @api_client.config.debugging + @api_client.config.logger.debug "API called: AIApplyApi#post_ai_apply_career_sites\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}" + end + return data, status_code, headers + end + + # Parse a job posting + # Submit a job posting URL to be parsed asynchronously. Returns ID to track progress. + # @param [Hash] opts the optional parameters + # @option opts [PostAiApplyPostingsRequestBody] :post_ai_apply_postings_request_body POST /ai-apply/postings Request body + # @return [PostAiApplyPostingsPositiveResponse] + def post_ai_apply_postings(opts = {}) + data, _status_code, _headers = post_ai_apply_postings_with_http_info(opts) + data + end + + # Parse a job posting + # Submit a job posting URL to be parsed asynchronously. Returns ID to track progress. + # @param [Hash] opts the optional parameters + # @option opts [PostAiApplyPostingsRequestBody] :post_ai_apply_postings_request_body POST /ai-apply/postings Request body + # @return [Array<(PostAiApplyPostingsPositiveResponse, Integer, Hash)>] PostAiApplyPostingsPositiveResponse data, response status code and response headers + def post_ai_apply_postings_with_http_info(opts = {}) + if @api_client.config.debugging + @api_client.config.logger.debug 'Calling API: AIApplyApi.post_ai_apply_postings ...' + end + # resource path + local_var_path = '/ai-apply/postings' + + # query parameters + query_params = opts[:query_params] || {} + + # header parameters + header_params = opts[:header_params] || {} + # HTTP header 'Accept' (if needed) + header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept'] + # HTTP header 'Content-Type' + content_type = @api_client.select_header_content_type(['application/json']) + if !content_type.nil? + header_params['Content-Type'] = content_type + end + + # form parameters + form_params = opts[:form_params] || {} + + # http body (model) + post_body = opts[:debug_body] || @api_client.object_to_http_body(opts[:'post_ai_apply_postings_request_body']) + + # return_type + return_type = opts[:debug_return_type] || 'PostAiApplyPostingsPositiveResponse' + + # auth_names + auth_names = opts[:debug_auth_names] || ['ApiKey'] + + new_options = opts.merge( + :operation => :"AIApplyApi.post_ai_apply_postings", + :header_params => header_params, + :query_params => query_params, + :form_params => form_params, + :body => post_body, + :auth_names => auth_names, + :return_type => return_type + ) + + data, status_code, headers = @api_client.call_api(:POST, local_var_path, new_options) + if @api_client.config.debugging + @api_client.config.logger.debug "API called: AIApplyApi#post_ai_apply_postings\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}" + end + return data, status_code, headers + end + + # 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). + # @param posting_id [String] The globally unique ID of this object generated by Kombo. We recommend using this as a stable primary key for syncing. + # @param [Hash] opts the optional parameters + # @option opts [Object] :body POST /ai-apply/postings/:posting_id/inquire Request body + # @return [PostAiApplyPostingsPostingIdInquirePositiveResponse] + def post_ai_apply_postings_posting_id_inquire(posting_id, opts = {}) + data, _status_code, _headers = post_ai_apply_postings_posting_id_inquire_with_http_info(posting_id, opts) + data + end + + # 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). + # @param posting_id [String] The globally unique ID of this object generated by Kombo. We recommend using this as a stable primary key for syncing. + # @param [Hash] opts the optional parameters + # @option opts [Object] :body POST /ai-apply/postings/:posting_id/inquire Request body + # @return [Array<(PostAiApplyPostingsPostingIdInquirePositiveResponse, Integer, Hash)>] PostAiApplyPostingsPostingIdInquirePositiveResponse data, response status code and response headers + def post_ai_apply_postings_posting_id_inquire_with_http_info(posting_id, opts = {}) + if @api_client.config.debugging + @api_client.config.logger.debug 'Calling API: AIApplyApi.post_ai_apply_postings_posting_id_inquire ...' + end + # verify the required parameter 'posting_id' is set + if @api_client.config.client_side_validation && posting_id.nil? + fail ArgumentError, "Missing the required parameter 'posting_id' when calling AIApplyApi.post_ai_apply_postings_posting_id_inquire" + end + # resource path + local_var_path = '/ai-apply/postings/{posting_id}/inquire'.sub('{' + 'posting_id' + '}', CGI.escape(posting_id.to_s)) + + # query parameters + query_params = opts[:query_params] || {} + + # header parameters + header_params = opts[:header_params] || {} + # HTTP header 'Accept' (if needed) + header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept'] + # HTTP header 'Content-Type' + content_type = @api_client.select_header_content_type(['application/json']) + if !content_type.nil? + header_params['Content-Type'] = content_type + end + + # form parameters + form_params = opts[:form_params] || {} + + # http body (model) + post_body = opts[:debug_body] || @api_client.object_to_http_body(opts[:'body']) + + # return_type + return_type = opts[:debug_return_type] || 'PostAiApplyPostingsPostingIdInquirePositiveResponse' + + # auth_names + auth_names = opts[:debug_auth_names] || ['ApiKey'] + + new_options = opts.merge( + :operation => :"AIApplyApi.post_ai_apply_postings_posting_id_inquire", + :header_params => header_params, + :query_params => query_params, + :form_params => form_params, + :body => post_body, + :auth_names => auth_names, + :return_type => return_type + ) + + data, status_code, headers = @api_client.call_api(:POST, local_var_path, new_options) + if @api_client.config.debugging + @api_client.config.logger.debug "API called: AIApplyApi#post_ai_apply_postings_posting_id_inquire\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}" + end + return data, status_code, headers + end + + # Re-parse an existing job posting + # Trigger re-parsing of an already parsed job posting. + # @param posting_id [String] The ID of the job posting to parse a new revision for + # @param [Hash] opts the optional parameters + # @option opts [Object] :body POST /ai-apply/postings/:posting_id/parse Request body + # @return [PostAiApplyPostingsPostingIdParsePositiveResponse] + def post_ai_apply_postings_posting_id_parse(posting_id, opts = {}) + data, _status_code, _headers = post_ai_apply_postings_posting_id_parse_with_http_info(posting_id, opts) + data + end + + # Re-parse an existing job posting + # Trigger re-parsing of an already parsed job posting. + # @param posting_id [String] The ID of the job posting to parse a new revision for + # @param [Hash] opts the optional parameters + # @option opts [Object] :body POST /ai-apply/postings/:posting_id/parse Request body + # @return [Array<(PostAiApplyPostingsPostingIdParsePositiveResponse, Integer, Hash)>] PostAiApplyPostingsPostingIdParsePositiveResponse data, response status code and response headers + def post_ai_apply_postings_posting_id_parse_with_http_info(posting_id, opts = {}) + if @api_client.config.debugging + @api_client.config.logger.debug 'Calling API: AIApplyApi.post_ai_apply_postings_posting_id_parse ...' + end + # verify the required parameter 'posting_id' is set + if @api_client.config.client_side_validation && posting_id.nil? + fail ArgumentError, "Missing the required parameter 'posting_id' when calling AIApplyApi.post_ai_apply_postings_posting_id_parse" + end + # resource path + local_var_path = '/ai-apply/postings/{posting_id}/parse'.sub('{' + 'posting_id' + '}', CGI.escape(posting_id.to_s)) + + # query parameters + query_params = opts[:query_params] || {} + + # header parameters + header_params = opts[:header_params] || {} + # HTTP header 'Accept' (if needed) + header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept'] + # HTTP header 'Content-Type' + content_type = @api_client.select_header_content_type(['application/json']) + if !content_type.nil? + header_params['Content-Type'] = content_type + end + + # form parameters + form_params = opts[:form_params] || {} + + # http body (model) + post_body = opts[:debug_body] || @api_client.object_to_http_body(opts[:'body']) + + # return_type + return_type = opts[:debug_return_type] || 'PostAiApplyPostingsPostingIdParsePositiveResponse' + + # auth_names + auth_names = opts[:debug_auth_names] || ['ApiKey'] + + new_options = opts.merge( + :operation => :"AIApplyApi.post_ai_apply_postings_posting_id_parse", + :header_params => header_params, + :query_params => query_params, + :form_params => form_params, + :body => post_body, + :auth_names => auth_names, + :return_type => return_type + ) + + data, status_code, headers = @api_client.call_api(:POST, local_var_path, new_options) + if @api_client.config.debugging + @api_client.config.logger.debug "API called: AIApplyApi#post_ai_apply_postings_posting_id_parse\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}" + end + return data, status_code, headers + end + + # 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. + # @param 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. + # @param [Hash] opts the optional parameters + # @option opts [PostAiApplyUnifiedApiJobsJobIdApplicationsRequestBody] :post_ai_apply_unified_api_jobs_job_id_applications_request_body POST /ai-apply/unified-api/jobs/:job_id/applications Request body + # @return [PostAiApplyUnifiedApiJobsJobIdApplicationsPositiveResponse] + def post_ai_apply_unified_api_jobs_job_id_applications(job_id, opts = {}) + data, _status_code, _headers = post_ai_apply_unified_api_jobs_job_id_applications_with_http_info(job_id, opts) + data + end + + # 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. + # @param 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. + # @param [Hash] opts the optional parameters + # @option opts [PostAiApplyUnifiedApiJobsJobIdApplicationsRequestBody] :post_ai_apply_unified_api_jobs_job_id_applications_request_body POST /ai-apply/unified-api/jobs/:job_id/applications Request body + # @return [Array<(PostAiApplyUnifiedApiJobsJobIdApplicationsPositiveResponse, Integer, Hash)>] PostAiApplyUnifiedApiJobsJobIdApplicationsPositiveResponse data, response status code and response headers + def post_ai_apply_unified_api_jobs_job_id_applications_with_http_info(job_id, opts = {}) + if @api_client.config.debugging + @api_client.config.logger.debug 'Calling API: AIApplyApi.post_ai_apply_unified_api_jobs_job_id_applications ...' + end + # verify the required parameter 'job_id' is set + if @api_client.config.client_side_validation && job_id.nil? + fail ArgumentError, "Missing the required parameter 'job_id' when calling AIApplyApi.post_ai_apply_unified_api_jobs_job_id_applications" + end + # resource path + local_var_path = '/ai-apply/unified-api/jobs/{job_id}/applications'.sub('{' + 'job_id' + '}', CGI.escape(job_id.to_s)) + + # query parameters + query_params = opts[:query_params] || {} + + # header parameters + header_params = opts[:header_params] || {} + # HTTP header 'Accept' (if needed) + header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept'] + # HTTP header 'Content-Type' + content_type = @api_client.select_header_content_type(['application/json']) + if !content_type.nil? + header_params['Content-Type'] = content_type + end + + # form parameters + form_params = opts[:form_params] || {} + + # http body (model) + post_body = opts[:debug_body] || @api_client.object_to_http_body(opts[:'post_ai_apply_unified_api_jobs_job_id_applications_request_body']) + + # return_type + return_type = opts[:debug_return_type] || 'PostAiApplyUnifiedApiJobsJobIdApplicationsPositiveResponse' + + # auth_names + auth_names = opts[:debug_auth_names] || ['ApiKey'] + + new_options = opts.merge( + :operation => :"AIApplyApi.post_ai_apply_unified_api_jobs_job_id_applications", + :header_params => header_params, + :query_params => query_params, + :form_params => form_params, + :body => post_body, + :auth_names => auth_names, + :return_type => return_type + ) + + data, status_code, headers = @api_client.call_api(:POST, local_var_path, new_options) + if @api_client.config.debugging + @api_client.config.logger.debug "API called: AIApplyApi#post_ai_apply_unified_api_jobs_job_id_applications\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}" + end + return data, status_code, headers + end + end +end diff --git a/lib/kombo_client/api/custom_endpoints_api.rb b/lib/kombo_client/api/custom_endpoints_api.rb new file mode 100644 index 0000000..333fe5b --- /dev/null +++ b/lib/kombo_client/api/custom_endpoints_api.rb @@ -0,0 +1,1148 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.17.0 + +=end + +require 'cgi' + +module Kombo + class CustomEndpointsApi + attr_accessor :api_client + + def initialize(api_client = ApiClient.default) + @api_client = api_client + end + # Retrieve available documents + # Use this endpoint to get all available documents for a specific period. + # @param x_integration_id [String] ID of the integration you want to interact with. + # @param period [String] Provide the period in the format YYYY-MM-DD for which to check for available documents. + # @param [Hash] opts the optional parameters + # @return [GetCustomDatevAvailableDocumentsPositiveResponse] + def get_custom_datev_available_documents(x_integration_id, period, opts = {}) + data, _status_code, _headers = get_custom_datev_available_documents_with_http_info(x_integration_id, period, opts) + data + end + + # Retrieve available documents + # Use this endpoint to get all available documents for a specific period. + # @param x_integration_id [String] ID of the integration you want to interact with. + # @param period [String] Provide the period in the format YYYY-MM-DD for which to check for available documents. + # @param [Hash] opts the optional parameters + # @return [Array<(GetCustomDatevAvailableDocumentsPositiveResponse, Integer, Hash)>] GetCustomDatevAvailableDocumentsPositiveResponse data, response status code and response headers + def get_custom_datev_available_documents_with_http_info(x_integration_id, period, opts = {}) + if @api_client.config.debugging + @api_client.config.logger.debug 'Calling API: CustomEndpointsApi.get_custom_datev_available_documents ...' + end + # verify the required parameter 'x_integration_id' is set + if @api_client.config.client_side_validation && x_integration_id.nil? + fail ArgumentError, "Missing the required parameter 'x_integration_id' when calling CustomEndpointsApi.get_custom_datev_available_documents" + end + # verify the required parameter 'period' is set + if @api_client.config.client_side_validation && period.nil? + fail ArgumentError, "Missing the required parameter 'period' when calling CustomEndpointsApi.get_custom_datev_available_documents" + end + # resource path + local_var_path = '/custom/datev/available-documents' + + # query parameters + query_params = opts[:query_params] || {} + query_params[:'period'] = period + + # header parameters + header_params = opts[:header_params] || {} + # HTTP header 'Accept' (if needed) + header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept'] + header_params[:'X-Integration-Id'] = x_integration_id + + # form parameters + form_params = opts[:form_params] || {} + + # http body (model) + post_body = opts[:debug_body] + + # return_type + return_type = opts[:debug_return_type] || 'GetCustomDatevAvailableDocumentsPositiveResponse' + + # auth_names + auth_names = opts[:debug_auth_names] || ['ApiKey'] + + new_options = opts.merge( + :operation => :"CustomEndpointsApi.get_custom_datev_available_documents", + :header_params => header_params, + :query_params => query_params, + :form_params => form_params, + :body => post_body, + :auth_names => auth_names, + :return_type => return_type + ) + + data, status_code, headers = @api_client.call_api(:GET, local_var_path, new_options) + if @api_client.config.debugging + @api_client.config.logger.debug "API called: CustomEndpointsApi#get_custom_datev_available_documents\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}" + end + return data, status_code, headers + end + + # Verify service is enabled + # This endpoint returns the available document types for this DATEV integration. + # @param x_integration_id [String] ID of the integration you want to interact with. + # @param [Hash] opts the optional parameters + # @return [GetCustomDatevCheckDocumentPermissionPositiveResponse] + def get_custom_datev_check_document_permission(x_integration_id, opts = {}) + data, _status_code, _headers = get_custom_datev_check_document_permission_with_http_info(x_integration_id, opts) + data + end + + # Verify service is enabled + # This endpoint returns the available document types for this DATEV integration. + # @param x_integration_id [String] ID of the integration you want to interact with. + # @param [Hash] opts the optional parameters + # @return [Array<(GetCustomDatevCheckDocumentPermissionPositiveResponse, Integer, Hash)>] GetCustomDatevCheckDocumentPermissionPositiveResponse data, response status code and response headers + def get_custom_datev_check_document_permission_with_http_info(x_integration_id, opts = {}) + if @api_client.config.debugging + @api_client.config.logger.debug 'Calling API: CustomEndpointsApi.get_custom_datev_check_document_permission ...' + end + # verify the required parameter 'x_integration_id' is set + if @api_client.config.client_side_validation && x_integration_id.nil? + fail ArgumentError, "Missing the required parameter 'x_integration_id' when calling CustomEndpointsApi.get_custom_datev_check_document_permission" + end + # resource path + local_var_path = '/custom/datev/check-document-permission' + + # query parameters + query_params = opts[:query_params] || {} + + # header parameters + header_params = opts[:header_params] || {} + # HTTP header 'Accept' (if needed) + header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept'] + header_params[:'X-Integration-Id'] = x_integration_id + + # form parameters + form_params = opts[:form_params] || {} + + # http body (model) + post_body = opts[:debug_body] + + # return_type + return_type = opts[:debug_return_type] || 'GetCustomDatevCheckDocumentPermissionPositiveResponse' + + # auth_names + auth_names = opts[:debug_auth_names] || ['ApiKey'] + + new_options = opts.merge( + :operation => :"CustomEndpointsApi.get_custom_datev_check_document_permission", + :header_params => header_params, + :query_params => query_params, + :form_params => form_params, + :body => post_body, + :auth_names => auth_names, + :return_type => return_type + ) + + data, status_code, headers = @api_client.call_api(:GET, local_var_path, new_options) + if @api_client.config.debugging + @api_client.config.logger.debug "API called: CustomEndpointsApi#get_custom_datev_check_document_permission\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}" + end + return data, status_code, headers + end + + # Verify service is enabled + # This endpoint validates that this DATEV integration is ready to use the eAU feature. + # @param x_integration_id [String] ID of the integration you want to interact with. + # @param [Hash] opts the optional parameters + # @return [GetCustomDatevCheckEauPermissionPositiveResponse] + def get_custom_datev_check_eau_permission(x_integration_id, opts = {}) + data, _status_code, _headers = get_custom_datev_check_eau_permission_with_http_info(x_integration_id, opts) + data + end + + # Verify service is enabled + # This endpoint validates that this DATEV integration is ready to use the eAU feature. + # @param x_integration_id [String] ID of the integration you want to interact with. + # @param [Hash] opts the optional parameters + # @return [Array<(GetCustomDatevCheckEauPermissionPositiveResponse, Integer, Hash)>] GetCustomDatevCheckEauPermissionPositiveResponse data, response status code and response headers + def get_custom_datev_check_eau_permission_with_http_info(x_integration_id, opts = {}) + if @api_client.config.debugging + @api_client.config.logger.debug 'Calling API: CustomEndpointsApi.get_custom_datev_check_eau_permission ...' + end + # verify the required parameter 'x_integration_id' is set + if @api_client.config.client_side_validation && x_integration_id.nil? + fail ArgumentError, "Missing the required parameter 'x_integration_id' when calling CustomEndpointsApi.get_custom_datev_check_eau_permission" + end + # resource path + local_var_path = '/custom/datev/check-eau-permission' + + # query parameters + query_params = opts[:query_params] || {} + + # header parameters + header_params = opts[:header_params] || {} + # HTTP header 'Accept' (if needed) + header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept'] + header_params[:'X-Integration-Id'] = x_integration_id + + # form parameters + form_params = opts[:form_params] || {} + + # http body (model) + post_body = opts[:debug_body] + + # return_type + return_type = opts[:debug_return_type] || 'GetCustomDatevCheckEauPermissionPositiveResponse' + + # auth_names + auth_names = opts[:debug_auth_names] || ['ApiKey'] + + new_options = opts.merge( + :operation => :"CustomEndpointsApi.get_custom_datev_check_eau_permission", + :header_params => header_params, + :query_params => query_params, + :form_params => form_params, + :body => post_body, + :auth_names => auth_names, + :return_type => return_type + ) + + data, status_code, headers = @api_client.call_api(:GET, local_var_path, new_options) + if @api_client.config.debugging + @api_client.config.logger.debug "API called: CustomEndpointsApi#get_custom_datev_check_eau_permission\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}" + end + return data, status_code, headers + end + + # Verify service is enabled + # This endpoint returns whether you can write to this DATEV integration. + # @param x_integration_id [String] ID of the integration you want to interact with. + # @param [Hash] opts the optional parameters + # @return [GetCustomDatevCheckWritePermissionPositiveResponse] + def get_custom_datev_check_write_permission(x_integration_id, opts = {}) + data, _status_code, _headers = get_custom_datev_check_write_permission_with_http_info(x_integration_id, opts) + data + end + + # Verify service is enabled + # This endpoint returns whether you can write to this DATEV integration. + # @param x_integration_id [String] ID of the integration you want to interact with. + # @param [Hash] opts the optional parameters + # @return [Array<(GetCustomDatevCheckWritePermissionPositiveResponse, Integer, Hash)>] GetCustomDatevCheckWritePermissionPositiveResponse data, response status code and response headers + def get_custom_datev_check_write_permission_with_http_info(x_integration_id, opts = {}) + if @api_client.config.debugging + @api_client.config.logger.debug 'Calling API: CustomEndpointsApi.get_custom_datev_check_write_permission ...' + end + # verify the required parameter 'x_integration_id' is set + if @api_client.config.client_side_validation && x_integration_id.nil? + fail ArgumentError, "Missing the required parameter 'x_integration_id' when calling CustomEndpointsApi.get_custom_datev_check_write_permission" + end + # resource path + local_var_path = '/custom/datev/check-write-permission' + + # query parameters + query_params = opts[:query_params] || {} + + # header parameters + header_params = opts[:header_params] || {} + # HTTP header 'Accept' (if needed) + header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept'] + header_params[:'X-Integration-Id'] = x_integration_id + + # form parameters + form_params = opts[:form_params] || {} + + # http body (model) + post_body = opts[:debug_body] + + # return_type + return_type = opts[:debug_return_type] || 'GetCustomDatevCheckWritePermissionPositiveResponse' + + # auth_names + auth_names = opts[:debug_auth_names] || ['ApiKey'] + + new_options = opts.merge( + :operation => :"CustomEndpointsApi.get_custom_datev_check_write_permission", + :header_params => header_params, + :query_params => query_params, + :form_params => form_params, + :body => post_body, + :auth_names => auth_names, + :return_type => return_type + ) + + data, status_code, headers = @api_client.call_api(:GET, local_var_path, new_options) + if @api_client.config.debugging + @api_client.config.logger.debug "API called: CustomEndpointsApi#get_custom_datev_check_write_permission\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}" + end + return data, status_code, headers + end + + # 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. + # @param x_integration_id [String] ID of the integration you want to interact with. + # @param [Hash] opts the optional parameters + # @return [GetCustomDatevDataPushesPositiveResponse] + def get_custom_datev_data_pushes(x_integration_id, opts = {}) + data, _status_code, _headers = get_custom_datev_data_pushes_with_http_info(x_integration_id, opts) + data + end + + # 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. + # @param x_integration_id [String] ID of the integration you want to interact with. + # @param [Hash] opts the optional parameters + # @return [Array<(GetCustomDatevDataPushesPositiveResponse, Integer, Hash)>] GetCustomDatevDataPushesPositiveResponse data, response status code and response headers + def get_custom_datev_data_pushes_with_http_info(x_integration_id, opts = {}) + if @api_client.config.debugging + @api_client.config.logger.debug 'Calling API: CustomEndpointsApi.get_custom_datev_data_pushes ...' + end + # verify the required parameter 'x_integration_id' is set + if @api_client.config.client_side_validation && x_integration_id.nil? + fail ArgumentError, "Missing the required parameter 'x_integration_id' when calling CustomEndpointsApi.get_custom_datev_data_pushes" + end + # resource path + local_var_path = '/custom/datev/data-pushes' + + # query parameters + query_params = opts[:query_params] || {} + + # header parameters + header_params = opts[:header_params] || {} + # HTTP header 'Accept' (if needed) + header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept'] + header_params[:'X-Integration-Id'] = x_integration_id + + # form parameters + form_params = opts[:form_params] || {} + + # http body (model) + post_body = opts[:debug_body] + + # return_type + return_type = opts[:debug_return_type] || 'GetCustomDatevDataPushesPositiveResponse' + + # auth_names + auth_names = opts[:debug_auth_names] || ['ApiKey'] + + new_options = opts.merge( + :operation => :"CustomEndpointsApi.get_custom_datev_data_pushes", + :header_params => header_params, + :query_params => query_params, + :form_params => form_params, + :body => post_body, + :auth_names => auth_names, + :return_type => return_type + ) + + data, status_code, headers = @api_client.call_api(:GET, local_var_path, new_options) + if @api_client.config.debugging + @api_client.config.logger.debug "API called: CustomEndpointsApi#get_custom_datev_data_pushes\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}" + end + return data, status_code, headers + end + + # Query the status of the eAU request + # This endpoint queries the status of the eAU request for the given DATEV integration. + # @param x_integration_id [String] ID of the integration you want to interact with. + # @param eau_id [String] GET /custom/datev/eau-requests/:eau_id Parameter + # @param [Hash] opts the optional parameters + # @return [GetCustomDatevEauRequestsEauIdPositiveResponse] + def get_custom_datev_eau_requests_eau_id(x_integration_id, eau_id, opts = {}) + data, _status_code, _headers = get_custom_datev_eau_requests_eau_id_with_http_info(x_integration_id, eau_id, opts) + data + end + + # Query the status of the eAU request + # This endpoint queries the status of the eAU request for the given DATEV integration. + # @param x_integration_id [String] ID of the integration you want to interact with. + # @param eau_id [String] GET /custom/datev/eau-requests/:eau_id Parameter + # @param [Hash] opts the optional parameters + # @return [Array<(GetCustomDatevEauRequestsEauIdPositiveResponse, Integer, Hash)>] GetCustomDatevEauRequestsEauIdPositiveResponse data, response status code and response headers + def get_custom_datev_eau_requests_eau_id_with_http_info(x_integration_id, eau_id, opts = {}) + if @api_client.config.debugging + @api_client.config.logger.debug 'Calling API: CustomEndpointsApi.get_custom_datev_eau_requests_eau_id ...' + end + # verify the required parameter 'x_integration_id' is set + if @api_client.config.client_side_validation && x_integration_id.nil? + fail ArgumentError, "Missing the required parameter 'x_integration_id' when calling CustomEndpointsApi.get_custom_datev_eau_requests_eau_id" + end + # verify the required parameter 'eau_id' is set + if @api_client.config.client_side_validation && eau_id.nil? + fail ArgumentError, "Missing the required parameter 'eau_id' when calling CustomEndpointsApi.get_custom_datev_eau_requests_eau_id" + end + # resource path + local_var_path = '/custom/datev/eau-requests/{eau_id}'.sub('{' + 'eau_id' + '}', CGI.escape(eau_id.to_s)) + + # query parameters + query_params = opts[:query_params] || {} + + # header parameters + header_params = opts[:header_params] || {} + # HTTP header 'Accept' (if needed) + header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept'] + header_params[:'X-Integration-Id'] = x_integration_id + + # form parameters + form_params = opts[:form_params] || {} + + # http body (model) + post_body = opts[:debug_body] + + # return_type + return_type = opts[:debug_return_type] || 'GetCustomDatevEauRequestsEauIdPositiveResponse' + + # auth_names + auth_names = opts[:debug_auth_names] || ['ApiKey'] + + new_options = opts.merge( + :operation => :"CustomEndpointsApi.get_custom_datev_eau_requests_eau_id", + :header_params => header_params, + :query_params => query_params, + :form_params => form_params, + :body => post_body, + :auth_names => auth_names, + :return_type => return_type + ) + + data, status_code, headers = @api_client.call_api(:GET, local_var_path, new_options) + if @api_client.config.debugging + @api_client.config.logger.debug "API called: CustomEndpointsApi#get_custom_datev_eau_requests_eau_id\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}" + end + return data, status_code, headers + end + + # 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. + # @param x_integration_id [String] ID of the integration you want to interact with. + # @param [Hash] opts the optional parameters + # @return [GetCustomDatevSystemInformationPositiveResponse] + def get_custom_datev_system_information(x_integration_id, opts = {}) + data, _status_code, _headers = get_custom_datev_system_information_with_http_info(x_integration_id, opts) + data + end + + # 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. + # @param x_integration_id [String] ID of the integration you want to interact with. + # @param [Hash] opts the optional parameters + # @return [Array<(GetCustomDatevSystemInformationPositiveResponse, Integer, Hash)>] GetCustomDatevSystemInformationPositiveResponse data, response status code and response headers + def get_custom_datev_system_information_with_http_info(x_integration_id, opts = {}) + if @api_client.config.debugging + @api_client.config.logger.debug 'Calling API: CustomEndpointsApi.get_custom_datev_system_information ...' + end + # verify the required parameter 'x_integration_id' is set + if @api_client.config.client_side_validation && x_integration_id.nil? + fail ArgumentError, "Missing the required parameter 'x_integration_id' when calling CustomEndpointsApi.get_custom_datev_system_information" + end + # resource path + local_var_path = '/custom/datev/system-information' + + # query parameters + query_params = opts[:query_params] || {} + + # header parameters + header_params = opts[:header_params] || {} + # HTTP header 'Accept' (if needed) + header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept'] + header_params[:'X-Integration-Id'] = x_integration_id + + # form parameters + form_params = opts[:form_params] || {} + + # http body (model) + post_body = opts[:debug_body] + + # return_type + return_type = opts[:debug_return_type] || 'GetCustomDatevSystemInformationPositiveResponse' + + # auth_names + auth_names = opts[:debug_auth_names] || ['ApiKey'] + + new_options = opts.merge( + :operation => :"CustomEndpointsApi.get_custom_datev_system_information", + :header_params => header_params, + :query_params => query_params, + :form_params => form_params, + :body => post_body, + :auth_names => auth_names, + :return_type => return_type + ) + + data, status_code, headers = @api_client.call_api(:GET, local_var_path, new_options) + if @api_client.config.debugging + @api_client.config.logger.debug "API called: CustomEndpointsApi#get_custom_datev_system_information\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}" + end + return data, status_code, headers + end + + # 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 } ``` + # @param x_integration_id [String] ID of the integration you want to interact with. + # @param [Hash] opts the optional parameters + # @option opts [PostCustomDatevDownloadDocumentRequestBody] :post_custom_datev_download_document_request_body POST /custom/datev/download-document Request body + # @return [PostCustomDatevDownloadDocumentPositiveResponse] + def post_custom_datev_download_document(x_integration_id, opts = {}) + data, _status_code, _headers = post_custom_datev_download_document_with_http_info(x_integration_id, opts) + data + end + + # Download Payroll Document + # Download a document from DATEV <Note> This endpoint requires the permission **Manage documents** to be enabled in [your scope config](/scopes). </Note> ### Example Request Body ```json { \"accounting_month\": \"2001-12-01\", \"document_type\": \"LOJE\", \"employee_id\": null } ``` + # @param x_integration_id [String] ID of the integration you want to interact with. + # @param [Hash] opts the optional parameters + # @option opts [PostCustomDatevDownloadDocumentRequestBody] :post_custom_datev_download_document_request_body POST /custom/datev/download-document Request body + # @return [Array<(PostCustomDatevDownloadDocumentPositiveResponse, Integer, Hash)>] PostCustomDatevDownloadDocumentPositiveResponse data, response status code and response headers + def post_custom_datev_download_document_with_http_info(x_integration_id, opts = {}) + if @api_client.config.debugging + @api_client.config.logger.debug 'Calling API: CustomEndpointsApi.post_custom_datev_download_document ...' + end + # verify the required parameter 'x_integration_id' is set + if @api_client.config.client_side_validation && x_integration_id.nil? + fail ArgumentError, "Missing the required parameter 'x_integration_id' when calling CustomEndpointsApi.post_custom_datev_download_document" + end + # resource path + local_var_path = '/custom/datev/download-document' + + # query parameters + query_params = opts[:query_params] || {} + + # header parameters + header_params = opts[:header_params] || {} + # HTTP header 'Accept' (if needed) + header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept'] + # HTTP header 'Content-Type' + content_type = @api_client.select_header_content_type(['application/json']) + if !content_type.nil? + header_params['Content-Type'] = content_type + end + header_params[:'X-Integration-Id'] = x_integration_id + + # form parameters + form_params = opts[:form_params] || {} + + # http body (model) + post_body = opts[:debug_body] || @api_client.object_to_http_body(opts[:'post_custom_datev_download_document_request_body']) + + # return_type + return_type = opts[:debug_return_type] || 'PostCustomDatevDownloadDocumentPositiveResponse' + + # auth_names + auth_names = opts[:debug_auth_names] || ['ApiKey'] + + new_options = opts.merge( + :operation => :"CustomEndpointsApi.post_custom_datev_download_document", + :header_params => header_params, + :query_params => query_params, + :form_params => form_params, + :body => post_body, + :auth_names => auth_names, + :return_type => return_type + ) + + data, status_code, headers = @api_client.call_api(:POST, local_var_path, new_options) + if @api_client.config.debugging + @api_client.config.logger.debug "API called: CustomEndpointsApi#post_custom_datev_download_document\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}" + end + return data, status_code, headers + end + + # 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\" } ``` + # @param x_integration_id [String] ID of the integration you want to interact with. + # @param employee_id [String] POST /custom/datev/employees/:employee_id/download-document Parameter + # @param [Hash] opts the optional parameters + # @option opts [PostCustomDatevEmployeesEmployeeIdDownloadDocumentRequestBody] :post_custom_datev_employees_employee_id_download_document_request_body POST /custom/datev/employees/:employee_id/download-document Request body + # @return [PostCustomDatevEmployeesEmployeeIdDownloadDocumentPositiveResponse] + def post_custom_datev_employees_employee_id_download_document(x_integration_id, employee_id, opts = {}) + data, _status_code, _headers = post_custom_datev_employees_employee_id_download_document_with_http_info(x_integration_id, employee_id, opts) + data + end + + # Download Payroll Document + # Download a document from DATEV <Note> This endpoint requires the permission **Manage documents** to be enabled in [your scope config](/scopes). </Note> ### Example Request Body ```json { \"accounting_month\": \"2001-12-01\", \"document_type\": \"LOJE\" } ``` + # @param x_integration_id [String] ID of the integration you want to interact with. + # @param employee_id [String] POST /custom/datev/employees/:employee_id/download-document Parameter + # @param [Hash] opts the optional parameters + # @option opts [PostCustomDatevEmployeesEmployeeIdDownloadDocumentRequestBody] :post_custom_datev_employees_employee_id_download_document_request_body POST /custom/datev/employees/:employee_id/download-document Request body + # @return [Array<(PostCustomDatevEmployeesEmployeeIdDownloadDocumentPositiveResponse, Integer, Hash)>] PostCustomDatevEmployeesEmployeeIdDownloadDocumentPositiveResponse data, response status code and response headers + def post_custom_datev_employees_employee_id_download_document_with_http_info(x_integration_id, employee_id, opts = {}) + if @api_client.config.debugging + @api_client.config.logger.debug 'Calling API: CustomEndpointsApi.post_custom_datev_employees_employee_id_download_document ...' + end + # verify the required parameter 'x_integration_id' is set + if @api_client.config.client_side_validation && x_integration_id.nil? + fail ArgumentError, "Missing the required parameter 'x_integration_id' when calling CustomEndpointsApi.post_custom_datev_employees_employee_id_download_document" + end + # resource path + local_var_path = '/custom/datev/employees/{employee_id}/download-document'.sub('{' + 'employee_id' + '}', CGI.escape(employee_id.to_s)) + + # query parameters + query_params = opts[:query_params] || {} + + # header parameters + header_params = opts[:header_params] || {} + # HTTP header 'Accept' (if needed) + header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept'] + # HTTP header 'Content-Type' + content_type = @api_client.select_header_content_type(['application/json']) + if !content_type.nil? + header_params['Content-Type'] = content_type + end + header_params[:'X-Integration-Id'] = x_integration_id + + # form parameters + form_params = opts[:form_params] || {} + + # http body (model) + post_body = opts[:debug_body] || @api_client.object_to_http_body(opts[:'post_custom_datev_employees_employee_id_download_document_request_body']) + + # return_type + return_type = opts[:debug_return_type] || 'PostCustomDatevEmployeesEmployeeIdDownloadDocumentPositiveResponse' + + # auth_names + auth_names = opts[:debug_auth_names] || ['ApiKey'] + + new_options = opts.merge( + :operation => :"CustomEndpointsApi.post_custom_datev_employees_employee_id_download_document", + :header_params => header_params, + :query_params => query_params, + :form_params => form_params, + :body => post_body, + :auth_names => auth_names, + :return_type => return_type + ) + + data, status_code, headers = @api_client.call_api(:POST, local_var_path, new_options) + if @api_client.config.debugging + @api_client.config.logger.debug "API called: CustomEndpointsApi#post_custom_datev_employees_employee_id_download_document\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}" + end + return data, status_code, headers + end + + # 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\" } ``` + # @param x_integration_id [String] ID of the integration you want to interact with. + # @param 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`) + # @param [Hash] opts the optional parameters + # @option opts [PostCustomDatevEmployeesEmployeeIdEauRequestsRequestBody] :post_custom_datev_employees_employee_id_eau_requests_request_body POST /custom/datev/employees/:employee_id/eau-requests Request body + # @return [PostCustomDatevEmployeesEmployeeIdEauRequestsPositiveResponse] + def post_custom_datev_employees_employee_id_eau_requests(x_integration_id, employee_id, opts = {}) + data, _status_code, _headers = post_custom_datev_employees_employee_id_eau_requests_with_http_info(x_integration_id, employee_id, opts) + data + end + + # Create eAU Request + # Create a request for an electronic certificate of incapacity for work (eAU). <Note> This endpoint requires the permission **Manage eAU** to be enabled in [your scope config](/scopes). </Note> ### Example Request Body ```json { \"start_work_incapacity\": \"2022-01-01\" } ``` + # @param x_integration_id [String] ID of the integration you want to interact with. + # @param 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`) + # @param [Hash] opts the optional parameters + # @option opts [PostCustomDatevEmployeesEmployeeIdEauRequestsRequestBody] :post_custom_datev_employees_employee_id_eau_requests_request_body POST /custom/datev/employees/:employee_id/eau-requests Request body + # @return [Array<(PostCustomDatevEmployeesEmployeeIdEauRequestsPositiveResponse, Integer, Hash)>] PostCustomDatevEmployeesEmployeeIdEauRequestsPositiveResponse data, response status code and response headers + def post_custom_datev_employees_employee_id_eau_requests_with_http_info(x_integration_id, employee_id, opts = {}) + if @api_client.config.debugging + @api_client.config.logger.debug 'Calling API: CustomEndpointsApi.post_custom_datev_employees_employee_id_eau_requests ...' + end + # verify the required parameter 'x_integration_id' is set + if @api_client.config.client_side_validation && x_integration_id.nil? + fail ArgumentError, "Missing the required parameter 'x_integration_id' when calling CustomEndpointsApi.post_custom_datev_employees_employee_id_eau_requests" + end + # verify the required parameter 'employee_id' is set + if @api_client.config.client_side_validation && employee_id.nil? + fail ArgumentError, "Missing the required parameter 'employee_id' when calling CustomEndpointsApi.post_custom_datev_employees_employee_id_eau_requests" + end + # resource path + local_var_path = '/custom/datev/employees/{employee_id}/eau-requests'.sub('{' + 'employee_id' + '}', CGI.escape(employee_id.to_s)) + + # query parameters + query_params = opts[:query_params] || {} + + # header parameters + header_params = opts[:header_params] || {} + # HTTP header 'Accept' (if needed) + header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept'] + # HTTP header 'Content-Type' + content_type = @api_client.select_header_content_type(['application/json']) + if !content_type.nil? + header_params['Content-Type'] = content_type + end + header_params[:'X-Integration-Id'] = x_integration_id + + # form parameters + form_params = opts[:form_params] || {} + + # http body (model) + post_body = opts[:debug_body] || @api_client.object_to_http_body(opts[:'post_custom_datev_employees_employee_id_eau_requests_request_body']) + + # return_type + return_type = opts[:debug_return_type] || 'PostCustomDatevEmployeesEmployeeIdEauRequestsPositiveResponse' + + # auth_names + auth_names = opts[:debug_auth_names] || ['ApiKey'] + + new_options = opts.merge( + :operation => :"CustomEndpointsApi.post_custom_datev_employees_employee_id_eau_requests", + :header_params => header_params, + :query_params => query_params, + :form_params => form_params, + :body => post_body, + :auth_names => auth_names, + :return_type => return_type + ) + + data, status_code, headers = @api_client.call_api(:POST, local_var_path, new_options) + if @api_client.config.debugging + @api_client.config.logger.debug "API called: CustomEndpointsApi#post_custom_datev_employees_employee_id_eau_requests\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}" + end + return data, status_code, headers + end + + # 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. + # @param x_integration_id [String] ID of the integration you want to interact with. + # @param [Hash] opts the optional parameters + # @option opts [PostCustomDatevPassthroughRequestBody] :post_custom_datev_passthrough_request_body POST /custom/datev/passthrough Request body + # @return [PostCustomDatevPassthroughPositiveResponse] + def post_custom_datev_passthrough(x_integration_id, opts = {}) + data, _status_code, _headers = post_custom_datev_passthrough_with_http_info(x_integration_id, opts) + data + end + + # 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. + # @param x_integration_id [String] ID of the integration you want to interact with. + # @param [Hash] opts the optional parameters + # @option opts [PostCustomDatevPassthroughRequestBody] :post_custom_datev_passthrough_request_body POST /custom/datev/passthrough Request body + # @return [Array<(PostCustomDatevPassthroughPositiveResponse, Integer, Hash)>] PostCustomDatevPassthroughPositiveResponse data, response status code and response headers + def post_custom_datev_passthrough_with_http_info(x_integration_id, opts = {}) + if @api_client.config.debugging + @api_client.config.logger.debug 'Calling API: CustomEndpointsApi.post_custom_datev_passthrough ...' + end + # verify the required parameter 'x_integration_id' is set + if @api_client.config.client_side_validation && x_integration_id.nil? + fail ArgumentError, "Missing the required parameter 'x_integration_id' when calling CustomEndpointsApi.post_custom_datev_passthrough" + end + # resource path + local_var_path = '/custom/datev/passthrough' + + # query parameters + query_params = opts[:query_params] || {} + + # header parameters + header_params = opts[:header_params] || {} + # HTTP header 'Accept' (if needed) + header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept'] + # HTTP header 'Content-Type' + content_type = @api_client.select_header_content_type(['application/json']) + if !content_type.nil? + header_params['Content-Type'] = content_type + end + header_params[:'X-Integration-Id'] = x_integration_id + + # form parameters + form_params = opts[:form_params] || {} + + # http body (model) + post_body = opts[:debug_body] || @api_client.object_to_http_body(opts[:'post_custom_datev_passthrough_request_body']) + + # return_type + return_type = opts[:debug_return_type] || 'PostCustomDatevPassthroughPositiveResponse' + + # auth_names + auth_names = opts[:debug_auth_names] || ['ApiKey'] + + new_options = opts.merge( + :operation => :"CustomEndpointsApi.post_custom_datev_passthrough", + :header_params => header_params, + :query_params => query_params, + :form_params => form_params, + :body => post_body, + :auth_names => auth_names, + :return_type => return_type + ) + + data, status_code, headers = @api_client.call_api(:POST, local_var_path, new_options) + if @api_client.config.debugging + @api_client.config.logger.debug "API called: CustomEndpointsApi#post_custom_datev_passthrough\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}" + end + return data, status_code, headers + end + + # 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. + # @param x_integration_id [String] ID of the integration you want to interact with. + # @param [Hash] opts the optional parameters + # @option opts [Object] :body POST /custom/datev/push-data/general Request body + # @return [PostCustomDatevPushDataGeneralPositiveResponse] + def post_custom_datev_push_data_general(x_integration_id, opts = {}) + data, _status_code, _headers = post_custom_datev_push_data_general_with_http_info(x_integration_id, opts) + data + end + + # 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. + # @param x_integration_id [String] ID of the integration you want to interact with. + # @param [Hash] opts the optional parameters + # @option opts [Object] :body POST /custom/datev/push-data/general Request body + # @return [Array<(PostCustomDatevPushDataGeneralPositiveResponse, Integer, Hash)>] PostCustomDatevPushDataGeneralPositiveResponse data, response status code and response headers + def post_custom_datev_push_data_general_with_http_info(x_integration_id, opts = {}) + if @api_client.config.debugging + @api_client.config.logger.debug 'Calling API: CustomEndpointsApi.post_custom_datev_push_data_general ...' + end + # verify the required parameter 'x_integration_id' is set + if @api_client.config.client_side_validation && x_integration_id.nil? + fail ArgumentError, "Missing the required parameter 'x_integration_id' when calling CustomEndpointsApi.post_custom_datev_push_data_general" + end + # resource path + local_var_path = '/custom/datev/push-data/general' + + # query parameters + query_params = opts[:query_params] || {} + + # header parameters + header_params = opts[:header_params] || {} + # HTTP header 'Accept' (if needed) + header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept'] + # HTTP header 'Content-Type' + content_type = @api_client.select_header_content_type(['application/json']) + if !content_type.nil? + header_params['Content-Type'] = content_type + end + header_params[:'X-Integration-Id'] = x_integration_id + + # form parameters + form_params = opts[:form_params] || {} + + # http body (model) + post_body = opts[:debug_body] || @api_client.object_to_http_body(opts[:'body']) + + # return_type + return_type = opts[:debug_return_type] || 'PostCustomDatevPushDataGeneralPositiveResponse' + + # auth_names + auth_names = opts[:debug_auth_names] || ['ApiKey'] + + new_options = opts.merge( + :operation => :"CustomEndpointsApi.post_custom_datev_push_data_general", + :header_params => header_params, + :query_params => query_params, + :form_params => form_params, + :body => post_body, + :auth_names => auth_names, + :return_type => return_type + ) + + data, status_code, headers = @api_client.call_api(:POST, local_var_path, new_options) + if @api_client.config.debugging + @api_client.config.logger.debug "API called: CustomEndpointsApi#post_custom_datev_push_data_general\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}" + end + return data, status_code, headers + end + + # 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. + # @param x_integration_id [String] ID of the integration you want to interact with. + # @param [Hash] opts the optional parameters + # @option opts [PostCustomDatevPushDataPayrollRequestBody] :post_custom_datev_push_data_payroll_request_body POST /custom/datev/push-data/payroll Request body + # @return [PostCustomDatevPushDataPayrollPositiveResponse] + def post_custom_datev_push_data_payroll(x_integration_id, opts = {}) + data, _status_code, _headers = post_custom_datev_push_data_payroll_with_http_info(x_integration_id, opts) + data + end + + # 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. + # @param x_integration_id [String] ID of the integration you want to interact with. + # @param [Hash] opts the optional parameters + # @option opts [PostCustomDatevPushDataPayrollRequestBody] :post_custom_datev_push_data_payroll_request_body POST /custom/datev/push-data/payroll Request body + # @return [Array<(PostCustomDatevPushDataPayrollPositiveResponse, Integer, Hash)>] PostCustomDatevPushDataPayrollPositiveResponse data, response status code and response headers + def post_custom_datev_push_data_payroll_with_http_info(x_integration_id, opts = {}) + if @api_client.config.debugging + @api_client.config.logger.debug 'Calling API: CustomEndpointsApi.post_custom_datev_push_data_payroll ...' + end + # verify the required parameter 'x_integration_id' is set + if @api_client.config.client_side_validation && x_integration_id.nil? + fail ArgumentError, "Missing the required parameter 'x_integration_id' when calling CustomEndpointsApi.post_custom_datev_push_data_payroll" + end + # resource path + local_var_path = '/custom/datev/push-data/payroll' + + # query parameters + query_params = opts[:query_params] || {} + + # header parameters + header_params = opts[:header_params] || {} + # HTTP header 'Accept' (if needed) + header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept'] + # HTTP header 'Content-Type' + content_type = @api_client.select_header_content_type(['application/json']) + if !content_type.nil? + header_params['Content-Type'] = content_type + end + header_params[:'X-Integration-Id'] = x_integration_id + + # form parameters + form_params = opts[:form_params] || {} + + # http body (model) + post_body = opts[:debug_body] || @api_client.object_to_http_body(opts[:'post_custom_datev_push_data_payroll_request_body']) + + # return_type + return_type = opts[:debug_return_type] || 'PostCustomDatevPushDataPayrollPositiveResponse' + + # auth_names + auth_names = opts[:debug_auth_names] || ['ApiKey'] + + new_options = opts.merge( + :operation => :"CustomEndpointsApi.post_custom_datev_push_data_payroll", + :header_params => header_params, + :query_params => query_params, + :form_params => form_params, + :body => post_body, + :auth_names => auth_names, + :return_type => return_type + ) + + data, status_code, headers = @api_client.call_api(:POST, local_var_path, new_options) + if @api_client.config.debugging + @api_client.config.logger.debug "API called: CustomEndpointsApi#post_custom_datev_push_data_payroll\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}" + end + return data, status_code, headers + end + + # 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 } ``` + # @param x_integration_id [String] ID of the integration you want to interact with. + # @param 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`) + # @param [Hash] opts the optional parameters + # @option opts [PostCustomSilaeEmployeesEmployeeIdPayrollSupplementsRequestBody] :post_custom_silae_employees_employee_id_payroll_supplements_request_body POST /custom/silae/employees/:employee_id/payroll-supplements Request body + # @return [PostCustomSilaeEmployeesEmployeeIdPayrollSupplementsPositiveResponse] + def post_custom_silae_employees_employee_id_payroll_supplements(x_integration_id, employee_id, opts = {}) + data, _status_code, _headers = post_custom_silae_employees_employee_id_payroll_supplements_with_http_info(x_integration_id, employee_id, opts) + data + end + + # Write Payroll Supplement + # Write a payroll supplement to Silae using the supplement code. <Note> This endpoint requires the permission **Manage payroll** to be enabled in [your scope config](/scopes). </Note> ### Example Request Body ```json { \"employee_id\": \"EvLV61zdahkN4ftPJbmPCkdv\", \"supplement_code\": \"200\", \"effective_date\": \"2024-01-14\", \"element_amount\": 6 } ``` + # @param x_integration_id [String] ID of the integration you want to interact with. + # @param 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`) + # @param [Hash] opts the optional parameters + # @option opts [PostCustomSilaeEmployeesEmployeeIdPayrollSupplementsRequestBody] :post_custom_silae_employees_employee_id_payroll_supplements_request_body POST /custom/silae/employees/:employee_id/payroll-supplements Request body + # @return [Array<(PostCustomSilaeEmployeesEmployeeIdPayrollSupplementsPositiveResponse, Integer, Hash)>] PostCustomSilaeEmployeesEmployeeIdPayrollSupplementsPositiveResponse data, response status code and response headers + def post_custom_silae_employees_employee_id_payroll_supplements_with_http_info(x_integration_id, employee_id, opts = {}) + if @api_client.config.debugging + @api_client.config.logger.debug 'Calling API: CustomEndpointsApi.post_custom_silae_employees_employee_id_payroll_supplements ...' + end + # verify the required parameter 'x_integration_id' is set + if @api_client.config.client_side_validation && x_integration_id.nil? + fail ArgumentError, "Missing the required parameter 'x_integration_id' when calling CustomEndpointsApi.post_custom_silae_employees_employee_id_payroll_supplements" + end + # verify the required parameter 'employee_id' is set + if @api_client.config.client_side_validation && employee_id.nil? + fail ArgumentError, "Missing the required parameter 'employee_id' when calling CustomEndpointsApi.post_custom_silae_employees_employee_id_payroll_supplements" + end + # resource path + local_var_path = '/custom/silae/employees/{employee_id}/payroll-supplements'.sub('{' + 'employee_id' + '}', CGI.escape(employee_id.to_s)) + + # query parameters + query_params = opts[:query_params] || {} + + # header parameters + header_params = opts[:header_params] || {} + # HTTP header 'Accept' (if needed) + header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept'] + # HTTP header 'Content-Type' + content_type = @api_client.select_header_content_type(['application/json']) + if !content_type.nil? + header_params['Content-Type'] = content_type + end + header_params[:'X-Integration-Id'] = x_integration_id + + # form parameters + form_params = opts[:form_params] || {} + + # http body (model) + post_body = opts[:debug_body] || @api_client.object_to_http_body(opts[:'post_custom_silae_employees_employee_id_payroll_supplements_request_body']) + + # return_type + return_type = opts[:debug_return_type] || 'PostCustomSilaeEmployeesEmployeeIdPayrollSupplementsPositiveResponse' + + # auth_names + auth_names = opts[:debug_auth_names] || ['ApiKey'] + + new_options = opts.merge( + :operation => :"CustomEndpointsApi.post_custom_silae_employees_employee_id_payroll_supplements", + :header_params => header_params, + :query_params => query_params, + :form_params => form_params, + :body => post_body, + :auth_names => auth_names, + :return_type => return_type + ) + + data, status_code, headers = @api_client.call_api(:POST, local_var_path, new_options) + if @api_client.config.debugging + @api_client.config.logger.debug "API called: CustomEndpointsApi#post_custom_silae_employees_employee_id_payroll_supplements\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}" + end + return data, status_code, headers + end + + # 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\" } ] } ``` + # @param x_integration_id [String] ID of the integration you want to interact with. + # @param 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`) + # @param [Hash] opts the optional parameters + # @option opts [PutCustomDatevEmployeesEmployeeIdCompensationsRequestBody] :put_custom_datev_employees_employee_id_compensations_request_body PUT /custom/datev/employees/:employee_id/compensations Request body + # @return [PutCustomDatevEmployeesEmployeeIdCompensationsPositiveResponse] + def put_custom_datev_employees_employee_id_compensations(x_integration_id, employee_id, opts = {}) + data, _status_code, _headers = put_custom_datev_employees_employee_id_compensations_with_http_info(x_integration_id, employee_id, opts) + data + end + + # 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. <Note> This endpoint requires the permission **Manage payroll** to be enabled in [your scope config](/scopes). </Note> ### 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\" } ] } ``` + # @param x_integration_id [String] ID of the integration you want to interact with. + # @param 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`) + # @param [Hash] opts the optional parameters + # @option opts [PutCustomDatevEmployeesEmployeeIdCompensationsRequestBody] :put_custom_datev_employees_employee_id_compensations_request_body PUT /custom/datev/employees/:employee_id/compensations Request body + # @return [Array<(PutCustomDatevEmployeesEmployeeIdCompensationsPositiveResponse, Integer, Hash)>] PutCustomDatevEmployeesEmployeeIdCompensationsPositiveResponse data, response status code and response headers + def put_custom_datev_employees_employee_id_compensations_with_http_info(x_integration_id, employee_id, opts = {}) + if @api_client.config.debugging + @api_client.config.logger.debug 'Calling API: CustomEndpointsApi.put_custom_datev_employees_employee_id_compensations ...' + end + # verify the required parameter 'x_integration_id' is set + if @api_client.config.client_side_validation && x_integration_id.nil? + fail ArgumentError, "Missing the required parameter 'x_integration_id' when calling CustomEndpointsApi.put_custom_datev_employees_employee_id_compensations" + end + # verify the required parameter 'employee_id' is set + if @api_client.config.client_side_validation && employee_id.nil? + fail ArgumentError, "Missing the required parameter 'employee_id' when calling CustomEndpointsApi.put_custom_datev_employees_employee_id_compensations" + end + # resource path + local_var_path = '/custom/datev/employees/{employee_id}/compensations'.sub('{' + 'employee_id' + '}', CGI.escape(employee_id.to_s)) + + # query parameters + query_params = opts[:query_params] || {} + + # header parameters + header_params = opts[:header_params] || {} + # HTTP header 'Accept' (if needed) + header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept'] + # HTTP header 'Content-Type' + content_type = @api_client.select_header_content_type(['application/json']) + if !content_type.nil? + header_params['Content-Type'] = content_type + end + header_params[:'X-Integration-Id'] = x_integration_id + + # form parameters + form_params = opts[:form_params] || {} + + # http body (model) + post_body = opts[:debug_body] || @api_client.object_to_http_body(opts[:'put_custom_datev_employees_employee_id_compensations_request_body']) + + # return_type + return_type = opts[:debug_return_type] || 'PutCustomDatevEmployeesEmployeeIdCompensationsPositiveResponse' + + # auth_names + auth_names = opts[:debug_auth_names] || ['ApiKey'] + + new_options = opts.merge( + :operation => :"CustomEndpointsApi.put_custom_datev_employees_employee_id_compensations", + :header_params => header_params, + :query_params => query_params, + :form_params => form_params, + :body => post_body, + :auth_names => auth_names, + :return_type => return_type + ) + + data, status_code, headers = @api_client.call_api(:PUT, local_var_path, new_options) + if @api_client.config.debugging + @api_client.config.logger.debug "API called: CustomEndpointsApi#put_custom_datev_employees_employee_id_compensations\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}" + end + return data, status_code, headers + end + + # 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 } ] } ``` + # @param x_integration_id [String] ID of the integration you want to interact with. + # @param 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`) + # @param [Hash] opts the optional parameters + # @option opts [PutCustomDatevEmployeesEmployeeIdPreparePayrollRequestBody] :put_custom_datev_employees_employee_id_prepare_payroll_request_body PUT /custom/datev/employees/:employee_id/prepare-payroll Request body + # @return [PutCustomDatevEmployeesEmployeeIdPreparePayrollPositiveResponse] + def put_custom_datev_employees_employee_id_prepare_payroll(x_integration_id, employee_id, opts = {}) + data, _status_code, _headers = put_custom_datev_employees_employee_id_prepare_payroll_with_http_info(x_integration_id, employee_id, opts) + data + end + + # 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. <Note> This endpoint requires the permission **Manage payroll** to be enabled in [your scope config](/scopes). </Note> ### 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 } ] } ``` + # @param x_integration_id [String] ID of the integration you want to interact with. + # @param 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`) + # @param [Hash] opts the optional parameters + # @option opts [PutCustomDatevEmployeesEmployeeIdPreparePayrollRequestBody] :put_custom_datev_employees_employee_id_prepare_payroll_request_body PUT /custom/datev/employees/:employee_id/prepare-payroll Request body + # @return [Array<(PutCustomDatevEmployeesEmployeeIdPreparePayrollPositiveResponse, Integer, Hash)>] PutCustomDatevEmployeesEmployeeIdPreparePayrollPositiveResponse data, response status code and response headers + def put_custom_datev_employees_employee_id_prepare_payroll_with_http_info(x_integration_id, employee_id, opts = {}) + if @api_client.config.debugging + @api_client.config.logger.debug 'Calling API: CustomEndpointsApi.put_custom_datev_employees_employee_id_prepare_payroll ...' + end + # verify the required parameter 'x_integration_id' is set + if @api_client.config.client_side_validation && x_integration_id.nil? + fail ArgumentError, "Missing the required parameter 'x_integration_id' when calling CustomEndpointsApi.put_custom_datev_employees_employee_id_prepare_payroll" + end + # verify the required parameter 'employee_id' is set + if @api_client.config.client_side_validation && employee_id.nil? + fail ArgumentError, "Missing the required parameter 'employee_id' when calling CustomEndpointsApi.put_custom_datev_employees_employee_id_prepare_payroll" + end + # resource path + local_var_path = '/custom/datev/employees/{employee_id}/prepare-payroll'.sub('{' + 'employee_id' + '}', CGI.escape(employee_id.to_s)) + + # query parameters + query_params = opts[:query_params] || {} + + # header parameters + header_params = opts[:header_params] || {} + # HTTP header 'Accept' (if needed) + header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept'] + # HTTP header 'Content-Type' + content_type = @api_client.select_header_content_type(['application/json']) + if !content_type.nil? + header_params['Content-Type'] = content_type + end + header_params[:'X-Integration-Id'] = x_integration_id + + # form parameters + form_params = opts[:form_params] || {} + + # http body (model) + post_body = opts[:debug_body] || @api_client.object_to_http_body(opts[:'put_custom_datev_employees_employee_id_prepare_payroll_request_body']) + + # return_type + return_type = opts[:debug_return_type] || 'PutCustomDatevEmployeesEmployeeIdPreparePayrollPositiveResponse' + + # auth_names + auth_names = opts[:debug_auth_names] || ['ApiKey'] + + new_options = opts.merge( + :operation => :"CustomEndpointsApi.put_custom_datev_employees_employee_id_prepare_payroll", + :header_params => header_params, + :query_params => query_params, + :form_params => form_params, + :body => post_body, + :auth_names => auth_names, + :return_type => return_type + ) + + data, status_code, headers = @api_client.call_api(:PUT, local_var_path, new_options) + if @api_client.config.debugging + @api_client.config.logger.debug "API called: CustomEndpointsApi#put_custom_datev_employees_employee_id_prepare_payroll\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}" + end + return data, status_code, headers + end + end +end diff --git a/lib/kombo_client/api/default_api.rb b/lib/kombo_client/api/default_api.rb new file mode 100644 index 0000000..58a2a60 --- /dev/null +++ b/lib/kombo_client/api/default_api.rb @@ -0,0 +1,803 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.17.0 + +=end + +require 'cgi' + +module Kombo + class DefaultApi + attr_accessor :api_client + + def initialize(api_client = ApiClient.default) + @api_client = api_client + end + # AI Apply: Application status updated + # @param x_kombo_signature [String] HMAC signature for webhook verification. See the webhook documentation for details on how to verify this signature. + # @param ai_apply_application_status_updated_webhook_payload [AiApplyApplicationStatusUpdatedWebhookPayload] + # @param [Hash] opts the optional parameters + # @return [nil] + def webhook_ai_apply_application_status_updated_webhook_payload(x_kombo_signature, ai_apply_application_status_updated_webhook_payload, opts = {}) + webhook_ai_apply_application_status_updated_webhook_payload_with_http_info(x_kombo_signature, ai_apply_application_status_updated_webhook_payload, opts) + nil + end + + # AI Apply: Application status updated + # @param x_kombo_signature [String] HMAC signature for webhook verification. See the webhook documentation for details on how to verify this signature. + # @param ai_apply_application_status_updated_webhook_payload [AiApplyApplicationStatusUpdatedWebhookPayload] + # @param [Hash] opts the optional parameters + # @return [Array<(nil, Integer, Hash)>] nil, response status code and response headers + def webhook_ai_apply_application_status_updated_webhook_payload_with_http_info(x_kombo_signature, ai_apply_application_status_updated_webhook_payload, opts = {}) + if @api_client.config.debugging + @api_client.config.logger.debug 'Calling API: DefaultApi.webhook_ai_apply_application_status_updated_webhook_payload ...' + end + # verify the required parameter 'x_kombo_signature' is set + if @api_client.config.client_side_validation && x_kombo_signature.nil? + fail ArgumentError, "Missing the required parameter 'x_kombo_signature' when calling DefaultApi.webhook_ai_apply_application_status_updated_webhook_payload" + end + # verify the required parameter 'ai_apply_application_status_updated_webhook_payload' is set + if @api_client.config.client_side_validation && ai_apply_application_status_updated_webhook_payload.nil? + fail ArgumentError, "Missing the required parameter 'ai_apply_application_status_updated_webhook_payload' when calling DefaultApi.webhook_ai_apply_application_status_updated_webhook_payload" + end + # resource path + local_var_path = '/ai-apply-application-status-updated' + + # query parameters + query_params = opts[:query_params] || {} + + # header parameters + header_params = opts[:header_params] || {} + # HTTP header 'Content-Type' + content_type = @api_client.select_header_content_type(['application/json']) + if !content_type.nil? + header_params['Content-Type'] = content_type + end + header_params[:'X-Kombo-Signature'] = x_kombo_signature + + # form parameters + form_params = opts[:form_params] || {} + + # http body (model) + post_body = opts[:debug_body] || @api_client.object_to_http_body(ai_apply_application_status_updated_webhook_payload) + + # return_type + return_type = opts[:debug_return_type] + + # auth_names + auth_names = opts[:debug_auth_names] || ['ApiKey'] + + new_options = opts.merge( + :operation => :"DefaultApi.webhook_ai_apply_application_status_updated_webhook_payload", + :header_params => header_params, + :query_params => query_params, + :form_params => form_params, + :body => post_body, + :auth_names => auth_names, + :return_type => return_type + ) + + data, status_code, headers = @api_client.call_api(:POST, local_var_path, new_options) + if @api_client.config.debugging + @api_client.config.logger.debug "API called: DefaultApi#webhook_ai_apply_application_status_updated_webhook_payload\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}" + end + return data, status_code, headers + end + + # AI Apply: Job posting status updated + # @param x_kombo_signature [String] HMAC signature for webhook verification. See the webhook documentation for details on how to verify this signature. + # @param ai_apply_job_posting_status_updated_webhook_payload [AiApplyJobPostingStatusUpdatedWebhookPayload] + # @param [Hash] opts the optional parameters + # @return [nil] + def webhook_ai_apply_job_posting_status_updated_webhook_payload(x_kombo_signature, ai_apply_job_posting_status_updated_webhook_payload, opts = {}) + webhook_ai_apply_job_posting_status_updated_webhook_payload_with_http_info(x_kombo_signature, ai_apply_job_posting_status_updated_webhook_payload, opts) + nil + end + + # AI Apply: Job posting status updated + # @param x_kombo_signature [String] HMAC signature for webhook verification. See the webhook documentation for details on how to verify this signature. + # @param ai_apply_job_posting_status_updated_webhook_payload [AiApplyJobPostingStatusUpdatedWebhookPayload] + # @param [Hash] opts the optional parameters + # @return [Array<(nil, Integer, Hash)>] nil, response status code and response headers + def webhook_ai_apply_job_posting_status_updated_webhook_payload_with_http_info(x_kombo_signature, ai_apply_job_posting_status_updated_webhook_payload, opts = {}) + if @api_client.config.debugging + @api_client.config.logger.debug 'Calling API: DefaultApi.webhook_ai_apply_job_posting_status_updated_webhook_payload ...' + end + # verify the required parameter 'x_kombo_signature' is set + if @api_client.config.client_side_validation && x_kombo_signature.nil? + fail ArgumentError, "Missing the required parameter 'x_kombo_signature' when calling DefaultApi.webhook_ai_apply_job_posting_status_updated_webhook_payload" + end + # verify the required parameter 'ai_apply_job_posting_status_updated_webhook_payload' is set + if @api_client.config.client_side_validation && ai_apply_job_posting_status_updated_webhook_payload.nil? + fail ArgumentError, "Missing the required parameter 'ai_apply_job_posting_status_updated_webhook_payload' when calling DefaultApi.webhook_ai_apply_job_posting_status_updated_webhook_payload" + end + # resource path + local_var_path = '/ai-apply-job-posting-status-updated' + + # query parameters + query_params = opts[:query_params] || {} + + # header parameters + header_params = opts[:header_params] || {} + # HTTP header 'Content-Type' + content_type = @api_client.select_header_content_type(['application/json']) + if !content_type.nil? + header_params['Content-Type'] = content_type + end + header_params[:'X-Kombo-Signature'] = x_kombo_signature + + # form parameters + form_params = opts[:form_params] || {} + + # http body (model) + post_body = opts[:debug_body] || @api_client.object_to_http_body(ai_apply_job_posting_status_updated_webhook_payload) + + # return_type + return_type = opts[:debug_return_type] + + # auth_names + auth_names = opts[:debug_auth_names] || ['ApiKey'] + + new_options = opts.merge( + :operation => :"DefaultApi.webhook_ai_apply_job_posting_status_updated_webhook_payload", + :header_params => header_params, + :query_params => query_params, + :form_params => form_params, + :body => post_body, + :auth_names => auth_names, + :return_type => return_type + ) + + data, status_code, headers = @api_client.call_api(:POST, local_var_path, new_options) + if @api_client.config.debugging + @api_client.config.logger.debug "API called: DefaultApi#webhook_ai_apply_job_posting_status_updated_webhook_payload\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}" + end + return data, status_code, headers + end + + # Assessment: Order received + # @param x_kombo_signature [String] HMAC signature for webhook verification. See the webhook documentation for details on how to verify this signature. + # @param assessment_order_received_webhook_payload [AssessmentOrderReceivedWebhookPayload] + # @param [Hash] opts the optional parameters + # @return [nil] + def webhook_assessment_order_received_webhook_payload(x_kombo_signature, assessment_order_received_webhook_payload, opts = {}) + webhook_assessment_order_received_webhook_payload_with_http_info(x_kombo_signature, assessment_order_received_webhook_payload, opts) + nil + end + + # Assessment: Order received + # @param x_kombo_signature [String] HMAC signature for webhook verification. See the webhook documentation for details on how to verify this signature. + # @param assessment_order_received_webhook_payload [AssessmentOrderReceivedWebhookPayload] + # @param [Hash] opts the optional parameters + # @return [Array<(nil, Integer, Hash)>] nil, response status code and response headers + def webhook_assessment_order_received_webhook_payload_with_http_info(x_kombo_signature, assessment_order_received_webhook_payload, opts = {}) + if @api_client.config.debugging + @api_client.config.logger.debug 'Calling API: DefaultApi.webhook_assessment_order_received_webhook_payload ...' + end + # verify the required parameter 'x_kombo_signature' is set + if @api_client.config.client_side_validation && x_kombo_signature.nil? + fail ArgumentError, "Missing the required parameter 'x_kombo_signature' when calling DefaultApi.webhook_assessment_order_received_webhook_payload" + end + # verify the required parameter 'assessment_order_received_webhook_payload' is set + if @api_client.config.client_side_validation && assessment_order_received_webhook_payload.nil? + fail ArgumentError, "Missing the required parameter 'assessment_order_received_webhook_payload' when calling DefaultApi.webhook_assessment_order_received_webhook_payload" + end + # resource path + local_var_path = '/assessment:order-received' + + # query parameters + query_params = opts[:query_params] || {} + + # header parameters + header_params = opts[:header_params] || {} + # HTTP header 'Content-Type' + content_type = @api_client.select_header_content_type(['application/json']) + if !content_type.nil? + header_params['Content-Type'] = content_type + end + header_params[:'X-Kombo-Signature'] = x_kombo_signature + + # form parameters + form_params = opts[:form_params] || {} + + # http body (model) + post_body = opts[:debug_body] || @api_client.object_to_http_body(assessment_order_received_webhook_payload) + + # return_type + return_type = opts[:debug_return_type] + + # auth_names + auth_names = opts[:debug_auth_names] || ['ApiKey'] + + new_options = opts.merge( + :operation => :"DefaultApi.webhook_assessment_order_received_webhook_payload", + :header_params => header_params, + :query_params => query_params, + :form_params => form_params, + :body => post_body, + :auth_names => auth_names, + :return_type => return_type + ) + + data, status_code, headers = @api_client.call_api(:POST, local_var_path, new_options) + if @api_client.config.debugging + @api_client.config.logger.debug "API called: DefaultApi#webhook_assessment_order_received_webhook_payload\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}" + end + return data, status_code, headers + end + + # Connection flow failed + # @param x_kombo_signature [String] HMAC signature for webhook verification. See the webhook documentation for details on how to verify this signature. + # @param connection_flow_failed_webhook_payload [ConnectionFlowFailedWebhookPayload] + # @param [Hash] opts the optional parameters + # @return [nil] + def webhook_connection_flow_failed_webhook_payload(x_kombo_signature, connection_flow_failed_webhook_payload, opts = {}) + webhook_connection_flow_failed_webhook_payload_with_http_info(x_kombo_signature, connection_flow_failed_webhook_payload, opts) + nil + end + + # Connection flow failed + # @param x_kombo_signature [String] HMAC signature for webhook verification. See the webhook documentation for details on how to verify this signature. + # @param connection_flow_failed_webhook_payload [ConnectionFlowFailedWebhookPayload] + # @param [Hash] opts the optional parameters + # @return [Array<(nil, Integer, Hash)>] nil, response status code and response headers + def webhook_connection_flow_failed_webhook_payload_with_http_info(x_kombo_signature, connection_flow_failed_webhook_payload, opts = {}) + if @api_client.config.debugging + @api_client.config.logger.debug 'Calling API: DefaultApi.webhook_connection_flow_failed_webhook_payload ...' + end + # verify the required parameter 'x_kombo_signature' is set + if @api_client.config.client_side_validation && x_kombo_signature.nil? + fail ArgumentError, "Missing the required parameter 'x_kombo_signature' when calling DefaultApi.webhook_connection_flow_failed_webhook_payload" + end + # verify the required parameter 'connection_flow_failed_webhook_payload' is set + if @api_client.config.client_side_validation && connection_flow_failed_webhook_payload.nil? + fail ArgumentError, "Missing the required parameter 'connection_flow_failed_webhook_payload' when calling DefaultApi.webhook_connection_flow_failed_webhook_payload" + end + # resource path + local_var_path = '/connection-flow-failed' + + # query parameters + query_params = opts[:query_params] || {} + + # header parameters + header_params = opts[:header_params] || {} + # HTTP header 'Content-Type' + content_type = @api_client.select_header_content_type(['application/json']) + if !content_type.nil? + header_params['Content-Type'] = content_type + end + header_params[:'X-Kombo-Signature'] = x_kombo_signature + + # form parameters + form_params = opts[:form_params] || {} + + # http body (model) + post_body = opts[:debug_body] || @api_client.object_to_http_body(connection_flow_failed_webhook_payload) + + # return_type + return_type = opts[:debug_return_type] + + # auth_names + auth_names = opts[:debug_auth_names] || ['ApiKey'] + + new_options = opts.merge( + :operation => :"DefaultApi.webhook_connection_flow_failed_webhook_payload", + :header_params => header_params, + :query_params => query_params, + :form_params => form_params, + :body => post_body, + :auth_names => auth_names, + :return_type => return_type + ) + + data, status_code, headers = @api_client.call_api(:POST, local_var_path, new_options) + if @api_client.config.debugging + @api_client.config.logger.debug "API called: DefaultApi#webhook_connection_flow_failed_webhook_payload\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}" + end + return data, status_code, headers + end + + # Data changed + # @param x_kombo_signature [String] HMAC signature for webhook verification. See the webhook documentation for details on how to verify this signature. + # @param data_changed_webhook_payload [DataChangedWebhookPayload] + # @param [Hash] opts the optional parameters + # @return [nil] + def webhook_data_changed_webhook_payload(x_kombo_signature, data_changed_webhook_payload, opts = {}) + webhook_data_changed_webhook_payload_with_http_info(x_kombo_signature, data_changed_webhook_payload, opts) + nil + end + + # Data changed + # @param x_kombo_signature [String] HMAC signature for webhook verification. See the webhook documentation for details on how to verify this signature. + # @param data_changed_webhook_payload [DataChangedWebhookPayload] + # @param [Hash] opts the optional parameters + # @return [Array<(nil, Integer, Hash)>] nil, response status code and response headers + def webhook_data_changed_webhook_payload_with_http_info(x_kombo_signature, data_changed_webhook_payload, opts = {}) + if @api_client.config.debugging + @api_client.config.logger.debug 'Calling API: DefaultApi.webhook_data_changed_webhook_payload ...' + end + # verify the required parameter 'x_kombo_signature' is set + if @api_client.config.client_side_validation && x_kombo_signature.nil? + fail ArgumentError, "Missing the required parameter 'x_kombo_signature' when calling DefaultApi.webhook_data_changed_webhook_payload" + end + # verify the required parameter 'data_changed_webhook_payload' is set + if @api_client.config.client_side_validation && data_changed_webhook_payload.nil? + fail ArgumentError, "Missing the required parameter 'data_changed_webhook_payload' when calling DefaultApi.webhook_data_changed_webhook_payload" + end + # resource path + local_var_path = '/data-changed' + + # query parameters + query_params = opts[:query_params] || {} + + # header parameters + header_params = opts[:header_params] || {} + # HTTP header 'Content-Type' + content_type = @api_client.select_header_content_type(['application/json']) + if !content_type.nil? + header_params['Content-Type'] = content_type + end + header_params[:'X-Kombo-Signature'] = x_kombo_signature + + # form parameters + form_params = opts[:form_params] || {} + + # http body (model) + post_body = opts[:debug_body] || @api_client.object_to_http_body(data_changed_webhook_payload) + + # return_type + return_type = opts[:debug_return_type] + + # auth_names + auth_names = opts[:debug_auth_names] || ['ApiKey'] + + new_options = opts.merge( + :operation => :"DefaultApi.webhook_data_changed_webhook_payload", + :header_params => header_params, + :query_params => query_params, + :form_params => form_params, + :body => post_body, + :auth_names => auth_names, + :return_type => return_type + ) + + data, status_code, headers = @api_client.call_api(:POST, local_var_path, new_options) + if @api_client.config.debugging + @api_client.config.logger.debug "API called: DefaultApi#webhook_data_changed_webhook_payload\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}" + end + return data, status_code, headers + end + + # Inline assessment: Order received + # @param x_kombo_signature [String] HMAC signature for webhook verification. See the webhook documentation for details on how to verify this signature. + # @param inline_assessment_order_received_webhook_payload [InlineAssessmentOrderReceivedWebhookPayload] + # @param [Hash] opts the optional parameters + # @return [nil] + def webhook_inline_assessment_order_received_webhook_payload(x_kombo_signature, inline_assessment_order_received_webhook_payload, opts = {}) + webhook_inline_assessment_order_received_webhook_payload_with_http_info(x_kombo_signature, inline_assessment_order_received_webhook_payload, opts) + nil + end + + # Inline assessment: Order received + # @param x_kombo_signature [String] HMAC signature for webhook verification. See the webhook documentation for details on how to verify this signature. + # @param inline_assessment_order_received_webhook_payload [InlineAssessmentOrderReceivedWebhookPayload] + # @param [Hash] opts the optional parameters + # @return [Array<(nil, Integer, Hash)>] nil, response status code and response headers + def webhook_inline_assessment_order_received_webhook_payload_with_http_info(x_kombo_signature, inline_assessment_order_received_webhook_payload, opts = {}) + if @api_client.config.debugging + @api_client.config.logger.debug 'Calling API: DefaultApi.webhook_inline_assessment_order_received_webhook_payload ...' + end + # verify the required parameter 'x_kombo_signature' is set + if @api_client.config.client_side_validation && x_kombo_signature.nil? + fail ArgumentError, "Missing the required parameter 'x_kombo_signature' when calling DefaultApi.webhook_inline_assessment_order_received_webhook_payload" + end + # verify the required parameter 'inline_assessment_order_received_webhook_payload' is set + if @api_client.config.client_side_validation && inline_assessment_order_received_webhook_payload.nil? + fail ArgumentError, "Missing the required parameter 'inline_assessment_order_received_webhook_payload' when calling DefaultApi.webhook_inline_assessment_order_received_webhook_payload" + end + # resource path + local_var_path = '/inline-assessment:order-received' + + # query parameters + query_params = opts[:query_params] || {} + + # header parameters + header_params = opts[:header_params] || {} + # HTTP header 'Content-Type' + content_type = @api_client.select_header_content_type(['application/json']) + if !content_type.nil? + header_params['Content-Type'] = content_type + end + header_params[:'X-Kombo-Signature'] = x_kombo_signature + + # form parameters + form_params = opts[:form_params] || {} + + # http body (model) + post_body = opts[:debug_body] || @api_client.object_to_http_body(inline_assessment_order_received_webhook_payload) + + # return_type + return_type = opts[:debug_return_type] + + # auth_names + auth_names = opts[:debug_auth_names] || ['ApiKey'] + + new_options = opts.merge( + :operation => :"DefaultApi.webhook_inline_assessment_order_received_webhook_payload", + :header_params => header_params, + :query_params => query_params, + :form_params => form_params, + :body => post_body, + :auth_names => auth_names, + :return_type => return_type + ) + + data, status_code, headers = @api_client.call_api(:POST, local_var_path, new_options) + if @api_client.config.debugging + @api_client.config.logger.debug "API called: DefaultApi#webhook_inline_assessment_order_received_webhook_payload\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}" + end + return data, status_code, headers + end + + # Integration created + # @param x_kombo_signature [String] HMAC signature for webhook verification. See the webhook documentation for details on how to verify this signature. + # @param integration_created_webhook_payload [IntegrationCreatedWebhookPayload] + # @param [Hash] opts the optional parameters + # @return [nil] + def webhook_integration_created_webhook_payload(x_kombo_signature, integration_created_webhook_payload, opts = {}) + webhook_integration_created_webhook_payload_with_http_info(x_kombo_signature, integration_created_webhook_payload, opts) + nil + end + + # Integration created + # @param x_kombo_signature [String] HMAC signature for webhook verification. See the webhook documentation for details on how to verify this signature. + # @param integration_created_webhook_payload [IntegrationCreatedWebhookPayload] + # @param [Hash] opts the optional parameters + # @return [Array<(nil, Integer, Hash)>] nil, response status code and response headers + def webhook_integration_created_webhook_payload_with_http_info(x_kombo_signature, integration_created_webhook_payload, opts = {}) + if @api_client.config.debugging + @api_client.config.logger.debug 'Calling API: DefaultApi.webhook_integration_created_webhook_payload ...' + end + # verify the required parameter 'x_kombo_signature' is set + if @api_client.config.client_side_validation && x_kombo_signature.nil? + fail ArgumentError, "Missing the required parameter 'x_kombo_signature' when calling DefaultApi.webhook_integration_created_webhook_payload" + end + # verify the required parameter 'integration_created_webhook_payload' is set + if @api_client.config.client_side_validation && integration_created_webhook_payload.nil? + fail ArgumentError, "Missing the required parameter 'integration_created_webhook_payload' when calling DefaultApi.webhook_integration_created_webhook_payload" + end + # resource path + local_var_path = '/integration-created' + + # query parameters + query_params = opts[:query_params] || {} + + # header parameters + header_params = opts[:header_params] || {} + # HTTP header 'Content-Type' + content_type = @api_client.select_header_content_type(['application/json']) + if !content_type.nil? + header_params['Content-Type'] = content_type + end + header_params[:'X-Kombo-Signature'] = x_kombo_signature + + # form parameters + form_params = opts[:form_params] || {} + + # http body (model) + post_body = opts[:debug_body] || @api_client.object_to_http_body(integration_created_webhook_payload) + + # return_type + return_type = opts[:debug_return_type] + + # auth_names + auth_names = opts[:debug_auth_names] || ['ApiKey'] + + new_options = opts.merge( + :operation => :"DefaultApi.webhook_integration_created_webhook_payload", + :header_params => header_params, + :query_params => query_params, + :form_params => form_params, + :body => post_body, + :auth_names => auth_names, + :return_type => return_type + ) + + data, status_code, headers = @api_client.call_api(:POST, local_var_path, new_options) + if @api_client.config.debugging + @api_client.config.logger.debug "API called: DefaultApi#webhook_integration_created_webhook_payload\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}" + end + return data, status_code, headers + end + + # Integration deleted + # @param x_kombo_signature [String] HMAC signature for webhook verification. See the webhook documentation for details on how to verify this signature. + # @param integration_deleted_webhook_payload [IntegrationDeletedWebhookPayload] + # @param [Hash] opts the optional parameters + # @return [nil] + def webhook_integration_deleted_webhook_payload(x_kombo_signature, integration_deleted_webhook_payload, opts = {}) + webhook_integration_deleted_webhook_payload_with_http_info(x_kombo_signature, integration_deleted_webhook_payload, opts) + nil + end + + # Integration deleted + # @param x_kombo_signature [String] HMAC signature for webhook verification. See the webhook documentation for details on how to verify this signature. + # @param integration_deleted_webhook_payload [IntegrationDeletedWebhookPayload] + # @param [Hash] opts the optional parameters + # @return [Array<(nil, Integer, Hash)>] nil, response status code and response headers + def webhook_integration_deleted_webhook_payload_with_http_info(x_kombo_signature, integration_deleted_webhook_payload, opts = {}) + if @api_client.config.debugging + @api_client.config.logger.debug 'Calling API: DefaultApi.webhook_integration_deleted_webhook_payload ...' + end + # verify the required parameter 'x_kombo_signature' is set + if @api_client.config.client_side_validation && x_kombo_signature.nil? + fail ArgumentError, "Missing the required parameter 'x_kombo_signature' when calling DefaultApi.webhook_integration_deleted_webhook_payload" + end + # verify the required parameter 'integration_deleted_webhook_payload' is set + if @api_client.config.client_side_validation && integration_deleted_webhook_payload.nil? + fail ArgumentError, "Missing the required parameter 'integration_deleted_webhook_payload' when calling DefaultApi.webhook_integration_deleted_webhook_payload" + end + # resource path + local_var_path = '/integration-deleted' + + # query parameters + query_params = opts[:query_params] || {} + + # header parameters + header_params = opts[:header_params] || {} + # HTTP header 'Content-Type' + content_type = @api_client.select_header_content_type(['application/json']) + if !content_type.nil? + header_params['Content-Type'] = content_type + end + header_params[:'X-Kombo-Signature'] = x_kombo_signature + + # form parameters + form_params = opts[:form_params] || {} + + # http body (model) + post_body = opts[:debug_body] || @api_client.object_to_http_body(integration_deleted_webhook_payload) + + # return_type + return_type = opts[:debug_return_type] + + # auth_names + auth_names = opts[:debug_auth_names] || ['ApiKey'] + + new_options = opts.merge( + :operation => :"DefaultApi.webhook_integration_deleted_webhook_payload", + :header_params => header_params, + :query_params => query_params, + :form_params => form_params, + :body => post_body, + :auth_names => auth_names, + :return_type => return_type + ) + + data, status_code, headers = @api_client.call_api(:POST, local_var_path, new_options) + if @api_client.config.debugging + @api_client.config.logger.debug "API called: DefaultApi#webhook_integration_deleted_webhook_payload\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}" + end + return data, status_code, headers + end + + # Integration state changed + # @param x_kombo_signature [String] HMAC signature for webhook verification. See the webhook documentation for details on how to verify this signature. + # @param integration_state_changed_webhook_payload [IntegrationStateChangedWebhookPayload] + # @param [Hash] opts the optional parameters + # @return [nil] + def webhook_integration_state_changed_webhook_payload(x_kombo_signature, integration_state_changed_webhook_payload, opts = {}) + webhook_integration_state_changed_webhook_payload_with_http_info(x_kombo_signature, integration_state_changed_webhook_payload, opts) + nil + end + + # Integration state changed + # @param x_kombo_signature [String] HMAC signature for webhook verification. See the webhook documentation for details on how to verify this signature. + # @param integration_state_changed_webhook_payload [IntegrationStateChangedWebhookPayload] + # @param [Hash] opts the optional parameters + # @return [Array<(nil, Integer, Hash)>] nil, response status code and response headers + def webhook_integration_state_changed_webhook_payload_with_http_info(x_kombo_signature, integration_state_changed_webhook_payload, opts = {}) + if @api_client.config.debugging + @api_client.config.logger.debug 'Calling API: DefaultApi.webhook_integration_state_changed_webhook_payload ...' + end + # verify the required parameter 'x_kombo_signature' is set + if @api_client.config.client_side_validation && x_kombo_signature.nil? + fail ArgumentError, "Missing the required parameter 'x_kombo_signature' when calling DefaultApi.webhook_integration_state_changed_webhook_payload" + end + # verify the required parameter 'integration_state_changed_webhook_payload' is set + if @api_client.config.client_side_validation && integration_state_changed_webhook_payload.nil? + fail ArgumentError, "Missing the required parameter 'integration_state_changed_webhook_payload' when calling DefaultApi.webhook_integration_state_changed_webhook_payload" + end + # resource path + local_var_path = '/integration-state-changed' + + # query parameters + query_params = opts[:query_params] || {} + + # header parameters + header_params = opts[:header_params] || {} + # HTTP header 'Content-Type' + content_type = @api_client.select_header_content_type(['application/json']) + if !content_type.nil? + header_params['Content-Type'] = content_type + end + header_params[:'X-Kombo-Signature'] = x_kombo_signature + + # form parameters + form_params = opts[:form_params] || {} + + # http body (model) + post_body = opts[:debug_body] || @api_client.object_to_http_body(integration_state_changed_webhook_payload) + + # return_type + return_type = opts[:debug_return_type] + + # auth_names + auth_names = opts[:debug_auth_names] || ['ApiKey'] + + new_options = opts.merge( + :operation => :"DefaultApi.webhook_integration_state_changed_webhook_payload", + :header_params => header_params, + :query_params => query_params, + :form_params => form_params, + :body => post_body, + :auth_names => auth_names, + :return_type => return_type + ) + + data, status_code, headers = @api_client.call_api(:POST, local_var_path, new_options) + if @api_client.config.debugging + @api_client.config.logger.debug "API called: DefaultApi#webhook_integration_state_changed_webhook_payload\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}" + end + return data, status_code, headers + end + + # Remote event received + # @param x_kombo_signature [String] HMAC signature for webhook verification. See the webhook documentation for details on how to verify this signature. + # @param remote_event_received_webhook_payload [RemoteEventReceivedWebhookPayload] + # @param [Hash] opts the optional parameters + # @return [nil] + def webhook_remote_event_received_webhook_payload(x_kombo_signature, remote_event_received_webhook_payload, opts = {}) + webhook_remote_event_received_webhook_payload_with_http_info(x_kombo_signature, remote_event_received_webhook_payload, opts) + nil + end + + # Remote event received + # @param x_kombo_signature [String] HMAC signature for webhook verification. See the webhook documentation for details on how to verify this signature. + # @param remote_event_received_webhook_payload [RemoteEventReceivedWebhookPayload] + # @param [Hash] opts the optional parameters + # @return [Array<(nil, Integer, Hash)>] nil, response status code and response headers + def webhook_remote_event_received_webhook_payload_with_http_info(x_kombo_signature, remote_event_received_webhook_payload, opts = {}) + if @api_client.config.debugging + @api_client.config.logger.debug 'Calling API: DefaultApi.webhook_remote_event_received_webhook_payload ...' + end + # verify the required parameter 'x_kombo_signature' is set + if @api_client.config.client_side_validation && x_kombo_signature.nil? + fail ArgumentError, "Missing the required parameter 'x_kombo_signature' when calling DefaultApi.webhook_remote_event_received_webhook_payload" + end + # verify the required parameter 'remote_event_received_webhook_payload' is set + if @api_client.config.client_side_validation && remote_event_received_webhook_payload.nil? + fail ArgumentError, "Missing the required parameter 'remote_event_received_webhook_payload' when calling DefaultApi.webhook_remote_event_received_webhook_payload" + end + # resource path + local_var_path = '/remote-event-received' + + # query parameters + query_params = opts[:query_params] || {} + + # header parameters + header_params = opts[:header_params] || {} + # HTTP header 'Content-Type' + content_type = @api_client.select_header_content_type(['application/json']) + if !content_type.nil? + header_params['Content-Type'] = content_type + end + header_params[:'X-Kombo-Signature'] = x_kombo_signature + + # form parameters + form_params = opts[:form_params] || {} + + # http body (model) + post_body = opts[:debug_body] || @api_client.object_to_http_body(remote_event_received_webhook_payload) + + # return_type + return_type = opts[:debug_return_type] + + # auth_names + auth_names = opts[:debug_auth_names] || ['ApiKey'] + + new_options = opts.merge( + :operation => :"DefaultApi.webhook_remote_event_received_webhook_payload", + :header_params => header_params, + :query_params => query_params, + :form_params => form_params, + :body => post_body, + :auth_names => auth_names, + :return_type => return_type + ) + + data, status_code, headers = @api_client.call_api(:POST, local_var_path, new_options) + if @api_client.config.debugging + @api_client.config.logger.debug "API called: DefaultApi#webhook_remote_event_received_webhook_payload\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}" + end + return data, status_code, headers + end + + # Sync finished + # @param x_kombo_signature [String] HMAC signature for webhook verification. See the webhook documentation for details on how to verify this signature. + # @param sync_finished_webhook_payload [SyncFinishedWebhookPayload] + # @param [Hash] opts the optional parameters + # @return [nil] + def webhook_sync_finished_webhook_payload(x_kombo_signature, sync_finished_webhook_payload, opts = {}) + webhook_sync_finished_webhook_payload_with_http_info(x_kombo_signature, sync_finished_webhook_payload, opts) + nil + end + + # Sync finished + # @param x_kombo_signature [String] HMAC signature for webhook verification. See the webhook documentation for details on how to verify this signature. + # @param sync_finished_webhook_payload [SyncFinishedWebhookPayload] + # @param [Hash] opts the optional parameters + # @return [Array<(nil, Integer, Hash)>] nil, response status code and response headers + def webhook_sync_finished_webhook_payload_with_http_info(x_kombo_signature, sync_finished_webhook_payload, opts = {}) + if @api_client.config.debugging + @api_client.config.logger.debug 'Calling API: DefaultApi.webhook_sync_finished_webhook_payload ...' + end + # verify the required parameter 'x_kombo_signature' is set + if @api_client.config.client_side_validation && x_kombo_signature.nil? + fail ArgumentError, "Missing the required parameter 'x_kombo_signature' when calling DefaultApi.webhook_sync_finished_webhook_payload" + end + # verify the required parameter 'sync_finished_webhook_payload' is set + if @api_client.config.client_side_validation && sync_finished_webhook_payload.nil? + fail ArgumentError, "Missing the required parameter 'sync_finished_webhook_payload' when calling DefaultApi.webhook_sync_finished_webhook_payload" + end + # resource path + local_var_path = '/sync-finished' + + # query parameters + query_params = opts[:query_params] || {} + + # header parameters + header_params = opts[:header_params] || {} + # HTTP header 'Content-Type' + content_type = @api_client.select_header_content_type(['application/json']) + if !content_type.nil? + header_params['Content-Type'] = content_type + end + header_params[:'X-Kombo-Signature'] = x_kombo_signature + + # form parameters + form_params = opts[:form_params] || {} + + # http body (model) + post_body = opts[:debug_body] || @api_client.object_to_http_body(sync_finished_webhook_payload) + + # return_type + return_type = opts[:debug_return_type] + + # auth_names + auth_names = opts[:debug_auth_names] || ['ApiKey'] + + new_options = opts.merge( + :operation => :"DefaultApi.webhook_sync_finished_webhook_payload", + :header_params => header_params, + :query_params => query_params, + :form_params => form_params, + :body => post_body, + :auth_names => auth_names, + :return_type => return_type + ) + + data, status_code, headers = @api_client.call_api(:POST, local_var_path, new_options) + if @api_client.config.debugging + @api_client.config.logger.debug "API called: DefaultApi#webhook_sync_finished_webhook_payload\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}" + end + return data, status_code, headers + end + end +end diff --git a/lib/kombo_client/api/general_api.rb b/lib/kombo_client/api/general_api.rb new file mode 100644 index 0000000..57bf650 --- /dev/null +++ b/lib/kombo_client/api/general_api.rb @@ -0,0 +1,1202 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.17.0 + +=end + +require 'cgi' + +module Kombo + class GeneralApi + attr_accessor :api_client + + def initialize(api_client = ApiClient.default) + @api_client = api_client + end + # Delete integration + # Delete the specified integration. **⚠️ This can not be undone!** + # @param integration_id [String] DELETE /integrations/:integration_id Parameter + # @param [Hash] opts the optional parameters + # @option opts [Object] :body DELETE /integrations/:integration_id Request body + # @return [DeleteIntegrationsIntegrationIdPositiveResponse] + def delete_integrations_integration_id(integration_id, opts = {}) + data, _status_code, _headers = delete_integrations_integration_id_with_http_info(integration_id, opts) + data + end + + # Delete integration + # Delete the specified integration. **⚠️ This can not be undone!** + # @param integration_id [String] DELETE /integrations/:integration_id Parameter + # @param [Hash] opts the optional parameters + # @option opts [Object] :body DELETE /integrations/:integration_id Request body + # @return [Array<(DeleteIntegrationsIntegrationIdPositiveResponse, Integer, Hash)>] DeleteIntegrationsIntegrationIdPositiveResponse data, response status code and response headers + def delete_integrations_integration_id_with_http_info(integration_id, opts = {}) + if @api_client.config.debugging + @api_client.config.logger.debug 'Calling API: GeneralApi.delete_integrations_integration_id ...' + end + # verify the required parameter 'integration_id' is set + if @api_client.config.client_side_validation && integration_id.nil? + fail ArgumentError, "Missing the required parameter 'integration_id' when calling GeneralApi.delete_integrations_integration_id" + end + # resource path + local_var_path = '/integrations/{integration_id}'.sub('{' + 'integration_id' + '}', CGI.escape(integration_id.to_s)) + + # query parameters + query_params = opts[:query_params] || {} + + # header parameters + header_params = opts[:header_params] || {} + # HTTP header 'Accept' (if needed) + header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept'] + # HTTP header 'Content-Type' + content_type = @api_client.select_header_content_type(['application/json']) + if !content_type.nil? + header_params['Content-Type'] = content_type + end + + # form parameters + form_params = opts[:form_params] || {} + + # http body (model) + post_body = opts[:debug_body] || @api_client.object_to_http_body(opts[:'body']) + + # return_type + return_type = opts[:debug_return_type] || 'DeleteIntegrationsIntegrationIdPositiveResponse' + + # auth_names + auth_names = opts[:debug_auth_names] || ['ApiKey'] + + new_options = opts.merge( + :operation => :"GeneralApi.delete_integrations_integration_id", + :header_params => header_params, + :query_params => query_params, + :form_params => form_params, + :body => post_body, + :auth_names => auth_names, + :return_type => return_type + ) + + data, status_code, headers = @api_client.call_api(:DELETE, local_var_path, new_options) + if @api_client.config.debugging + @api_client.config.logger.debug "API called: GeneralApi#delete_integrations_integration_id\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}" + end + return data, status_code, headers + end + + # Check API key + # Check whether your API key is working properly. + # @param [Hash] opts the optional parameters + # @return [GetCheckApiKeyPositiveResponse] + def get_check_api_key(opts = {}) + data, _status_code, _headers = get_check_api_key_with_http_info(opts) + data + end + + # Check API key + # Check whether your API key is working properly. + # @param [Hash] opts the optional parameters + # @return [Array<(GetCheckApiKeyPositiveResponse, Integer, Hash)>] GetCheckApiKeyPositiveResponse data, response status code and response headers + def get_check_api_key_with_http_info(opts = {}) + if @api_client.config.debugging + @api_client.config.logger.debug 'Calling API: GeneralApi.get_check_api_key ...' + end + # resource path + local_var_path = '/check-api-key' + + # query parameters + query_params = opts[:query_params] || {} + + # header parameters + header_params = opts[:header_params] || {} + # HTTP header 'Accept' (if needed) + header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept'] + + # form parameters + form_params = opts[:form_params] || {} + + # http body (model) + post_body = opts[:debug_body] + + # return_type + return_type = opts[:debug_return_type] || 'GetCheckApiKeyPositiveResponse' + + # auth_names + auth_names = opts[:debug_auth_names] || ['ApiKey'] + + new_options = opts.merge( + :operation => :"GeneralApi.get_check_api_key", + :header_params => header_params, + :query_params => query_params, + :form_params => form_params, + :body => post_body, + :auth_names => auth_names, + :return_type => return_type + ) + + data, status_code, headers = @api_client.call_api(:GET, local_var_path, new_options) + if @api_client.config.debugging + @api_client.config.logger.debug "API called: GeneralApi#get_check_api_key\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}" + end + return data, status_code, headers + end + + # Get integration details + # Get the specified integration with everything you need to display it to your customer. + # @param integration_id [String] GET /integrations/:integration_id Parameter + # @param [Hash] opts the optional parameters + # @return [GetIntegrationsIntegrationIdPositiveResponse] + def get_integrations_integration_id(integration_id, opts = {}) + data, _status_code, _headers = get_integrations_integration_id_with_http_info(integration_id, opts) + data + end + + # Get integration details + # Get the specified integration with everything you need to display it to your customer. + # @param integration_id [String] GET /integrations/:integration_id Parameter + # @param [Hash] opts the optional parameters + # @return [Array<(GetIntegrationsIntegrationIdPositiveResponse, Integer, Hash)>] GetIntegrationsIntegrationIdPositiveResponse data, response status code and response headers + def get_integrations_integration_id_with_http_info(integration_id, opts = {}) + if @api_client.config.debugging + @api_client.config.logger.debug 'Calling API: GeneralApi.get_integrations_integration_id ...' + end + # verify the required parameter 'integration_id' is set + if @api_client.config.client_side_validation && integration_id.nil? + fail ArgumentError, "Missing the required parameter 'integration_id' when calling GeneralApi.get_integrations_integration_id" + end + # resource path + local_var_path = '/integrations/{integration_id}'.sub('{' + 'integration_id' + '}', CGI.escape(integration_id.to_s)) + + # query parameters + query_params = opts[:query_params] || {} + + # header parameters + header_params = opts[:header_params] || {} + # HTTP header 'Accept' (if needed) + header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept'] + + # form parameters + form_params = opts[:form_params] || {} + + # http body (model) + post_body = opts[:debug_body] + + # return_type + return_type = opts[:debug_return_type] || 'GetIntegrationsIntegrationIdPositiveResponse' + + # auth_names + auth_names = opts[:debug_auth_names] || ['ApiKey'] + + new_options = opts.merge( + :operation => :"GeneralApi.get_integrations_integration_id", + :header_params => header_params, + :query_params => query_params, + :form_params => form_params, + :body => post_body, + :auth_names => auth_names, + :return_type => return_type + ) + + data, status_code, headers = @api_client.call_api(:GET, local_var_path, new_options) + if @api_client.config.debugging + @api_client.config.logger.debug "API called: GeneralApi#get_integrations_integration_id\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}" + end + return data, status_code, headers + end + + # 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* + # @param integration_id [String] GET /integrations/:integration_id/custom-fields Parameter + # @param [Hash] opts the optional parameters + # @option opts [String] :cursor An optional cursor string used for pagination. This can be retrieved from the `next` property of the previous page response. + # @option opts [Integer] :page_size The number of results to return per page. Maximum is 250. (default to 100) + # @return [GetIntegrationsIntegrationIdCustomFieldsPositiveResponse] + def get_integrations_integration_id_custom_fields(integration_id, opts = {}) + data, _status_code, _headers = get_integrations_integration_id_custom_fields_with_http_info(integration_id, opts) + data + end + + # 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* + # @param integration_id [String] GET /integrations/:integration_id/custom-fields Parameter + # @param [Hash] opts the optional parameters + # @option opts [String] :cursor An optional cursor string used for pagination. This can be retrieved from the `next` property of the previous page response. + # @option opts [Integer] :page_size The number of results to return per page. Maximum is 250. (default to 100) + # @return [Array<(GetIntegrationsIntegrationIdCustomFieldsPositiveResponse, Integer, Hash)>] GetIntegrationsIntegrationIdCustomFieldsPositiveResponse data, response status code and response headers + def get_integrations_integration_id_custom_fields_with_http_info(integration_id, opts = {}) + if @api_client.config.debugging + @api_client.config.logger.debug 'Calling API: GeneralApi.get_integrations_integration_id_custom_fields ...' + end + # verify the required parameter 'integration_id' is set + if @api_client.config.client_side_validation && integration_id.nil? + fail ArgumentError, "Missing the required parameter 'integration_id' when calling GeneralApi.get_integrations_integration_id_custom_fields" + end + if @api_client.config.client_side_validation && !opts[:'page_size'].nil? && opts[:'page_size'] > 250 + fail ArgumentError, 'invalid value for "opts[:"page_size"]" when calling GeneralApi.get_integrations_integration_id_custom_fields, must be smaller than or equal to 250.' + end + + if @api_client.config.client_side_validation && !opts[:'page_size'].nil? && opts[:'page_size'] < 1 + fail ArgumentError, 'invalid value for "opts[:"page_size"]" when calling GeneralApi.get_integrations_integration_id_custom_fields, must be greater than or equal to 1.' + end + + # resource path + local_var_path = '/integrations/{integration_id}/custom-fields'.sub('{' + 'integration_id' + '}', CGI.escape(integration_id.to_s)) + + # query parameters + query_params = opts[:query_params] || {} + query_params[:'cursor'] = opts[:'cursor'] if !opts[:'cursor'].nil? + query_params[:'page_size'] = opts[:'page_size'] if !opts[:'page_size'].nil? + + # header parameters + header_params = opts[:header_params] || {} + # HTTP header 'Accept' (if needed) + header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept'] + + # form parameters + form_params = opts[:form_params] || {} + + # http body (model) + post_body = opts[:debug_body] + + # return_type + return_type = opts[:debug_return_type] || 'GetIntegrationsIntegrationIdCustomFieldsPositiveResponse' + + # auth_names + auth_names = opts[:debug_auth_names] || ['ApiKey'] + + new_options = opts.merge( + :operation => :"GeneralApi.get_integrations_integration_id_custom_fields", + :header_params => header_params, + :query_params => query_params, + :form_params => form_params, + :body => post_body, + :auth_names => auth_names, + :return_type => return_type + ) + + data, status_code, headers = @api_client.call_api(:GET, local_var_path, new_options) + if @api_client.config.debugging + @api_client.config.logger.debug "API called: GeneralApi#get_integrations_integration_id_custom_fields\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}" + end + return data, status_code, headers + end + + # Get integration fields + # Get all fields available on the specified integration. **This includes the mapping to your custom fields** + # @param integration_id [String] GET /integrations/:integration_id/integration-fields Parameter + # @param [Hash] opts the optional parameters + # @option opts [String] :cursor An optional cursor string used for pagination. This can be retrieved from the `next` property of the previous page response. + # @option opts [Integer] :page_size The number of results to return per page. Maximum is 2000. (default to 100) + # @return [GetIntegrationsIntegrationIdIntegrationFieldsPositiveResponse] + def get_integrations_integration_id_integration_fields(integration_id, opts = {}) + data, _status_code, _headers = get_integrations_integration_id_integration_fields_with_http_info(integration_id, opts) + data + end + + # Get integration fields + # Get all fields available on the specified integration. **This includes the mapping to your custom fields** + # @param integration_id [String] GET /integrations/:integration_id/integration-fields Parameter + # @param [Hash] opts the optional parameters + # @option opts [String] :cursor An optional cursor string used for pagination. This can be retrieved from the `next` property of the previous page response. + # @option opts [Integer] :page_size The number of results to return per page. Maximum is 2000. (default to 100) + # @return [Array<(GetIntegrationsIntegrationIdIntegrationFieldsPositiveResponse, Integer, Hash)>] GetIntegrationsIntegrationIdIntegrationFieldsPositiveResponse data, response status code and response headers + def get_integrations_integration_id_integration_fields_with_http_info(integration_id, opts = {}) + if @api_client.config.debugging + @api_client.config.logger.debug 'Calling API: GeneralApi.get_integrations_integration_id_integration_fields ...' + end + # verify the required parameter 'integration_id' is set + if @api_client.config.client_side_validation && integration_id.nil? + fail ArgumentError, "Missing the required parameter 'integration_id' when calling GeneralApi.get_integrations_integration_id_integration_fields" + end + if @api_client.config.client_side_validation && !opts[:'page_size'].nil? && opts[:'page_size'] > 2000 + fail ArgumentError, 'invalid value for "opts[:"page_size"]" when calling GeneralApi.get_integrations_integration_id_integration_fields, must be smaller than or equal to 2000.' + end + + if @api_client.config.client_side_validation && !opts[:'page_size'].nil? && opts[:'page_size'] < 1 + fail ArgumentError, 'invalid value for "opts[:"page_size"]" when calling GeneralApi.get_integrations_integration_id_integration_fields, must be greater than or equal to 1.' + end + + # resource path + local_var_path = '/integrations/{integration_id}/integration-fields'.sub('{' + 'integration_id' + '}', CGI.escape(integration_id.to_s)) + + # query parameters + query_params = opts[:query_params] || {} + query_params[:'cursor'] = opts[:'cursor'] if !opts[:'cursor'].nil? + query_params[:'page_size'] = opts[:'page_size'] if !opts[:'page_size'].nil? + + # header parameters + header_params = opts[:header_params] || {} + # HTTP header 'Accept' (if needed) + header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept'] + + # form parameters + form_params = opts[:form_params] || {} + + # http body (model) + post_body = opts[:debug_body] + + # return_type + return_type = opts[:debug_return_type] || 'GetIntegrationsIntegrationIdIntegrationFieldsPositiveResponse' + + # auth_names + auth_names = opts[:debug_auth_names] || ['ApiKey'] + + new_options = opts.merge( + :operation => :"GeneralApi.get_integrations_integration_id_integration_fields", + :header_params => header_params, + :query_params => query_params, + :form_params => form_params, + :body => post_body, + :auth_names => auth_names, + :return_type => return_type + ) + + data, status_code, headers = @api_client.call_api(:GET, local_var_path, new_options) + if @api_client.config.debugging + @api_client.config.logger.debug "API called: GeneralApi#get_integrations_integration_id_integration_fields\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}" + end + return data, status_code, headers + end + + # 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. + # @param [Hash] opts the optional parameters + # @option opts [String] :ids Filter by a comma-separated list of IDs such as `222k7eCGyUdgt2JWZDNnkDs3,B5DVmypWENfU6eMe6gYDyJG3`. + # @option opts [String] :remote_ids Filter by a comma-separated list of remote IDs. + # @option opts [String] :title_contains Filter by the `title` field. Can be used to find courses by keywords present in the course title. + # @return [GetLmsCoursesPositiveResponse] + def get_lms_courses(opts = {}) + data, _status_code, _headers = get_lms_courses_with_http_info(opts) + data + end + + # Get courses + # Get courses <Warning>**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.</Warning> Retrieve all courses available in the LMS. Courses are structured learning programs that contain ordered content items and develop specific skills. + # @param [Hash] opts the optional parameters + # @option opts [String] :ids Filter by a comma-separated list of IDs such as `222k7eCGyUdgt2JWZDNnkDs3,B5DVmypWENfU6eMe6gYDyJG3`. + # @option opts [String] :remote_ids Filter by a comma-separated list of remote IDs. + # @option opts [String] :title_contains Filter by the `title` field. Can be used to find courses by keywords present in the course title. + # @return [Array<(GetLmsCoursesPositiveResponse, Integer, Hash)>] GetLmsCoursesPositiveResponse data, response status code and response headers + def get_lms_courses_with_http_info(opts = {}) + if @api_client.config.debugging + @api_client.config.logger.debug 'Calling API: GeneralApi.get_lms_courses ...' + end + # resource path + local_var_path = '/lms/courses' + + # query parameters + query_params = opts[:query_params] || {} + query_params[:'ids'] = opts[:'ids'] if !opts[:'ids'].nil? + query_params[:'remote_ids'] = opts[:'remote_ids'] if !opts[:'remote_ids'].nil? + query_params[:'title_contains'] = opts[:'title_contains'] if !opts[:'title_contains'].nil? + + # header parameters + header_params = opts[:header_params] || {} + # HTTP header 'Accept' (if needed) + header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept'] + + # form parameters + form_params = opts[:form_params] || {} + + # http body (model) + post_body = opts[:debug_body] + + # return_type + return_type = opts[:debug_return_type] || 'GetLmsCoursesPositiveResponse' + + # auth_names + auth_names = opts[:debug_auth_names] || ['ApiKey'] + + new_options = opts.merge( + :operation => :"GeneralApi.get_lms_courses", + :header_params => header_params, + :query_params => query_params, + :form_params => form_params, + :body => post_body, + :auth_names => auth_names, + :return_type => return_type + ) + + data, status_code, headers = @api_client.call_api(:GET, local_var_path, new_options) + if @api_client.config.debugging + @api_client.config.logger.debug "API called: GeneralApi#get_lms_courses\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}" + end + return data, status_code, headers + end + + # 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. + # @param [Hash] opts the optional parameters + # @option opts [String] :ids Filter by a comma-separated list of IDs such as `222k7eCGyUdgt2JWZDNnkDs3,B5DVmypWENfU6eMe6gYDyJG3`. + # @option opts [String] :remote_ids Filter by a comma-separated list of remote IDs. + # @option opts [String] :email Filter users by their work email address. + # @option opts [GetLmsUsersParameterStatus] :status Filter users by their current status. + # @return [GetLmsUsersPositiveResponse] + def get_lms_users(opts = {}) + data, _status_code, _headers = get_lms_users_with_http_info(opts) + data + end + + # Get users + # Get users <Warning>**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.</Warning> 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. + # @param [Hash] opts the optional parameters + # @option opts [String] :ids Filter by a comma-separated list of IDs such as `222k7eCGyUdgt2JWZDNnkDs3,B5DVmypWENfU6eMe6gYDyJG3`. + # @option opts [String] :remote_ids Filter by a comma-separated list of remote IDs. + # @option opts [String] :email Filter users by their work email address. + # @option opts [GetLmsUsersParameterStatus] :status Filter users by their current status. + # @return [Array<(GetLmsUsersPositiveResponse, Integer, Hash)>] GetLmsUsersPositiveResponse data, response status code and response headers + def get_lms_users_with_http_info(opts = {}) + if @api_client.config.debugging + @api_client.config.logger.debug 'Calling API: GeneralApi.get_lms_users ...' + end + # resource path + local_var_path = '/lms/users' + + # query parameters + query_params = opts[:query_params] || {} + query_params[:'ids'] = opts[:'ids'] if !opts[:'ids'].nil? + query_params[:'remote_ids'] = opts[:'remote_ids'] if !opts[:'remote_ids'].nil? + query_params[:'email'] = opts[:'email'] if !opts[:'email'].nil? + query_params[:'status'] = opts[:'status'] if !opts[:'status'].nil? + + # header parameters + header_params = opts[:header_params] || {} + # HTTP header 'Accept' (if needed) + header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept'] + + # form parameters + form_params = opts[:form_params] || {} + + # http body (model) + post_body = opts[:debug_body] + + # return_type + return_type = opts[:debug_return_type] || 'GetLmsUsersPositiveResponse' + + # auth_names + auth_names = opts[:debug_auth_names] || ['ApiKey'] + + new_options = opts.merge( + :operation => :"GeneralApi.get_lms_users", + :header_params => header_params, + :query_params => query_params, + :form_params => form_params, + :body => post_body, + :auth_names => auth_names, + :return_type => return_type + ) + + data, status_code, headers = @api_client.call_api(:GET, local_var_path, new_options) + if @api_client.config.debugging + @api_client.config.logger.debug "API called: GeneralApi#get_lms_users\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}" + end + return data, status_code, headers + end + + # 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. + # @param category [GetToolsCategoryParameterCategory] GET /tools/:category Parameter + # @param [Hash] opts the optional parameters + # @return [GetToolsCategoryPositiveResponse] + def get_tools_category(category, opts = {}) + data, _status_code, _headers = get_tools_category_with_http_info(category, opts) + data + end + + # 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. + # @param category [GetToolsCategoryParameterCategory] GET /tools/:category Parameter + # @param [Hash] opts the optional parameters + # @return [Array<(GetToolsCategoryPositiveResponse, Integer, Hash)>] GetToolsCategoryPositiveResponse data, response status code and response headers + def get_tools_category_with_http_info(category, opts = {}) + if @api_client.config.debugging + @api_client.config.logger.debug 'Calling API: GeneralApi.get_tools_category ...' + end + # verify the required parameter 'category' is set + if @api_client.config.client_side_validation && category.nil? + fail ArgumentError, "Missing the required parameter 'category' when calling GeneralApi.get_tools_category" + end + # resource path + local_var_path = '/tools/{category}'.sub('{' + 'category' + '}', CGI.escape(category.to_s)) + + # query parameters + query_params = opts[:query_params] || {} + + # header parameters + header_params = opts[:header_params] || {} + # HTTP header 'Accept' (if needed) + header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept'] + + # form parameters + form_params = opts[:form_params] || {} + + # http body (model) + post_body = opts[:debug_body] + + # return_type + return_type = opts[:debug_return_type] || 'GetToolsCategoryPositiveResponse' + + # auth_names + auth_names = opts[:debug_auth_names] || ['ApiKey'] + + new_options = opts.merge( + :operation => :"GeneralApi.get_tools_category", + :header_params => header_params, + :query_params => query_params, + :form_params => form_params, + :body => post_body, + :auth_names => auth_names, + :return_type => return_type + ) + + data, status_code, headers = @api_client.call_api(:GET, local_var_path, new_options) + if @api_client.config.debugging + @api_client.config.logger.debug "API called: GeneralApi#get_tools_category\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}" + end + return data, status_code, headers + end + + # 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. + # @param integration_id [String] PATCH /integrations/:integration_id/integration-fields/:integration_field_id Parameter + # @param integration_field_id [String] PATCH /integrations/:integration_id/integration-fields/:integration_field_id Parameter + # @param [Hash] opts the optional parameters + # @option opts [PatchIntegrationsIntegrationIdIntegrationFieldsIntegrationFieldIdRequestBody] :patch_integrations_integration_id_integration_fields_integration_field_id_request_body PATCH /integrations/:integration_id/integration-fields/:integration_field_id Request body + # @return [PatchIntegrationsIntegrationIdIntegrationFieldsIntegrationFieldIdPositiveResponse] + def patch_integrations_integration_id_integration_fields_integration_field_id(integration_id, integration_field_id, opts = {}) + data, _status_code, _headers = patch_integrations_integration_id_integration_fields_integration_field_id_with_http_info(integration_id, integration_field_id, opts) + data + end + + # 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. + # @param integration_id [String] PATCH /integrations/:integration_id/integration-fields/:integration_field_id Parameter + # @param integration_field_id [String] PATCH /integrations/:integration_id/integration-fields/:integration_field_id Parameter + # @param [Hash] opts the optional parameters + # @option opts [PatchIntegrationsIntegrationIdIntegrationFieldsIntegrationFieldIdRequestBody] :patch_integrations_integration_id_integration_fields_integration_field_id_request_body PATCH /integrations/:integration_id/integration-fields/:integration_field_id Request body + # @return [Array<(PatchIntegrationsIntegrationIdIntegrationFieldsIntegrationFieldIdPositiveResponse, Integer, Hash)>] PatchIntegrationsIntegrationIdIntegrationFieldsIntegrationFieldIdPositiveResponse data, response status code and response headers + def patch_integrations_integration_id_integration_fields_integration_field_id_with_http_info(integration_id, integration_field_id, opts = {}) + if @api_client.config.debugging + @api_client.config.logger.debug 'Calling API: GeneralApi.patch_integrations_integration_id_integration_fields_integration_field_id ...' + end + # verify the required parameter 'integration_id' is set + if @api_client.config.client_side_validation && integration_id.nil? + fail ArgumentError, "Missing the required parameter 'integration_id' when calling GeneralApi.patch_integrations_integration_id_integration_fields_integration_field_id" + end + # verify the required parameter 'integration_field_id' is set + if @api_client.config.client_side_validation && integration_field_id.nil? + fail ArgumentError, "Missing the required parameter 'integration_field_id' when calling GeneralApi.patch_integrations_integration_id_integration_fields_integration_field_id" + end + # resource path + local_var_path = '/integrations/{integration_id}/integration-fields/{integration_field_id}'.sub('{' + 'integration_id' + '}', CGI.escape(integration_id.to_s)).sub('{' + 'integration_field_id' + '}', CGI.escape(integration_field_id.to_s)) + + # query parameters + query_params = opts[:query_params] || {} + + # header parameters + header_params = opts[:header_params] || {} + # HTTP header 'Accept' (if needed) + header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept'] + # HTTP header 'Content-Type' + content_type = @api_client.select_header_content_type(['application/json']) + if !content_type.nil? + header_params['Content-Type'] = content_type + end + + # form parameters + form_params = opts[:form_params] || {} + + # http body (model) + post_body = opts[:debug_body] || @api_client.object_to_http_body(opts[:'patch_integrations_integration_id_integration_fields_integration_field_id_request_body']) + + # return_type + return_type = opts[:debug_return_type] || 'PatchIntegrationsIntegrationIdIntegrationFieldsIntegrationFieldIdPositiveResponse' + + # auth_names + auth_names = opts[:debug_auth_names] || ['ApiKey'] + + new_options = opts.merge( + :operation => :"GeneralApi.patch_integrations_integration_id_integration_fields_integration_field_id", + :header_params => header_params, + :query_params => query_params, + :form_params => form_params, + :body => post_body, + :auth_names => auth_names, + :return_type => return_type + ) + + data, status_code, headers = @api_client.call_api(:PATCH, local_var_path, new_options) + if @api_client.config.debugging + @api_client.config.logger.debug "API called: GeneralApi#patch_integrations_integration_id_integration_fields_integration_field_id\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}" + end + return data, status_code, headers + end + + # 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. + # @param progress_id [String] The ID of the progress entry + # @param [Hash] opts the optional parameters + # @option opts [PatchLmsProgressProgressIdRequestBody] :patch_lms_progress_progress_id_request_body PATCH /lms/progress/:progress_id Request body + # @return [PatchLmsProgressProgressIdPositiveResponse] + def patch_lms_progress_progress_id(progress_id, opts = {}) + data, _status_code, _headers = patch_lms_progress_progress_id_with_http_info(progress_id, opts) + data + end + + # Update progress + # Update progress <Warning>**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.</Warning> Update an existing progress entry. Use this to record changes in status, scores, completion dates, or other learning metrics. + # @param progress_id [String] The ID of the progress entry + # @param [Hash] opts the optional parameters + # @option opts [PatchLmsProgressProgressIdRequestBody] :patch_lms_progress_progress_id_request_body PATCH /lms/progress/:progress_id Request body + # @return [Array<(PatchLmsProgressProgressIdPositiveResponse, Integer, Hash)>] PatchLmsProgressProgressIdPositiveResponse data, response status code and response headers + def patch_lms_progress_progress_id_with_http_info(progress_id, opts = {}) + if @api_client.config.debugging + @api_client.config.logger.debug 'Calling API: GeneralApi.patch_lms_progress_progress_id ...' + end + # verify the required parameter 'progress_id' is set + if @api_client.config.client_side_validation && progress_id.nil? + fail ArgumentError, "Missing the required parameter 'progress_id' when calling GeneralApi.patch_lms_progress_progress_id" + end + # resource path + local_var_path = '/lms/progress/{progress_id}'.sub('{' + 'progress_id' + '}', CGI.escape(progress_id.to_s)) + + # query parameters + query_params = opts[:query_params] || {} + + # header parameters + header_params = opts[:header_params] || {} + # HTTP header 'Accept' (if needed) + header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept'] + # HTTP header 'Content-Type' + content_type = @api_client.select_header_content_type(['application/json']) + if !content_type.nil? + header_params['Content-Type'] = content_type + end + + # form parameters + form_params = opts[:form_params] || {} + + # http body (model) + post_body = opts[:debug_body] || @api_client.object_to_http_body(opts[:'patch_lms_progress_progress_id_request_body']) + + # return_type + return_type = opts[:debug_return_type] || 'PatchLmsProgressProgressIdPositiveResponse' + + # auth_names + auth_names = opts[:debug_auth_names] || ['ApiKey'] + + new_options = opts.merge( + :operation => :"GeneralApi.patch_lms_progress_progress_id", + :header_params => header_params, + :query_params => query_params, + :form_params => form_params, + :body => post_body, + :auth_names => auth_names, + :return_type => return_type + ) + + data, status_code, headers = @api_client.call_api(:PATCH, local_var_path, new_options) + if @api_client.config.debugging + @api_client.config.logger.debug "API called: GeneralApi#patch_lms_progress_progress_id\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}" + end + return data, status_code, headers + end + + # 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). + # @param x_integration_id [String] ID of the integration you want to interact with. + # @param [Hash] opts the optional parameters + # @option opts [PostForceSyncRequestBody] :post_force_sync_request_body POST /force-sync Request body + # @return [PostForceSyncPositiveResponse] + def post_force_sync(x_integration_id, opts = {}) + data, _status_code, _headers = post_force_sync_with_http_info(x_integration_id, opts) + data + end + + # Trigger sync + # Trigger a sync for a specific integration. <Warning>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).</Warning> + # @param x_integration_id [String] ID of the integration you want to interact with. + # @param [Hash] opts the optional parameters + # @option opts [PostForceSyncRequestBody] :post_force_sync_request_body POST /force-sync Request body + # @return [Array<(PostForceSyncPositiveResponse, Integer, Hash)>] PostForceSyncPositiveResponse data, response status code and response headers + def post_force_sync_with_http_info(x_integration_id, opts = {}) + if @api_client.config.debugging + @api_client.config.logger.debug 'Calling API: GeneralApi.post_force_sync ...' + end + # verify the required parameter 'x_integration_id' is set + if @api_client.config.client_side_validation && x_integration_id.nil? + fail ArgumentError, "Missing the required parameter 'x_integration_id' when calling GeneralApi.post_force_sync" + end + # resource path + local_var_path = '/force-sync' + + # query parameters + query_params = opts[:query_params] || {} + + # header parameters + header_params = opts[:header_params] || {} + # HTTP header 'Accept' (if needed) + header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept'] + # HTTP header 'Content-Type' + content_type = @api_client.select_header_content_type(['application/json']) + if !content_type.nil? + header_params['Content-Type'] = content_type + end + header_params[:'X-Integration-Id'] = x_integration_id + + # form parameters + form_params = opts[:form_params] || {} + + # http body (model) + post_body = opts[:debug_body] || @api_client.object_to_http_body(opts[:'post_force_sync_request_body']) + + # return_type + return_type = opts[:debug_return_type] || 'PostForceSyncPositiveResponse' + + # auth_names + auth_names = opts[:debug_auth_names] || ['ApiKey'] + + new_options = opts.merge( + :operation => :"GeneralApi.post_force_sync", + :header_params => header_params, + :query_params => query_params, + :form_params => form_params, + :body => post_body, + :auth_names => auth_names, + :return_type => return_type + ) + + data, status_code, headers = @api_client.call_api(:POST, local_var_path, new_options) + if @api_client.config.debugging + @api_client.config.logger.debug "API called: GeneralApi#post_force_sync\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}" + end + return data, status_code, headers + end + + # 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\" } ``` + # @param integration_id [String] POST /integrations/:integration_id/relink Parameter + # @param [Hash] opts the optional parameters + # @option opts [PostIntegrationsIntegrationIdRelinkRequestBody] :post_integrations_integration_id_relink_request_body POST /integrations/:integration_id/relink Request body + # @return [PostIntegrationsIntegrationIdRelinkPositiveResponse] + def post_integrations_integration_id_relink(integration_id, opts = {}) + data, _status_code, _headers = post_integrations_integration_id_relink_with_http_info(integration_id, opts) + data + end + + # 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\" } ``` + # @param integration_id [String] POST /integrations/:integration_id/relink Parameter + # @param [Hash] opts the optional parameters + # @option opts [PostIntegrationsIntegrationIdRelinkRequestBody] :post_integrations_integration_id_relink_request_body POST /integrations/:integration_id/relink Request body + # @return [Array<(PostIntegrationsIntegrationIdRelinkPositiveResponse, Integer, Hash)>] PostIntegrationsIntegrationIdRelinkPositiveResponse data, response status code and response headers + def post_integrations_integration_id_relink_with_http_info(integration_id, opts = {}) + if @api_client.config.debugging + @api_client.config.logger.debug 'Calling API: GeneralApi.post_integrations_integration_id_relink ...' + end + # verify the required parameter 'integration_id' is set + if @api_client.config.client_side_validation && integration_id.nil? + fail ArgumentError, "Missing the required parameter 'integration_id' when calling GeneralApi.post_integrations_integration_id_relink" + end + # resource path + local_var_path = '/integrations/{integration_id}/relink'.sub('{' + 'integration_id' + '}', CGI.escape(integration_id.to_s)) + + # query parameters + query_params = opts[:query_params] || {} + + # header parameters + header_params = opts[:header_params] || {} + # HTTP header 'Accept' (if needed) + header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept'] + # HTTP header 'Content-Type' + content_type = @api_client.select_header_content_type(['application/json']) + if !content_type.nil? + header_params['Content-Type'] = content_type + end + + # form parameters + form_params = opts[:form_params] || {} + + # http body (model) + post_body = opts[:debug_body] || @api_client.object_to_http_body(opts[:'post_integrations_integration_id_relink_request_body']) + + # return_type + return_type = opts[:debug_return_type] || 'PostIntegrationsIntegrationIdRelinkPositiveResponse' + + # auth_names + auth_names = opts[:debug_auth_names] || ['ApiKey'] + + new_options = opts.merge( + :operation => :"GeneralApi.post_integrations_integration_id_relink", + :header_params => header_params, + :query_params => query_params, + :form_params => form_params, + :body => post_body, + :auth_names => auth_names, + :return_type => return_type + ) + + data, status_code, headers = @api_client.call_api(:POST, local_var_path, new_options) + if @api_client.config.debugging + @api_client.config.logger.debug "API called: GeneralApi#post_integrations_integration_id_relink\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}" + end + return data, status_code, headers + end + + # 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. + # @param [Hash] opts the optional parameters + # @option opts [PostLmsContentRequestBody] :post_lms_content_request_body POST /lms/content Request body + # @return [PostLmsContentPositiveResponse] + def post_lms_content(opts = {}) + data, _status_code, _headers = post_lms_content_with_http_info(opts) + data + end + + # Add content to course + # Add content to course <Warning>**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.</Warning> 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. + # @param [Hash] opts the optional parameters + # @option opts [PostLmsContentRequestBody] :post_lms_content_request_body POST /lms/content Request body + # @return [Array<(PostLmsContentPositiveResponse, Integer, Hash)>] PostLmsContentPositiveResponse data, response status code and response headers + def post_lms_content_with_http_info(opts = {}) + if @api_client.config.debugging + @api_client.config.logger.debug 'Calling API: GeneralApi.post_lms_content ...' + end + # resource path + local_var_path = '/lms/content' + + # query parameters + query_params = opts[:query_params] || {} + + # header parameters + header_params = opts[:header_params] || {} + # HTTP header 'Accept' (if needed) + header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept'] + # HTTP header 'Content-Type' + content_type = @api_client.select_header_content_type(['application/json']) + if !content_type.nil? + header_params['Content-Type'] = content_type + end + + # form parameters + form_params = opts[:form_params] || {} + + # http body (model) + post_body = opts[:debug_body] || @api_client.object_to_http_body(opts[:'post_lms_content_request_body']) + + # return_type + return_type = opts[:debug_return_type] || 'PostLmsContentPositiveResponse' + + # auth_names + auth_names = opts[:debug_auth_names] || ['ApiKey'] + + new_options = opts.merge( + :operation => :"GeneralApi.post_lms_content", + :header_params => header_params, + :query_params => query_params, + :form_params => form_params, + :body => post_body, + :auth_names => auth_names, + :return_type => return_type + ) + + data, status_code, headers = @api_client.call_api(:POST, local_var_path, new_options) + if @api_client.config.debugging + @api_client.config.logger.debug "API called: GeneralApi#post_lms_content\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}" + end + return data, status_code, headers + end + + # 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. + # @param [Hash] opts the optional parameters + # @option opts [PostLmsCoursesRequestBody] :post_lms_courses_request_body POST /lms/courses Request body + # @return [PostLmsCoursesPositiveResponse] + def post_lms_courses(opts = {}) + data, _status_code, _headers = post_lms_courses_with_http_info(opts) + data + end + + # Create course + # Create course <Warning>**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.</Warning> Create a new course in the LMS with a title, description, and associated skills. Content items can be added separately using the content endpoints. + # @param [Hash] opts the optional parameters + # @option opts [PostLmsCoursesRequestBody] :post_lms_courses_request_body POST /lms/courses Request body + # @return [Array<(PostLmsCoursesPositiveResponse, Integer, Hash)>] PostLmsCoursesPositiveResponse data, response status code and response headers + def post_lms_courses_with_http_info(opts = {}) + if @api_client.config.debugging + @api_client.config.logger.debug 'Calling API: GeneralApi.post_lms_courses ...' + end + # resource path + local_var_path = '/lms/courses' + + # query parameters + query_params = opts[:query_params] || {} + + # header parameters + header_params = opts[:header_params] || {} + # HTTP header 'Accept' (if needed) + header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept'] + # HTTP header 'Content-Type' + content_type = @api_client.select_header_content_type(['application/json']) + if !content_type.nil? + header_params['Content-Type'] = content_type + end + + # form parameters + form_params = opts[:form_params] || {} + + # http body (model) + post_body = opts[:debug_body] || @api_client.object_to_http_body(opts[:'post_lms_courses_request_body']) + + # return_type + return_type = opts[:debug_return_type] || 'PostLmsCoursesPositiveResponse' + + # auth_names + auth_names = opts[:debug_auth_names] || ['ApiKey'] + + new_options = opts.merge( + :operation => :"GeneralApi.post_lms_courses", + :header_params => header_params, + :query_params => query_params, + :form_params => form_params, + :body => post_body, + :auth_names => auth_names, + :return_type => return_type + ) + + data, status_code, headers = @api_client.call_api(:POST, local_var_path, new_options) + if @api_client.config.debugging + @api_client.config.logger.debug "API called: GeneralApi#post_lms_courses\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}" + end + return data, status_code, headers + end + + # 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. + # @param [Hash] opts the optional parameters + # @option opts [PostLmsProgressRequestBody] :post_lms_progress_request_body POST /lms/progress Request body + # @return [PostLmsProgressPositiveResponse] + def post_lms_progress(opts = {}) + data, _status_code, _headers = post_lms_progress_with_http_info(opts) + data + end + + # Create progress + # Create progress <Warning>**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.</Warning> Create a new progress entry for a user in a course. This records enrollment, completion, scores, and other learning metrics. + # @param [Hash] opts the optional parameters + # @option opts [PostLmsProgressRequestBody] :post_lms_progress_request_body POST /lms/progress Request body + # @return [Array<(PostLmsProgressPositiveResponse, Integer, Hash)>] PostLmsProgressPositiveResponse data, response status code and response headers + def post_lms_progress_with_http_info(opts = {}) + if @api_client.config.debugging + @api_client.config.logger.debug 'Calling API: GeneralApi.post_lms_progress ...' + end + # resource path + local_var_path = '/lms/progress' + + # query parameters + query_params = opts[:query_params] || {} + + # header parameters + header_params = opts[:header_params] || {} + # HTTP header 'Accept' (if needed) + header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept'] + # HTTP header 'Content-Type' + content_type = @api_client.select_header_content_type(['application/json']) + if !content_type.nil? + header_params['Content-Type'] = content_type + end + + # form parameters + form_params = opts[:form_params] || {} + + # http body (model) + post_body = opts[:debug_body] || @api_client.object_to_http_body(opts[:'post_lms_progress_request_body']) + + # return_type + return_type = opts[:debug_return_type] || 'PostLmsProgressPositiveResponse' + + # auth_names + auth_names = opts[:debug_auth_names] || ['ApiKey'] + + new_options = opts.merge( + :operation => :"GeneralApi.post_lms_progress", + :header_params => header_params, + :query_params => query_params, + :form_params => form_params, + :body => post_body, + :auth_names => auth_names, + :return_type => return_type + ) + + data, status_code, headers = @api_client.call_api(:POST, local_var_path, new_options) + if @api_client.config.debugging + @api_client.config.logger.debug "API called: GeneralApi#post_lms_progress\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}" + end + return data, status_code, headers + end + + # 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. + # @param x_integration_id [String] ID of the integration you want to interact with. + # @param tool [String] The ID of the tool whose passthrough API you want to call (e.g., `personio`). + # @param 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. + # @param [Hash] opts the optional parameters + # @option opts [PostPassthroughToolApiRequestBody] :post_passthrough_tool_api_request_body POST /passthrough/:tool/:api Request body + # @return [PostPassthroughToolApiPositiveResponse] + def post_passthrough_tool_api(x_integration_id, tool, api, opts = {}) + data, _status_code, _headers = post_passthrough_tool_api_with_http_info(x_integration_id, tool, api, opts) + data + end + + # 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 `\\<soap:Body\\>` 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://\\<your-okta-domain\\>/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.| <Note>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.</Note> + # @param x_integration_id [String] ID of the integration you want to interact with. + # @param tool [String] The ID of the tool whose passthrough API you want to call (e.g., `personio`). + # @param 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. + # @param [Hash] opts the optional parameters + # @option opts [PostPassthroughToolApiRequestBody] :post_passthrough_tool_api_request_body POST /passthrough/:tool/:api Request body + # @return [Array<(PostPassthroughToolApiPositiveResponse, Integer, Hash)>] PostPassthroughToolApiPositiveResponse data, response status code and response headers + def post_passthrough_tool_api_with_http_info(x_integration_id, tool, api, opts = {}) + if @api_client.config.debugging + @api_client.config.logger.debug 'Calling API: GeneralApi.post_passthrough_tool_api ...' + end + # verify the required parameter 'x_integration_id' is set + if @api_client.config.client_side_validation && x_integration_id.nil? + fail ArgumentError, "Missing the required parameter 'x_integration_id' when calling GeneralApi.post_passthrough_tool_api" + end + # verify the required parameter 'tool' is set + if @api_client.config.client_side_validation && tool.nil? + fail ArgumentError, "Missing the required parameter 'tool' when calling GeneralApi.post_passthrough_tool_api" + end + # verify the required parameter 'api' is set + if @api_client.config.client_side_validation && api.nil? + fail ArgumentError, "Missing the required parameter 'api' when calling GeneralApi.post_passthrough_tool_api" + end + # resource path + local_var_path = '/passthrough/{tool}/{api}'.sub('{' + 'tool' + '}', CGI.escape(tool.to_s)).sub('{' + 'api' + '}', CGI.escape(api.to_s)) + + # query parameters + query_params = opts[:query_params] || {} + + # header parameters + header_params = opts[:header_params] || {} + # HTTP header 'Accept' (if needed) + header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept'] + # HTTP header 'Content-Type' + content_type = @api_client.select_header_content_type(['application/json']) + if !content_type.nil? + header_params['Content-Type'] = content_type + end + header_params[:'X-Integration-Id'] = x_integration_id + + # form parameters + form_params = opts[:form_params] || {} + + # http body (model) + post_body = opts[:debug_body] || @api_client.object_to_http_body(opts[:'post_passthrough_tool_api_request_body']) + + # return_type + return_type = opts[:debug_return_type] || 'PostPassthroughToolApiPositiveResponse' + + # auth_names + auth_names = opts[:debug_auth_names] || ['ApiKey'] + + new_options = opts.merge( + :operation => :"GeneralApi.post_passthrough_tool_api", + :header_params => header_params, + :query_params => query_params, + :form_params => form_params, + :body => post_body, + :auth_names => auth_names, + :return_type => return_type + ) + + data, status_code, headers = @api_client.call_api(:POST, local_var_path, new_options) + if @api_client.config.debugging + @api_client.config.logger.debug "API called: GeneralApi#post_passthrough_tool_api\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}" + end + return data, status_code, headers + end + + # Put custom field mappings + # Updates the mapping of a given custom field. If the custom field is already mapped, it will be updated. + # @param integration_id [String] The unique ID of the integration where the custom field mapping should be updated + # @param custom_field_id [String] The unique ID of the custom field that should be updated + # @param [Hash] opts the optional parameters + # @option opts [PutIntegrationsIntegrationIdCustomFieldsCustomFieldIdRequestBody] :put_integrations_integration_id_custom_fields_custom_field_id_request_body PUT /integrations/:integration_id/custom-fields/:custom_field_id Request body + # @return [PutIntegrationsIntegrationIdCustomFieldsCustomFieldIdPositiveResponse] + def put_integrations_integration_id_custom_fields_custom_field_id(integration_id, custom_field_id, opts = {}) + data, _status_code, _headers = put_integrations_integration_id_custom_fields_custom_field_id_with_http_info(integration_id, custom_field_id, opts) + data + end + + # Put custom field mappings + # Updates the mapping of a given custom field. If the custom field is already mapped, it will be updated. + # @param integration_id [String] The unique ID of the integration where the custom field mapping should be updated + # @param custom_field_id [String] The unique ID of the custom field that should be updated + # @param [Hash] opts the optional parameters + # @option opts [PutIntegrationsIntegrationIdCustomFieldsCustomFieldIdRequestBody] :put_integrations_integration_id_custom_fields_custom_field_id_request_body PUT /integrations/:integration_id/custom-fields/:custom_field_id Request body + # @return [Array<(PutIntegrationsIntegrationIdCustomFieldsCustomFieldIdPositiveResponse, Integer, Hash)>] PutIntegrationsIntegrationIdCustomFieldsCustomFieldIdPositiveResponse data, response status code and response headers + def put_integrations_integration_id_custom_fields_custom_field_id_with_http_info(integration_id, custom_field_id, opts = {}) + if @api_client.config.debugging + @api_client.config.logger.debug 'Calling API: GeneralApi.put_integrations_integration_id_custom_fields_custom_field_id ...' + end + # verify the required parameter 'integration_id' is set + if @api_client.config.client_side_validation && integration_id.nil? + fail ArgumentError, "Missing the required parameter 'integration_id' when calling GeneralApi.put_integrations_integration_id_custom_fields_custom_field_id" + end + # verify the required parameter 'custom_field_id' is set + if @api_client.config.client_side_validation && custom_field_id.nil? + fail ArgumentError, "Missing the required parameter 'custom_field_id' when calling GeneralApi.put_integrations_integration_id_custom_fields_custom_field_id" + end + # resource path + local_var_path = '/integrations/{integration_id}/custom-fields/{custom_field_id}'.sub('{' + 'integration_id' + '}', CGI.escape(integration_id.to_s)).sub('{' + 'custom_field_id' + '}', CGI.escape(custom_field_id.to_s)) + + # query parameters + query_params = opts[:query_params] || {} + + # header parameters + header_params = opts[:header_params] || {} + # HTTP header 'Accept' (if needed) + header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept'] + # HTTP header 'Content-Type' + content_type = @api_client.select_header_content_type(['application/json']) + if !content_type.nil? + header_params['Content-Type'] = content_type + end + + # form parameters + form_params = opts[:form_params] || {} + + # http body (model) + post_body = opts[:debug_body] || @api_client.object_to_http_body(opts[:'put_integrations_integration_id_custom_fields_custom_field_id_request_body']) + + # return_type + return_type = opts[:debug_return_type] || 'PutIntegrationsIntegrationIdCustomFieldsCustomFieldIdPositiveResponse' + + # auth_names + auth_names = opts[:debug_auth_names] || ['ApiKey'] + + new_options = opts.merge( + :operation => :"GeneralApi.put_integrations_integration_id_custom_fields_custom_field_id", + :header_params => header_params, + :query_params => query_params, + :form_params => form_params, + :body => post_body, + :auth_names => auth_names, + :return_type => return_type + ) + + data, status_code, headers = @api_client.call_api(:PUT, local_var_path, new_options) + if @api_client.config.debugging + @api_client.config.logger.debug "API called: GeneralApi#put_integrations_integration_id_custom_fields_custom_field_id\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}" + end + return data, status_code, headers + end + end +end diff --git a/lib/kombo_client/api/kombo_connect_api.rb b/lib/kombo_client/api/kombo_connect_api.rb new file mode 100644 index 0000000..3a4e071 --- /dev/null +++ b/lib/kombo_client/api/kombo_connect_api.rb @@ -0,0 +1,213 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.17.0 + +=end + +require 'cgi' + +module Kombo + class KomboConnectApi + attr_accessor :api_client + + def initialize(api_client = ApiClient.default) + @api_client = api_client + end + # 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. + # @param token [String] GET /connect/integration-by-token/:token Parameter + # @param [Hash] opts the optional parameters + # @return [GetConnectIntegrationByTokenTokenPositiveResponse] + def get_connect_integration_by_token_token(token, opts = {}) + data, _status_code, _headers = get_connect_integration_by_token_token_with_http_info(token, opts) + data + end + + # 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. + # @param token [String] GET /connect/integration-by-token/:token Parameter + # @param [Hash] opts the optional parameters + # @return [Array<(GetConnectIntegrationByTokenTokenPositiveResponse, Integer, Hash)>] GetConnectIntegrationByTokenTokenPositiveResponse data, response status code and response headers + def get_connect_integration_by_token_token_with_http_info(token, opts = {}) + if @api_client.config.debugging + @api_client.config.logger.debug 'Calling API: KomboConnectApi.get_connect_integration_by_token_token ...' + end + # verify the required parameter 'token' is set + if @api_client.config.client_side_validation && token.nil? + fail ArgumentError, "Missing the required parameter 'token' when calling KomboConnectApi.get_connect_integration_by_token_token" + end + # resource path + local_var_path = '/connect/integration-by-token/{token}'.sub('{' + 'token' + '}', CGI.escape(token.to_s)) + + # query parameters + query_params = opts[:query_params] || {} + + # header parameters + header_params = opts[:header_params] || {} + # HTTP header 'Accept' (if needed) + header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept'] + + # form parameters + form_params = opts[:form_params] || {} + + # http body (model) + post_body = opts[:debug_body] + + # return_type + return_type = opts[:debug_return_type] || 'GetConnectIntegrationByTokenTokenPositiveResponse' + + # auth_names + auth_names = opts[:debug_auth_names] || ['ApiKey'] + + new_options = opts.merge( + :operation => :"KomboConnectApi.get_connect_integration_by_token_token", + :header_params => header_params, + :query_params => query_params, + :form_params => form_params, + :body => post_body, + :auth_names => auth_names, + :return_type => return_type + ) + + data, status_code, headers = @api_client.call_api(:GET, local_var_path, new_options) + if @api_client.config.debugging + @api_client.config.logger.debug "API called: KomboConnectApi#get_connect_integration_by_token_token\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}" + end + return data, status_code, headers + end + + # 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\" } ``` + # @param [Hash] opts the optional parameters + # @option opts [PostConnectActivateIntegrationRequestBody] :post_connect_activate_integration_request_body POST /connect/activate-integration Request body + # @return [PostConnectActivateIntegrationPositiveResponse] + def post_connect_activate_integration(opts = {}) + data, _status_code, _headers = post_connect_activate_integration_with_http_info(opts) + data + end + + # 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. <Warning>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.</Warning> ### Example Request Body ```json { \"token\": \"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJtZXNzYWdlIjoiVGhpcyBpcyBub3QgYW4gYWN0dWFsIHRva2VuLiJ9.JulqgOZBMKceI8vh9YLpVX51efND0ZyfUNHDXLrPz_4\" } ``` + # @param [Hash] opts the optional parameters + # @option opts [PostConnectActivateIntegrationRequestBody] :post_connect_activate_integration_request_body POST /connect/activate-integration Request body + # @return [Array<(PostConnectActivateIntegrationPositiveResponse, Integer, Hash)>] PostConnectActivateIntegrationPositiveResponse data, response status code and response headers + def post_connect_activate_integration_with_http_info(opts = {}) + if @api_client.config.debugging + @api_client.config.logger.debug 'Calling API: KomboConnectApi.post_connect_activate_integration ...' + end + # resource path + local_var_path = '/connect/activate-integration' + + # query parameters + query_params = opts[:query_params] || {} + + # header parameters + header_params = opts[:header_params] || {} + # HTTP header 'Accept' (if needed) + header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept'] + # HTTP header 'Content-Type' + content_type = @api_client.select_header_content_type(['application/json']) + if !content_type.nil? + header_params['Content-Type'] = content_type + end + + # form parameters + form_params = opts[:form_params] || {} + + # http body (model) + post_body = opts[:debug_body] || @api_client.object_to_http_body(opts[:'post_connect_activate_integration_request_body']) + + # return_type + return_type = opts[:debug_return_type] || 'PostConnectActivateIntegrationPositiveResponse' + + # auth_names + auth_names = opts[:debug_auth_names] || ['ApiKey'] + + new_options = opts.merge( + :operation => :"KomboConnectApi.post_connect_activate_integration", + :header_params => header_params, + :query_params => query_params, + :form_params => form_params, + :body => post_body, + :auth_names => auth_names, + :return_type => return_type + ) + + data, status_code, headers = @api_client.call_api(:POST, local_var_path, new_options) + if @api_client.config.debugging + @api_client.config.logger.debug "API called: KomboConnectApi#post_connect_activate_integration\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}" + end + return data, status_code, headers + end + + # 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\" } ``` + # @param [Hash] opts the optional parameters + # @option opts [PostConnectCreateLinkRequestBody] :post_connect_create_link_request_body POST /connect/create-link Request body + # @return [PostConnectCreateLinkPositiveResponse] + def post_connect_create_link(opts = {}) + data, _status_code, _headers = post_connect_create_link_with_http_info(opts) + data + end + + # 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\" } ``` + # @param [Hash] opts the optional parameters + # @option opts [PostConnectCreateLinkRequestBody] :post_connect_create_link_request_body POST /connect/create-link Request body + # @return [Array<(PostConnectCreateLinkPositiveResponse, Integer, Hash)>] PostConnectCreateLinkPositiveResponse data, response status code and response headers + def post_connect_create_link_with_http_info(opts = {}) + if @api_client.config.debugging + @api_client.config.logger.debug 'Calling API: KomboConnectApi.post_connect_create_link ...' + end + # resource path + local_var_path = '/connect/create-link' + + # query parameters + query_params = opts[:query_params] || {} + + # header parameters + header_params = opts[:header_params] || {} + # HTTP header 'Accept' (if needed) + header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept'] + # HTTP header 'Content-Type' + content_type = @api_client.select_header_content_type(['application/json']) + if !content_type.nil? + header_params['Content-Type'] = content_type + end + + # form parameters + form_params = opts[:form_params] || {} + + # http body (model) + post_body = opts[:debug_body] || @api_client.object_to_http_body(opts[:'post_connect_create_link_request_body']) + + # return_type + return_type = opts[:debug_return_type] || 'PostConnectCreateLinkPositiveResponse' + + # auth_names + auth_names = opts[:debug_auth_names] || ['ApiKey'] + + new_options = opts.merge( + :operation => :"KomboConnectApi.post_connect_create_link", + :header_params => header_params, + :query_params => query_params, + :form_params => form_params, + :body => post_body, + :auth_names => auth_names, + :return_type => return_type + ) + + data, status_code, headers = @api_client.call_api(:POST, local_var_path, new_options) + if @api_client.config.debugging + @api_client.config.logger.debug "API called: KomboConnectApi#post_connect_create_link\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}" + end + return data, status_code, headers + end + end +end diff --git a/lib/kombo_client/api/unified_ats_assessment_background_check_api_api.rb b/lib/kombo_client/api/unified_ats_assessment_background_check_api_api.rb new file mode 100644 index 0000000..1e74f03 --- /dev/null +++ b/lib/kombo_client/api/unified_ats_assessment_background_check_api_api.rb @@ -0,0 +1,312 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.17.0 + +=end + +require 'cgi' + +module Kombo + class UnifiedATSAssessmentBackgroundCheckAPIApi + attr_accessor :api_client + + def initialize(api_client = ApiClient.default) + @api_client = api_client + end + # Get open orders + # Get all open assessment and background check orders of an integration. + # @param x_integration_id [String] ID of the integration you want to interact with. + # @param [Hash] opts the optional parameters + # @option opts [String] :cursor An optional cursor string used for pagination. This can be retrieved from the `next` property of the previous page response. + # @option opts [Integer] :page_size The number of results to return per page. Maximum is 250. (default to 100) + # @return [GetAssessmentOrdersOpenPositiveResponse] + def get_assessment_orders_open(x_integration_id, opts = {}) + data, _status_code, _headers = get_assessment_orders_open_with_http_info(x_integration_id, opts) + data + end + + # Get open orders + # Get all open assessment and background check orders of an integration. + # @param x_integration_id [String] ID of the integration you want to interact with. + # @param [Hash] opts the optional parameters + # @option opts [String] :cursor An optional cursor string used for pagination. This can be retrieved from the `next` property of the previous page response. + # @option opts [Integer] :page_size The number of results to return per page. Maximum is 250. (default to 100) + # @return [Array<(GetAssessmentOrdersOpenPositiveResponse, Integer, Hash)>] GetAssessmentOrdersOpenPositiveResponse data, response status code and response headers + def get_assessment_orders_open_with_http_info(x_integration_id, opts = {}) + if @api_client.config.debugging + @api_client.config.logger.debug 'Calling API: UnifiedATSAssessmentBackgroundCheckAPIApi.get_assessment_orders_open ...' + end + # verify the required parameter 'x_integration_id' is set + if @api_client.config.client_side_validation && x_integration_id.nil? + fail ArgumentError, "Missing the required parameter 'x_integration_id' when calling UnifiedATSAssessmentBackgroundCheckAPIApi.get_assessment_orders_open" + end + if @api_client.config.client_side_validation && !opts[:'page_size'].nil? && opts[:'page_size'] > 250 + fail ArgumentError, 'invalid value for "opts[:"page_size"]" when calling UnifiedATSAssessmentBackgroundCheckAPIApi.get_assessment_orders_open, must be smaller than or equal to 250.' + end + + if @api_client.config.client_side_validation && !opts[:'page_size'].nil? && opts[:'page_size'] < 1 + fail ArgumentError, 'invalid value for "opts[:"page_size"]" when calling UnifiedATSAssessmentBackgroundCheckAPIApi.get_assessment_orders_open, must be greater than or equal to 1.' + end + + # resource path + local_var_path = '/assessment/orders/open' + + # query parameters + query_params = opts[:query_params] || {} + query_params[:'cursor'] = opts[:'cursor'] if !opts[:'cursor'].nil? + query_params[:'page_size'] = opts[:'page_size'] if !opts[:'page_size'].nil? + + # header parameters + header_params = opts[:header_params] || {} + # HTTP header 'Accept' (if needed) + header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept'] + header_params[:'X-Integration-Id'] = x_integration_id + + # form parameters + form_params = opts[:form_params] || {} + + # http body (model) + post_body = opts[:debug_body] + + # return_type + return_type = opts[:debug_return_type] || 'GetAssessmentOrdersOpenPositiveResponse' + + # auth_names + auth_names = opts[:debug_auth_names] || ['ApiKey'] + + new_options = opts.merge( + :operation => :"UnifiedATSAssessmentBackgroundCheckAPIApi.get_assessment_orders_open", + :header_params => header_params, + :query_params => query_params, + :form_params => form_params, + :body => post_body, + :auth_names => auth_names, + :return_type => return_type + ) + + data, status_code, headers = @api_client.call_api(:GET, local_var_path, new_options) + if @api_client.config.debugging + @api_client.config.logger.debug "API called: UnifiedATSAssessmentBackgroundCheckAPIApi#get_assessment_orders_open\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}" + end + return data, status_code, headers + end + + # Get packages + # Get all available assessment and background check packages for an integration. This is mainly intended for debugging. As you always need to submit the full list of available packages when using [\"set packages\"](/assessment/v1/put-packages), there shouldn't ever be a need to call this endpoint in production. + # @param x_integration_id [String] ID of the integration you want to interact with. + # @param [Hash] opts the optional parameters + # @return [GetAssessmentPackagesPositiveResponse] + def get_assessment_packages(x_integration_id, opts = {}) + data, _status_code, _headers = get_assessment_packages_with_http_info(x_integration_id, opts) + data + end + + # Get packages + # Get all available assessment and background check packages for an integration. This is mainly intended for debugging. As you always need to submit the full list of available packages when using [\"set packages\"](/assessment/v1/put-packages), there shouldn't ever be a need to call this endpoint in production. + # @param x_integration_id [String] ID of the integration you want to interact with. + # @param [Hash] opts the optional parameters + # @return [Array<(GetAssessmentPackagesPositiveResponse, Integer, Hash)>] GetAssessmentPackagesPositiveResponse data, response status code and response headers + def get_assessment_packages_with_http_info(x_integration_id, opts = {}) + if @api_client.config.debugging + @api_client.config.logger.debug 'Calling API: UnifiedATSAssessmentBackgroundCheckAPIApi.get_assessment_packages ...' + end + # verify the required parameter 'x_integration_id' is set + if @api_client.config.client_side_validation && x_integration_id.nil? + fail ArgumentError, "Missing the required parameter 'x_integration_id' when calling UnifiedATSAssessmentBackgroundCheckAPIApi.get_assessment_packages" + end + # resource path + local_var_path = '/assessment/packages' + + # query parameters + query_params = opts[:query_params] || {} + + # header parameters + header_params = opts[:header_params] || {} + # HTTP header 'Accept' (if needed) + header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept'] + header_params[:'X-Integration-Id'] = x_integration_id + + # form parameters + form_params = opts[:form_params] || {} + + # http body (model) + post_body = opts[:debug_body] + + # return_type + return_type = opts[:debug_return_type] || 'GetAssessmentPackagesPositiveResponse' + + # auth_names + auth_names = opts[:debug_auth_names] || ['ApiKey'] + + new_options = opts.merge( + :operation => :"UnifiedATSAssessmentBackgroundCheckAPIApi.get_assessment_packages", + :header_params => header_params, + :query_params => query_params, + :form_params => form_params, + :body => post_body, + :auth_names => auth_names, + :return_type => return_type + ) + + data, status_code, headers = @api_client.call_api(:GET, local_var_path, new_options) + if @api_client.config.debugging + @api_client.config.logger.debug "API called: UnifiedATSAssessmentBackgroundCheckAPIApi#get_assessment_packages\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}" + end + return data, status_code, headers + end + + # Update order result + # Updates an assessment or a background check order result. ### Example Request Body ```json { \"status\": \"COMPLETED\", \"score\": 90, \"max_score\": 100, \"result_url\": \"https://example.com\", \"completed_at\": \"2023-04-04T00:00:00.000Z\", \"attributes\": [ { \"type\": \"TEXT\", \"label\": \"Role fit\", \"value\": \"Excellent\" }, { \"type\": \"SUB_RESULT\", \"id\": \"\", \"label\": \"Personality test\", \"score\": { \"value\": 97, \"max\": 100 }, \"status\": \"COMPLETED\" } ], \"attachments\": [ { \"name\": \"Assessment Report.pdf\", \"data\": \"SGkgdGhlcmUsIEtvbWJvIGlzIGN1cnJlbnRseSBoaXJpbmcgZW5naW5lZXJzIHRoYXQgbG92ZSB0byB3b3JrIG9uIGRldmVsb3BlciBwcm9kdWN0cy4=\", \"content_type\": \"application/pdf\" } ] } ``` + # @param x_integration_id [String] ID of the integration you want to interact with. + # @param assessment_order_id [String] PUT /assessment/orders/:assessment_order_id/result Parameter + # @param [Hash] opts the optional parameters + # @option opts [PutAssessmentOrdersAssessmentOrderIdResultRequestBody] :put_assessment_orders_assessment_order_id_result_request_body PUT /assessment/orders/:assessment_order_id/result Request body + # @return [PutAssessmentOrdersAssessmentOrderIdResultPositiveResponse] + def put_assessment_orders_assessment_order_id_result(x_integration_id, assessment_order_id, opts = {}) + data, _status_code, _headers = put_assessment_orders_assessment_order_id_result_with_http_info(x_integration_id, assessment_order_id, opts) + data + end + + # Update order result + # Updates an assessment or a background check order result. ### Example Request Body ```json { \"status\": \"COMPLETED\", \"score\": 90, \"max_score\": 100, \"result_url\": \"https://example.com\", \"completed_at\": \"2023-04-04T00:00:00.000Z\", \"attributes\": [ { \"type\": \"TEXT\", \"label\": \"Role fit\", \"value\": \"Excellent\" }, { \"type\": \"SUB_RESULT\", \"id\": \"<YOUR_INTERNAL_ID_OF_THE_TEST>\", \"label\": \"Personality test\", \"score\": { \"value\": 97, \"max\": 100 }, \"status\": \"COMPLETED\" } ], \"attachments\": [ { \"name\": \"Assessment Report.pdf\", \"data\": \"SGkgdGhlcmUsIEtvbWJvIGlzIGN1cnJlbnRseSBoaXJpbmcgZW5naW5lZXJzIHRoYXQgbG92ZSB0byB3b3JrIG9uIGRldmVsb3BlciBwcm9kdWN0cy4=\", \"content_type\": \"application/pdf\" } ] } ``` + # @param x_integration_id [String] ID of the integration you want to interact with. + # @param assessment_order_id [String] PUT /assessment/orders/:assessment_order_id/result Parameter + # @param [Hash] opts the optional parameters + # @option opts [PutAssessmentOrdersAssessmentOrderIdResultRequestBody] :put_assessment_orders_assessment_order_id_result_request_body PUT /assessment/orders/:assessment_order_id/result Request body + # @return [Array<(PutAssessmentOrdersAssessmentOrderIdResultPositiveResponse, Integer, Hash)>] PutAssessmentOrdersAssessmentOrderIdResultPositiveResponse data, response status code and response headers + def put_assessment_orders_assessment_order_id_result_with_http_info(x_integration_id, assessment_order_id, opts = {}) + if @api_client.config.debugging + @api_client.config.logger.debug 'Calling API: UnifiedATSAssessmentBackgroundCheckAPIApi.put_assessment_orders_assessment_order_id_result ...' + end + # verify the required parameter 'x_integration_id' is set + if @api_client.config.client_side_validation && x_integration_id.nil? + fail ArgumentError, "Missing the required parameter 'x_integration_id' when calling UnifiedATSAssessmentBackgroundCheckAPIApi.put_assessment_orders_assessment_order_id_result" + end + # verify the required parameter 'assessment_order_id' is set + if @api_client.config.client_side_validation && assessment_order_id.nil? + fail ArgumentError, "Missing the required parameter 'assessment_order_id' when calling UnifiedATSAssessmentBackgroundCheckAPIApi.put_assessment_orders_assessment_order_id_result" + end + # resource path + local_var_path = '/assessment/orders/{assessment_order_id}/result'.sub('{' + 'assessment_order_id' + '}', CGI.escape(assessment_order_id.to_s)) + + # query parameters + query_params = opts[:query_params] || {} + + # header parameters + header_params = opts[:header_params] || {} + # HTTP header 'Accept' (if needed) + header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept'] + # HTTP header 'Content-Type' + content_type = @api_client.select_header_content_type(['application/json']) + if !content_type.nil? + header_params['Content-Type'] = content_type + end + header_params[:'X-Integration-Id'] = x_integration_id + + # form parameters + form_params = opts[:form_params] || {} + + # http body (model) + post_body = opts[:debug_body] || @api_client.object_to_http_body(opts[:'put_assessment_orders_assessment_order_id_result_request_body']) + + # return_type + return_type = opts[:debug_return_type] || 'PutAssessmentOrdersAssessmentOrderIdResultPositiveResponse' + + # auth_names + auth_names = opts[:debug_auth_names] || ['ApiKey'] + + new_options = opts.merge( + :operation => :"UnifiedATSAssessmentBackgroundCheckAPIApi.put_assessment_orders_assessment_order_id_result", + :header_params => header_params, + :query_params => query_params, + :form_params => form_params, + :body => post_body, + :auth_names => auth_names, + :return_type => return_type + ) + + data, status_code, headers = @api_client.call_api(:PUT, local_var_path, new_options) + if @api_client.config.debugging + @api_client.config.logger.debug "API called: UnifiedATSAssessmentBackgroundCheckAPIApi#put_assessment_orders_assessment_order_id_result\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}" + end + return data, status_code, headers + end + + # Set packages + # Set packages Replaces the list of available assessment and or background check packages. Packages that have been previously submitted through this endpoint but aren't included again will be marked as deleted. ### Example Request Body ```json { \"packages\": [ { \"id\": \"1001\", \"type\": \"SKILLS_TEST\", \"name\": \"TypeScript\", \"description\": \"TypeScript coding skills assessments\" }, { \"id\": \"1002\", \"type\": \"VIDEO_INTERVIEW\", \"name\": \"Video Interview\", \"description\": \"Video interview to assess communication skills\" } ] } ``` + # @param x_integration_id [String] ID of the integration you want to interact with. + # @param [Hash] opts the optional parameters + # @option opts [PutAssessmentPackagesRequestBody] :put_assessment_packages_request_body PUT /assessment/packages Request body + # @return [PutAssessmentPackagesPositiveResponse] + def put_assessment_packages(x_integration_id, opts = {}) + data, _status_code, _headers = put_assessment_packages_with_http_info(x_integration_id, opts) + data + end + + # Set packages + # Set packages Replaces the list of available assessment and or background check packages. Packages that have been previously submitted through this endpoint but aren't included again will be marked as deleted. ### Example Request Body ```json { \"packages\": [ { \"id\": \"1001\", \"type\": \"SKILLS_TEST\", \"name\": \"TypeScript\", \"description\": \"TypeScript coding skills assessments\" }, { \"id\": \"1002\", \"type\": \"VIDEO_INTERVIEW\", \"name\": \"Video Interview\", \"description\": \"Video interview to assess communication skills\" } ] } ``` + # @param x_integration_id [String] ID of the integration you want to interact with. + # @param [Hash] opts the optional parameters + # @option opts [PutAssessmentPackagesRequestBody] :put_assessment_packages_request_body PUT /assessment/packages Request body + # @return [Array<(PutAssessmentPackagesPositiveResponse, Integer, Hash)>] PutAssessmentPackagesPositiveResponse data, response status code and response headers + def put_assessment_packages_with_http_info(x_integration_id, opts = {}) + if @api_client.config.debugging + @api_client.config.logger.debug 'Calling API: UnifiedATSAssessmentBackgroundCheckAPIApi.put_assessment_packages ...' + end + # verify the required parameter 'x_integration_id' is set + if @api_client.config.client_side_validation && x_integration_id.nil? + fail ArgumentError, "Missing the required parameter 'x_integration_id' when calling UnifiedATSAssessmentBackgroundCheckAPIApi.put_assessment_packages" + end + # resource path + local_var_path = '/assessment/packages' + + # query parameters + query_params = opts[:query_params] || {} + + # header parameters + header_params = opts[:header_params] || {} + # HTTP header 'Accept' (if needed) + header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept'] + # HTTP header 'Content-Type' + content_type = @api_client.select_header_content_type(['application/json']) + if !content_type.nil? + header_params['Content-Type'] = content_type + end + header_params[:'X-Integration-Id'] = x_integration_id + + # form parameters + form_params = opts[:form_params] || {} + + # http body (model) + post_body = opts[:debug_body] || @api_client.object_to_http_body(opts[:'put_assessment_packages_request_body']) + + # return_type + return_type = opts[:debug_return_type] || 'PutAssessmentPackagesPositiveResponse' + + # auth_names + auth_names = opts[:debug_auth_names] || ['ApiKey'] + + new_options = opts.merge( + :operation => :"UnifiedATSAssessmentBackgroundCheckAPIApi.put_assessment_packages", + :header_params => header_params, + :query_params => query_params, + :form_params => form_params, + :body => post_body, + :auth_names => auth_names, + :return_type => return_type + ) + + data, status_code, headers = @api_client.call_api(:PUT, local_var_path, new_options) + if @api_client.config.debugging + @api_client.config.logger.debug "API called: UnifiedATSAssessmentBackgroundCheckAPIApi#put_assessment_packages\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}" + end + return data, status_code, headers + end + end +end diff --git a/lib/kombo_client/api/unified_atsapi_api.rb b/lib/kombo_client/api/unified_atsapi_api.rb new file mode 100644 index 0000000..c469e75 --- /dev/null +++ b/lib/kombo_client/api/unified_atsapi_api.rb @@ -0,0 +1,2393 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.17.0 + +=end + +require 'cgi' + +module Kombo + class UnifiedATSAPIApi + attr_accessor :api_client + + def initialize(api_client = ApiClient.default) + @api_client = api_client + end + # 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\" } } ``` + # @param x_integration_id [String] ID of the integration you want to interact with. + # @param candidate_id [String] The Kombo ID of the candidate you want to remove the tag from. + # @param [Hash] opts the optional parameters + # @option opts [DeleteAtsCandidatesCandidateIdTagsRequestBody] :delete_ats_candidates_candidate_id_tags_request_body DELETE /ats/candidates/:candidate_id/tags Request body + # @return [DeleteAtsCandidatesCandidateIdTagsPositiveResponse] + def delete_ats_candidates_candidate_id_tags(x_integration_id, candidate_id, opts = {}) + data, _status_code, _headers = delete_ats_candidates_candidate_id_tags_with_http_info(x_integration_id, candidate_id, opts) + data + end + + # 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. <Note> This endpoint requires the permission **Manage tags** to be enabled in [your scope config](/scopes). </Note> ### Example Request Body ```json { \"tag\": { \"name\": \"Excellent Fit\" } } ``` + # @param x_integration_id [String] ID of the integration you want to interact with. + # @param candidate_id [String] The Kombo ID of the candidate you want to remove the tag from. + # @param [Hash] opts the optional parameters + # @option opts [DeleteAtsCandidatesCandidateIdTagsRequestBody] :delete_ats_candidates_candidate_id_tags_request_body DELETE /ats/candidates/:candidate_id/tags Request body + # @return [Array<(DeleteAtsCandidatesCandidateIdTagsPositiveResponse, Integer, Hash)>] DeleteAtsCandidatesCandidateIdTagsPositiveResponse data, response status code and response headers + def delete_ats_candidates_candidate_id_tags_with_http_info(x_integration_id, candidate_id, opts = {}) + if @api_client.config.debugging + @api_client.config.logger.debug 'Calling API: UnifiedATSAPIApi.delete_ats_candidates_candidate_id_tags ...' + end + # verify the required parameter 'x_integration_id' is set + if @api_client.config.client_side_validation && x_integration_id.nil? + fail ArgumentError, "Missing the required parameter 'x_integration_id' when calling UnifiedATSAPIApi.delete_ats_candidates_candidate_id_tags" + end + # verify the required parameter 'candidate_id' is set + if @api_client.config.client_side_validation && candidate_id.nil? + fail ArgumentError, "Missing the required parameter 'candidate_id' when calling UnifiedATSAPIApi.delete_ats_candidates_candidate_id_tags" + end + # resource path + local_var_path = '/ats/candidates/{candidate_id}/tags'.sub('{' + 'candidate_id' + '}', CGI.escape(candidate_id.to_s)) + + # query parameters + query_params = opts[:query_params] || {} + + # header parameters + header_params = opts[:header_params] || {} + # HTTP header 'Accept' (if needed) + header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept'] + # HTTP header 'Content-Type' + content_type = @api_client.select_header_content_type(['application/json']) + if !content_type.nil? + header_params['Content-Type'] = content_type + end + header_params[:'X-Integration-Id'] = x_integration_id + + # form parameters + form_params = opts[:form_params] || {} + + # http body (model) + post_body = opts[:debug_body] || @api_client.object_to_http_body(opts[:'delete_ats_candidates_candidate_id_tags_request_body']) + + # return_type + return_type = opts[:debug_return_type] || 'DeleteAtsCandidatesCandidateIdTagsPositiveResponse' + + # auth_names + auth_names = opts[:debug_auth_names] || ['ApiKey'] + + new_options = opts.merge( + :operation => :"UnifiedATSAPIApi.delete_ats_candidates_candidate_id_tags", + :header_params => header_params, + :query_params => query_params, + :form_params => form_params, + :body => post_body, + :auth_names => auth_names, + :return_type => return_type + ) + + data, status_code, headers = @api_client.call_api(:DELETE, local_var_path, new_options) + if @api_client.config.debugging + @api_client.config.logger.debug "API called: UnifiedATSAPIApi#delete_ats_candidates_candidate_id_tags\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}" + end + return data, status_code, headers + end + + # @param x_integration_id [String] ID of the integration you want to interact with. + # @param [Hash] opts the optional parameters + # @return [GetAtsActionsAtsAddApplicationAttachmentPositiveResponse] + def get_ats_actions_ats_add_application_attachment(x_integration_id, opts = {}) + data, _status_code, _headers = get_ats_actions_ats_add_application_attachment_with_http_info(x_integration_id, opts) + data + end + + # @param x_integration_id [String] ID of the integration you want to interact with. + # @param [Hash] opts the optional parameters + # @return [Array<(GetAtsActionsAtsAddApplicationAttachmentPositiveResponse, Integer, Hash)>] GetAtsActionsAtsAddApplicationAttachmentPositiveResponse data, response status code and response headers + def get_ats_actions_ats_add_application_attachment_with_http_info(x_integration_id, opts = {}) + if @api_client.config.debugging + @api_client.config.logger.debug 'Calling API: UnifiedATSAPIApi.get_ats_actions_ats_add_application_attachment ...' + end + # verify the required parameter 'x_integration_id' is set + if @api_client.config.client_side_validation && x_integration_id.nil? + fail ArgumentError, "Missing the required parameter 'x_integration_id' when calling UnifiedATSAPIApi.get_ats_actions_ats_add_application_attachment" + end + # resource path + local_var_path = '/ats/actions/ats_add_application_attachment' + + # query parameters + query_params = opts[:query_params] || {} + + # header parameters + header_params = opts[:header_params] || {} + # HTTP header 'Accept' (if needed) + header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept'] + header_params[:'X-Integration-Id'] = x_integration_id + + # form parameters + form_params = opts[:form_params] || {} + + # http body (model) + post_body = opts[:debug_body] + + # return_type + return_type = opts[:debug_return_type] || 'GetAtsActionsAtsAddApplicationAttachmentPositiveResponse' + + # auth_names + auth_names = opts[:debug_auth_names] || ['ApiKey'] + + new_options = opts.merge( + :operation => :"UnifiedATSAPIApi.get_ats_actions_ats_add_application_attachment", + :header_params => header_params, + :query_params => query_params, + :form_params => form_params, + :body => post_body, + :auth_names => auth_names, + :return_type => return_type + ) + + data, status_code, headers = @api_client.call_api(:GET, local_var_path, new_options) + if @api_client.config.debugging + @api_client.config.logger.debug "API called: UnifiedATSAPIApi#get_ats_actions_ats_add_application_attachment\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}" + end + return data, status_code, headers + end + + # @param x_integration_id [String] ID of the integration you want to interact with. + # @param [Hash] opts the optional parameters + # @return [GetAtsActionsAtsAddCandidateAttachmentPositiveResponse] + def get_ats_actions_ats_add_candidate_attachment(x_integration_id, opts = {}) + data, _status_code, _headers = get_ats_actions_ats_add_candidate_attachment_with_http_info(x_integration_id, opts) + data + end + + # @param x_integration_id [String] ID of the integration you want to interact with. + # @param [Hash] opts the optional parameters + # @return [Array<(GetAtsActionsAtsAddCandidateAttachmentPositiveResponse, Integer, Hash)>] GetAtsActionsAtsAddCandidateAttachmentPositiveResponse data, response status code and response headers + def get_ats_actions_ats_add_candidate_attachment_with_http_info(x_integration_id, opts = {}) + if @api_client.config.debugging + @api_client.config.logger.debug 'Calling API: UnifiedATSAPIApi.get_ats_actions_ats_add_candidate_attachment ...' + end + # verify the required parameter 'x_integration_id' is set + if @api_client.config.client_side_validation && x_integration_id.nil? + fail ArgumentError, "Missing the required parameter 'x_integration_id' when calling UnifiedATSAPIApi.get_ats_actions_ats_add_candidate_attachment" + end + # resource path + local_var_path = '/ats/actions/ats_add_candidate_attachment' + + # query parameters + query_params = opts[:query_params] || {} + + # header parameters + header_params = opts[:header_params] || {} + # HTTP header 'Accept' (if needed) + header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept'] + header_params[:'X-Integration-Id'] = x_integration_id + + # form parameters + form_params = opts[:form_params] || {} + + # http body (model) + post_body = opts[:debug_body] + + # return_type + return_type = opts[:debug_return_type] || 'GetAtsActionsAtsAddCandidateAttachmentPositiveResponse' + + # auth_names + auth_names = opts[:debug_auth_names] || ['ApiKey'] + + new_options = opts.merge( + :operation => :"UnifiedATSAPIApi.get_ats_actions_ats_add_candidate_attachment", + :header_params => header_params, + :query_params => query_params, + :form_params => form_params, + :body => post_body, + :auth_names => auth_names, + :return_type => return_type + ) + + data, status_code, headers = @api_client.call_api(:GET, local_var_path, new_options) + if @api_client.config.debugging + @api_client.config.logger.debug "API called: UnifiedATSAPIApi#get_ats_actions_ats_add_candidate_attachment\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}" + end + return data, status_code, headers + end + + # @param x_integration_id [String] ID of the integration you want to interact with. + # @param [Hash] opts the optional parameters + # @return [GetAtsActionsAtsCreateApplicationPositiveResponse] + def get_ats_actions_ats_create_application(x_integration_id, opts = {}) + data, _status_code, _headers = get_ats_actions_ats_create_application_with_http_info(x_integration_id, opts) + data + end + + # @param x_integration_id [String] ID of the integration you want to interact with. + # @param [Hash] opts the optional parameters + # @return [Array<(GetAtsActionsAtsCreateApplicationPositiveResponse, Integer, Hash)>] GetAtsActionsAtsCreateApplicationPositiveResponse data, response status code and response headers + def get_ats_actions_ats_create_application_with_http_info(x_integration_id, opts = {}) + if @api_client.config.debugging + @api_client.config.logger.debug 'Calling API: UnifiedATSAPIApi.get_ats_actions_ats_create_application ...' + end + # verify the required parameter 'x_integration_id' is set + if @api_client.config.client_side_validation && x_integration_id.nil? + fail ArgumentError, "Missing the required parameter 'x_integration_id' when calling UnifiedATSAPIApi.get_ats_actions_ats_create_application" + end + # resource path + local_var_path = '/ats/actions/ats_create_application' + + # query parameters + query_params = opts[:query_params] || {} + + # header parameters + header_params = opts[:header_params] || {} + # HTTP header 'Accept' (if needed) + header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept'] + header_params[:'X-Integration-Id'] = x_integration_id + + # form parameters + form_params = opts[:form_params] || {} + + # http body (model) + post_body = opts[:debug_body] + + # return_type + return_type = opts[:debug_return_type] || 'GetAtsActionsAtsCreateApplicationPositiveResponse' + + # auth_names + auth_names = opts[:debug_auth_names] || ['ApiKey'] + + new_options = opts.merge( + :operation => :"UnifiedATSAPIApi.get_ats_actions_ats_create_application", + :header_params => header_params, + :query_params => query_params, + :form_params => form_params, + :body => post_body, + :auth_names => auth_names, + :return_type => return_type + ) + + data, status_code, headers = @api_client.call_api(:GET, local_var_path, new_options) + if @api_client.config.debugging + @api_client.config.logger.debug "API called: UnifiedATSAPIApi#get_ats_actions_ats_create_application\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}" + end + return data, status_code, headers + end + + # @param x_integration_id [String] ID of the integration you want to interact with. + # @param [Hash] opts the optional parameters + # @return [GetAtsActionsAtsCreateCandidatePositiveResponse] + def get_ats_actions_ats_create_candidate(x_integration_id, opts = {}) + data, _status_code, _headers = get_ats_actions_ats_create_candidate_with_http_info(x_integration_id, opts) + data + end + + # @param x_integration_id [String] ID of the integration you want to interact with. + # @param [Hash] opts the optional parameters + # @return [Array<(GetAtsActionsAtsCreateCandidatePositiveResponse, Integer, Hash)>] GetAtsActionsAtsCreateCandidatePositiveResponse data, response status code and response headers + def get_ats_actions_ats_create_candidate_with_http_info(x_integration_id, opts = {}) + if @api_client.config.debugging + @api_client.config.logger.debug 'Calling API: UnifiedATSAPIApi.get_ats_actions_ats_create_candidate ...' + end + # verify the required parameter 'x_integration_id' is set + if @api_client.config.client_side_validation && x_integration_id.nil? + fail ArgumentError, "Missing the required parameter 'x_integration_id' when calling UnifiedATSAPIApi.get_ats_actions_ats_create_candidate" + end + # resource path + local_var_path = '/ats/actions/ats_create_candidate' + + # query parameters + query_params = opts[:query_params] || {} + + # header parameters + header_params = opts[:header_params] || {} + # HTTP header 'Accept' (if needed) + header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept'] + header_params[:'X-Integration-Id'] = x_integration_id + + # form parameters + form_params = opts[:form_params] || {} + + # http body (model) + post_body = opts[:debug_body] + + # return_type + return_type = opts[:debug_return_type] || 'GetAtsActionsAtsCreateCandidatePositiveResponse' + + # auth_names + auth_names = opts[:debug_auth_names] || ['ApiKey'] + + new_options = opts.merge( + :operation => :"UnifiedATSAPIApi.get_ats_actions_ats_create_candidate", + :header_params => header_params, + :query_params => query_params, + :form_params => form_params, + :body => post_body, + :auth_names => auth_names, + :return_type => return_type + ) + + data, status_code, headers = @api_client.call_api(:GET, local_var_path, new_options) + if @api_client.config.debugging + @api_client.config.logger.debug "API called: UnifiedATSAPIApi#get_ats_actions_ats_create_candidate\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}" + end + return data, status_code, headers + end + + # 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)` + # @param x_integration_id [String] ID of the integration you want to interact with. + # @param [Hash] opts the optional parameters + # @option opts [String] :cursor An optional cursor string used for pagination. This can be retrieved from the `next` property of the previous page response. + # @option opts [Integer] :page_size The number of results to return per page. Maximum is 250. (default to 100) + # @option opts [Time] :updated_after 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). + # @option opts [GetAtsApplicationStagesParameterIncludeDeleted] :include_deleted By default, deleted entries are not returned. Use the `include_deleted` query param to include deleted entries too. (default to 'false') + # @option opts [String] :ids Filter by a comma-separated list of IDs such as `222k7eCGyUdgt2JWZDNnkDs3,B5DVmypWENfU6eMe6gYDyJG3`. + # @option opts [String] :remote_ids Filter by a comma-separated list of remote IDs. + # @return [GetAtsApplicationStagesPositiveResponse] + def get_ats_application_stages(x_integration_id, opts = {}) + data, _status_code, _headers = get_ats_application_stages_with_http_info(x_integration_id, opts) + data + end + + # Get application stages + # Get all application stages available in the ATS. <Warning> **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). </Warning> 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)` + # @param x_integration_id [String] ID of the integration you want to interact with. + # @param [Hash] opts the optional parameters + # @option opts [String] :cursor An optional cursor string used for pagination. This can be retrieved from the `next` property of the previous page response. + # @option opts [Integer] :page_size The number of results to return per page. Maximum is 250. (default to 100) + # @option opts [Time] :updated_after 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). + # @option opts [GetAtsApplicationStagesParameterIncludeDeleted] :include_deleted By default, deleted entries are not returned. Use the `include_deleted` query param to include deleted entries too. (default to 'false') + # @option opts [String] :ids Filter by a comma-separated list of IDs such as `222k7eCGyUdgt2JWZDNnkDs3,B5DVmypWENfU6eMe6gYDyJG3`. + # @option opts [String] :remote_ids Filter by a comma-separated list of remote IDs. + # @return [Array<(GetAtsApplicationStagesPositiveResponse, Integer, Hash)>] GetAtsApplicationStagesPositiveResponse data, response status code and response headers + def get_ats_application_stages_with_http_info(x_integration_id, opts = {}) + if @api_client.config.debugging + @api_client.config.logger.debug 'Calling API: UnifiedATSAPIApi.get_ats_application_stages ...' + end + # verify the required parameter 'x_integration_id' is set + if @api_client.config.client_side_validation && x_integration_id.nil? + fail ArgumentError, "Missing the required parameter 'x_integration_id' when calling UnifiedATSAPIApi.get_ats_application_stages" + end + if @api_client.config.client_side_validation && !opts[:'page_size'].nil? && opts[:'page_size'] > 250 + fail ArgumentError, 'invalid value for "opts[:"page_size"]" when calling UnifiedATSAPIApi.get_ats_application_stages, must be smaller than or equal to 250.' + end + + if @api_client.config.client_side_validation && !opts[:'page_size'].nil? && opts[:'page_size'] < 1 + fail ArgumentError, 'invalid value for "opts[:"page_size"]" when calling UnifiedATSAPIApi.get_ats_application_stages, must be greater than or equal to 1.' + end + + pattern = Regexp.new(/^\d{4}-\d{2}-\d{2}(T\d{2}:\d{2}:\d{2}(\.\d+)?)?Z?$/) + if @api_client.config.client_side_validation && !opts[:'updated_after'].nil? && opts[:'updated_after'] !~ pattern + fail ArgumentError, "invalid value for 'opts[:\"updated_after\"]' when calling UnifiedATSAPIApi.get_ats_application_stages, must conform to the pattern #{pattern}." + end + + # resource path + local_var_path = '/ats/application-stages' + + # query parameters + query_params = opts[:query_params] || {} + query_params[:'cursor'] = opts[:'cursor'] if !opts[:'cursor'].nil? + query_params[:'page_size'] = opts[:'page_size'] if !opts[:'page_size'].nil? + query_params[:'updated_after'] = opts[:'updated_after'] if !opts[:'updated_after'].nil? + query_params[:'include_deleted'] = opts[:'include_deleted'] if !opts[:'include_deleted'].nil? + query_params[:'ids'] = opts[:'ids'] if !opts[:'ids'].nil? + query_params[:'remote_ids'] = opts[:'remote_ids'] if !opts[:'remote_ids'].nil? + + # header parameters + header_params = opts[:header_params] || {} + # HTTP header 'Accept' (if needed) + header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept'] + header_params[:'X-Integration-Id'] = x_integration_id + + # form parameters + form_params = opts[:form_params] || {} + + # http body (model) + post_body = opts[:debug_body] + + # return_type + return_type = opts[:debug_return_type] || 'GetAtsApplicationStagesPositiveResponse' + + # auth_names + auth_names = opts[:debug_auth_names] || ['ApiKey'] + + new_options = opts.merge( + :operation => :"UnifiedATSAPIApi.get_ats_application_stages", + :header_params => header_params, + :query_params => query_params, + :form_params => form_params, + :body => post_body, + :auth_names => auth_names, + :return_type => return_type + ) + + data, status_code, headers = @api_client.call_api(:GET, local_var_path, new_options) + if @api_client.config.debugging + @api_client.config.logger.debug "API called: UnifiedATSAPIApi#get_ats_application_stages\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}" + end + return data, status_code, headers + end + + # 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)` + # @param x_integration_id [String] ID of the integration you want to interact with. + # @param [Hash] opts the optional parameters + # @option opts [String] :cursor An optional cursor string used for pagination. This can be retrieved from the `next` property of the previous page response. + # @option opts [Integer] :page_size The number of results to return per page. Maximum is 250. (default to 100) + # @option opts [Time] :updated_after 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). + # @option opts [GetAtsApplicationsParameterIncludeDeleted] :include_deleted By default, deleted entries are not returned. Use the `include_deleted` query param to include deleted entries too. (default to 'false') + # @option opts [String] :ids Filter by a comma-separated list of IDs such as `222k7eCGyUdgt2JWZDNnkDs3,B5DVmypWENfU6eMe6gYDyJG3`. + # @option opts [String] :remote_ids Filter by a comma-separated list of remote IDs. + # @option opts [GetAtsApplicationsParameterOutcome] :outcome **(⚠️ Deprecated - Use the `outcomes` filter instead.)** Filter applications by outcome. This allows you to get applications that are for example `PENDING`, `HIRED`, or `DECLINED`. + # @option opts [String] :outcomes 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. + # @option opts [String] :job_ids Filter by a comma-separated list of job IDs. We will only return applications that are related to _any_ of the jobs. + # @option opts [String] :job_remote_ids Filter by a comma-separated list of job remote IDs. We will only return applications that are related to _any_ of the jobs. + # @option opts [String] :current_stage_ids Filter by a comma-separated list of application stage IDs. We will only return applications that are currently in _any_ of the stages. + # @option opts [Time] :remote_created_after 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. + # @return [GetAtsApplicationsPositiveResponse] + def get_ats_applications(x_integration_id, opts = {}) + data, _status_code, _headers = get_ats_applications_with_http_info(x_integration_id, opts) + data + end + + # 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)` + # @param x_integration_id [String] ID of the integration you want to interact with. + # @param [Hash] opts the optional parameters + # @option opts [String] :cursor An optional cursor string used for pagination. This can be retrieved from the `next` property of the previous page response. + # @option opts [Integer] :page_size The number of results to return per page. Maximum is 250. (default to 100) + # @option opts [Time] :updated_after 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). + # @option opts [GetAtsApplicationsParameterIncludeDeleted] :include_deleted By default, deleted entries are not returned. Use the `include_deleted` query param to include deleted entries too. (default to 'false') + # @option opts [String] :ids Filter by a comma-separated list of IDs such as `222k7eCGyUdgt2JWZDNnkDs3,B5DVmypWENfU6eMe6gYDyJG3`. + # @option opts [String] :remote_ids Filter by a comma-separated list of remote IDs. + # @option opts [GetAtsApplicationsParameterOutcome] :outcome **(⚠️ Deprecated - Use the `outcomes` filter instead.)** Filter applications by outcome. This allows you to get applications that are for example `PENDING`, `HIRED`, or `DECLINED`. + # @option opts [String] :outcomes 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. + # @option opts [String] :job_ids Filter by a comma-separated list of job IDs. We will only return applications that are related to _any_ of the jobs. + # @option opts [String] :job_remote_ids Filter by a comma-separated list of job remote IDs. We will only return applications that are related to _any_ of the jobs. + # @option opts [String] :current_stage_ids Filter by a comma-separated list of application stage IDs. We will only return applications that are currently in _any_ of the stages. + # @option opts [Time] :remote_created_after 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. + # @return [Array<(GetAtsApplicationsPositiveResponse, Integer, Hash)>] GetAtsApplicationsPositiveResponse data, response status code and response headers + def get_ats_applications_with_http_info(x_integration_id, opts = {}) + if @api_client.config.debugging + @api_client.config.logger.debug 'Calling API: UnifiedATSAPIApi.get_ats_applications ...' + end + # verify the required parameter 'x_integration_id' is set + if @api_client.config.client_side_validation && x_integration_id.nil? + fail ArgumentError, "Missing the required parameter 'x_integration_id' when calling UnifiedATSAPIApi.get_ats_applications" + end + if @api_client.config.client_side_validation && !opts[:'page_size'].nil? && opts[:'page_size'] > 250 + fail ArgumentError, 'invalid value for "opts[:"page_size"]" when calling UnifiedATSAPIApi.get_ats_applications, must be smaller than or equal to 250.' + end + + if @api_client.config.client_side_validation && !opts[:'page_size'].nil? && opts[:'page_size'] < 1 + fail ArgumentError, 'invalid value for "opts[:"page_size"]" when calling UnifiedATSAPIApi.get_ats_applications, must be greater than or equal to 1.' + end + + pattern = Regexp.new(/^\d{4}-\d{2}-\d{2}(T\d{2}:\d{2}:\d{2}(\.\d+)?)?Z?$/) + if @api_client.config.client_side_validation && !opts[:'updated_after'].nil? && opts[:'updated_after'] !~ pattern + fail ArgumentError, "invalid value for 'opts[:\"updated_after\"]' when calling UnifiedATSAPIApi.get_ats_applications, must conform to the pattern #{pattern}." + end + + pattern = Regexp.new(/^\d{4}-\d{2}-\d{2}(T\d{2}:\d{2}:\d{2}(\.\d+)?)?Z?$/) + if @api_client.config.client_side_validation && !opts[:'remote_created_after'].nil? && opts[:'remote_created_after'] !~ pattern + fail ArgumentError, "invalid value for 'opts[:\"remote_created_after\"]' when calling UnifiedATSAPIApi.get_ats_applications, must conform to the pattern #{pattern}." + end + + # resource path + local_var_path = '/ats/applications' + + # query parameters + query_params = opts[:query_params] || {} + query_params[:'cursor'] = opts[:'cursor'] if !opts[:'cursor'].nil? + query_params[:'page_size'] = opts[:'page_size'] if !opts[:'page_size'].nil? + query_params[:'updated_after'] = opts[:'updated_after'] if !opts[:'updated_after'].nil? + query_params[:'include_deleted'] = opts[:'include_deleted'] if !opts[:'include_deleted'].nil? + query_params[:'ids'] = opts[:'ids'] if !opts[:'ids'].nil? + query_params[:'remote_ids'] = opts[:'remote_ids'] if !opts[:'remote_ids'].nil? + query_params[:'outcome'] = opts[:'outcome'] if !opts[:'outcome'].nil? + query_params[:'outcomes'] = opts[:'outcomes'] if !opts[:'outcomes'].nil? + query_params[:'job_ids'] = opts[:'job_ids'] if !opts[:'job_ids'].nil? + query_params[:'job_remote_ids'] = opts[:'job_remote_ids'] if !opts[:'job_remote_ids'].nil? + query_params[:'current_stage_ids'] = opts[:'current_stage_ids'] if !opts[:'current_stage_ids'].nil? + query_params[:'remote_created_after'] = opts[:'remote_created_after'] if !opts[:'remote_created_after'].nil? + + # header parameters + header_params = opts[:header_params] || {} + # HTTP header 'Accept' (if needed) + header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept'] + header_params[:'X-Integration-Id'] = x_integration_id + + # form parameters + form_params = opts[:form_params] || {} + + # http body (model) + post_body = opts[:debug_body] + + # return_type + return_type = opts[:debug_return_type] || 'GetAtsApplicationsPositiveResponse' + + # auth_names + auth_names = opts[:debug_auth_names] || ['ApiKey'] + + new_options = opts.merge( + :operation => :"UnifiedATSAPIApi.get_ats_applications", + :header_params => header_params, + :query_params => query_params, + :form_params => form_params, + :body => post_body, + :auth_names => auth_names, + :return_type => return_type + ) + + data, status_code, headers = @api_client.call_api(:GET, local_var_path, new_options) + if @api_client.config.debugging + @api_client.config.logger.debug "API called: UnifiedATSAPIApi#get_ats_applications\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}" + end + return data, status_code, headers + end + + # 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). + # @param x_integration_id [String] ID of the integration you want to interact with. + # @param application_id [String] The Kombo ID of the application you want to obtain attachments for. + # @param [Hash] opts the optional parameters + # @return [GetAtsApplicationsApplicationIdAttachmentsPositiveResponse] + def get_ats_applications_application_id_attachments(x_integration_id, application_id, opts = {}) + data, _status_code, _headers = get_ats_applications_application_id_attachments_with_http_info(x_integration_id, application_id, opts) + data + end + + # 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. <Note> This endpoint requires the permission **Read document attachments** to be enabled in [your scope config](/scopes). </Note> + # @param x_integration_id [String] ID of the integration you want to interact with. + # @param application_id [String] The Kombo ID of the application you want to obtain attachments for. + # @param [Hash] opts the optional parameters + # @return [Array<(GetAtsApplicationsApplicationIdAttachmentsPositiveResponse, Integer, Hash)>] GetAtsApplicationsApplicationIdAttachmentsPositiveResponse data, response status code and response headers + def get_ats_applications_application_id_attachments_with_http_info(x_integration_id, application_id, opts = {}) + if @api_client.config.debugging + @api_client.config.logger.debug 'Calling API: UnifiedATSAPIApi.get_ats_applications_application_id_attachments ...' + end + # verify the required parameter 'x_integration_id' is set + if @api_client.config.client_side_validation && x_integration_id.nil? + fail ArgumentError, "Missing the required parameter 'x_integration_id' when calling UnifiedATSAPIApi.get_ats_applications_application_id_attachments" + end + # verify the required parameter 'application_id' is set + if @api_client.config.client_side_validation && application_id.nil? + fail ArgumentError, "Missing the required parameter 'application_id' when calling UnifiedATSAPIApi.get_ats_applications_application_id_attachments" + end + # resource path + local_var_path = '/ats/applications/{application_id}/attachments'.sub('{' + 'application_id' + '}', CGI.escape(application_id.to_s)) + + # query parameters + query_params = opts[:query_params] || {} + + # header parameters + header_params = opts[:header_params] || {} + # HTTP header 'Accept' (if needed) + header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept'] + header_params[:'X-Integration-Id'] = x_integration_id + + # form parameters + form_params = opts[:form_params] || {} + + # http body (model) + post_body = opts[:debug_body] + + # return_type + return_type = opts[:debug_return_type] || 'GetAtsApplicationsApplicationIdAttachmentsPositiveResponse' + + # auth_names + auth_names = opts[:debug_auth_names] || ['ApiKey'] + + new_options = opts.merge( + :operation => :"UnifiedATSAPIApi.get_ats_applications_application_id_attachments", + :header_params => header_params, + :query_params => query_params, + :form_params => form_params, + :body => post_body, + :auth_names => auth_names, + :return_type => return_type + ) + + data, status_code, headers = @api_client.call_api(:GET, local_var_path, new_options) + if @api_client.config.debugging + @api_client.config.logger.debug "API called: UnifiedATSAPIApi#get_ats_applications_application_id_attachments\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}" + end + return data, status_code, headers + end + + # 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)` + # @param x_integration_id [String] ID of the integration you want to interact with. + # @param [Hash] opts the optional parameters + # @option opts [String] :cursor An optional cursor string used for pagination. This can be retrieved from the `next` property of the previous page response. + # @option opts [Integer] :page_size The number of results to return per page. Maximum is 250. (default to 100) + # @option opts [Time] :updated_after 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). + # @option opts [GetAtsCandidatesParameterIncludeDeleted] :include_deleted By default, deleted entries are not returned. Use the `include_deleted` query param to include deleted entries too. (default to 'false') + # @option opts [String] :ids Filter by a comma-separated list of IDs such as `222k7eCGyUdgt2JWZDNnkDs3,B5DVmypWENfU6eMe6gYDyJG3`. + # @option opts [String] :remote_ids Filter by a comma-separated list of remote IDs. + # @option opts [String] :email 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. + # @option opts [String] :job_ids Filter by a comma-separated list of job IDs. We will only return candidates that have applied to _any_ of the jobs. + # @option opts [String] :first_name 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. + # @option opts [String] :last_name 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. + # @return [GetAtsCandidatesPositiveResponse] + def get_ats_candidates(x_integration_id, opts = {}) + data, _status_code, _headers = get_ats_candidates_with_http_info(x_integration_id, opts) + data + end + + # 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)` + # @param x_integration_id [String] ID of the integration you want to interact with. + # @param [Hash] opts the optional parameters + # @option opts [String] :cursor An optional cursor string used for pagination. This can be retrieved from the `next` property of the previous page response. + # @option opts [Integer] :page_size The number of results to return per page. Maximum is 250. (default to 100) + # @option opts [Time] :updated_after 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). + # @option opts [GetAtsCandidatesParameterIncludeDeleted] :include_deleted By default, deleted entries are not returned. Use the `include_deleted` query param to include deleted entries too. (default to 'false') + # @option opts [String] :ids Filter by a comma-separated list of IDs such as `222k7eCGyUdgt2JWZDNnkDs3,B5DVmypWENfU6eMe6gYDyJG3`. + # @option opts [String] :remote_ids Filter by a comma-separated list of remote IDs. + # @option opts [String] :email 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. + # @option opts [String] :job_ids Filter by a comma-separated list of job IDs. We will only return candidates that have applied to _any_ of the jobs. + # @option opts [String] :first_name 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. + # @option opts [String] :last_name 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. + # @return [Array<(GetAtsCandidatesPositiveResponse, Integer, Hash)>] GetAtsCandidatesPositiveResponse data, response status code and response headers + def get_ats_candidates_with_http_info(x_integration_id, opts = {}) + if @api_client.config.debugging + @api_client.config.logger.debug 'Calling API: UnifiedATSAPIApi.get_ats_candidates ...' + end + # verify the required parameter 'x_integration_id' is set + if @api_client.config.client_side_validation && x_integration_id.nil? + fail ArgumentError, "Missing the required parameter 'x_integration_id' when calling UnifiedATSAPIApi.get_ats_candidates" + end + if @api_client.config.client_side_validation && !opts[:'page_size'].nil? && opts[:'page_size'] > 250 + fail ArgumentError, 'invalid value for "opts[:"page_size"]" when calling UnifiedATSAPIApi.get_ats_candidates, must be smaller than or equal to 250.' + end + + if @api_client.config.client_side_validation && !opts[:'page_size'].nil? && opts[:'page_size'] < 1 + fail ArgumentError, 'invalid value for "opts[:"page_size"]" when calling UnifiedATSAPIApi.get_ats_candidates, must be greater than or equal to 1.' + end + + pattern = Regexp.new(/^\d{4}-\d{2}-\d{2}(T\d{2}:\d{2}:\d{2}(\.\d+)?)?Z?$/) + if @api_client.config.client_side_validation && !opts[:'updated_after'].nil? && opts[:'updated_after'] !~ pattern + fail ArgumentError, "invalid value for 'opts[:\"updated_after\"]' when calling UnifiedATSAPIApi.get_ats_candidates, must conform to the pattern #{pattern}." + end + + # resource path + local_var_path = '/ats/candidates' + + # query parameters + query_params = opts[:query_params] || {} + query_params[:'cursor'] = opts[:'cursor'] if !opts[:'cursor'].nil? + query_params[:'page_size'] = opts[:'page_size'] if !opts[:'page_size'].nil? + query_params[:'updated_after'] = opts[:'updated_after'] if !opts[:'updated_after'].nil? + query_params[:'include_deleted'] = opts[:'include_deleted'] if !opts[:'include_deleted'].nil? + query_params[:'ids'] = opts[:'ids'] if !opts[:'ids'].nil? + query_params[:'remote_ids'] = opts[:'remote_ids'] if !opts[:'remote_ids'].nil? + query_params[:'email'] = opts[:'email'] if !opts[:'email'].nil? + query_params[:'job_ids'] = opts[:'job_ids'] if !opts[:'job_ids'].nil? + query_params[:'first_name'] = opts[:'first_name'] if !opts[:'first_name'].nil? + query_params[:'last_name'] = opts[:'last_name'] if !opts[:'last_name'].nil? + + # header parameters + header_params = opts[:header_params] || {} + # HTTP header 'Accept' (if needed) + header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept'] + header_params[:'X-Integration-Id'] = x_integration_id + + # form parameters + form_params = opts[:form_params] || {} + + # http body (model) + post_body = opts[:debug_body] + + # return_type + return_type = opts[:debug_return_type] || 'GetAtsCandidatesPositiveResponse' + + # auth_names + auth_names = opts[:debug_auth_names] || ['ApiKey'] + + new_options = opts.merge( + :operation => :"UnifiedATSAPIApi.get_ats_candidates", + :header_params => header_params, + :query_params => query_params, + :form_params => form_params, + :body => post_body, + :auth_names => auth_names, + :return_type => return_type + ) + + data, status_code, headers = @api_client.call_api(:GET, local_var_path, new_options) + if @api_client.config.debugging + @api_client.config.logger.debug "API called: UnifiedATSAPIApi#get_ats_candidates\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}" + end + return data, status_code, headers + end + + # 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). + # @param x_integration_id [String] ID of the integration you want to interact with. + # @param candidate_id [String] The Kombo ID of the candidate you want to obtain attachments for. + # @param [Hash] opts the optional parameters + # @return [GetAtsCandidatesCandidateIdAttachmentsPositiveResponse] + def get_ats_candidates_candidate_id_attachments(x_integration_id, candidate_id, opts = {}) + data, _status_code, _headers = get_ats_candidates_candidate_id_attachments_with_http_info(x_integration_id, candidate_id, opts) + data + end + + # Get candidate attachments + # Get attachments from a candidate, including all attachments of all of their applications. <Note> This endpoint requires the permission **Read document attachments** to be enabled in [your scope config](/scopes). </Note> + # @param x_integration_id [String] ID of the integration you want to interact with. + # @param candidate_id [String] The Kombo ID of the candidate you want to obtain attachments for. + # @param [Hash] opts the optional parameters + # @return [Array<(GetAtsCandidatesCandidateIdAttachmentsPositiveResponse, Integer, Hash)>] GetAtsCandidatesCandidateIdAttachmentsPositiveResponse data, response status code and response headers + def get_ats_candidates_candidate_id_attachments_with_http_info(x_integration_id, candidate_id, opts = {}) + if @api_client.config.debugging + @api_client.config.logger.debug 'Calling API: UnifiedATSAPIApi.get_ats_candidates_candidate_id_attachments ...' + end + # verify the required parameter 'x_integration_id' is set + if @api_client.config.client_side_validation && x_integration_id.nil? + fail ArgumentError, "Missing the required parameter 'x_integration_id' when calling UnifiedATSAPIApi.get_ats_candidates_candidate_id_attachments" + end + # verify the required parameter 'candidate_id' is set + if @api_client.config.client_side_validation && candidate_id.nil? + fail ArgumentError, "Missing the required parameter 'candidate_id' when calling UnifiedATSAPIApi.get_ats_candidates_candidate_id_attachments" + end + # resource path + local_var_path = '/ats/candidates/{candidate_id}/attachments'.sub('{' + 'candidate_id' + '}', CGI.escape(candidate_id.to_s)) + + # query parameters + query_params = opts[:query_params] || {} + + # header parameters + header_params = opts[:header_params] || {} + # HTTP header 'Accept' (if needed) + header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept'] + header_params[:'X-Integration-Id'] = x_integration_id + + # form parameters + form_params = opts[:form_params] || {} + + # http body (model) + post_body = opts[:debug_body] + + # return_type + return_type = opts[:debug_return_type] || 'GetAtsCandidatesCandidateIdAttachmentsPositiveResponse' + + # auth_names + auth_names = opts[:debug_auth_names] || ['ApiKey'] + + new_options = opts.merge( + :operation => :"UnifiedATSAPIApi.get_ats_candidates_candidate_id_attachments", + :header_params => header_params, + :query_params => query_params, + :form_params => form_params, + :body => post_body, + :auth_names => auth_names, + :return_type => return_type + ) + + data, status_code, headers = @api_client.call_api(:GET, local_var_path, new_options) + if @api_client.config.debugging + @api_client.config.logger.debug "API called: UnifiedATSAPIApi#get_ats_candidates_candidate_id_attachments\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}" + end + return data, status_code, headers + end + + # 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)` + # @param x_integration_id [String] ID of the integration you want to interact with. + # @param [Hash] opts the optional parameters + # @option opts [String] :cursor An optional cursor string used for pagination. This can be retrieved from the `next` property of the previous page response. + # @option opts [Integer] :page_size The number of results to return per page. Maximum is 250. (default to 100) + # @option opts [Time] :updated_after 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). + # @option opts [GetAtsInterviewsParameterIncludeDeleted] :include_deleted By default, deleted entries are not returned. Use the `include_deleted` query param to include deleted entries too. (default to 'false') + # @option opts [String] :ids Filter by a comma-separated list of IDs such as `222k7eCGyUdgt2JWZDNnkDs3,B5DVmypWENfU6eMe6gYDyJG3`. + # @option opts [String] :remote_ids Filter by a comma-separated list of remote IDs. + # @option opts [String] :job_ids Filter by a comma-separated list of job IDs. We will only return interviews for applications associated with any of these jobs. + # @return [GetAtsInterviewsPositiveResponse] + def get_ats_interviews(x_integration_id, opts = {}) + data, _status_code, _headers = get_ats_interviews_with_http_info(x_integration_id, opts) + data + end + + # 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)` + # @param x_integration_id [String] ID of the integration you want to interact with. + # @param [Hash] opts the optional parameters + # @option opts [String] :cursor An optional cursor string used for pagination. This can be retrieved from the `next` property of the previous page response. + # @option opts [Integer] :page_size The number of results to return per page. Maximum is 250. (default to 100) + # @option opts [Time] :updated_after 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). + # @option opts [GetAtsInterviewsParameterIncludeDeleted] :include_deleted By default, deleted entries are not returned. Use the `include_deleted` query param to include deleted entries too. (default to 'false') + # @option opts [String] :ids Filter by a comma-separated list of IDs such as `222k7eCGyUdgt2JWZDNnkDs3,B5DVmypWENfU6eMe6gYDyJG3`. + # @option opts [String] :remote_ids Filter by a comma-separated list of remote IDs. + # @option opts [String] :job_ids Filter by a comma-separated list of job IDs. We will only return interviews for applications associated with any of these jobs. + # @return [Array<(GetAtsInterviewsPositiveResponse, Integer, Hash)>] GetAtsInterviewsPositiveResponse data, response status code and response headers + def get_ats_interviews_with_http_info(x_integration_id, opts = {}) + if @api_client.config.debugging + @api_client.config.logger.debug 'Calling API: UnifiedATSAPIApi.get_ats_interviews ...' + end + # verify the required parameter 'x_integration_id' is set + if @api_client.config.client_side_validation && x_integration_id.nil? + fail ArgumentError, "Missing the required parameter 'x_integration_id' when calling UnifiedATSAPIApi.get_ats_interviews" + end + if @api_client.config.client_side_validation && !opts[:'page_size'].nil? && opts[:'page_size'] > 250 + fail ArgumentError, 'invalid value for "opts[:"page_size"]" when calling UnifiedATSAPIApi.get_ats_interviews, must be smaller than or equal to 250.' + end + + if @api_client.config.client_side_validation && !opts[:'page_size'].nil? && opts[:'page_size'] < 1 + fail ArgumentError, 'invalid value for "opts[:"page_size"]" when calling UnifiedATSAPIApi.get_ats_interviews, must be greater than or equal to 1.' + end + + pattern = Regexp.new(/^\d{4}-\d{2}-\d{2}(T\d{2}:\d{2}:\d{2}(\.\d+)?)?Z?$/) + if @api_client.config.client_side_validation && !opts[:'updated_after'].nil? && opts[:'updated_after'] !~ pattern + fail ArgumentError, "invalid value for 'opts[:\"updated_after\"]' when calling UnifiedATSAPIApi.get_ats_interviews, must conform to the pattern #{pattern}." + end + + # resource path + local_var_path = '/ats/interviews' + + # query parameters + query_params = opts[:query_params] || {} + query_params[:'cursor'] = opts[:'cursor'] if !opts[:'cursor'].nil? + query_params[:'page_size'] = opts[:'page_size'] if !opts[:'page_size'].nil? + query_params[:'updated_after'] = opts[:'updated_after'] if !opts[:'updated_after'].nil? + query_params[:'include_deleted'] = opts[:'include_deleted'] if !opts[:'include_deleted'].nil? + query_params[:'ids'] = opts[:'ids'] if !opts[:'ids'].nil? + query_params[:'remote_ids'] = opts[:'remote_ids'] if !opts[:'remote_ids'].nil? + query_params[:'job_ids'] = opts[:'job_ids'] if !opts[:'job_ids'].nil? + + # header parameters + header_params = opts[:header_params] || {} + # HTTP header 'Accept' (if needed) + header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept'] + header_params[:'X-Integration-Id'] = x_integration_id + + # form parameters + form_params = opts[:form_params] || {} + + # http body (model) + post_body = opts[:debug_body] + + # return_type + return_type = opts[:debug_return_type] || 'GetAtsInterviewsPositiveResponse' + + # auth_names + auth_names = opts[:debug_auth_names] || ['ApiKey'] + + new_options = opts.merge( + :operation => :"UnifiedATSAPIApi.get_ats_interviews", + :header_params => header_params, + :query_params => query_params, + :form_params => form_params, + :body => post_body, + :auth_names => auth_names, + :return_type => return_type + ) + + data, status_code, headers = @api_client.call_api(:GET, local_var_path, new_options) + if @api_client.config.debugging + @api_client.config.logger.debug "API called: UnifiedATSAPIApi#get_ats_interviews\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}" + end + return data, status_code, headers + end + + # 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)` + # @param x_integration_id [String] ID of the integration you want to interact with. + # @param [Hash] opts the optional parameters + # @option opts [String] :cursor An optional cursor string used for pagination. This can be retrieved from the `next` property of the previous page response. + # @option opts [Integer] :page_size The number of results to return per page. Maximum is 250. (default to 100) + # @option opts [Time] :updated_after 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). + # @option opts [GetAtsJobsParameterIncludeDeleted] :include_deleted By default, deleted entries are not returned. Use the `include_deleted` query param to include deleted entries too. (default to 'false') + # @option opts [String] :ids Filter by a comma-separated list of IDs such as `222k7eCGyUdgt2JWZDNnkDs3,B5DVmypWENfU6eMe6gYDyJG3`. + # @option opts [String] :remote_ids Filter by a comma-separated list of remote IDs. + # @option opts [String] :job_codes Filter by a comma-separated list of job codes. + # @option opts [String] :post_url Filter by the `post_url` field. Can be used to find a job based on its public posting URL. + # @option opts [GetAtsJobsParameterStatus] :status **(⚠️ Deprecated - Use the `statuses` filter instead.)** Filter by the `status` field. Can be used to find a job based on its status. + # @option opts [String] :statuses Filter by a comma-separated list of `OPEN`, `CLOSED`, `DRAFT`, `ARCHIVED` Leave this blank to get results matching all values. + # @option opts [String] :employment_types Filter by a comma-separated list of `FULL_TIME`, `PART_TIME`, `CONTRACT`, `SEASONAL`, `INTERNSHIP` Leave this blank to get results matching all values. + # @option opts [String] :visibilities Filter by a comma-separated list of `PUBLIC`, `INTERNAL`, `UNLISTED`, `CONFIDENTIAL` Leave this blank to get results matching all values. + # @option opts [Time] :remote_created_after 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. + # @option opts [String] :name_contains Filter by the `name` field. Can be used to find a job by keywords present in the job name. + # @return [GetAtsJobsPositiveResponse] + def get_ats_jobs(x_integration_id, opts = {}) + data, _status_code, _headers = get_ats_jobs_with_http_info(x_integration_id, opts) + data + end + + # 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)` + # @param x_integration_id [String] ID of the integration you want to interact with. + # @param [Hash] opts the optional parameters + # @option opts [String] :cursor An optional cursor string used for pagination. This can be retrieved from the `next` property of the previous page response. + # @option opts [Integer] :page_size The number of results to return per page. Maximum is 250. (default to 100) + # @option opts [Time] :updated_after 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). + # @option opts [GetAtsJobsParameterIncludeDeleted] :include_deleted By default, deleted entries are not returned. Use the `include_deleted` query param to include deleted entries too. (default to 'false') + # @option opts [String] :ids Filter by a comma-separated list of IDs such as `222k7eCGyUdgt2JWZDNnkDs3,B5DVmypWENfU6eMe6gYDyJG3`. + # @option opts [String] :remote_ids Filter by a comma-separated list of remote IDs. + # @option opts [String] :job_codes Filter by a comma-separated list of job codes. + # @option opts [String] :post_url Filter by the `post_url` field. Can be used to find a job based on its public posting URL. + # @option opts [GetAtsJobsParameterStatus] :status **(⚠️ Deprecated - Use the `statuses` filter instead.)** Filter by the `status` field. Can be used to find a job based on its status. + # @option opts [String] :statuses Filter by a comma-separated list of `OPEN`, `CLOSED`, `DRAFT`, `ARCHIVED` Leave this blank to get results matching all values. + # @option opts [String] :employment_types Filter by a comma-separated list of `FULL_TIME`, `PART_TIME`, `CONTRACT`, `SEASONAL`, `INTERNSHIP` Leave this blank to get results matching all values. + # @option opts [String] :visibilities Filter by a comma-separated list of `PUBLIC`, `INTERNAL`, `UNLISTED`, `CONFIDENTIAL` Leave this blank to get results matching all values. + # @option opts [Time] :remote_created_after 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. + # @option opts [String] :name_contains Filter by the `name` field. Can be used to find a job by keywords present in the job name. + # @return [Array<(GetAtsJobsPositiveResponse, Integer, Hash)>] GetAtsJobsPositiveResponse data, response status code and response headers + def get_ats_jobs_with_http_info(x_integration_id, opts = {}) + if @api_client.config.debugging + @api_client.config.logger.debug 'Calling API: UnifiedATSAPIApi.get_ats_jobs ...' + end + # verify the required parameter 'x_integration_id' is set + if @api_client.config.client_side_validation && x_integration_id.nil? + fail ArgumentError, "Missing the required parameter 'x_integration_id' when calling UnifiedATSAPIApi.get_ats_jobs" + end + if @api_client.config.client_side_validation && !opts[:'page_size'].nil? && opts[:'page_size'] > 250 + fail ArgumentError, 'invalid value for "opts[:"page_size"]" when calling UnifiedATSAPIApi.get_ats_jobs, must be smaller than or equal to 250.' + end + + if @api_client.config.client_side_validation && !opts[:'page_size'].nil? && opts[:'page_size'] < 1 + fail ArgumentError, 'invalid value for "opts[:"page_size"]" when calling UnifiedATSAPIApi.get_ats_jobs, must be greater than or equal to 1.' + end + + pattern = Regexp.new(/^\d{4}-\d{2}-\d{2}(T\d{2}:\d{2}:\d{2}(\.\d+)?)?Z?$/) + if @api_client.config.client_side_validation && !opts[:'updated_after'].nil? && opts[:'updated_after'] !~ pattern + fail ArgumentError, "invalid value for 'opts[:\"updated_after\"]' when calling UnifiedATSAPIApi.get_ats_jobs, must conform to the pattern #{pattern}." + end + + pattern = Regexp.new(/^\d{4}-\d{2}-\d{2}(T\d{2}:\d{2}:\d{2}(\.\d+)?)?Z?$/) + if @api_client.config.client_side_validation && !opts[:'remote_created_after'].nil? && opts[:'remote_created_after'] !~ pattern + fail ArgumentError, "invalid value for 'opts[:\"remote_created_after\"]' when calling UnifiedATSAPIApi.get_ats_jobs, must conform to the pattern #{pattern}." + end + + # resource path + local_var_path = '/ats/jobs' + + # query parameters + query_params = opts[:query_params] || {} + query_params[:'cursor'] = opts[:'cursor'] if !opts[:'cursor'].nil? + query_params[:'page_size'] = opts[:'page_size'] if !opts[:'page_size'].nil? + query_params[:'updated_after'] = opts[:'updated_after'] if !opts[:'updated_after'].nil? + query_params[:'include_deleted'] = opts[:'include_deleted'] if !opts[:'include_deleted'].nil? + query_params[:'ids'] = opts[:'ids'] if !opts[:'ids'].nil? + query_params[:'remote_ids'] = opts[:'remote_ids'] if !opts[:'remote_ids'].nil? + query_params[:'job_codes'] = opts[:'job_codes'] if !opts[:'job_codes'].nil? + query_params[:'post_url'] = opts[:'post_url'] if !opts[:'post_url'].nil? + query_params[:'status'] = opts[:'status'] if !opts[:'status'].nil? + query_params[:'statuses'] = opts[:'statuses'] if !opts[:'statuses'].nil? + query_params[:'employment_types'] = opts[:'employment_types'] if !opts[:'employment_types'].nil? + query_params[:'visibilities'] = opts[:'visibilities'] if !opts[:'visibilities'].nil? + query_params[:'remote_created_after'] = opts[:'remote_created_after'] if !opts[:'remote_created_after'].nil? + query_params[:'name_contains'] = opts[:'name_contains'] if !opts[:'name_contains'].nil? + + # header parameters + header_params = opts[:header_params] || {} + # HTTP header 'Accept' (if needed) + header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept'] + header_params[:'X-Integration-Id'] = x_integration_id + + # form parameters + form_params = opts[:form_params] || {} + + # http body (model) + post_body = opts[:debug_body] + + # return_type + return_type = opts[:debug_return_type] || 'GetAtsJobsPositiveResponse' + + # auth_names + auth_names = opts[:debug_auth_names] || ['ApiKey'] + + new_options = opts.merge( + :operation => :"UnifiedATSAPIApi.get_ats_jobs", + :header_params => header_params, + :query_params => query_params, + :form_params => form_params, + :body => post_body, + :auth_names => auth_names, + :return_type => return_type + ) + + data, status_code, headers = @api_client.call_api(:GET, local_var_path, new_options) + if @api_client.config.debugging + @api_client.config.logger.debug "API called: UnifiedATSAPIApi#get_ats_jobs\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}" + end + return data, status_code, headers + end + + # 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)` + # @param x_integration_id [String] ID of the integration you want to interact with. + # @param [Hash] opts the optional parameters + # @option opts [String] :cursor An optional cursor string used for pagination. This can be retrieved from the `next` property of the previous page response. + # @option opts [Integer] :page_size The number of results to return per page. Maximum is 250. (default to 100) + # @option opts [Time] :updated_after 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). + # @option opts [GetAtsOffersParameterIncludeDeleted] :include_deleted By default, deleted entries are not returned. Use the `include_deleted` query param to include deleted entries too. (default to 'false') + # @option opts [String] :ids Filter by a comma-separated list of IDs such as `222k7eCGyUdgt2JWZDNnkDs3,B5DVmypWENfU6eMe6gYDyJG3`. + # @option opts [String] :remote_ids Filter by a comma-separated list of remote IDs. + # @return [GetAtsOffersPositiveResponse] + def get_ats_offers(x_integration_id, opts = {}) + data, _status_code, _headers = get_ats_offers_with_http_info(x_integration_id, opts) + data + end + + # 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)` + # @param x_integration_id [String] ID of the integration you want to interact with. + # @param [Hash] opts the optional parameters + # @option opts [String] :cursor An optional cursor string used for pagination. This can be retrieved from the `next` property of the previous page response. + # @option opts [Integer] :page_size The number of results to return per page. Maximum is 250. (default to 100) + # @option opts [Time] :updated_after 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). + # @option opts [GetAtsOffersParameterIncludeDeleted] :include_deleted By default, deleted entries are not returned. Use the `include_deleted` query param to include deleted entries too. (default to 'false') + # @option opts [String] :ids Filter by a comma-separated list of IDs such as `222k7eCGyUdgt2JWZDNnkDs3,B5DVmypWENfU6eMe6gYDyJG3`. + # @option opts [String] :remote_ids Filter by a comma-separated list of remote IDs. + # @return [Array<(GetAtsOffersPositiveResponse, Integer, Hash)>] GetAtsOffersPositiveResponse data, response status code and response headers + def get_ats_offers_with_http_info(x_integration_id, opts = {}) + if @api_client.config.debugging + @api_client.config.logger.debug 'Calling API: UnifiedATSAPIApi.get_ats_offers ...' + end + # verify the required parameter 'x_integration_id' is set + if @api_client.config.client_side_validation && x_integration_id.nil? + fail ArgumentError, "Missing the required parameter 'x_integration_id' when calling UnifiedATSAPIApi.get_ats_offers" + end + if @api_client.config.client_side_validation && !opts[:'page_size'].nil? && opts[:'page_size'] > 250 + fail ArgumentError, 'invalid value for "opts[:"page_size"]" when calling UnifiedATSAPIApi.get_ats_offers, must be smaller than or equal to 250.' + end + + if @api_client.config.client_side_validation && !opts[:'page_size'].nil? && opts[:'page_size'] < 1 + fail ArgumentError, 'invalid value for "opts[:"page_size"]" when calling UnifiedATSAPIApi.get_ats_offers, must be greater than or equal to 1.' + end + + pattern = Regexp.new(/^\d{4}-\d{2}-\d{2}(T\d{2}:\d{2}:\d{2}(\.\d+)?)?Z?$/) + if @api_client.config.client_side_validation && !opts[:'updated_after'].nil? && opts[:'updated_after'] !~ pattern + fail ArgumentError, "invalid value for 'opts[:\"updated_after\"]' when calling UnifiedATSAPIApi.get_ats_offers, must conform to the pattern #{pattern}." + end + + # resource path + local_var_path = '/ats/offers' + + # query parameters + query_params = opts[:query_params] || {} + query_params[:'cursor'] = opts[:'cursor'] if !opts[:'cursor'].nil? + query_params[:'page_size'] = opts[:'page_size'] if !opts[:'page_size'].nil? + query_params[:'updated_after'] = opts[:'updated_after'] if !opts[:'updated_after'].nil? + query_params[:'include_deleted'] = opts[:'include_deleted'] if !opts[:'include_deleted'].nil? + query_params[:'ids'] = opts[:'ids'] if !opts[:'ids'].nil? + query_params[:'remote_ids'] = opts[:'remote_ids'] if !opts[:'remote_ids'].nil? + + # header parameters + header_params = opts[:header_params] || {} + # HTTP header 'Accept' (if needed) + header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept'] + header_params[:'X-Integration-Id'] = x_integration_id + + # form parameters + form_params = opts[:form_params] || {} + + # http body (model) + post_body = opts[:debug_body] + + # return_type + return_type = opts[:debug_return_type] || 'GetAtsOffersPositiveResponse' + + # auth_names + auth_names = opts[:debug_auth_names] || ['ApiKey'] + + new_options = opts.merge( + :operation => :"UnifiedATSAPIApi.get_ats_offers", + :header_params => header_params, + :query_params => query_params, + :form_params => form_params, + :body => post_body, + :auth_names => auth_names, + :return_type => return_type + ) + + data, status_code, headers = @api_client.call_api(:GET, local_var_path, new_options) + if @api_client.config.debugging + @api_client.config.logger.debug "API called: UnifiedATSAPIApi#get_ats_offers\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}" + end + return data, status_code, headers + end + + # 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)` + # @param x_integration_id [String] ID of the integration you want to interact with. + # @param [Hash] opts the optional parameters + # @option opts [String] :cursor An optional cursor string used for pagination. This can be retrieved from the `next` property of the previous page response. + # @option opts [Integer] :page_size The number of results to return per page. Maximum is 250. (default to 100) + # @option opts [Time] :updated_after 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). + # @option opts [GetAtsRejectionReasonsParameterIncludeDeleted] :include_deleted By default, deleted entries are not returned. Use the `include_deleted` query param to include deleted entries too. (default to 'false') + # @option opts [String] :ids Filter by a comma-separated list of IDs such as `222k7eCGyUdgt2JWZDNnkDs3,B5DVmypWENfU6eMe6gYDyJG3`. + # @option opts [String] :remote_ids Filter by a comma-separated list of remote IDs. + # @return [GetAtsRejectionReasonsPositiveResponse] + def get_ats_rejection_reasons(x_integration_id, opts = {}) + data, _status_code, _headers = get_ats_rejection_reasons_with_http_info(x_integration_id, opts) + data + end + + # 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)` + # @param x_integration_id [String] ID of the integration you want to interact with. + # @param [Hash] opts the optional parameters + # @option opts [String] :cursor An optional cursor string used for pagination. This can be retrieved from the `next` property of the previous page response. + # @option opts [Integer] :page_size The number of results to return per page. Maximum is 250. (default to 100) + # @option opts [Time] :updated_after 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). + # @option opts [GetAtsRejectionReasonsParameterIncludeDeleted] :include_deleted By default, deleted entries are not returned. Use the `include_deleted` query param to include deleted entries too. (default to 'false') + # @option opts [String] :ids Filter by a comma-separated list of IDs such as `222k7eCGyUdgt2JWZDNnkDs3,B5DVmypWENfU6eMe6gYDyJG3`. + # @option opts [String] :remote_ids Filter by a comma-separated list of remote IDs. + # @return [Array<(GetAtsRejectionReasonsPositiveResponse, Integer, Hash)>] GetAtsRejectionReasonsPositiveResponse data, response status code and response headers + def get_ats_rejection_reasons_with_http_info(x_integration_id, opts = {}) + if @api_client.config.debugging + @api_client.config.logger.debug 'Calling API: UnifiedATSAPIApi.get_ats_rejection_reasons ...' + end + # verify the required parameter 'x_integration_id' is set + if @api_client.config.client_side_validation && x_integration_id.nil? + fail ArgumentError, "Missing the required parameter 'x_integration_id' when calling UnifiedATSAPIApi.get_ats_rejection_reasons" + end + if @api_client.config.client_side_validation && !opts[:'page_size'].nil? && opts[:'page_size'] > 250 + fail ArgumentError, 'invalid value for "opts[:"page_size"]" when calling UnifiedATSAPIApi.get_ats_rejection_reasons, must be smaller than or equal to 250.' + end + + if @api_client.config.client_side_validation && !opts[:'page_size'].nil? && opts[:'page_size'] < 1 + fail ArgumentError, 'invalid value for "opts[:"page_size"]" when calling UnifiedATSAPIApi.get_ats_rejection_reasons, must be greater than or equal to 1.' + end + + pattern = Regexp.new(/^\d{4}-\d{2}-\d{2}(T\d{2}:\d{2}:\d{2}(\.\d+)?)?Z?$/) + if @api_client.config.client_side_validation && !opts[:'updated_after'].nil? && opts[:'updated_after'] !~ pattern + fail ArgumentError, "invalid value for 'opts[:\"updated_after\"]' when calling UnifiedATSAPIApi.get_ats_rejection_reasons, must conform to the pattern #{pattern}." + end + + # resource path + local_var_path = '/ats/rejection-reasons' + + # query parameters + query_params = opts[:query_params] || {} + query_params[:'cursor'] = opts[:'cursor'] if !opts[:'cursor'].nil? + query_params[:'page_size'] = opts[:'page_size'] if !opts[:'page_size'].nil? + query_params[:'updated_after'] = opts[:'updated_after'] if !opts[:'updated_after'].nil? + query_params[:'include_deleted'] = opts[:'include_deleted'] if !opts[:'include_deleted'].nil? + query_params[:'ids'] = opts[:'ids'] if !opts[:'ids'].nil? + query_params[:'remote_ids'] = opts[:'remote_ids'] if !opts[:'remote_ids'].nil? + + # header parameters + header_params = opts[:header_params] || {} + # HTTP header 'Accept' (if needed) + header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept'] + header_params[:'X-Integration-Id'] = x_integration_id + + # form parameters + form_params = opts[:form_params] || {} + + # http body (model) + post_body = opts[:debug_body] + + # return_type + return_type = opts[:debug_return_type] || 'GetAtsRejectionReasonsPositiveResponse' + + # auth_names + auth_names = opts[:debug_auth_names] || ['ApiKey'] + + new_options = opts.merge( + :operation => :"UnifiedATSAPIApi.get_ats_rejection_reasons", + :header_params => header_params, + :query_params => query_params, + :form_params => form_params, + :body => post_body, + :auth_names => auth_names, + :return_type => return_type + ) + + data, status_code, headers = @api_client.call_api(:GET, local_var_path, new_options) + if @api_client.config.debugging + @api_client.config.logger.debug "API called: UnifiedATSAPIApi#get_ats_rejection_reasons\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}" + end + return data, status_code, headers + end + + # 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)` + # @param x_integration_id [String] ID of the integration you want to interact with. + # @param [Hash] opts the optional parameters + # @option opts [String] :cursor An optional cursor string used for pagination. This can be retrieved from the `next` property of the previous page response. + # @option opts [Integer] :page_size The number of results to return per page. Maximum is 250. (default to 100) + # @option opts [Time] :updated_after 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). + # @option opts [GetAtsTagsParameterIncludeDeleted] :include_deleted By default, deleted entries are not returned. Use the `include_deleted` query param to include deleted entries too. (default to 'false') + # @option opts [String] :ids Filter by a comma-separated list of IDs such as `222k7eCGyUdgt2JWZDNnkDs3,B5DVmypWENfU6eMe6gYDyJG3`. + # @option opts [String] :remote_ids Filter by a comma-separated list of remote IDs. + # @return [GetAtsTagsPositiveResponse] + def get_ats_tags(x_integration_id, opts = {}) + data, _status_code, _headers = get_ats_tags_with_http_info(x_integration_id, opts) + data + end + + # 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)` + # @param x_integration_id [String] ID of the integration you want to interact with. + # @param [Hash] opts the optional parameters + # @option opts [String] :cursor An optional cursor string used for pagination. This can be retrieved from the `next` property of the previous page response. + # @option opts [Integer] :page_size The number of results to return per page. Maximum is 250. (default to 100) + # @option opts [Time] :updated_after 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). + # @option opts [GetAtsTagsParameterIncludeDeleted] :include_deleted By default, deleted entries are not returned. Use the `include_deleted` query param to include deleted entries too. (default to 'false') + # @option opts [String] :ids Filter by a comma-separated list of IDs such as `222k7eCGyUdgt2JWZDNnkDs3,B5DVmypWENfU6eMe6gYDyJG3`. + # @option opts [String] :remote_ids Filter by a comma-separated list of remote IDs. + # @return [Array<(GetAtsTagsPositiveResponse, Integer, Hash)>] GetAtsTagsPositiveResponse data, response status code and response headers + def get_ats_tags_with_http_info(x_integration_id, opts = {}) + if @api_client.config.debugging + @api_client.config.logger.debug 'Calling API: UnifiedATSAPIApi.get_ats_tags ...' + end + # verify the required parameter 'x_integration_id' is set + if @api_client.config.client_side_validation && x_integration_id.nil? + fail ArgumentError, "Missing the required parameter 'x_integration_id' when calling UnifiedATSAPIApi.get_ats_tags" + end + if @api_client.config.client_side_validation && !opts[:'page_size'].nil? && opts[:'page_size'] > 250 + fail ArgumentError, 'invalid value for "opts[:"page_size"]" when calling UnifiedATSAPIApi.get_ats_tags, must be smaller than or equal to 250.' + end + + if @api_client.config.client_side_validation && !opts[:'page_size'].nil? && opts[:'page_size'] < 1 + fail ArgumentError, 'invalid value for "opts[:"page_size"]" when calling UnifiedATSAPIApi.get_ats_tags, must be greater than or equal to 1.' + end + + pattern = Regexp.new(/^\d{4}-\d{2}-\d{2}(T\d{2}:\d{2}:\d{2}(\.\d+)?)?Z?$/) + if @api_client.config.client_side_validation && !opts[:'updated_after'].nil? && opts[:'updated_after'] !~ pattern + fail ArgumentError, "invalid value for 'opts[:\"updated_after\"]' when calling UnifiedATSAPIApi.get_ats_tags, must conform to the pattern #{pattern}." + end + + # resource path + local_var_path = '/ats/tags' + + # query parameters + query_params = opts[:query_params] || {} + query_params[:'cursor'] = opts[:'cursor'] if !opts[:'cursor'].nil? + query_params[:'page_size'] = opts[:'page_size'] if !opts[:'page_size'].nil? + query_params[:'updated_after'] = opts[:'updated_after'] if !opts[:'updated_after'].nil? + query_params[:'include_deleted'] = opts[:'include_deleted'] if !opts[:'include_deleted'].nil? + query_params[:'ids'] = opts[:'ids'] if !opts[:'ids'].nil? + query_params[:'remote_ids'] = opts[:'remote_ids'] if !opts[:'remote_ids'].nil? + + # header parameters + header_params = opts[:header_params] || {} + # HTTP header 'Accept' (if needed) + header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept'] + header_params[:'X-Integration-Id'] = x_integration_id + + # form parameters + form_params = opts[:form_params] || {} + + # http body (model) + post_body = opts[:debug_body] + + # return_type + return_type = opts[:debug_return_type] || 'GetAtsTagsPositiveResponse' + + # auth_names + auth_names = opts[:debug_auth_names] || ['ApiKey'] + + new_options = opts.merge( + :operation => :"UnifiedATSAPIApi.get_ats_tags", + :header_params => header_params, + :query_params => query_params, + :form_params => form_params, + :body => post_body, + :auth_names => auth_names, + :return_type => return_type + ) + + data, status_code, headers = @api_client.call_api(:GET, local_var_path, new_options) + if @api_client.config.debugging + @api_client.config.logger.debug "API called: UnifiedATSAPIApi#get_ats_tags\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}" + end + return data, status_code, headers + end + + # 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)` + # @param x_integration_id [String] ID of the integration you want to interact with. + # @param [Hash] opts the optional parameters + # @option opts [String] :cursor An optional cursor string used for pagination. This can be retrieved from the `next` property of the previous page response. + # @option opts [Integer] :page_size The number of results to return per page. Maximum is 250. (default to 100) + # @option opts [Time] :updated_after 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). + # @option opts [GetAtsUsersParameterIncludeDeleted] :include_deleted By default, deleted entries are not returned. Use the `include_deleted` query param to include deleted entries too. (default to 'false') + # @option opts [String] :ids Filter by a comma-separated list of IDs such as `222k7eCGyUdgt2JWZDNnkDs3,B5DVmypWENfU6eMe6gYDyJG3`. + # @option opts [String] :remote_ids Filter by a comma-separated list of remote IDs. + # @option opts [String] :emails 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. + # @return [GetAtsUsersPositiveResponse] + def get_ats_users(x_integration_id, opts = {}) + data, _status_code, _headers = get_ats_users_with_http_info(x_integration_id, opts) + data + end + + # 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)` + # @param x_integration_id [String] ID of the integration you want to interact with. + # @param [Hash] opts the optional parameters + # @option opts [String] :cursor An optional cursor string used for pagination. This can be retrieved from the `next` property of the previous page response. + # @option opts [Integer] :page_size The number of results to return per page. Maximum is 250. (default to 100) + # @option opts [Time] :updated_after 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). + # @option opts [GetAtsUsersParameterIncludeDeleted] :include_deleted By default, deleted entries are not returned. Use the `include_deleted` query param to include deleted entries too. (default to 'false') + # @option opts [String] :ids Filter by a comma-separated list of IDs such as `222k7eCGyUdgt2JWZDNnkDs3,B5DVmypWENfU6eMe6gYDyJG3`. + # @option opts [String] :remote_ids Filter by a comma-separated list of remote IDs. + # @option opts [String] :emails 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. + # @return [Array<(GetAtsUsersPositiveResponse, Integer, Hash)>] GetAtsUsersPositiveResponse data, response status code and response headers + def get_ats_users_with_http_info(x_integration_id, opts = {}) + if @api_client.config.debugging + @api_client.config.logger.debug 'Calling API: UnifiedATSAPIApi.get_ats_users ...' + end + # verify the required parameter 'x_integration_id' is set + if @api_client.config.client_side_validation && x_integration_id.nil? + fail ArgumentError, "Missing the required parameter 'x_integration_id' when calling UnifiedATSAPIApi.get_ats_users" + end + if @api_client.config.client_side_validation && !opts[:'page_size'].nil? && opts[:'page_size'] > 250 + fail ArgumentError, 'invalid value for "opts[:"page_size"]" when calling UnifiedATSAPIApi.get_ats_users, must be smaller than or equal to 250.' + end + + if @api_client.config.client_side_validation && !opts[:'page_size'].nil? && opts[:'page_size'] < 1 + fail ArgumentError, 'invalid value for "opts[:"page_size"]" when calling UnifiedATSAPIApi.get_ats_users, must be greater than or equal to 1.' + end + + pattern = Regexp.new(/^\d{4}-\d{2}-\d{2}(T\d{2}:\d{2}:\d{2}(\.\d+)?)?Z?$/) + if @api_client.config.client_side_validation && !opts[:'updated_after'].nil? && opts[:'updated_after'] !~ pattern + fail ArgumentError, "invalid value for 'opts[:\"updated_after\"]' when calling UnifiedATSAPIApi.get_ats_users, must conform to the pattern #{pattern}." + end + + # resource path + local_var_path = '/ats/users' + + # query parameters + query_params = opts[:query_params] || {} + query_params[:'cursor'] = opts[:'cursor'] if !opts[:'cursor'].nil? + query_params[:'page_size'] = opts[:'page_size'] if !opts[:'page_size'].nil? + query_params[:'updated_after'] = opts[:'updated_after'] if !opts[:'updated_after'].nil? + query_params[:'include_deleted'] = opts[:'include_deleted'] if !opts[:'include_deleted'].nil? + query_params[:'ids'] = opts[:'ids'] if !opts[:'ids'].nil? + query_params[:'remote_ids'] = opts[:'remote_ids'] if !opts[:'remote_ids'].nil? + query_params[:'emails'] = opts[:'emails'] if !opts[:'emails'].nil? + + # header parameters + header_params = opts[:header_params] || {} + # HTTP header 'Accept' (if needed) + header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept'] + header_params[:'X-Integration-Id'] = x_integration_id + + # form parameters + form_params = opts[:form_params] || {} + + # http body (model) + post_body = opts[:debug_body] + + # return_type + return_type = opts[:debug_return_type] || 'GetAtsUsersPositiveResponse' + + # auth_names + auth_names = opts[:debug_auth_names] || ['ApiKey'] + + new_options = opts.merge( + :operation => :"UnifiedATSAPIApi.get_ats_users", + :header_params => header_params, + :query_params => query_params, + :form_params => form_params, + :body => post_body, + :auth_names => auth_names, + :return_type => return_type + ) + + data, status_code, headers = @api_client.call_api(:GET, local_var_path, new_options) + if @api_client.config.debugging + @api_client.config.logger.debug "API called: UnifiedATSAPIApi#get_ats_users\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}" + end + return data, status_code, headers + end + + # 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. + # @param x_integration_id [String] ID of the integration you want to interact with. + # @param application_id [String] The ID of the application + # @param [Hash] opts the optional parameters + # @option opts [PatchAtsApplicationsApplicationIdInterviewsRequestBody] :patch_ats_applications_application_id_interviews_request_body PATCH /ats/applications/:application_id/interviews Request body + # @return [PatchAtsApplicationsApplicationIdInterviewsPositiveResponse] + def patch_ats_applications_application_id_interviews(x_integration_id, application_id, opts = {}) + data, _status_code, _headers = patch_ats_applications_application_id_interviews_with_http_info(x_integration_id, application_id, opts) + data + end + + # Update interview + # Update interview <Warning>**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.</Warning> + # @param x_integration_id [String] ID of the integration you want to interact with. + # @param application_id [String] The ID of the application + # @param [Hash] opts the optional parameters + # @option opts [PatchAtsApplicationsApplicationIdInterviewsRequestBody] :patch_ats_applications_application_id_interviews_request_body PATCH /ats/applications/:application_id/interviews Request body + # @return [Array<(PatchAtsApplicationsApplicationIdInterviewsPositiveResponse, Integer, Hash)>] PatchAtsApplicationsApplicationIdInterviewsPositiveResponse data, response status code and response headers + def patch_ats_applications_application_id_interviews_with_http_info(x_integration_id, application_id, opts = {}) + if @api_client.config.debugging + @api_client.config.logger.debug 'Calling API: UnifiedATSAPIApi.patch_ats_applications_application_id_interviews ...' + end + # verify the required parameter 'x_integration_id' is set + if @api_client.config.client_side_validation && x_integration_id.nil? + fail ArgumentError, "Missing the required parameter 'x_integration_id' when calling UnifiedATSAPIApi.patch_ats_applications_application_id_interviews" + end + # verify the required parameter 'application_id' is set + if @api_client.config.client_side_validation && application_id.nil? + fail ArgumentError, "Missing the required parameter 'application_id' when calling UnifiedATSAPIApi.patch_ats_applications_application_id_interviews" + end + # resource path + local_var_path = '/ats/applications/{application_id}/interviews'.sub('{' + 'application_id' + '}', CGI.escape(application_id.to_s)) + + # query parameters + query_params = opts[:query_params] || {} + + # header parameters + header_params = opts[:header_params] || {} + # HTTP header 'Accept' (if needed) + header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept'] + # HTTP header 'Content-Type' + content_type = @api_client.select_header_content_type(['application/json']) + if !content_type.nil? + header_params['Content-Type'] = content_type + end + header_params[:'X-Integration-Id'] = x_integration_id + + # form parameters + form_params = opts[:form_params] || {} + + # http body (model) + post_body = opts[:debug_body] || @api_client.object_to_http_body(opts[:'patch_ats_applications_application_id_interviews_request_body']) + + # return_type + return_type = opts[:debug_return_type] || 'PatchAtsApplicationsApplicationIdInterviewsPositiveResponse' + + # auth_names + auth_names = opts[:debug_auth_names] || ['ApiKey'] + + new_options = opts.merge( + :operation => :"UnifiedATSAPIApi.patch_ats_applications_application_id_interviews", + :header_params => header_params, + :query_params => query_params, + :form_params => form_params, + :body => post_body, + :auth_names => auth_names, + :return_type => return_type + ) + + data, status_code, headers = @api_client.call_api(:PATCH, local_var_path, new_options) + if @api_client.config.debugging + @api_client.config.logger.debug "API called: UnifiedATSAPIApi#patch_ats_applications_application_id_interviews\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}" + end + return data, status_code, headers + end + + # 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\": {} } ``` + # @param x_integration_id [String] ID of the integration you want to interact with. + # @param application_id [String] POST /ats/applications/:application_id/attachments Parameter + # @param [Hash] opts the optional parameters + # @option opts [PostAtsApplicationsApplicationIdAttachmentsRequestBody] :post_ats_applications_application_id_attachments_request_body POST /ats/applications/:application_id/attachments Request body + # @return [PostAtsApplicationsApplicationIdAttachmentsPositiveResponse] + def post_ats_applications_application_id_attachments(x_integration_id, application_id, opts = {}) + data, _status_code, _headers = post_ats_applications_application_id_attachments_with_http_info(x_integration_id, application_id, opts) + data + end + + # Add attachment to application + # Uploads an attachment file for the specified applicant. <Warning> 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. </Warning> <Note> This endpoint requires the permission **Add attachments** to be enabled in [your scope config](/scopes). </Note> ### Example Request Body ```json { \"application_id\": \"GRKdd9dibYKKCrmGRSMJf3wu\", \"attachment\": { \"name\": \"Frank Doe CV.txt\", \"data\": \"SGkgdGhlcmUsIEtvbWJvIGlzIGN1cnJlbnRseSBoaXJpbmcgZW5naW5lZXJzIHRoYXQgbG92ZSB0byB3b3JrIG9uIGRldmVsb3BlciBwcm9kdWN0cy4=\", \"type\": \"CV\", \"content_type\": \"text/plain\" }, \"remote_fields\": {} } ``` + # @param x_integration_id [String] ID of the integration you want to interact with. + # @param application_id [String] POST /ats/applications/:application_id/attachments Parameter + # @param [Hash] opts the optional parameters + # @option opts [PostAtsApplicationsApplicationIdAttachmentsRequestBody] :post_ats_applications_application_id_attachments_request_body POST /ats/applications/:application_id/attachments Request body + # @return [Array<(PostAtsApplicationsApplicationIdAttachmentsPositiveResponse, Integer, Hash)>] PostAtsApplicationsApplicationIdAttachmentsPositiveResponse data, response status code and response headers + def post_ats_applications_application_id_attachments_with_http_info(x_integration_id, application_id, opts = {}) + if @api_client.config.debugging + @api_client.config.logger.debug 'Calling API: UnifiedATSAPIApi.post_ats_applications_application_id_attachments ...' + end + # verify the required parameter 'x_integration_id' is set + if @api_client.config.client_side_validation && x_integration_id.nil? + fail ArgumentError, "Missing the required parameter 'x_integration_id' when calling UnifiedATSAPIApi.post_ats_applications_application_id_attachments" + end + # verify the required parameter 'application_id' is set + if @api_client.config.client_side_validation && application_id.nil? + fail ArgumentError, "Missing the required parameter 'application_id' when calling UnifiedATSAPIApi.post_ats_applications_application_id_attachments" + end + # resource path + local_var_path = '/ats/applications/{application_id}/attachments'.sub('{' + 'application_id' + '}', CGI.escape(application_id.to_s)) + + # query parameters + query_params = opts[:query_params] || {} + + # header parameters + header_params = opts[:header_params] || {} + # HTTP header 'Accept' (if needed) + header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept'] + # HTTP header 'Content-Type' + content_type = @api_client.select_header_content_type(['application/json']) + if !content_type.nil? + header_params['Content-Type'] = content_type + end + header_params[:'X-Integration-Id'] = x_integration_id + + # form parameters + form_params = opts[:form_params] || {} + + # http body (model) + post_body = opts[:debug_body] || @api_client.object_to_http_body(opts[:'post_ats_applications_application_id_attachments_request_body']) + + # return_type + return_type = opts[:debug_return_type] || 'PostAtsApplicationsApplicationIdAttachmentsPositiveResponse' + + # auth_names + auth_names = opts[:debug_auth_names] || ['ApiKey'] + + new_options = opts.merge( + :operation => :"UnifiedATSAPIApi.post_ats_applications_application_id_attachments", + :header_params => header_params, + :query_params => query_params, + :form_params => form_params, + :body => post_body, + :auth_names => auth_names, + :return_type => return_type + ) + + data, status_code, headers = @api_client.call_api(:POST, local_var_path, new_options) + if @api_client.config.debugging + @api_client.config.logger.debug "API called: UnifiedATSAPIApi#post_ats_applications_application_id_attachments\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}" + end + return data, status_code, headers + end + + # 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. + # @param x_integration_id [String] ID of the integration you want to interact with. + # @param application_id [String] The ID of the application + # @param [Hash] opts the optional parameters + # @option opts [PostAtsApplicationsApplicationIdInterviewsRequestBody] :post_ats_applications_application_id_interviews_request_body POST /ats/applications/:application_id/interviews Request body + # @return [PostAtsApplicationsApplicationIdInterviewsPositiveResponse] + def post_ats_applications_application_id_interviews(x_integration_id, application_id, opts = {}) + data, _status_code, _headers = post_ats_applications_application_id_interviews_with_http_info(x_integration_id, application_id, opts) + data + end + + # Create interview + # Create interview <Warning>**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.</Warning> + # @param x_integration_id [String] ID of the integration you want to interact with. + # @param application_id [String] The ID of the application + # @param [Hash] opts the optional parameters + # @option opts [PostAtsApplicationsApplicationIdInterviewsRequestBody] :post_ats_applications_application_id_interviews_request_body POST /ats/applications/:application_id/interviews Request body + # @return [Array<(PostAtsApplicationsApplicationIdInterviewsPositiveResponse, Integer, Hash)>] PostAtsApplicationsApplicationIdInterviewsPositiveResponse data, response status code and response headers + def post_ats_applications_application_id_interviews_with_http_info(x_integration_id, application_id, opts = {}) + if @api_client.config.debugging + @api_client.config.logger.debug 'Calling API: UnifiedATSAPIApi.post_ats_applications_application_id_interviews ...' + end + # verify the required parameter 'x_integration_id' is set + if @api_client.config.client_side_validation && x_integration_id.nil? + fail ArgumentError, "Missing the required parameter 'x_integration_id' when calling UnifiedATSAPIApi.post_ats_applications_application_id_interviews" + end + # verify the required parameter 'application_id' is set + if @api_client.config.client_side_validation && application_id.nil? + fail ArgumentError, "Missing the required parameter 'application_id' when calling UnifiedATSAPIApi.post_ats_applications_application_id_interviews" + end + # resource path + local_var_path = '/ats/applications/{application_id}/interviews'.sub('{' + 'application_id' + '}', CGI.escape(application_id.to_s)) + + # query parameters + query_params = opts[:query_params] || {} + + # header parameters + header_params = opts[:header_params] || {} + # HTTP header 'Accept' (if needed) + header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept'] + # HTTP header 'Content-Type' + content_type = @api_client.select_header_content_type(['application/json']) + if !content_type.nil? + header_params['Content-Type'] = content_type + end + header_params[:'X-Integration-Id'] = x_integration_id + + # form parameters + form_params = opts[:form_params] || {} + + # http body (model) + post_body = opts[:debug_body] || @api_client.object_to_http_body(opts[:'post_ats_applications_application_id_interviews_request_body']) + + # return_type + return_type = opts[:debug_return_type] || 'PostAtsApplicationsApplicationIdInterviewsPositiveResponse' + + # auth_names + auth_names = opts[:debug_auth_names] || ['ApiKey'] + + new_options = opts.merge( + :operation => :"UnifiedATSAPIApi.post_ats_applications_application_id_interviews", + :header_params => header_params, + :query_params => query_params, + :form_params => form_params, + :body => post_body, + :auth_names => auth_names, + :return_type => return_type + ) + + data, status_code, headers = @api_client.call_api(:POST, local_var_path, new_options) + if @api_client.config.debugging + @api_client.config.logger.debug "API called: UnifiedATSAPIApi#post_ats_applications_application_id_interviews\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}" + end + return data, status_code, headers + end + + # 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\": {} } ``` + # @param x_integration_id [String] ID of the integration you want to interact with. + # @param application_id [String] The Kombo ID of the application you want to create the note for. + # @param [Hash] opts the optional parameters + # @option opts [PostAtsApplicationsApplicationIdNotesRequestBody] :post_ats_applications_application_id_notes_request_body POST /ats/applications/:application_id/notes Request body + # @return [PostAtsApplicationsApplicationIdNotesPositiveResponse] + def post_ats_applications_application_id_notes(x_integration_id, application_id, opts = {}) + data, _status_code, _headers = post_ats_applications_application_id_notes_with_http_info(x_integration_id, application_id, opts) + data + end + + # 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. <Note> This endpoint requires the permission **Add notes** to be enabled in [your scope config](/scopes). </Note> ### Example Request Body ```json { \"content\": \"A new message from the candidate is available in YourChat!\", \"content_type\": \"PLAIN_TEXT\", \"remote_fields\": {} } ``` + # @param x_integration_id [String] ID of the integration you want to interact with. + # @param application_id [String] The Kombo ID of the application you want to create the note for. + # @param [Hash] opts the optional parameters + # @option opts [PostAtsApplicationsApplicationIdNotesRequestBody] :post_ats_applications_application_id_notes_request_body POST /ats/applications/:application_id/notes Request body + # @return [Array<(PostAtsApplicationsApplicationIdNotesPositiveResponse, Integer, Hash)>] PostAtsApplicationsApplicationIdNotesPositiveResponse data, response status code and response headers + def post_ats_applications_application_id_notes_with_http_info(x_integration_id, application_id, opts = {}) + if @api_client.config.debugging + @api_client.config.logger.debug 'Calling API: UnifiedATSAPIApi.post_ats_applications_application_id_notes ...' + end + # verify the required parameter 'x_integration_id' is set + if @api_client.config.client_side_validation && x_integration_id.nil? + fail ArgumentError, "Missing the required parameter 'x_integration_id' when calling UnifiedATSAPIApi.post_ats_applications_application_id_notes" + end + # verify the required parameter 'application_id' is set + if @api_client.config.client_side_validation && application_id.nil? + fail ArgumentError, "Missing the required parameter 'application_id' when calling UnifiedATSAPIApi.post_ats_applications_application_id_notes" + end + # resource path + local_var_path = '/ats/applications/{application_id}/notes'.sub('{' + 'application_id' + '}', CGI.escape(application_id.to_s)) + + # query parameters + query_params = opts[:query_params] || {} + + # header parameters + header_params = opts[:header_params] || {} + # HTTP header 'Accept' (if needed) + header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept'] + # HTTP header 'Content-Type' + content_type = @api_client.select_header_content_type(['application/json']) + if !content_type.nil? + header_params['Content-Type'] = content_type + end + header_params[:'X-Integration-Id'] = x_integration_id + + # form parameters + form_params = opts[:form_params] || {} + + # http body (model) + post_body = opts[:debug_body] || @api_client.object_to_http_body(opts[:'post_ats_applications_application_id_notes_request_body']) + + # return_type + return_type = opts[:debug_return_type] || 'PostAtsApplicationsApplicationIdNotesPositiveResponse' + + # auth_names + auth_names = opts[:debug_auth_names] || ['ApiKey'] + + new_options = opts.merge( + :operation => :"UnifiedATSAPIApi.post_ats_applications_application_id_notes", + :header_params => header_params, + :query_params => query_params, + :form_params => form_params, + :body => post_body, + :auth_names => auth_names, + :return_type => return_type + ) + + data, status_code, headers = @api_client.call_api(:POST, local_var_path, new_options) + if @api_client.config.debugging + @api_client.config.logger.debug "API called: UnifiedATSAPIApi#post_ats_applications_application_id_notes\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}" + end + return data, status_code, headers + end + + # 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\": {} } ``` + # @param x_integration_id [String] ID of the integration you want to interact with. + # @param application_id [String] The Kombo ID of the application you want to reject. + # @param [Hash] opts the optional parameters + # @option opts [PostAtsApplicationsApplicationIdRejectRequestBody] :post_ats_applications_application_id_reject_request_body POST /ats/applications/:application_id/reject Request body + # @return [PostAtsApplicationsApplicationIdRejectPositiveResponse] + def post_ats_applications_application_id_reject(x_integration_id, application_id, opts = {}) + data, _status_code, _headers = post_ats_applications_application_id_reject_with_http_info(x_integration_id, application_id, opts) + data + end + + # 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). <Note> This endpoint requires the permission **Reject applications** to be enabled in [your scope config](/scopes). </Note> ### 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\": {} } ``` + # @param x_integration_id [String] ID of the integration you want to interact with. + # @param application_id [String] The Kombo ID of the application you want to reject. + # @param [Hash] opts the optional parameters + # @option opts [PostAtsApplicationsApplicationIdRejectRequestBody] :post_ats_applications_application_id_reject_request_body POST /ats/applications/:application_id/reject Request body + # @return [Array<(PostAtsApplicationsApplicationIdRejectPositiveResponse, Integer, Hash)>] PostAtsApplicationsApplicationIdRejectPositiveResponse data, response status code and response headers + def post_ats_applications_application_id_reject_with_http_info(x_integration_id, application_id, opts = {}) + if @api_client.config.debugging + @api_client.config.logger.debug 'Calling API: UnifiedATSAPIApi.post_ats_applications_application_id_reject ...' + end + # verify the required parameter 'x_integration_id' is set + if @api_client.config.client_side_validation && x_integration_id.nil? + fail ArgumentError, "Missing the required parameter 'x_integration_id' when calling UnifiedATSAPIApi.post_ats_applications_application_id_reject" + end + # verify the required parameter 'application_id' is set + if @api_client.config.client_side_validation && application_id.nil? + fail ArgumentError, "Missing the required parameter 'application_id' when calling UnifiedATSAPIApi.post_ats_applications_application_id_reject" + end + # resource path + local_var_path = '/ats/applications/{application_id}/reject'.sub('{' + 'application_id' + '}', CGI.escape(application_id.to_s)) + + # query parameters + query_params = opts[:query_params] || {} + + # header parameters + header_params = opts[:header_params] || {} + # HTTP header 'Accept' (if needed) + header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept'] + # HTTP header 'Content-Type' + content_type = @api_client.select_header_content_type(['application/json']) + if !content_type.nil? + header_params['Content-Type'] = content_type + end + header_params[:'X-Integration-Id'] = x_integration_id + + # form parameters + form_params = opts[:form_params] || {} + + # http body (model) + post_body = opts[:debug_body] || @api_client.object_to_http_body(opts[:'post_ats_applications_application_id_reject_request_body']) + + # return_type + return_type = opts[:debug_return_type] || 'PostAtsApplicationsApplicationIdRejectPositiveResponse' + + # auth_names + auth_names = opts[:debug_auth_names] || ['ApiKey'] + + new_options = opts.merge( + :operation => :"UnifiedATSAPIApi.post_ats_applications_application_id_reject", + :header_params => header_params, + :query_params => query_params, + :form_params => form_params, + :body => post_body, + :auth_names => auth_names, + :return_type => return_type + ) + + data, status_code, headers = @api_client.call_api(:POST, local_var_path, new_options) + if @api_client.config.debugging + @api_client.config.logger.debug "API called: UnifiedATSAPIApi#post_ats_applications_application_id_reject\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}" + end + return data, status_code, headers + end + + # 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\": {} } ``` + # @param x_integration_id [String] ID of the integration you want to interact with. + # @param application_id [String] The Kombo ID of the application you want to create the link for. + # @param [Hash] opts the optional parameters + # @option opts [PostAtsApplicationsApplicationIdResultLinksRequestBody] :post_ats_applications_application_id_result_links_request_body POST /ats/applications/:application_id/result-links Request body + # @return [PostAtsApplicationsApplicationIdResultLinksPositiveResponse] + def post_ats_applications_application_id_result_links(x_integration_id, application_id, opts = {}) + data, _status_code, _headers = post_ats_applications_application_id_result_links_with_http_info(x_integration_id, application_id, opts) + data + end + + # 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. <Note> This endpoint requires the permission **Add result links** to be enabled in [your scope config](/scopes). </Note> ### 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\": {} } ``` + # @param x_integration_id [String] ID of the integration you want to interact with. + # @param application_id [String] The Kombo ID of the application you want to create the link for. + # @param [Hash] opts the optional parameters + # @option opts [PostAtsApplicationsApplicationIdResultLinksRequestBody] :post_ats_applications_application_id_result_links_request_body POST /ats/applications/:application_id/result-links Request body + # @return [Array<(PostAtsApplicationsApplicationIdResultLinksPositiveResponse, Integer, Hash)>] PostAtsApplicationsApplicationIdResultLinksPositiveResponse data, response status code and response headers + def post_ats_applications_application_id_result_links_with_http_info(x_integration_id, application_id, opts = {}) + if @api_client.config.debugging + @api_client.config.logger.debug 'Calling API: UnifiedATSAPIApi.post_ats_applications_application_id_result_links ...' + end + # verify the required parameter 'x_integration_id' is set + if @api_client.config.client_side_validation && x_integration_id.nil? + fail ArgumentError, "Missing the required parameter 'x_integration_id' when calling UnifiedATSAPIApi.post_ats_applications_application_id_result_links" + end + # verify the required parameter 'application_id' is set + if @api_client.config.client_side_validation && application_id.nil? + fail ArgumentError, "Missing the required parameter 'application_id' when calling UnifiedATSAPIApi.post_ats_applications_application_id_result_links" + end + # resource path + local_var_path = '/ats/applications/{application_id}/result-links'.sub('{' + 'application_id' + '}', CGI.escape(application_id.to_s)) + + # query parameters + query_params = opts[:query_params] || {} + + # header parameters + header_params = opts[:header_params] || {} + # HTTP header 'Accept' (if needed) + header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept'] + # HTTP header 'Content-Type' + content_type = @api_client.select_header_content_type(['application/json']) + if !content_type.nil? + header_params['Content-Type'] = content_type + end + header_params[:'X-Integration-Id'] = x_integration_id + + # form parameters + form_params = opts[:form_params] || {} + + # http body (model) + post_body = opts[:debug_body] || @api_client.object_to_http_body(opts[:'post_ats_applications_application_id_result_links_request_body']) + + # return_type + return_type = opts[:debug_return_type] || 'PostAtsApplicationsApplicationIdResultLinksPositiveResponse' + + # auth_names + auth_names = opts[:debug_auth_names] || ['ApiKey'] + + new_options = opts.merge( + :operation => :"UnifiedATSAPIApi.post_ats_applications_application_id_result_links", + :header_params => header_params, + :query_params => query_params, + :form_params => form_params, + :body => post_body, + :auth_names => auth_names, + :return_type => return_type + ) + + data, status_code, headers = @api_client.call_api(:POST, local_var_path, new_options) + if @api_client.config.debugging + @api_client.config.logger.debug "API called: UnifiedATSAPIApi#post_ats_applications_application_id_result_links\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}" + end + return data, status_code, headers + end + + # 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\": {} } ``` + # @param x_integration_id [String] ID of the integration you want to interact with. + # @param [Hash] opts the optional parameters + # @option opts [PostAtsCandidatesRequestBody] :post_ats_candidates_request_body POST /ats/candidates Request body + # @return [PostAtsCandidatesPositiveResponse] + def post_ats_candidates(x_integration_id, opts = {}) + data, _status_code, _headers = post_ats_candidates_with_http_info(x_integration_id, opts) + data + end + + # Create candidate + # Create a new candidate and application for the specified job. <Warning> **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. </Warning> <Note> This endpoint requires the permission **Create applications and candidates** to be enabled in [your scope config](/scopes). </Note> ### 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\": {} } ``` + # @param x_integration_id [String] ID of the integration you want to interact with. + # @param [Hash] opts the optional parameters + # @option opts [PostAtsCandidatesRequestBody] :post_ats_candidates_request_body POST /ats/candidates Request body + # @return [Array<(PostAtsCandidatesPositiveResponse, Integer, Hash)>] PostAtsCandidatesPositiveResponse data, response status code and response headers + def post_ats_candidates_with_http_info(x_integration_id, opts = {}) + if @api_client.config.debugging + @api_client.config.logger.debug 'Calling API: UnifiedATSAPIApi.post_ats_candidates ...' + end + # verify the required parameter 'x_integration_id' is set + if @api_client.config.client_side_validation && x_integration_id.nil? + fail ArgumentError, "Missing the required parameter 'x_integration_id' when calling UnifiedATSAPIApi.post_ats_candidates" + end + # resource path + local_var_path = '/ats/candidates' + + # query parameters + query_params = opts[:query_params] || {} + + # header parameters + header_params = opts[:header_params] || {} + # HTTP header 'Accept' (if needed) + header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept'] + # HTTP header 'Content-Type' + content_type = @api_client.select_header_content_type(['application/json']) + if !content_type.nil? + header_params['Content-Type'] = content_type + end + header_params[:'X-Integration-Id'] = x_integration_id + + # form parameters + form_params = opts[:form_params] || {} + + # http body (model) + post_body = opts[:debug_body] || @api_client.object_to_http_body(opts[:'post_ats_candidates_request_body']) + + # return_type + return_type = opts[:debug_return_type] || 'PostAtsCandidatesPositiveResponse' + + # auth_names + auth_names = opts[:debug_auth_names] || ['ApiKey'] + + new_options = opts.merge( + :operation => :"UnifiedATSAPIApi.post_ats_candidates", + :header_params => header_params, + :query_params => query_params, + :form_params => form_params, + :body => post_body, + :auth_names => auth_names, + :return_type => return_type + ) + + data, status_code, headers = @api_client.call_api(:POST, local_var_path, new_options) + if @api_client.config.debugging + @api_client.config.logger.debug "API called: UnifiedATSAPIApi#post_ats_candidates\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}" + end + return data, status_code, headers + end + + # 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\" } } ``` + # @param x_integration_id [String] ID of the integration you want to interact with. + # @param candidate_id [String] The Kombo ID of the candidate you want to add the attachment to. + # @param [Hash] opts the optional parameters + # @option opts [PostAtsCandidatesCandidateIdAttachmentsRequestBody] :post_ats_candidates_candidate_id_attachments_request_body POST /ats/candidates/:candidate_id/attachments Request body + # @return [PostAtsCandidatesCandidateIdAttachmentsPositiveResponse] + def post_ats_candidates_candidate_id_attachments(x_integration_id, candidate_id, opts = {}) + data, _status_code, _headers = post_ats_candidates_candidate_id_attachments_with_http_info(x_integration_id, candidate_id, opts) + data + end + + # Add attachment to candidate + # Uploads an attachment file for the specified candidate. <Warning> **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) </Warning> <Note> This endpoint requires the permission **Add attachments** to be enabled in [your scope config](/scopes). </Note> ### Example Request Body ```json { \"candidate_id\": \"GRKdd9dibYKKCrmGRSMJf3wu\", \"attachment\": { \"name\": \"Frank Doe CV.txt\", \"data\": \"SGkgdGhlcmUsIEtvbWJvIGlzIGN1cnJlbnRseSBoaXJpbmcgZW5naW5lZXJzIHRoYXQgbG92ZSB0byB3b3JrIG9uIGRldmVsb3BlciBwcm9kdWN0cy4=\", \"type\": \"CV\", \"content_type\": \"text/plain\" } } ``` + # @param x_integration_id [String] ID of the integration you want to interact with. + # @param candidate_id [String] The Kombo ID of the candidate you want to add the attachment to. + # @param [Hash] opts the optional parameters + # @option opts [PostAtsCandidatesCandidateIdAttachmentsRequestBody] :post_ats_candidates_candidate_id_attachments_request_body POST /ats/candidates/:candidate_id/attachments Request body + # @return [Array<(PostAtsCandidatesCandidateIdAttachmentsPositiveResponse, Integer, Hash)>] PostAtsCandidatesCandidateIdAttachmentsPositiveResponse data, response status code and response headers + def post_ats_candidates_candidate_id_attachments_with_http_info(x_integration_id, candidate_id, opts = {}) + if @api_client.config.debugging + @api_client.config.logger.debug 'Calling API: UnifiedATSAPIApi.post_ats_candidates_candidate_id_attachments ...' + end + # verify the required parameter 'x_integration_id' is set + if @api_client.config.client_side_validation && x_integration_id.nil? + fail ArgumentError, "Missing the required parameter 'x_integration_id' when calling UnifiedATSAPIApi.post_ats_candidates_candidate_id_attachments" + end + # verify the required parameter 'candidate_id' is set + if @api_client.config.client_side_validation && candidate_id.nil? + fail ArgumentError, "Missing the required parameter 'candidate_id' when calling UnifiedATSAPIApi.post_ats_candidates_candidate_id_attachments" + end + # resource path + local_var_path = '/ats/candidates/{candidate_id}/attachments'.sub('{' + 'candidate_id' + '}', CGI.escape(candidate_id.to_s)) + + # query parameters + query_params = opts[:query_params] || {} + + # header parameters + header_params = opts[:header_params] || {} + # HTTP header 'Accept' (if needed) + header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept'] + # HTTP header 'Content-Type' + content_type = @api_client.select_header_content_type(['application/json']) + if !content_type.nil? + header_params['Content-Type'] = content_type + end + header_params[:'X-Integration-Id'] = x_integration_id + + # form parameters + form_params = opts[:form_params] || {} + + # http body (model) + post_body = opts[:debug_body] || @api_client.object_to_http_body(opts[:'post_ats_candidates_candidate_id_attachments_request_body']) + + # return_type + return_type = opts[:debug_return_type] || 'PostAtsCandidatesCandidateIdAttachmentsPositiveResponse' + + # auth_names + auth_names = opts[:debug_auth_names] || ['ApiKey'] + + new_options = opts.merge( + :operation => :"UnifiedATSAPIApi.post_ats_candidates_candidate_id_attachments", + :header_params => header_params, + :query_params => query_params, + :form_params => form_params, + :body => post_body, + :auth_names => auth_names, + :return_type => return_type + ) + + data, status_code, headers = @api_client.call_api(:POST, local_var_path, new_options) + if @api_client.config.debugging + @api_client.config.logger.debug "API called: UnifiedATSAPIApi#post_ats_candidates_candidate_id_attachments\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}" + end + return data, status_code, headers + end + + # 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\": {} } ``` + # @param x_integration_id [String] ID of the integration you want to interact with. + # @param candidate_id [String] The Kombo ID of the candidate you want to add the result link to. + # @param [Hash] opts the optional parameters + # @option opts [PostAtsCandidatesCandidateIdResultLinksRequestBody] :post_ats_candidates_candidate_id_result_links_request_body POST /ats/candidates/:candidate_id/result-links Request body + # @return [PostAtsCandidatesCandidateIdResultLinksPositiveResponse] + def post_ats_candidates_candidate_id_result_links(x_integration_id, candidate_id, opts = {}) + data, _status_code, _headers = post_ats_candidates_candidate_id_result_links_with_http_info(x_integration_id, candidate_id, opts) + data + end + + # Add result link to candidate + # Add a result link to a candidate. <Warning> **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. </Warning> <Note> This endpoint requires the permission **Add result links** to be enabled in [your scope config](/scopes). </Note> ### 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\": {} } ``` + # @param x_integration_id [String] ID of the integration you want to interact with. + # @param candidate_id [String] The Kombo ID of the candidate you want to add the result link to. + # @param [Hash] opts the optional parameters + # @option opts [PostAtsCandidatesCandidateIdResultLinksRequestBody] :post_ats_candidates_candidate_id_result_links_request_body POST /ats/candidates/:candidate_id/result-links Request body + # @return [Array<(PostAtsCandidatesCandidateIdResultLinksPositiveResponse, Integer, Hash)>] PostAtsCandidatesCandidateIdResultLinksPositiveResponse data, response status code and response headers + def post_ats_candidates_candidate_id_result_links_with_http_info(x_integration_id, candidate_id, opts = {}) + if @api_client.config.debugging + @api_client.config.logger.debug 'Calling API: UnifiedATSAPIApi.post_ats_candidates_candidate_id_result_links ...' + end + # verify the required parameter 'x_integration_id' is set + if @api_client.config.client_side_validation && x_integration_id.nil? + fail ArgumentError, "Missing the required parameter 'x_integration_id' when calling UnifiedATSAPIApi.post_ats_candidates_candidate_id_result_links" + end + # verify the required parameter 'candidate_id' is set + if @api_client.config.client_side_validation && candidate_id.nil? + fail ArgumentError, "Missing the required parameter 'candidate_id' when calling UnifiedATSAPIApi.post_ats_candidates_candidate_id_result_links" + end + # resource path + local_var_path = '/ats/candidates/{candidate_id}/result-links'.sub('{' + 'candidate_id' + '}', CGI.escape(candidate_id.to_s)) + + # query parameters + query_params = opts[:query_params] || {} + + # header parameters + header_params = opts[:header_params] || {} + # HTTP header 'Accept' (if needed) + header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept'] + # HTTP header 'Content-Type' + content_type = @api_client.select_header_content_type(['application/json']) + if !content_type.nil? + header_params['Content-Type'] = content_type + end + header_params[:'X-Integration-Id'] = x_integration_id + + # form parameters + form_params = opts[:form_params] || {} + + # http body (model) + post_body = opts[:debug_body] || @api_client.object_to_http_body(opts[:'post_ats_candidates_candidate_id_result_links_request_body']) + + # return_type + return_type = opts[:debug_return_type] || 'PostAtsCandidatesCandidateIdResultLinksPositiveResponse' + + # auth_names + auth_names = opts[:debug_auth_names] || ['ApiKey'] + + new_options = opts.merge( + :operation => :"UnifiedATSAPIApi.post_ats_candidates_candidate_id_result_links", + :header_params => header_params, + :query_params => query_params, + :form_params => form_params, + :body => post_body, + :auth_names => auth_names, + :return_type => return_type + ) + + data, status_code, headers = @api_client.call_api(:POST, local_var_path, new_options) + if @api_client.config.debugging + @api_client.config.logger.debug "API called: UnifiedATSAPIApi#post_ats_candidates_candidate_id_result_links\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}" + end + return data, status_code, headers + end + + # 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\" } } ``` + # @param x_integration_id [String] ID of the integration you want to interact with. + # @param candidate_id [String] The Kombo ID of the candidate you want to add the tag to. + # @param [Hash] opts the optional parameters + # @option opts [PostAtsCandidatesCandidateIdTagsRequestBody] :post_ats_candidates_candidate_id_tags_request_body POST /ats/candidates/:candidate_id/tags Request body + # @return [PostAtsCandidatesCandidateIdTagsPositiveResponse] + def post_ats_candidates_candidate_id_tags(x_integration_id, candidate_id, opts = {}) + data, _status_code, _headers = post_ats_candidates_candidate_id_tags_with_http_info(x_integration_id, candidate_id, opts) + data + end + + # 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. <Note> This endpoint requires the permission **Manage tags** to be enabled in [your scope config](/scopes). </Note> ### Example Request Body ```json { \"tag\": { \"name\": \"Excellent Fit\" } } ``` + # @param x_integration_id [String] ID of the integration you want to interact with. + # @param candidate_id [String] The Kombo ID of the candidate you want to add the tag to. + # @param [Hash] opts the optional parameters + # @option opts [PostAtsCandidatesCandidateIdTagsRequestBody] :post_ats_candidates_candidate_id_tags_request_body POST /ats/candidates/:candidate_id/tags Request body + # @return [Array<(PostAtsCandidatesCandidateIdTagsPositiveResponse, Integer, Hash)>] PostAtsCandidatesCandidateIdTagsPositiveResponse data, response status code and response headers + def post_ats_candidates_candidate_id_tags_with_http_info(x_integration_id, candidate_id, opts = {}) + if @api_client.config.debugging + @api_client.config.logger.debug 'Calling API: UnifiedATSAPIApi.post_ats_candidates_candidate_id_tags ...' + end + # verify the required parameter 'x_integration_id' is set + if @api_client.config.client_side_validation && x_integration_id.nil? + fail ArgumentError, "Missing the required parameter 'x_integration_id' when calling UnifiedATSAPIApi.post_ats_candidates_candidate_id_tags" + end + # verify the required parameter 'candidate_id' is set + if @api_client.config.client_side_validation && candidate_id.nil? + fail ArgumentError, "Missing the required parameter 'candidate_id' when calling UnifiedATSAPIApi.post_ats_candidates_candidate_id_tags" + end + # resource path + local_var_path = '/ats/candidates/{candidate_id}/tags'.sub('{' + 'candidate_id' + '}', CGI.escape(candidate_id.to_s)) + + # query parameters + query_params = opts[:query_params] || {} + + # header parameters + header_params = opts[:header_params] || {} + # HTTP header 'Accept' (if needed) + header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept'] + # HTTP header 'Content-Type' + content_type = @api_client.select_header_content_type(['application/json']) + if !content_type.nil? + header_params['Content-Type'] = content_type + end + header_params[:'X-Integration-Id'] = x_integration_id + + # form parameters + form_params = opts[:form_params] || {} + + # http body (model) + post_body = opts[:debug_body] || @api_client.object_to_http_body(opts[:'post_ats_candidates_candidate_id_tags_request_body']) + + # return_type + return_type = opts[:debug_return_type] || 'PostAtsCandidatesCandidateIdTagsPositiveResponse' + + # auth_names + auth_names = opts[:debug_auth_names] || ['ApiKey'] + + new_options = opts.merge( + :operation => :"UnifiedATSAPIApi.post_ats_candidates_candidate_id_tags", + :header_params => header_params, + :query_params => query_params, + :form_params => form_params, + :body => post_body, + :auth_names => auth_names, + :return_type => return_type + ) + + data, status_code, headers = @api_client.call_api(:POST, local_var_path, new_options) + if @api_client.config.debugging + @api_client.config.logger.debug "API called: UnifiedATSAPIApi#post_ats_candidates_candidate_id_tags\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}" + end + return data, status_code, headers + end + + # 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\" } } ``` + # @param x_integration_id [String] ID of the integration you want to interact with. + # @param [Hash] opts the optional parameters + # @option opts [PostAtsImportTrackedApplicationRequestBody] :post_ats_import_tracked_application_request_body POST /ats/import-tracked-application Request body + # @return [PostAtsImportTrackedApplicationPositiveResponse] + def post_ats_import_tracked_application(x_integration_id, opts = {}) + data, _status_code, _headers = post_ats_import_tracked_application_with_http_info(x_integration_id, opts) + data + end + + # 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\" } } ``` + # @param x_integration_id [String] ID of the integration you want to interact with. + # @param [Hash] opts the optional parameters + # @option opts [PostAtsImportTrackedApplicationRequestBody] :post_ats_import_tracked_application_request_body POST /ats/import-tracked-application Request body + # @return [Array<(PostAtsImportTrackedApplicationPositiveResponse, Integer, Hash)>] PostAtsImportTrackedApplicationPositiveResponse data, response status code and response headers + def post_ats_import_tracked_application_with_http_info(x_integration_id, opts = {}) + if @api_client.config.debugging + @api_client.config.logger.debug 'Calling API: UnifiedATSAPIApi.post_ats_import_tracked_application ...' + end + # verify the required parameter 'x_integration_id' is set + if @api_client.config.client_side_validation && x_integration_id.nil? + fail ArgumentError, "Missing the required parameter 'x_integration_id' when calling UnifiedATSAPIApi.post_ats_import_tracked_application" + end + # resource path + local_var_path = '/ats/import-tracked-application' + + # query parameters + query_params = opts[:query_params] || {} + + # header parameters + header_params = opts[:header_params] || {} + # HTTP header 'Accept' (if needed) + header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept'] + # HTTP header 'Content-Type' + content_type = @api_client.select_header_content_type(['application/json']) + if !content_type.nil? + header_params['Content-Type'] = content_type + end + header_params[:'X-Integration-Id'] = x_integration_id + + # form parameters + form_params = opts[:form_params] || {} + + # http body (model) + post_body = opts[:debug_body] || @api_client.object_to_http_body(opts[:'post_ats_import_tracked_application_request_body']) + + # return_type + return_type = opts[:debug_return_type] || 'PostAtsImportTrackedApplicationPositiveResponse' + + # auth_names + auth_names = opts[:debug_auth_names] || ['ApiKey'] + + new_options = opts.merge( + :operation => :"UnifiedATSAPIApi.post_ats_import_tracked_application", + :header_params => header_params, + :query_params => query_params, + :form_params => form_params, + :body => post_body, + :auth_names => auth_names, + :return_type => return_type + ) + + data, status_code, headers = @api_client.call_api(:POST, local_var_path, new_options) + if @api_client.config.debugging + @api_client.config.logger.debug "API called: UnifiedATSAPIApi#post_ats_import_tracked_application\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}" + end + return data, status_code, headers + end + + # 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\": {} } ``` + # @param x_integration_id [String] ID of the integration you want to interact with. + # @param 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. + # @param [Hash] opts the optional parameters + # @option opts [PostAtsJobsJobIdApplicationsRequestBody] :post_ats_jobs_job_id_applications_request_body POST /ats/jobs/:job_id/applications Request body + # @return [PostAtsJobsJobIdApplicationsPositiveResponse] + def post_ats_jobs_job_id_applications(x_integration_id, job_id, opts = {}) + data, _status_code, _headers = post_ats_jobs_job_id_applications_with_http_info(x_integration_id, job_id, opts) + data + end + + # 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) <Note> This endpoint requires the permission **Create applications and candidates** to be enabled in [your scope config](/scopes). </Note> ### 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\": {} } ``` + # @param x_integration_id [String] ID of the integration you want to interact with. + # @param 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. + # @param [Hash] opts the optional parameters + # @option opts [PostAtsJobsJobIdApplicationsRequestBody] :post_ats_jobs_job_id_applications_request_body POST /ats/jobs/:job_id/applications Request body + # @return [Array<(PostAtsJobsJobIdApplicationsPositiveResponse, Integer, Hash)>] PostAtsJobsJobIdApplicationsPositiveResponse data, response status code and response headers + def post_ats_jobs_job_id_applications_with_http_info(x_integration_id, job_id, opts = {}) + if @api_client.config.debugging + @api_client.config.logger.debug 'Calling API: UnifiedATSAPIApi.post_ats_jobs_job_id_applications ...' + end + # verify the required parameter 'x_integration_id' is set + if @api_client.config.client_side_validation && x_integration_id.nil? + fail ArgumentError, "Missing the required parameter 'x_integration_id' when calling UnifiedATSAPIApi.post_ats_jobs_job_id_applications" + end + # verify the required parameter 'job_id' is set + if @api_client.config.client_side_validation && job_id.nil? + fail ArgumentError, "Missing the required parameter 'job_id' when calling UnifiedATSAPIApi.post_ats_jobs_job_id_applications" + end + # resource path + local_var_path = '/ats/jobs/{job_id}/applications'.sub('{' + 'job_id' + '}', CGI.escape(job_id.to_s)) + + # query parameters + query_params = opts[:query_params] || {} + + # header parameters + header_params = opts[:header_params] || {} + # HTTP header 'Accept' (if needed) + header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept'] + # HTTP header 'Content-Type' + content_type = @api_client.select_header_content_type(['application/json']) + if !content_type.nil? + header_params['Content-Type'] = content_type + end + header_params[:'X-Integration-Id'] = x_integration_id + + # form parameters + form_params = opts[:form_params] || {} + + # http body (model) + post_body = opts[:debug_body] || @api_client.object_to_http_body(opts[:'post_ats_jobs_job_id_applications_request_body']) + + # return_type + return_type = opts[:debug_return_type] || 'PostAtsJobsJobIdApplicationsPositiveResponse' + + # auth_names + auth_names = opts[:debug_auth_names] || ['ApiKey'] + + new_options = opts.merge( + :operation => :"UnifiedATSAPIApi.post_ats_jobs_job_id_applications", + :header_params => header_params, + :query_params => query_params, + :form_params => form_params, + :body => post_body, + :auth_names => auth_names, + :return_type => return_type + ) + + data, status_code, headers = @api_client.call_api(:POST, local_var_path, new_options) + if @api_client.config.debugging + @api_client.config.logger.debug "API called: UnifiedATSAPIApi#post_ats_jobs_job_id_applications\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}" + end + return data, status_code, headers + end + + # 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\" } ``` + # @param x_integration_id [String] ID of the integration you want to interact with. + # @param application_id [String] The Kombo ID of the application you want to move to a different stage. + # @param [Hash] opts the optional parameters + # @option opts [PutAtsApplicationsApplicationIdStageRequestBody] :put_ats_applications_application_id_stage_request_body PUT /ats/applications/:application_id/stage Request body + # @return [PutAtsApplicationsApplicationIdStagePositiveResponse] + def put_ats_applications_application_id_stage(x_integration_id, application_id, opts = {}) + data, _status_code, _headers = put_ats_applications_application_id_stage_with_http_info(x_integration_id, application_id, opts) + data + end + + # Move application to stage + # Moves an application to a specified stage. Use job-specific stages from GET /jobs, not the deprecated /application-stages endpoint. <Note> This endpoint requires the permission **Set application stage** to be enabled in [your scope config](/scopes). </Note> ### Example Request Body ```json { \"stage_id\": \"3PJ8PZhZZa1eEdd2DtPNtVup\" } ``` + # @param x_integration_id [String] ID of the integration you want to interact with. + # @param application_id [String] The Kombo ID of the application you want to move to a different stage. + # @param [Hash] opts the optional parameters + # @option opts [PutAtsApplicationsApplicationIdStageRequestBody] :put_ats_applications_application_id_stage_request_body PUT /ats/applications/:application_id/stage Request body + # @return [Array<(PutAtsApplicationsApplicationIdStagePositiveResponse, Integer, Hash)>] PutAtsApplicationsApplicationIdStagePositiveResponse data, response status code and response headers + def put_ats_applications_application_id_stage_with_http_info(x_integration_id, application_id, opts = {}) + if @api_client.config.debugging + @api_client.config.logger.debug 'Calling API: UnifiedATSAPIApi.put_ats_applications_application_id_stage ...' + end + # verify the required parameter 'x_integration_id' is set + if @api_client.config.client_side_validation && x_integration_id.nil? + fail ArgumentError, "Missing the required parameter 'x_integration_id' when calling UnifiedATSAPIApi.put_ats_applications_application_id_stage" + end + # verify the required parameter 'application_id' is set + if @api_client.config.client_side_validation && application_id.nil? + fail ArgumentError, "Missing the required parameter 'application_id' when calling UnifiedATSAPIApi.put_ats_applications_application_id_stage" + end + # resource path + local_var_path = '/ats/applications/{application_id}/stage'.sub('{' + 'application_id' + '}', CGI.escape(application_id.to_s)) + + # query parameters + query_params = opts[:query_params] || {} + + # header parameters + header_params = opts[:header_params] || {} + # HTTP header 'Accept' (if needed) + header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept'] + # HTTP header 'Content-Type' + content_type = @api_client.select_header_content_type(['application/json']) + if !content_type.nil? + header_params['Content-Type'] = content_type + end + header_params[:'X-Integration-Id'] = x_integration_id + + # form parameters + form_params = opts[:form_params] || {} + + # http body (model) + post_body = opts[:debug_body] || @api_client.object_to_http_body(opts[:'put_ats_applications_application_id_stage_request_body']) + + # return_type + return_type = opts[:debug_return_type] || 'PutAtsApplicationsApplicationIdStagePositiveResponse' + + # auth_names + auth_names = opts[:debug_auth_names] || ['ApiKey'] + + new_options = opts.merge( + :operation => :"UnifiedATSAPIApi.put_ats_applications_application_id_stage", + :header_params => header_params, + :query_params => query_params, + :form_params => form_params, + :body => post_body, + :auth_names => auth_names, + :return_type => return_type + ) + + data, status_code, headers = @api_client.call_api(:PUT, local_var_path, new_options) + if @api_client.config.debugging + @api_client.config.logger.debug "API called: UnifiedATSAPIApi#put_ats_applications_application_id_stage\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}" + end + return data, status_code, headers + end + end +end diff --git a/lib/kombo_client/api/unified_hrisapi_api.rb b/lib/kombo_client/api/unified_hrisapi_api.rb new file mode 100644 index 0000000..3dae369 --- /dev/null +++ b/lib/kombo_client/api/unified_hrisapi_api.rb @@ -0,0 +1,2709 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.17.0 + +=end + +require 'cgi' + +module Kombo + class UnifiedHRISAPIApi + attr_accessor :api_client + + def initialize(api_client = ApiClient.default) + @api_client = api_client + end + # Delete absence + # Delete this absence. This endpoint requires the permission **Manage absences** to be enabled in [your scope config](/scopes). ### Example Request Body ```json { \"absence_id\": \"wXJMxwDvPAjrJ4CyqdV9\" } ``` + # @param x_integration_id [String] ID of the integration you want to interact with. + # @param absence_id [String] The Kombo ID of the absence + # @param [Hash] opts the optional parameters + # @option opts [DeleteHrisAbsencesAbsenceIdRequestBody] :delete_hris_absences_absence_id_request_body DELETE /hris/absences/:absence_id Request body + # @return [DeleteHrisAbsencesAbsenceIdPositiveResponse] + def delete_hris_absences_absence_id(x_integration_id, absence_id, opts = {}) + data, _status_code, _headers = delete_hris_absences_absence_id_with_http_info(x_integration_id, absence_id, opts) + data + end + + # Delete absence + # Delete this absence. <Note> This endpoint requires the permission **Manage absences** to be enabled in [your scope config](/scopes). </Note> ### Example Request Body ```json { \"absence_id\": \"wXJMxwDvPAjrJ4CyqdV9\" } ``` + # @param x_integration_id [String] ID of the integration you want to interact with. + # @param absence_id [String] The Kombo ID of the absence + # @param [Hash] opts the optional parameters + # @option opts [DeleteHrisAbsencesAbsenceIdRequestBody] :delete_hris_absences_absence_id_request_body DELETE /hris/absences/:absence_id Request body + # @return [Array<(DeleteHrisAbsencesAbsenceIdPositiveResponse, Integer, Hash)>] DeleteHrisAbsencesAbsenceIdPositiveResponse data, response status code and response headers + def delete_hris_absences_absence_id_with_http_info(x_integration_id, absence_id, opts = {}) + if @api_client.config.debugging + @api_client.config.logger.debug 'Calling API: UnifiedHRISAPIApi.delete_hris_absences_absence_id ...' + end + # verify the required parameter 'x_integration_id' is set + if @api_client.config.client_side_validation && x_integration_id.nil? + fail ArgumentError, "Missing the required parameter 'x_integration_id' when calling UnifiedHRISAPIApi.delete_hris_absences_absence_id" + end + # verify the required parameter 'absence_id' is set + if @api_client.config.client_side_validation && absence_id.nil? + fail ArgumentError, "Missing the required parameter 'absence_id' when calling UnifiedHRISAPIApi.delete_hris_absences_absence_id" + end + # resource path + local_var_path = '/hris/absences/{absence_id}'.sub('{' + 'absence_id' + '}', CGI.escape(absence_id.to_s)) + + # query parameters + query_params = opts[:query_params] || {} + + # header parameters + header_params = opts[:header_params] || {} + # HTTP header 'Accept' (if needed) + header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept'] + # HTTP header 'Content-Type' + content_type = @api_client.select_header_content_type(['application/json']) + if !content_type.nil? + header_params['Content-Type'] = content_type + end + header_params[:'X-Integration-Id'] = x_integration_id + + # form parameters + form_params = opts[:form_params] || {} + + # http body (model) + post_body = opts[:debug_body] || @api_client.object_to_http_body(opts[:'delete_hris_absences_absence_id_request_body']) + + # return_type + return_type = opts[:debug_return_type] || 'DeleteHrisAbsencesAbsenceIdPositiveResponse' + + # auth_names + auth_names = opts[:debug_auth_names] || ['ApiKey'] + + new_options = opts.merge( + :operation => :"UnifiedHRISAPIApi.delete_hris_absences_absence_id", + :header_params => header_params, + :query_params => query_params, + :form_params => form_params, + :body => post_body, + :auth_names => auth_names, + :return_type => return_type + ) + + data, status_code, headers = @api_client.call_api(:DELETE, local_var_path, new_options) + if @api_client.config.debugging + @api_client.config.logger.debug "API called: UnifiedHRISAPIApi#delete_hris_absences_absence_id\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}" + end + return data, status_code, headers + end + + # Delete employee skill assignment + # Delete employee skill assignment **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. Remove a skill assignment from an employee. + # @param x_integration_id [String] ID of the integration you want to interact with. + # @param employee_skill_assignment_id [String] The ID of the employee skill assignment + # @param [Hash] opts the optional parameters + # @option opts [Object] :body DELETE /hris/employee-skill-assignments/:employee_skill_assignment_id Request body + # @return [DeleteHrisEmployeeSkillAssignmentsEmployeeSkillAssignmentIdPositiveResponse] + def delete_hris_employee_skill_assignments_employee_skill_assignment_id(x_integration_id, employee_skill_assignment_id, opts = {}) + data, _status_code, _headers = delete_hris_employee_skill_assignments_employee_skill_assignment_id_with_http_info(x_integration_id, employee_skill_assignment_id, opts) + data + end + + # Delete employee skill assignment + # Delete employee skill assignment <Warning>**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.</Warning> Remove a skill assignment from an employee. + # @param x_integration_id [String] ID of the integration you want to interact with. + # @param employee_skill_assignment_id [String] The ID of the employee skill assignment + # @param [Hash] opts the optional parameters + # @option opts [Object] :body DELETE /hris/employee-skill-assignments/:employee_skill_assignment_id Request body + # @return [Array<(DeleteHrisEmployeeSkillAssignmentsEmployeeSkillAssignmentIdPositiveResponse, Integer, Hash)>] DeleteHrisEmployeeSkillAssignmentsEmployeeSkillAssignmentIdPositiveResponse data, response status code and response headers + def delete_hris_employee_skill_assignments_employee_skill_assignment_id_with_http_info(x_integration_id, employee_skill_assignment_id, opts = {}) + if @api_client.config.debugging + @api_client.config.logger.debug 'Calling API: UnifiedHRISAPIApi.delete_hris_employee_skill_assignments_employee_skill_assignment_id ...' + end + # verify the required parameter 'x_integration_id' is set + if @api_client.config.client_side_validation && x_integration_id.nil? + fail ArgumentError, "Missing the required parameter 'x_integration_id' when calling UnifiedHRISAPIApi.delete_hris_employee_skill_assignments_employee_skill_assignment_id" + end + # verify the required parameter 'employee_skill_assignment_id' is set + if @api_client.config.client_side_validation && employee_skill_assignment_id.nil? + fail ArgumentError, "Missing the required parameter 'employee_skill_assignment_id' when calling UnifiedHRISAPIApi.delete_hris_employee_skill_assignments_employee_skill_assignment_id" + end + # resource path + local_var_path = '/hris/employee-skill-assignments/{employee_skill_assignment_id}'.sub('{' + 'employee_skill_assignment_id' + '}', CGI.escape(employee_skill_assignment_id.to_s)) + + # query parameters + query_params = opts[:query_params] || {} + + # header parameters + header_params = opts[:header_params] || {} + # HTTP header 'Accept' (if needed) + header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept'] + # HTTP header 'Content-Type' + content_type = @api_client.select_header_content_type(['application/json']) + if !content_type.nil? + header_params['Content-Type'] = content_type + end + header_params[:'X-Integration-Id'] = x_integration_id + + # form parameters + form_params = opts[:form_params] || {} + + # http body (model) + post_body = opts[:debug_body] || @api_client.object_to_http_body(opts[:'body']) + + # return_type + return_type = opts[:debug_return_type] || 'DeleteHrisEmployeeSkillAssignmentsEmployeeSkillAssignmentIdPositiveResponse' + + # auth_names + auth_names = opts[:debug_auth_names] || ['ApiKey'] + + new_options = opts.merge( + :operation => :"UnifiedHRISAPIApi.delete_hris_employee_skill_assignments_employee_skill_assignment_id", + :header_params => header_params, + :query_params => query_params, + :form_params => form_params, + :body => post_body, + :auth_names => auth_names, + :return_type => return_type + ) + + data, status_code, headers = @api_client.call_api(:DELETE, local_var_path, new_options) + if @api_client.config.debugging + @api_client.config.logger.debug "API called: UnifiedHRISAPIApi#delete_hris_employee_skill_assignments_employee_skill_assignment_id\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}" + end + return data, status_code, headers + end + + # Delete skill + # Delete skill **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. Delete a skill from the HRIS system. + # @param x_integration_id [String] ID of the integration you want to interact with. + # @param skill_id [String] The ID of the skill + # @param [Hash] opts the optional parameters + # @option opts [Object] :body DELETE /hris/skills/:skill_id Request body + # @return [DeleteHrisSkillsSkillIdPositiveResponse] + def delete_hris_skills_skill_id(x_integration_id, skill_id, opts = {}) + data, _status_code, _headers = delete_hris_skills_skill_id_with_http_info(x_integration_id, skill_id, opts) + data + end + + # Delete skill + # Delete skill <Warning>**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.</Warning> Delete a skill from the HRIS system. + # @param x_integration_id [String] ID of the integration you want to interact with. + # @param skill_id [String] The ID of the skill + # @param [Hash] opts the optional parameters + # @option opts [Object] :body DELETE /hris/skills/:skill_id Request body + # @return [Array<(DeleteHrisSkillsSkillIdPositiveResponse, Integer, Hash)>] DeleteHrisSkillsSkillIdPositiveResponse data, response status code and response headers + def delete_hris_skills_skill_id_with_http_info(x_integration_id, skill_id, opts = {}) + if @api_client.config.debugging + @api_client.config.logger.debug 'Calling API: UnifiedHRISAPIApi.delete_hris_skills_skill_id ...' + end + # verify the required parameter 'x_integration_id' is set + if @api_client.config.client_side_validation && x_integration_id.nil? + fail ArgumentError, "Missing the required parameter 'x_integration_id' when calling UnifiedHRISAPIApi.delete_hris_skills_skill_id" + end + # verify the required parameter 'skill_id' is set + if @api_client.config.client_side_validation && skill_id.nil? + fail ArgumentError, "Missing the required parameter 'skill_id' when calling UnifiedHRISAPIApi.delete_hris_skills_skill_id" + end + # resource path + local_var_path = '/hris/skills/{skill_id}'.sub('{' + 'skill_id' + '}', CGI.escape(skill_id.to_s)) + + # query parameters + query_params = opts[:query_params] || {} + + # header parameters + header_params = opts[:header_params] || {} + # HTTP header 'Accept' (if needed) + header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept'] + # HTTP header 'Content-Type' + content_type = @api_client.select_header_content_type(['application/json']) + if !content_type.nil? + header_params['Content-Type'] = content_type + end + header_params[:'X-Integration-Id'] = x_integration_id + + # form parameters + form_params = opts[:form_params] || {} + + # http body (model) + post_body = opts[:debug_body] || @api_client.object_to_http_body(opts[:'body']) + + # return_type + return_type = opts[:debug_return_type] || 'DeleteHrisSkillsSkillIdPositiveResponse' + + # auth_names + auth_names = opts[:debug_auth_names] || ['ApiKey'] + + new_options = opts.merge( + :operation => :"UnifiedHRISAPIApi.delete_hris_skills_skill_id", + :header_params => header_params, + :query_params => query_params, + :form_params => form_params, + :body => post_body, + :auth_names => auth_names, + :return_type => return_type + ) + + data, status_code, headers = @api_client.call_api(:DELETE, local_var_path, new_options) + if @api_client.config.debugging + @api_client.config.logger.debug "API called: UnifiedHRISAPIApi#delete_hris_skills_skill_id\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}" + end + return data, status_code, headers + end + + # Get absence types + # Retrieve all absence types. 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)` + # @param x_integration_id [String] ID of the integration you want to interact with. + # @param [Hash] opts the optional parameters + # @option opts [String] :cursor An optional cursor string used for pagination. This can be retrieved from the `next` property of the previous page response. + # @option opts [Integer] :page_size The number of results to return per page. Maximum is 250. (default to 100) + # @option opts [Time] :updated_after 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). + # @option opts [GetHrisAbsenceTypesParameterIncludeDeleted] :include_deleted By default, deleted entries are not returned. Use the `include_deleted` query param to include deleted entries too. (default to 'false') + # @option opts [String] :ids Filter by a comma-separated list of IDs such as `222k7eCGyUdgt2JWZDNnkDs3,B5DVmypWENfU6eMe6gYDyJG3`. + # @option opts [String] :remote_ids Filter by a comma-separated list of remote IDs. + # @return [GetHrisAbsenceTypesPositiveResponse] + def get_hris_absence_types(x_integration_id, opts = {}) + data, _status_code, _headers = get_hris_absence_types_with_http_info(x_integration_id, opts) + data + end + + # Get absence types + # Retrieve all absence types. 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)` + # @param x_integration_id [String] ID of the integration you want to interact with. + # @param [Hash] opts the optional parameters + # @option opts [String] :cursor An optional cursor string used for pagination. This can be retrieved from the `next` property of the previous page response. + # @option opts [Integer] :page_size The number of results to return per page. Maximum is 250. (default to 100) + # @option opts [Time] :updated_after 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). + # @option opts [GetHrisAbsenceTypesParameterIncludeDeleted] :include_deleted By default, deleted entries are not returned. Use the `include_deleted` query param to include deleted entries too. (default to 'false') + # @option opts [String] :ids Filter by a comma-separated list of IDs such as `222k7eCGyUdgt2JWZDNnkDs3,B5DVmypWENfU6eMe6gYDyJG3`. + # @option opts [String] :remote_ids Filter by a comma-separated list of remote IDs. + # @return [Array<(GetHrisAbsenceTypesPositiveResponse, Integer, Hash)>] GetHrisAbsenceTypesPositiveResponse data, response status code and response headers + def get_hris_absence_types_with_http_info(x_integration_id, opts = {}) + if @api_client.config.debugging + @api_client.config.logger.debug 'Calling API: UnifiedHRISAPIApi.get_hris_absence_types ...' + end + # verify the required parameter 'x_integration_id' is set + if @api_client.config.client_side_validation && x_integration_id.nil? + fail ArgumentError, "Missing the required parameter 'x_integration_id' when calling UnifiedHRISAPIApi.get_hris_absence_types" + end + if @api_client.config.client_side_validation && !opts[:'page_size'].nil? && opts[:'page_size'] > 250 + fail ArgumentError, 'invalid value for "opts[:"page_size"]" when calling UnifiedHRISAPIApi.get_hris_absence_types, must be smaller than or equal to 250.' + end + + if @api_client.config.client_side_validation && !opts[:'page_size'].nil? && opts[:'page_size'] < 1 + fail ArgumentError, 'invalid value for "opts[:"page_size"]" when calling UnifiedHRISAPIApi.get_hris_absence_types, must be greater than or equal to 1.' + end + + pattern = Regexp.new(/^\d{4}-\d{2}-\d{2}(T\d{2}:\d{2}:\d{2}(\.\d+)?)?Z?$/) + if @api_client.config.client_side_validation && !opts[:'updated_after'].nil? && opts[:'updated_after'] !~ pattern + fail ArgumentError, "invalid value for 'opts[:\"updated_after\"]' when calling UnifiedHRISAPIApi.get_hris_absence_types, must conform to the pattern #{pattern}." + end + + # resource path + local_var_path = '/hris/absence-types' + + # query parameters + query_params = opts[:query_params] || {} + query_params[:'cursor'] = opts[:'cursor'] if !opts[:'cursor'].nil? + query_params[:'page_size'] = opts[:'page_size'] if !opts[:'page_size'].nil? + query_params[:'updated_after'] = opts[:'updated_after'] if !opts[:'updated_after'].nil? + query_params[:'include_deleted'] = opts[:'include_deleted'] if !opts[:'include_deleted'].nil? + query_params[:'ids'] = opts[:'ids'] if !opts[:'ids'].nil? + query_params[:'remote_ids'] = opts[:'remote_ids'] if !opts[:'remote_ids'].nil? + + # header parameters + header_params = opts[:header_params] || {} + # HTTP header 'Accept' (if needed) + header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept'] + header_params[:'X-Integration-Id'] = x_integration_id + + # form parameters + form_params = opts[:form_params] || {} + + # http body (model) + post_body = opts[:debug_body] + + # return_type + return_type = opts[:debug_return_type] || 'GetHrisAbsenceTypesPositiveResponse' + + # auth_names + auth_names = opts[:debug_auth_names] || ['ApiKey'] + + new_options = opts.merge( + :operation => :"UnifiedHRISAPIApi.get_hris_absence_types", + :header_params => header_params, + :query_params => query_params, + :form_params => form_params, + :body => post_body, + :auth_names => auth_names, + :return_type => return_type + ) + + data, status_code, headers = @api_client.call_api(:GET, local_var_path, new_options) + if @api_client.config.debugging + @api_client.config.logger.debug "API called: UnifiedHRISAPIApi#get_hris_absence_types\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}" + end + return data, status_code, headers + end + + # Get absences + # Retrieve all absences. 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)` + # @param x_integration_id [String] ID of the integration you want to interact with. + # @param [Hash] opts the optional parameters + # @option opts [String] :cursor An optional cursor string used for pagination. This can be retrieved from the `next` property of the previous page response. + # @option opts [Integer] :page_size The number of results to return per page. Maximum is 250. (default to 100) + # @option opts [Time] :updated_after 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). + # @option opts [GetHrisAbsencesParameterIncludeDeleted] :include_deleted By default, deleted entries are not returned. Use the `include_deleted` query param to include deleted entries too. (default to 'false') + # @option opts [String] :ids Filter by a comma-separated list of IDs such as `222k7eCGyUdgt2JWZDNnkDs3,B5DVmypWENfU6eMe6gYDyJG3`. + # @option opts [String] :remote_ids Filter by a comma-separated list of remote IDs. + # @option opts [Time] :date_from 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. + # @option opts [Time] :date_until 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. + # @option opts [String] :type_ids Filter by a comma-separated list of absence type IDs. + # @option opts [String] :employee_id Filter by a specific employee using their ID. + # @option opts [Time] :time_from **(⚠️ Deprecated - Use the `date_from` filter instead.)** Filter for absences that either start after or start before and end after a certain time. + # @option opts [Time] :time_until **(⚠️ Deprecated - Use the `date_until` filter instead.)** Filter for absences that start before a certain time. + # @return [GetHrisAbsencesPositiveResponse] + def get_hris_absences(x_integration_id, opts = {}) + data, _status_code, _headers = get_hris_absences_with_http_info(x_integration_id, opts) + data + end + + # Get absences + # Retrieve all absences. 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)` + # @param x_integration_id [String] ID of the integration you want to interact with. + # @param [Hash] opts the optional parameters + # @option opts [String] :cursor An optional cursor string used for pagination. This can be retrieved from the `next` property of the previous page response. + # @option opts [Integer] :page_size The number of results to return per page. Maximum is 250. (default to 100) + # @option opts [Time] :updated_after 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). + # @option opts [GetHrisAbsencesParameterIncludeDeleted] :include_deleted By default, deleted entries are not returned. Use the `include_deleted` query param to include deleted entries too. (default to 'false') + # @option opts [String] :ids Filter by a comma-separated list of IDs such as `222k7eCGyUdgt2JWZDNnkDs3,B5DVmypWENfU6eMe6gYDyJG3`. + # @option opts [String] :remote_ids Filter by a comma-separated list of remote IDs. + # @option opts [Time] :date_from 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. + # @option opts [Time] :date_until 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. + # @option opts [String] :type_ids Filter by a comma-separated list of absence type IDs. + # @option opts [String] :employee_id Filter by a specific employee using their ID. + # @option opts [Time] :time_from **(⚠️ Deprecated - Use the `date_from` filter instead.)** Filter for absences that either start after or start before and end after a certain time. + # @option opts [Time] :time_until **(⚠️ Deprecated - Use the `date_until` filter instead.)** Filter for absences that start before a certain time. + # @return [Array<(GetHrisAbsencesPositiveResponse, Integer, Hash)>] GetHrisAbsencesPositiveResponse data, response status code and response headers + def get_hris_absences_with_http_info(x_integration_id, opts = {}) + if @api_client.config.debugging + @api_client.config.logger.debug 'Calling API: UnifiedHRISAPIApi.get_hris_absences ...' + end + # verify the required parameter 'x_integration_id' is set + if @api_client.config.client_side_validation && x_integration_id.nil? + fail ArgumentError, "Missing the required parameter 'x_integration_id' when calling UnifiedHRISAPIApi.get_hris_absences" + end + if @api_client.config.client_side_validation && !opts[:'page_size'].nil? && opts[:'page_size'] > 250 + fail ArgumentError, 'invalid value for "opts[:"page_size"]" when calling UnifiedHRISAPIApi.get_hris_absences, must be smaller than or equal to 250.' + end + + if @api_client.config.client_side_validation && !opts[:'page_size'].nil? && opts[:'page_size'] < 1 + fail ArgumentError, 'invalid value for "opts[:"page_size"]" when calling UnifiedHRISAPIApi.get_hris_absences, must be greater than or equal to 1.' + end + + pattern = Regexp.new(/^\d{4}-\d{2}-\d{2}(T\d{2}:\d{2}:\d{2}(\.\d+)?)?Z?$/) + if @api_client.config.client_side_validation && !opts[:'updated_after'].nil? && opts[:'updated_after'] !~ pattern + fail ArgumentError, "invalid value for 'opts[:\"updated_after\"]' when calling UnifiedHRISAPIApi.get_hris_absences, must conform to the pattern #{pattern}." + end + + pattern = Regexp.new(/^\d{4}-\d{2}-\d{2}(T\d{2}:\d{2}:\d{2}(\.\d+)?)?Z?$/) + if @api_client.config.client_side_validation && !opts[:'date_from'].nil? && opts[:'date_from'] !~ pattern + fail ArgumentError, "invalid value for 'opts[:\"date_from\"]' when calling UnifiedHRISAPIApi.get_hris_absences, must conform to the pattern #{pattern}." + end + + pattern = Regexp.new(/^\d{4}-\d{2}-\d{2}(T\d{2}:\d{2}:\d{2}(\.\d+)?)?Z?$/) + if @api_client.config.client_side_validation && !opts[:'date_until'].nil? && opts[:'date_until'] !~ pattern + fail ArgumentError, "invalid value for 'opts[:\"date_until\"]' when calling UnifiedHRISAPIApi.get_hris_absences, must conform to the pattern #{pattern}." + end + + pattern = Regexp.new(/^\d{4}-\d{2}-\d{2}(T\d{2}:\d{2}:\d{2}(\.\d+)?)?Z?$/) + if @api_client.config.client_side_validation && !opts[:'time_from'].nil? && opts[:'time_from'] !~ pattern + fail ArgumentError, "invalid value for 'opts[:\"time_from\"]' when calling UnifiedHRISAPIApi.get_hris_absences, must conform to the pattern #{pattern}." + end + + pattern = Regexp.new(/^\d{4}-\d{2}-\d{2}(T\d{2}:\d{2}:\d{2}(\.\d+)?)?Z?$/) + if @api_client.config.client_side_validation && !opts[:'time_until'].nil? && opts[:'time_until'] !~ pattern + fail ArgumentError, "invalid value for 'opts[:\"time_until\"]' when calling UnifiedHRISAPIApi.get_hris_absences, must conform to the pattern #{pattern}." + end + + # resource path + local_var_path = '/hris/absences' + + # query parameters + query_params = opts[:query_params] || {} + query_params[:'cursor'] = opts[:'cursor'] if !opts[:'cursor'].nil? + query_params[:'page_size'] = opts[:'page_size'] if !opts[:'page_size'].nil? + query_params[:'updated_after'] = opts[:'updated_after'] if !opts[:'updated_after'].nil? + query_params[:'include_deleted'] = opts[:'include_deleted'] if !opts[:'include_deleted'].nil? + query_params[:'ids'] = opts[:'ids'] if !opts[:'ids'].nil? + query_params[:'remote_ids'] = opts[:'remote_ids'] if !opts[:'remote_ids'].nil? + query_params[:'date_from'] = opts[:'date_from'] if !opts[:'date_from'].nil? + query_params[:'date_until'] = opts[:'date_until'] if !opts[:'date_until'].nil? + query_params[:'type_ids'] = opts[:'type_ids'] if !opts[:'type_ids'].nil? + query_params[:'employee_id'] = opts[:'employee_id'] if !opts[:'employee_id'].nil? + query_params[:'time_from'] = opts[:'time_from'] if !opts[:'time_from'].nil? + query_params[:'time_until'] = opts[:'time_until'] if !opts[:'time_until'].nil? + + # header parameters + header_params = opts[:header_params] || {} + # HTTP header 'Accept' (if needed) + header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept'] + header_params[:'X-Integration-Id'] = x_integration_id + + # form parameters + form_params = opts[:form_params] || {} + + # http body (model) + post_body = opts[:debug_body] + + # return_type + return_type = opts[:debug_return_type] || 'GetHrisAbsencesPositiveResponse' + + # auth_names + auth_names = opts[:debug_auth_names] || ['ApiKey'] + + new_options = opts.merge( + :operation => :"UnifiedHRISAPIApi.get_hris_absences", + :header_params => header_params, + :query_params => query_params, + :form_params => form_params, + :body => post_body, + :auth_names => auth_names, + :return_type => return_type + ) + + data, status_code, headers = @api_client.call_api(:GET, local_var_path, new_options) + if @api_client.config.debugging + @api_client.config.logger.debug "API called: UnifiedHRISAPIApi#get_hris_absences\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}" + end + return data, status_code, headers + end + + # Get employee document categories + # Get employee document categories. 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)` + # @param x_integration_id [String] ID of the integration you want to interact with. + # @param [Hash] opts the optional parameters + # @option opts [String] :cursor An optional cursor string used for pagination. This can be retrieved from the `next` property of the previous page response. + # @option opts [Integer] :page_size The number of results to return per page. Maximum is 250. (default to 100) + # @option opts [Time] :updated_after 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). + # @option opts [GetHrisEmployeeDocumentCategoriesParameterIncludeDeleted] :include_deleted By default, deleted entries are not returned. Use the `include_deleted` query param to include deleted entries too. (default to 'false') + # @option opts [String] :ids Filter by a comma-separated list of IDs such as `222k7eCGyUdgt2JWZDNnkDs3,B5DVmypWENfU6eMe6gYDyJG3`. + # @option opts [String] :remote_ids Filter by a comma-separated list of remote IDs. + # @return [GetHrisEmployeeDocumentCategoriesPositiveResponse] + def get_hris_employee_document_categories(x_integration_id, opts = {}) + data, _status_code, _headers = get_hris_employee_document_categories_with_http_info(x_integration_id, opts) + data + end + + # Get employee document categories + # Get employee document categories. 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)` + # @param x_integration_id [String] ID of the integration you want to interact with. + # @param [Hash] opts the optional parameters + # @option opts [String] :cursor An optional cursor string used for pagination. This can be retrieved from the `next` property of the previous page response. + # @option opts [Integer] :page_size The number of results to return per page. Maximum is 250. (default to 100) + # @option opts [Time] :updated_after 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). + # @option opts [GetHrisEmployeeDocumentCategoriesParameterIncludeDeleted] :include_deleted By default, deleted entries are not returned. Use the `include_deleted` query param to include deleted entries too. (default to 'false') + # @option opts [String] :ids Filter by a comma-separated list of IDs such as `222k7eCGyUdgt2JWZDNnkDs3,B5DVmypWENfU6eMe6gYDyJG3`. + # @option opts [String] :remote_ids Filter by a comma-separated list of remote IDs. + # @return [Array<(GetHrisEmployeeDocumentCategoriesPositiveResponse, Integer, Hash)>] GetHrisEmployeeDocumentCategoriesPositiveResponse data, response status code and response headers + def get_hris_employee_document_categories_with_http_info(x_integration_id, opts = {}) + if @api_client.config.debugging + @api_client.config.logger.debug 'Calling API: UnifiedHRISAPIApi.get_hris_employee_document_categories ...' + end + # verify the required parameter 'x_integration_id' is set + if @api_client.config.client_side_validation && x_integration_id.nil? + fail ArgumentError, "Missing the required parameter 'x_integration_id' when calling UnifiedHRISAPIApi.get_hris_employee_document_categories" + end + if @api_client.config.client_side_validation && !opts[:'page_size'].nil? && opts[:'page_size'] > 250 + fail ArgumentError, 'invalid value for "opts[:"page_size"]" when calling UnifiedHRISAPIApi.get_hris_employee_document_categories, must be smaller than or equal to 250.' + end + + if @api_client.config.client_side_validation && !opts[:'page_size'].nil? && opts[:'page_size'] < 1 + fail ArgumentError, 'invalid value for "opts[:"page_size"]" when calling UnifiedHRISAPIApi.get_hris_employee_document_categories, must be greater than or equal to 1.' + end + + pattern = Regexp.new(/^\d{4}-\d{2}-\d{2}(T\d{2}:\d{2}:\d{2}(\.\d+)?)?Z?$/) + if @api_client.config.client_side_validation && !opts[:'updated_after'].nil? && opts[:'updated_after'] !~ pattern + fail ArgumentError, "invalid value for 'opts[:\"updated_after\"]' when calling UnifiedHRISAPIApi.get_hris_employee_document_categories, must conform to the pattern #{pattern}." + end + + # resource path + local_var_path = '/hris/employee-document-categories' + + # query parameters + query_params = opts[:query_params] || {} + query_params[:'cursor'] = opts[:'cursor'] if !opts[:'cursor'].nil? + query_params[:'page_size'] = opts[:'page_size'] if !opts[:'page_size'].nil? + query_params[:'updated_after'] = opts[:'updated_after'] if !opts[:'updated_after'].nil? + query_params[:'include_deleted'] = opts[:'include_deleted'] if !opts[:'include_deleted'].nil? + query_params[:'ids'] = opts[:'ids'] if !opts[:'ids'].nil? + query_params[:'remote_ids'] = opts[:'remote_ids'] if !opts[:'remote_ids'].nil? + + # header parameters + header_params = opts[:header_params] || {} + # HTTP header 'Accept' (if needed) + header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept'] + header_params[:'X-Integration-Id'] = x_integration_id + + # form parameters + form_params = opts[:form_params] || {} + + # http body (model) + post_body = opts[:debug_body] + + # return_type + return_type = opts[:debug_return_type] || 'GetHrisEmployeeDocumentCategoriesPositiveResponse' + + # auth_names + auth_names = opts[:debug_auth_names] || ['ApiKey'] + + new_options = opts.merge( + :operation => :"UnifiedHRISAPIApi.get_hris_employee_document_categories", + :header_params => header_params, + :query_params => query_params, + :form_params => form_params, + :body => post_body, + :auth_names => auth_names, + :return_type => return_type + ) + + data, status_code, headers = @api_client.call_api(:GET, local_var_path, new_options) + if @api_client.config.debugging + @api_client.config.logger.debug "API called: UnifiedHRISAPIApi#get_hris_employee_document_categories\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}" + end + return data, status_code, headers + end + + # Get employee skill assignments + # Get employee skill assignments **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 employee skill assignments. These represent the skills that employees possess and their current proficiency levels. + # @param x_integration_id [String] ID of the integration you want to interact with. + # @param [Hash] opts the optional parameters + # @option opts [String] :ids Filter by a comma-separated list of IDs such as `222k7eCGyUdgt2JWZDNnkDs3,B5DVmypWENfU6eMe6gYDyJG3`. + # @option opts [String] :remote_ids Filter by a comma-separated list of remote IDs. + # @option opts [String] :employee_ids Filter by a comma-separated list of employee IDs. + # @option opts [String] :skill_ids Filter by a comma-separated list of skill IDs. + # @return [GetHrisEmployeeSkillAssignmentsPositiveResponse] + def get_hris_employee_skill_assignments(x_integration_id, opts = {}) + data, _status_code, _headers = get_hris_employee_skill_assignments_with_http_info(x_integration_id, opts) + data + end + + # Get employee skill assignments + # Get employee skill assignments <Warning>**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.</Warning> Retrieve all employee skill assignments. These represent the skills that employees possess and their current proficiency levels. + # @param x_integration_id [String] ID of the integration you want to interact with. + # @param [Hash] opts the optional parameters + # @option opts [String] :ids Filter by a comma-separated list of IDs such as `222k7eCGyUdgt2JWZDNnkDs3,B5DVmypWENfU6eMe6gYDyJG3`. + # @option opts [String] :remote_ids Filter by a comma-separated list of remote IDs. + # @option opts [String] :employee_ids Filter by a comma-separated list of employee IDs. + # @option opts [String] :skill_ids Filter by a comma-separated list of skill IDs. + # @return [Array<(GetHrisEmployeeSkillAssignmentsPositiveResponse, Integer, Hash)>] GetHrisEmployeeSkillAssignmentsPositiveResponse data, response status code and response headers + def get_hris_employee_skill_assignments_with_http_info(x_integration_id, opts = {}) + if @api_client.config.debugging + @api_client.config.logger.debug 'Calling API: UnifiedHRISAPIApi.get_hris_employee_skill_assignments ...' + end + # verify the required parameter 'x_integration_id' is set + if @api_client.config.client_side_validation && x_integration_id.nil? + fail ArgumentError, "Missing the required parameter 'x_integration_id' when calling UnifiedHRISAPIApi.get_hris_employee_skill_assignments" + end + # resource path + local_var_path = '/hris/employee-skill-assignments' + + # query parameters + query_params = opts[:query_params] || {} + query_params[:'ids'] = opts[:'ids'] if !opts[:'ids'].nil? + query_params[:'remote_ids'] = opts[:'remote_ids'] if !opts[:'remote_ids'].nil? + query_params[:'employee_ids'] = opts[:'employee_ids'] if !opts[:'employee_ids'].nil? + query_params[:'skill_ids'] = opts[:'skill_ids'] if !opts[:'skill_ids'].nil? + + # header parameters + header_params = opts[:header_params] || {} + # HTTP header 'Accept' (if needed) + header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept'] + header_params[:'X-Integration-Id'] = x_integration_id + + # form parameters + form_params = opts[:form_params] || {} + + # http body (model) + post_body = opts[:debug_body] + + # return_type + return_type = opts[:debug_return_type] || 'GetHrisEmployeeSkillAssignmentsPositiveResponse' + + # auth_names + auth_names = opts[:debug_auth_names] || ['ApiKey'] + + new_options = opts.merge( + :operation => :"UnifiedHRISAPIApi.get_hris_employee_skill_assignments", + :header_params => header_params, + :query_params => query_params, + :form_params => form_params, + :body => post_body, + :auth_names => auth_names, + :return_type => return_type + ) + + data, status_code, headers = @api_client.call_api(:GET, local_var_path, new_options) + if @api_client.config.debugging + @api_client.config.logger.debug "API called: UnifiedHRISAPIApi#get_hris_employee_skill_assignments\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}" + end + return data, status_code, headers + end + + # Get employees + # Retrieve all employees. Not interested in most fields? You can use our [our Scopes feature](/scopes) to customize what data points are synced. 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)` + # @param x_integration_id [String] ID of the integration you want to interact with. + # @param [Hash] opts the optional parameters + # @option opts [String] :cursor An optional cursor string used for pagination. This can be retrieved from the `next` property of the previous page response. + # @option opts [Integer] :page_size The number of results to return per page. Maximum is 250. (default to 100) + # @option opts [Time] :updated_after 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). + # @option opts [GetHrisEmployeesParameterIncludeDeleted] :include_deleted By default, deleted entries are not returned. Use the `include_deleted` query param to include deleted entries too. (default to 'false') + # @option opts [String] :ids Filter by a comma-separated list of IDs such as `222k7eCGyUdgt2JWZDNnkDs3,B5DVmypWENfU6eMe6gYDyJG3`. + # @option opts [String] :remote_ids Filter by a comma-separated list of remote IDs. + # @option opts [GetHrisEmployeesParameterEmploymentStatus] :employment_status **(⚠️ Deprecated - Use the `employment_statuses` filter instead.)** Filter by the `employment_status` field. + # @option opts [String] :employment_statuses Filter by a comma-separated list of `ACTIVE`, `PENDING`, `INACTIVE`, `LEAVE` * `ACTIVE`: the employee is **actively employed** * `PENDING`: the employee is **not actively employed yet** (but they signed their contract or are part of an onboarding process) * `INACTIVE`: a full-time employee is no longer employed, or, for a contract worker when their contract runs out * `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) Leave this blank to get results matching all values. + # @option opts [String] :group_ids Filter by a comma-separated list of group IDs. We will only return employees that are members of _any_ of the groups. + # @option opts [String] :legal_entity_ids Filter by a comma-separated list of legal entity IDs. We will only return employees that are members of _any_ of the legal entities. + # @option opts [String] :work_location_ids Filter by a comma-separated list of work location IDs. We will only return employees who are at _any_ of the work locations. + # @option opts [String] :work_emails 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. + # @option opts [String] :personal_emails 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. + # @option opts [String] :custom_fields 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. + # @return [GetHrisEmployeesPositiveResponse] + def get_hris_employees(x_integration_id, opts = {}) + data, _status_code, _headers = get_hris_employees_with_http_info(x_integration_id, opts) + data + end + + # Get employees + # Retrieve all employees. <Note>Not interested in most fields? You can use our [our Scopes feature](/scopes) to customize what data points are synced.</Note> 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)` + # @param x_integration_id [String] ID of the integration you want to interact with. + # @param [Hash] opts the optional parameters + # @option opts [String] :cursor An optional cursor string used for pagination. This can be retrieved from the `next` property of the previous page response. + # @option opts [Integer] :page_size The number of results to return per page. Maximum is 250. (default to 100) + # @option opts [Time] :updated_after 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). + # @option opts [GetHrisEmployeesParameterIncludeDeleted] :include_deleted By default, deleted entries are not returned. Use the `include_deleted` query param to include deleted entries too. (default to 'false') + # @option opts [String] :ids Filter by a comma-separated list of IDs such as `222k7eCGyUdgt2JWZDNnkDs3,B5DVmypWENfU6eMe6gYDyJG3`. + # @option opts [String] :remote_ids Filter by a comma-separated list of remote IDs. + # @option opts [GetHrisEmployeesParameterEmploymentStatus] :employment_status **(⚠️ Deprecated - Use the `employment_statuses` filter instead.)** Filter by the `employment_status` field. + # @option opts [String] :employment_statuses Filter by a comma-separated list of `ACTIVE`, `PENDING`, `INACTIVE`, `LEAVE` * `ACTIVE`: the employee is **actively employed** * `PENDING`: the employee is **not actively employed yet** (but they signed their contract or are part of an onboarding process) * `INACTIVE`: a full-time employee is no longer employed, or, for a contract worker when their contract runs out * `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) Leave this blank to get results matching all values. + # @option opts [String] :group_ids Filter by a comma-separated list of group IDs. We will only return employees that are members of _any_ of the groups. + # @option opts [String] :legal_entity_ids Filter by a comma-separated list of legal entity IDs. We will only return employees that are members of _any_ of the legal entities. + # @option opts [String] :work_location_ids Filter by a comma-separated list of work location IDs. We will only return employees who are at _any_ of the work locations. + # @option opts [String] :work_emails 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. + # @option opts [String] :personal_emails 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. + # @option opts [String] :custom_fields 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. + # @return [Array<(GetHrisEmployeesPositiveResponse, Integer, Hash)>] GetHrisEmployeesPositiveResponse data, response status code and response headers + def get_hris_employees_with_http_info(x_integration_id, opts = {}) + if @api_client.config.debugging + @api_client.config.logger.debug 'Calling API: UnifiedHRISAPIApi.get_hris_employees ...' + end + # verify the required parameter 'x_integration_id' is set + if @api_client.config.client_side_validation && x_integration_id.nil? + fail ArgumentError, "Missing the required parameter 'x_integration_id' when calling UnifiedHRISAPIApi.get_hris_employees" + end + if @api_client.config.client_side_validation && !opts[:'page_size'].nil? && opts[:'page_size'] > 250 + fail ArgumentError, 'invalid value for "opts[:"page_size"]" when calling UnifiedHRISAPIApi.get_hris_employees, must be smaller than or equal to 250.' + end + + if @api_client.config.client_side_validation && !opts[:'page_size'].nil? && opts[:'page_size'] < 1 + fail ArgumentError, 'invalid value for "opts[:"page_size"]" when calling UnifiedHRISAPIApi.get_hris_employees, must be greater than or equal to 1.' + end + + pattern = Regexp.new(/^\d{4}-\d{2}-\d{2}(T\d{2}:\d{2}:\d{2}(\.\d+)?)?Z?$/) + if @api_client.config.client_side_validation && !opts[:'updated_after'].nil? && opts[:'updated_after'] !~ pattern + fail ArgumentError, "invalid value for 'opts[:\"updated_after\"]' when calling UnifiedHRISAPIApi.get_hris_employees, must conform to the pattern #{pattern}." + end + + # resource path + local_var_path = '/hris/employees' + + # query parameters + query_params = opts[:query_params] || {} + query_params[:'cursor'] = opts[:'cursor'] if !opts[:'cursor'].nil? + query_params[:'page_size'] = opts[:'page_size'] if !opts[:'page_size'].nil? + query_params[:'updated_after'] = opts[:'updated_after'] if !opts[:'updated_after'].nil? + query_params[:'include_deleted'] = opts[:'include_deleted'] if !opts[:'include_deleted'].nil? + query_params[:'ids'] = opts[:'ids'] if !opts[:'ids'].nil? + query_params[:'remote_ids'] = opts[:'remote_ids'] if !opts[:'remote_ids'].nil? + query_params[:'employment_status'] = opts[:'employment_status'] if !opts[:'employment_status'].nil? + query_params[:'employment_statuses'] = opts[:'employment_statuses'] if !opts[:'employment_statuses'].nil? + query_params[:'group_ids'] = opts[:'group_ids'] if !opts[:'group_ids'].nil? + query_params[:'legal_entity_ids'] = opts[:'legal_entity_ids'] if !opts[:'legal_entity_ids'].nil? + query_params[:'work_location_ids'] = opts[:'work_location_ids'] if !opts[:'work_location_ids'].nil? + query_params[:'work_emails'] = opts[:'work_emails'] if !opts[:'work_emails'].nil? + query_params[:'personal_emails'] = opts[:'personal_emails'] if !opts[:'personal_emails'].nil? + query_params[:'custom_fields'] = opts[:'custom_fields'] if !opts[:'custom_fields'].nil? + + # header parameters + header_params = opts[:header_params] || {} + # HTTP header 'Accept' (if needed) + header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept'] + header_params[:'X-Integration-Id'] = x_integration_id + + # form parameters + form_params = opts[:form_params] || {} + + # http body (model) + post_body = opts[:debug_body] + + # return_type + return_type = opts[:debug_return_type] || 'GetHrisEmployeesPositiveResponse' + + # auth_names + auth_names = opts[:debug_auth_names] || ['ApiKey'] + + new_options = opts.merge( + :operation => :"UnifiedHRISAPIApi.get_hris_employees", + :header_params => header_params, + :query_params => query_params, + :form_params => form_params, + :body => post_body, + :auth_names => auth_names, + :return_type => return_type + ) + + data, status_code, headers = @api_client.call_api(:GET, local_var_path, new_options) + if @api_client.config.debugging + @api_client.config.logger.debug "API called: UnifiedHRISAPIApi#get_hris_employees\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}" + end + return data, status_code, headers + end + + # Get employee form + # Get the form for creating an employee. This form can be rendered dynamically on your frontend to allow your customers to create employees in their HRIS. Follow our [create employee guide here](/hris/features/create-employee) to learn how this form is generated and how you can use it. ### Example Form ```json { \"properties\": { \"firstName\": { \"type\": \"text\", \"label\": \"First Name\", \"required\": true, \"description\": \"Employee's first name\", \"unified_key\": \"first_name\", \"min_length\": 1, \"max_length\": 100 }, \"startDate\": { \"type\": \"date\", \"label\": \"Start Date\", \"required\": true, \"description\": \"Employee's start date\", \"unified_key\": \"start_date\" }, \"workLocation\": { \"type\": \"object\", \"label\": \"Work Location\", \"required\": false, \"description\": \"Employee's work location\", \"unified_key\": null, \"properties\": { \"site\": { \"type\": \"single_select\", \"label\": \"Site\", \"required\": true, \"description\": \"Employee's site\", \"unified_key\": null, \"options\": { \"type\": \"inline\", \"entries\": [ { \"label\": \"Site 1\", \"id\": \"FXrER44xubBqA9DLgZ3PFNNx\", \"unified_value\": \"1\", \"remote_id\": \"site_1\" }, { \"label\": \"Site 2\", \"id\": \"2rv75UKT2XBoQXsUb9agiTUm\", \"unified_value\": \"2\", \"remote_id\": \"site_2\" } ] } }, \"keyNumbers\": { \"type\": \"array\", \"label\": \"Key Numbers\", \"required\": false, \"description\": \"Employee's key numbers\", \"unified_key\": null, \"min_items\": 2, \"max_items\": 5, \"item_type\": { \"type\": \"number\", \"label\": \"Key Number\", \"required\": false, \"description\": \"The number of the keys which belong to the employee\", \"unified_key\": null, \"min\": 0, \"max\": 99 } } } } } } ``` + # @param x_integration_id [String] ID of the integration you want to interact with. + # @param [Hash] opts the optional parameters + # @return [GetHrisEmployeesFormPositiveResponse] + def get_hris_employees_form(x_integration_id, opts = {}) + data, _status_code, _headers = get_hris_employees_form_with_http_info(x_integration_id, opts) + data + end + + # Get employee form + # Get the form for creating an employee. This form can be rendered dynamically on your frontend to allow your customers to create employees in their HRIS. Follow our [create employee guide here](/hris/features/create-employee) to learn how this form is generated and how you can use it. ### Example Form ```json { \"properties\": { \"firstName\": { \"type\": \"text\", \"label\": \"First Name\", \"required\": true, \"description\": \"Employee's first name\", \"unified_key\": \"first_name\", \"min_length\": 1, \"max_length\": 100 }, \"startDate\": { \"type\": \"date\", \"label\": \"Start Date\", \"required\": true, \"description\": \"Employee's start date\", \"unified_key\": \"start_date\" }, \"workLocation\": { \"type\": \"object\", \"label\": \"Work Location\", \"required\": false, \"description\": \"Employee's work location\", \"unified_key\": null, \"properties\": { \"site\": { \"type\": \"single_select\", \"label\": \"Site\", \"required\": true, \"description\": \"Employee's site\", \"unified_key\": null, \"options\": { \"type\": \"inline\", \"entries\": [ { \"label\": \"Site 1\", \"id\": \"FXrER44xubBqA9DLgZ3PFNNx\", \"unified_value\": \"1\", \"remote_id\": \"site_1\" }, { \"label\": \"Site 2\", \"id\": \"2rv75UKT2XBoQXsUb9agiTUm\", \"unified_value\": \"2\", \"remote_id\": \"site_2\" } ] } }, \"keyNumbers\": { \"type\": \"array\", \"label\": \"Key Numbers\", \"required\": false, \"description\": \"Employee's key numbers\", \"unified_key\": null, \"min_items\": 2, \"max_items\": 5, \"item_type\": { \"type\": \"number\", \"label\": \"Key Number\", \"required\": false, \"description\": \"The number of the keys which belong to the employee\", \"unified_key\": null, \"min\": 0, \"max\": 99 } } } } } } ``` + # @param x_integration_id [String] ID of the integration you want to interact with. + # @param [Hash] opts the optional parameters + # @return [Array<(GetHrisEmployeesFormPositiveResponse, Integer, Hash)>] GetHrisEmployeesFormPositiveResponse data, response status code and response headers + def get_hris_employees_form_with_http_info(x_integration_id, opts = {}) + if @api_client.config.debugging + @api_client.config.logger.debug 'Calling API: UnifiedHRISAPIApi.get_hris_employees_form ...' + end + # verify the required parameter 'x_integration_id' is set + if @api_client.config.client_side_validation && x_integration_id.nil? + fail ArgumentError, "Missing the required parameter 'x_integration_id' when calling UnifiedHRISAPIApi.get_hris_employees_form" + end + # resource path + local_var_path = '/hris/employees/form' + + # query parameters + query_params = opts[:query_params] || {} + + # header parameters + header_params = opts[:header_params] || {} + # HTTP header 'Accept' (if needed) + header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept'] + header_params[:'X-Integration-Id'] = x_integration_id + + # form parameters + form_params = opts[:form_params] || {} + + # http body (model) + post_body = opts[:debug_body] + + # return_type + return_type = opts[:debug_return_type] || 'GetHrisEmployeesFormPositiveResponse' + + # auth_names + auth_names = opts[:debug_auth_names] || ['ApiKey'] + + new_options = opts.merge( + :operation => :"UnifiedHRISAPIApi.get_hris_employees_form", + :header_params => header_params, + :query_params => query_params, + :form_params => form_params, + :body => post_body, + :auth_names => auth_names, + :return_type => return_type + ) + + data, status_code, headers = @api_client.call_api(:GET, local_var_path, new_options) + if @api_client.config.debugging + @api_client.config.logger.debug "API called: UnifiedHRISAPIApi#get_hris_employees_form\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}" + end + return data, status_code, headers + end + + # Get employments + # Retrieve all employments. 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)` + # @param x_integration_id [String] ID of the integration you want to interact with. + # @param [Hash] opts the optional parameters + # @option opts [String] :cursor An optional cursor string used for pagination. This can be retrieved from the `next` property of the previous page response. + # @option opts [Integer] :page_size The number of results to return per page. Maximum is 250. (default to 100) + # @option opts [Time] :updated_after 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). + # @option opts [GetHrisEmploymentsParameterIncludeDeleted] :include_deleted By default, deleted entries are not returned. Use the `include_deleted` query param to include deleted entries too. (default to 'false') + # @option opts [String] :ids Filter by a comma-separated list of IDs such as `222k7eCGyUdgt2JWZDNnkDs3,B5DVmypWENfU6eMe6gYDyJG3`. + # @option opts [String] :remote_ids Filter by a comma-separated list of remote IDs. + # @return [GetHrisEmploymentsPositiveResponse] + def get_hris_employments(x_integration_id, opts = {}) + data, _status_code, _headers = get_hris_employments_with_http_info(x_integration_id, opts) + data + end + + # Get employments + # Retrieve all employments. 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)` + # @param x_integration_id [String] ID of the integration you want to interact with. + # @param [Hash] opts the optional parameters + # @option opts [String] :cursor An optional cursor string used for pagination. This can be retrieved from the `next` property of the previous page response. + # @option opts [Integer] :page_size The number of results to return per page. Maximum is 250. (default to 100) + # @option opts [Time] :updated_after 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). + # @option opts [GetHrisEmploymentsParameterIncludeDeleted] :include_deleted By default, deleted entries are not returned. Use the `include_deleted` query param to include deleted entries too. (default to 'false') + # @option opts [String] :ids Filter by a comma-separated list of IDs such as `222k7eCGyUdgt2JWZDNnkDs3,B5DVmypWENfU6eMe6gYDyJG3`. + # @option opts [String] :remote_ids Filter by a comma-separated list of remote IDs. + # @return [Array<(GetHrisEmploymentsPositiveResponse, Integer, Hash)>] GetHrisEmploymentsPositiveResponse data, response status code and response headers + def get_hris_employments_with_http_info(x_integration_id, opts = {}) + if @api_client.config.debugging + @api_client.config.logger.debug 'Calling API: UnifiedHRISAPIApi.get_hris_employments ...' + end + # verify the required parameter 'x_integration_id' is set + if @api_client.config.client_side_validation && x_integration_id.nil? + fail ArgumentError, "Missing the required parameter 'x_integration_id' when calling UnifiedHRISAPIApi.get_hris_employments" + end + if @api_client.config.client_side_validation && !opts[:'page_size'].nil? && opts[:'page_size'] > 250 + fail ArgumentError, 'invalid value for "opts[:"page_size"]" when calling UnifiedHRISAPIApi.get_hris_employments, must be smaller than or equal to 250.' + end + + if @api_client.config.client_side_validation && !opts[:'page_size'].nil? && opts[:'page_size'] < 1 + fail ArgumentError, 'invalid value for "opts[:"page_size"]" when calling UnifiedHRISAPIApi.get_hris_employments, must be greater than or equal to 1.' + end + + pattern = Regexp.new(/^\d{4}-\d{2}-\d{2}(T\d{2}:\d{2}:\d{2}(\.\d+)?)?Z?$/) + if @api_client.config.client_side_validation && !opts[:'updated_after'].nil? && opts[:'updated_after'] !~ pattern + fail ArgumentError, "invalid value for 'opts[:\"updated_after\"]' when calling UnifiedHRISAPIApi.get_hris_employments, must conform to the pattern #{pattern}." + end + + # resource path + local_var_path = '/hris/employments' + + # query parameters + query_params = opts[:query_params] || {} + query_params[:'cursor'] = opts[:'cursor'] if !opts[:'cursor'].nil? + query_params[:'page_size'] = opts[:'page_size'] if !opts[:'page_size'].nil? + query_params[:'updated_after'] = opts[:'updated_after'] if !opts[:'updated_after'].nil? + query_params[:'include_deleted'] = opts[:'include_deleted'] if !opts[:'include_deleted'].nil? + query_params[:'ids'] = opts[:'ids'] if !opts[:'ids'].nil? + query_params[:'remote_ids'] = opts[:'remote_ids'] if !opts[:'remote_ids'].nil? + + # header parameters + header_params = opts[:header_params] || {} + # HTTP header 'Accept' (if needed) + header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept'] + header_params[:'X-Integration-Id'] = x_integration_id + + # form parameters + form_params = opts[:form_params] || {} + + # http body (model) + post_body = opts[:debug_body] + + # return_type + return_type = opts[:debug_return_type] || 'GetHrisEmploymentsPositiveResponse' + + # auth_names + auth_names = opts[:debug_auth_names] || ['ApiKey'] + + new_options = opts.merge( + :operation => :"UnifiedHRISAPIApi.get_hris_employments", + :header_params => header_params, + :query_params => query_params, + :form_params => form_params, + :body => post_body, + :auth_names => auth_names, + :return_type => return_type + ) + + data, status_code, headers = @api_client.call_api(:GET, local_var_path, new_options) + if @api_client.config.debugging + @api_client.config.logger.debug "API called: UnifiedHRISAPIApi#get_hris_employments\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}" + end + return data, status_code, headers + end + + # Get groups + # Retrieve all \"groups\" (teams, departments, and cost centers). 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)` + # @param x_integration_id [String] ID of the integration you want to interact with. + # @param [Hash] opts the optional parameters + # @option opts [String] :cursor An optional cursor string used for pagination. This can be retrieved from the `next` property of the previous page response. + # @option opts [Integer] :page_size The number of results to return per page. Maximum is 250. (default to 100) + # @option opts [Time] :updated_after 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). + # @option opts [GetHrisGroupsParameterIncludeDeleted] :include_deleted By default, deleted entries are not returned. Use the `include_deleted` query param to include deleted entries too. (default to 'false') + # @option opts [String] :ids Filter by a comma-separated list of IDs such as `222k7eCGyUdgt2JWZDNnkDs3,B5DVmypWENfU6eMe6gYDyJG3`. + # @option opts [String] :remote_ids Filter by a comma-separated list of remote IDs. + # @option opts [String] :types Filter by a comma-separated list of group types: `DEPARTMENT`, `TEAM`, `COST_CENTER`, or `null` to filter groups without a type. Leave this blank to get results matching all values. + # @option opts [String] :name_contains Filter by the `name` field. Can be used to find a group by keywords present in the group name. + # @return [GetHrisGroupsPositiveResponse] + def get_hris_groups(x_integration_id, opts = {}) + data, _status_code, _headers = get_hris_groups_with_http_info(x_integration_id, opts) + data + end + + # Get groups + # Retrieve all \"groups\" (teams, departments, and cost centers). 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)` + # @param x_integration_id [String] ID of the integration you want to interact with. + # @param [Hash] opts the optional parameters + # @option opts [String] :cursor An optional cursor string used for pagination. This can be retrieved from the `next` property of the previous page response. + # @option opts [Integer] :page_size The number of results to return per page. Maximum is 250. (default to 100) + # @option opts [Time] :updated_after 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). + # @option opts [GetHrisGroupsParameterIncludeDeleted] :include_deleted By default, deleted entries are not returned. Use the `include_deleted` query param to include deleted entries too. (default to 'false') + # @option opts [String] :ids Filter by a comma-separated list of IDs such as `222k7eCGyUdgt2JWZDNnkDs3,B5DVmypWENfU6eMe6gYDyJG3`. + # @option opts [String] :remote_ids Filter by a comma-separated list of remote IDs. + # @option opts [String] :types Filter by a comma-separated list of group types: `DEPARTMENT`, `TEAM`, `COST_CENTER`, or `null` to filter groups without a type. Leave this blank to get results matching all values. + # @option opts [String] :name_contains Filter by the `name` field. Can be used to find a group by keywords present in the group name. + # @return [Array<(GetHrisGroupsPositiveResponse, Integer, Hash)>] GetHrisGroupsPositiveResponse data, response status code and response headers + def get_hris_groups_with_http_info(x_integration_id, opts = {}) + if @api_client.config.debugging + @api_client.config.logger.debug 'Calling API: UnifiedHRISAPIApi.get_hris_groups ...' + end + # verify the required parameter 'x_integration_id' is set + if @api_client.config.client_side_validation && x_integration_id.nil? + fail ArgumentError, "Missing the required parameter 'x_integration_id' when calling UnifiedHRISAPIApi.get_hris_groups" + end + if @api_client.config.client_side_validation && !opts[:'page_size'].nil? && opts[:'page_size'] > 250 + fail ArgumentError, 'invalid value for "opts[:"page_size"]" when calling UnifiedHRISAPIApi.get_hris_groups, must be smaller than or equal to 250.' + end + + if @api_client.config.client_side_validation && !opts[:'page_size'].nil? && opts[:'page_size'] < 1 + fail ArgumentError, 'invalid value for "opts[:"page_size"]" when calling UnifiedHRISAPIApi.get_hris_groups, must be greater than or equal to 1.' + end + + pattern = Regexp.new(/^\d{4}-\d{2}-\d{2}(T\d{2}:\d{2}:\d{2}(\.\d+)?)?Z?$/) + if @api_client.config.client_side_validation && !opts[:'updated_after'].nil? && opts[:'updated_after'] !~ pattern + fail ArgumentError, "invalid value for 'opts[:\"updated_after\"]' when calling UnifiedHRISAPIApi.get_hris_groups, must conform to the pattern #{pattern}." + end + + # resource path + local_var_path = '/hris/groups' + + # query parameters + query_params = opts[:query_params] || {} + query_params[:'cursor'] = opts[:'cursor'] if !opts[:'cursor'].nil? + query_params[:'page_size'] = opts[:'page_size'] if !opts[:'page_size'].nil? + query_params[:'updated_after'] = opts[:'updated_after'] if !opts[:'updated_after'].nil? + query_params[:'include_deleted'] = opts[:'include_deleted'] if !opts[:'include_deleted'].nil? + query_params[:'ids'] = opts[:'ids'] if !opts[:'ids'].nil? + query_params[:'remote_ids'] = opts[:'remote_ids'] if !opts[:'remote_ids'].nil? + query_params[:'types'] = opts[:'types'] if !opts[:'types'].nil? + query_params[:'name_contains'] = opts[:'name_contains'] if !opts[:'name_contains'].nil? + + # header parameters + header_params = opts[:header_params] || {} + # HTTP header 'Accept' (if needed) + header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept'] + header_params[:'X-Integration-Id'] = x_integration_id + + # form parameters + form_params = opts[:form_params] || {} + + # http body (model) + post_body = opts[:debug_body] + + # return_type + return_type = opts[:debug_return_type] || 'GetHrisGroupsPositiveResponse' + + # auth_names + auth_names = opts[:debug_auth_names] || ['ApiKey'] + + new_options = opts.merge( + :operation => :"UnifiedHRISAPIApi.get_hris_groups", + :header_params => header_params, + :query_params => query_params, + :form_params => form_params, + :body => post_body, + :auth_names => auth_names, + :return_type => return_type + ) + + data, status_code, headers = @api_client.call_api(:GET, local_var_path, new_options) + if @api_client.config.debugging + @api_client.config.logger.debug "API called: UnifiedHRISAPIApi#get_hris_groups\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}" + end + return data, status_code, headers + end + + # Get job positions + # Get job positions **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 job positions from the HRIS system. Job positions represent the organizational structure and include information about required skills, department, location, and reporting relationships. + # @param x_integration_id [String] ID of the integration you want to interact with. + # @param [Hash] opts the optional parameters + # @option opts [String] :ids Filter by a comma-separated list of IDs such as `222k7eCGyUdgt2JWZDNnkDs3,B5DVmypWENfU6eMe6gYDyJG3`. + # @option opts [String] :remote_ids Filter by a comma-separated list of remote IDs. + # @return [GetHrisJobPositionsPositiveResponse] + def get_hris_job_positions(x_integration_id, opts = {}) + data, _status_code, _headers = get_hris_job_positions_with_http_info(x_integration_id, opts) + data + end + + # Get job positions + # Get job positions <Warning>**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.</Warning> Retrieve all job positions from the HRIS system. Job positions represent the organizational structure and include information about required skills, department, location, and reporting relationships. + # @param x_integration_id [String] ID of the integration you want to interact with. + # @param [Hash] opts the optional parameters + # @option opts [String] :ids Filter by a comma-separated list of IDs such as `222k7eCGyUdgt2JWZDNnkDs3,B5DVmypWENfU6eMe6gYDyJG3`. + # @option opts [String] :remote_ids Filter by a comma-separated list of remote IDs. + # @return [Array<(GetHrisJobPositionsPositiveResponse, Integer, Hash)>] GetHrisJobPositionsPositiveResponse data, response status code and response headers + def get_hris_job_positions_with_http_info(x_integration_id, opts = {}) + if @api_client.config.debugging + @api_client.config.logger.debug 'Calling API: UnifiedHRISAPIApi.get_hris_job_positions ...' + end + # verify the required parameter 'x_integration_id' is set + if @api_client.config.client_side_validation && x_integration_id.nil? + fail ArgumentError, "Missing the required parameter 'x_integration_id' when calling UnifiedHRISAPIApi.get_hris_job_positions" + end + # resource path + local_var_path = '/hris/job-positions' + + # query parameters + query_params = opts[:query_params] || {} + query_params[:'ids'] = opts[:'ids'] if !opts[:'ids'].nil? + query_params[:'remote_ids'] = opts[:'remote_ids'] if !opts[:'remote_ids'].nil? + + # header parameters + header_params = opts[:header_params] || {} + # HTTP header 'Accept' (if needed) + header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept'] + header_params[:'X-Integration-Id'] = x_integration_id + + # form parameters + form_params = opts[:form_params] || {} + + # http body (model) + post_body = opts[:debug_body] + + # return_type + return_type = opts[:debug_return_type] || 'GetHrisJobPositionsPositiveResponse' + + # auth_names + auth_names = opts[:debug_auth_names] || ['ApiKey'] + + new_options = opts.merge( + :operation => :"UnifiedHRISAPIApi.get_hris_job_positions", + :header_params => header_params, + :query_params => query_params, + :form_params => form_params, + :body => post_body, + :auth_names => auth_names, + :return_type => return_type + ) + + data, status_code, headers = @api_client.call_api(:GET, local_var_path, new_options) + if @api_client.config.debugging + @api_client.config.logger.debug "API called: UnifiedHRISAPIApi#get_hris_job_positions\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}" + end + return data, status_code, headers + end + + # Get legal entities + # Retrieve all legal entites. 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)` + # @param x_integration_id [String] ID of the integration you want to interact with. + # @param [Hash] opts the optional parameters + # @option opts [String] :cursor An optional cursor string used for pagination. This can be retrieved from the `next` property of the previous page response. + # @option opts [Integer] :page_size The number of results to return per page. Maximum is 250. (default to 100) + # @option opts [Time] :updated_after 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). + # @option opts [GetHrisLegalEntitiesParameterIncludeDeleted] :include_deleted By default, deleted entries are not returned. Use the `include_deleted` query param to include deleted entries too. (default to 'false') + # @option opts [String] :ids Filter by a comma-separated list of IDs such as `222k7eCGyUdgt2JWZDNnkDs3,B5DVmypWENfU6eMe6gYDyJG3`. + # @option opts [String] :remote_ids Filter by a comma-separated list of remote IDs. + # @option opts [String] :name_contains Filter by the `name` field. Can be used to find a legal entity by keywords present in the legal entity name. + # @return [GetHrisLegalEntitiesPositiveResponse] + def get_hris_legal_entities(x_integration_id, opts = {}) + data, _status_code, _headers = get_hris_legal_entities_with_http_info(x_integration_id, opts) + data + end + + # Get legal entities + # Retrieve all legal entites. 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)` + # @param x_integration_id [String] ID of the integration you want to interact with. + # @param [Hash] opts the optional parameters + # @option opts [String] :cursor An optional cursor string used for pagination. This can be retrieved from the `next` property of the previous page response. + # @option opts [Integer] :page_size The number of results to return per page. Maximum is 250. (default to 100) + # @option opts [Time] :updated_after 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). + # @option opts [GetHrisLegalEntitiesParameterIncludeDeleted] :include_deleted By default, deleted entries are not returned. Use the `include_deleted` query param to include deleted entries too. (default to 'false') + # @option opts [String] :ids Filter by a comma-separated list of IDs such as `222k7eCGyUdgt2JWZDNnkDs3,B5DVmypWENfU6eMe6gYDyJG3`. + # @option opts [String] :remote_ids Filter by a comma-separated list of remote IDs. + # @option opts [String] :name_contains Filter by the `name` field. Can be used to find a legal entity by keywords present in the legal entity name. + # @return [Array<(GetHrisLegalEntitiesPositiveResponse, Integer, Hash)>] GetHrisLegalEntitiesPositiveResponse data, response status code and response headers + def get_hris_legal_entities_with_http_info(x_integration_id, opts = {}) + if @api_client.config.debugging + @api_client.config.logger.debug 'Calling API: UnifiedHRISAPIApi.get_hris_legal_entities ...' + end + # verify the required parameter 'x_integration_id' is set + if @api_client.config.client_side_validation && x_integration_id.nil? + fail ArgumentError, "Missing the required parameter 'x_integration_id' when calling UnifiedHRISAPIApi.get_hris_legal_entities" + end + if @api_client.config.client_side_validation && !opts[:'page_size'].nil? && opts[:'page_size'] > 250 + fail ArgumentError, 'invalid value for "opts[:"page_size"]" when calling UnifiedHRISAPIApi.get_hris_legal_entities, must be smaller than or equal to 250.' + end + + if @api_client.config.client_side_validation && !opts[:'page_size'].nil? && opts[:'page_size'] < 1 + fail ArgumentError, 'invalid value for "opts[:"page_size"]" when calling UnifiedHRISAPIApi.get_hris_legal_entities, must be greater than or equal to 1.' + end + + pattern = Regexp.new(/^\d{4}-\d{2}-\d{2}(T\d{2}:\d{2}:\d{2}(\.\d+)?)?Z?$/) + if @api_client.config.client_side_validation && !opts[:'updated_after'].nil? && opts[:'updated_after'] !~ pattern + fail ArgumentError, "invalid value for 'opts[:\"updated_after\"]' when calling UnifiedHRISAPIApi.get_hris_legal_entities, must conform to the pattern #{pattern}." + end + + # resource path + local_var_path = '/hris/legal-entities' + + # query parameters + query_params = opts[:query_params] || {} + query_params[:'cursor'] = opts[:'cursor'] if !opts[:'cursor'].nil? + query_params[:'page_size'] = opts[:'page_size'] if !opts[:'page_size'].nil? + query_params[:'updated_after'] = opts[:'updated_after'] if !opts[:'updated_after'].nil? + query_params[:'include_deleted'] = opts[:'include_deleted'] if !opts[:'include_deleted'].nil? + query_params[:'ids'] = opts[:'ids'] if !opts[:'ids'].nil? + query_params[:'remote_ids'] = opts[:'remote_ids'] if !opts[:'remote_ids'].nil? + query_params[:'name_contains'] = opts[:'name_contains'] if !opts[:'name_contains'].nil? + + # header parameters + header_params = opts[:header_params] || {} + # HTTP header 'Accept' (if needed) + header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept'] + header_params[:'X-Integration-Id'] = x_integration_id + + # form parameters + form_params = opts[:form_params] || {} + + # http body (model) + post_body = opts[:debug_body] + + # return_type + return_type = opts[:debug_return_type] || 'GetHrisLegalEntitiesPositiveResponse' + + # auth_names + auth_names = opts[:debug_auth_names] || ['ApiKey'] + + new_options = opts.merge( + :operation => :"UnifiedHRISAPIApi.get_hris_legal_entities", + :header_params => header_params, + :query_params => query_params, + :form_params => form_params, + :body => post_body, + :auth_names => auth_names, + :return_type => return_type + ) + + data, status_code, headers = @api_client.call_api(:GET, local_var_path, new_options) + if @api_client.config.debugging + @api_client.config.logger.debug "API called: UnifiedHRISAPIApi#get_hris_legal_entities\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}" + end + return data, status_code, headers + end + + # Get work locations + # Retrieve all work locations. 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)` + # @param x_integration_id [String] ID of the integration you want to interact with. + # @param [Hash] opts the optional parameters + # @option opts [String] :cursor An optional cursor string used for pagination. This can be retrieved from the `next` property of the previous page response. + # @option opts [Integer] :page_size The number of results to return per page. Maximum is 250. (default to 100) + # @option opts [Time] :updated_after 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). + # @option opts [GetHrisLocationsParameterIncludeDeleted] :include_deleted By default, deleted entries are not returned. Use the `include_deleted` query param to include deleted entries too. (default to 'false') + # @option opts [String] :ids Filter by a comma-separated list of IDs such as `222k7eCGyUdgt2JWZDNnkDs3,B5DVmypWENfU6eMe6gYDyJG3`. + # @option opts [String] :remote_ids Filter by a comma-separated list of remote IDs. + # @option opts [String] :name_contains Filter by the `name` field. Can be used to find a location by keywords present in the location name. + # @return [GetHrisLocationsPositiveResponse] + def get_hris_locations(x_integration_id, opts = {}) + data, _status_code, _headers = get_hris_locations_with_http_info(x_integration_id, opts) + data + end + + # Get work locations + # Retrieve all work locations. 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)` + # @param x_integration_id [String] ID of the integration you want to interact with. + # @param [Hash] opts the optional parameters + # @option opts [String] :cursor An optional cursor string used for pagination. This can be retrieved from the `next` property of the previous page response. + # @option opts [Integer] :page_size The number of results to return per page. Maximum is 250. (default to 100) + # @option opts [Time] :updated_after 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). + # @option opts [GetHrisLocationsParameterIncludeDeleted] :include_deleted By default, deleted entries are not returned. Use the `include_deleted` query param to include deleted entries too. (default to 'false') + # @option opts [String] :ids Filter by a comma-separated list of IDs such as `222k7eCGyUdgt2JWZDNnkDs3,B5DVmypWENfU6eMe6gYDyJG3`. + # @option opts [String] :remote_ids Filter by a comma-separated list of remote IDs. + # @option opts [String] :name_contains Filter by the `name` field. Can be used to find a location by keywords present in the location name. + # @return [Array<(GetHrisLocationsPositiveResponse, Integer, Hash)>] GetHrisLocationsPositiveResponse data, response status code and response headers + def get_hris_locations_with_http_info(x_integration_id, opts = {}) + if @api_client.config.debugging + @api_client.config.logger.debug 'Calling API: UnifiedHRISAPIApi.get_hris_locations ...' + end + # verify the required parameter 'x_integration_id' is set + if @api_client.config.client_side_validation && x_integration_id.nil? + fail ArgumentError, "Missing the required parameter 'x_integration_id' when calling UnifiedHRISAPIApi.get_hris_locations" + end + if @api_client.config.client_side_validation && !opts[:'page_size'].nil? && opts[:'page_size'] > 250 + fail ArgumentError, 'invalid value for "opts[:"page_size"]" when calling UnifiedHRISAPIApi.get_hris_locations, must be smaller than or equal to 250.' + end + + if @api_client.config.client_side_validation && !opts[:'page_size'].nil? && opts[:'page_size'] < 1 + fail ArgumentError, 'invalid value for "opts[:"page_size"]" when calling UnifiedHRISAPIApi.get_hris_locations, must be greater than or equal to 1.' + end + + pattern = Regexp.new(/^\d{4}-\d{2}-\d{2}(T\d{2}:\d{2}:\d{2}(\.\d+)?)?Z?$/) + if @api_client.config.client_side_validation && !opts[:'updated_after'].nil? && opts[:'updated_after'] !~ pattern + fail ArgumentError, "invalid value for 'opts[:\"updated_after\"]' when calling UnifiedHRISAPIApi.get_hris_locations, must conform to the pattern #{pattern}." + end + + # resource path + local_var_path = '/hris/locations' + + # query parameters + query_params = opts[:query_params] || {} + query_params[:'cursor'] = opts[:'cursor'] if !opts[:'cursor'].nil? + query_params[:'page_size'] = opts[:'page_size'] if !opts[:'page_size'].nil? + query_params[:'updated_after'] = opts[:'updated_after'] if !opts[:'updated_after'].nil? + query_params[:'include_deleted'] = opts[:'include_deleted'] if !opts[:'include_deleted'].nil? + query_params[:'ids'] = opts[:'ids'] if !opts[:'ids'].nil? + query_params[:'remote_ids'] = opts[:'remote_ids'] if !opts[:'remote_ids'].nil? + query_params[:'name_contains'] = opts[:'name_contains'] if !opts[:'name_contains'].nil? + + # header parameters + header_params = opts[:header_params] || {} + # HTTP header 'Accept' (if needed) + header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept'] + header_params[:'X-Integration-Id'] = x_integration_id + + # form parameters + form_params = opts[:form_params] || {} + + # http body (model) + post_body = opts[:debug_body] + + # return_type + return_type = opts[:debug_return_type] || 'GetHrisLocationsPositiveResponse' + + # auth_names + auth_names = opts[:debug_auth_names] || ['ApiKey'] + + new_options = opts.merge( + :operation => :"UnifiedHRISAPIApi.get_hris_locations", + :header_params => header_params, + :query_params => query_params, + :form_params => form_params, + :body => post_body, + :auth_names => auth_names, + :return_type => return_type + ) + + data, status_code, headers = @api_client.call_api(:GET, local_var_path, new_options) + if @api_client.config.debugging + @api_client.config.logger.debug "API called: UnifiedHRISAPIApi#get_hris_locations\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}" + end + return data, status_code, headers + end + + # Get performance review cycles + # Get performance review cycles Retrieve performance review cycles data from HRIS tools. **Open Beta Feature:** This endpoint is currently in beta. Please reach out to our support team if you need assistance with implementation. 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)` + # @param x_integration_id [String] ID of the integration you want to interact with. + # @param [Hash] opts the optional parameters + # @option opts [String] :cursor An optional cursor string used for pagination. This can be retrieved from the `next` property of the previous page response. + # @option opts [Integer] :page_size The number of results to return per page. Maximum is 250. (default to 100) + # @option opts [Time] :updated_after 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). + # @option opts [GetHrisPerformanceReviewCyclesParameterIncludeDeleted] :include_deleted By default, deleted entries are not returned. Use the `include_deleted` query param to include deleted entries too. (default to 'false') + # @option opts [String] :ids Filter by a comma-separated list of IDs such as `222k7eCGyUdgt2JWZDNnkDs3,B5DVmypWENfU6eMe6gYDyJG3`. + # @option opts [String] :remote_ids Filter by a comma-separated list of remote IDs. + # @return [GetHrisPerformanceReviewCyclesPositiveResponse] + def get_hris_performance_review_cycles(x_integration_id, opts = {}) + data, _status_code, _headers = get_hris_performance_review_cycles_with_http_info(x_integration_id, opts) + data + end + + # Get performance review cycles + # Get performance review cycles Retrieve performance review cycles data from HRIS tools. <Warning>**Open Beta Feature:** This endpoint is currently in beta. Please reach out to our support team if you need assistance with implementation.</Warning> 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)` + # @param x_integration_id [String] ID of the integration you want to interact with. + # @param [Hash] opts the optional parameters + # @option opts [String] :cursor An optional cursor string used for pagination. This can be retrieved from the `next` property of the previous page response. + # @option opts [Integer] :page_size The number of results to return per page. Maximum is 250. (default to 100) + # @option opts [Time] :updated_after 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). + # @option opts [GetHrisPerformanceReviewCyclesParameterIncludeDeleted] :include_deleted By default, deleted entries are not returned. Use the `include_deleted` query param to include deleted entries too. (default to 'false') + # @option opts [String] :ids Filter by a comma-separated list of IDs such as `222k7eCGyUdgt2JWZDNnkDs3,B5DVmypWENfU6eMe6gYDyJG3`. + # @option opts [String] :remote_ids Filter by a comma-separated list of remote IDs. + # @return [Array<(GetHrisPerformanceReviewCyclesPositiveResponse, Integer, Hash)>] GetHrisPerformanceReviewCyclesPositiveResponse data, response status code and response headers + def get_hris_performance_review_cycles_with_http_info(x_integration_id, opts = {}) + if @api_client.config.debugging + @api_client.config.logger.debug 'Calling API: UnifiedHRISAPIApi.get_hris_performance_review_cycles ...' + end + # verify the required parameter 'x_integration_id' is set + if @api_client.config.client_side_validation && x_integration_id.nil? + fail ArgumentError, "Missing the required parameter 'x_integration_id' when calling UnifiedHRISAPIApi.get_hris_performance_review_cycles" + end + if @api_client.config.client_side_validation && !opts[:'page_size'].nil? && opts[:'page_size'] > 250 + fail ArgumentError, 'invalid value for "opts[:"page_size"]" when calling UnifiedHRISAPIApi.get_hris_performance_review_cycles, must be smaller than or equal to 250.' + end + + if @api_client.config.client_side_validation && !opts[:'page_size'].nil? && opts[:'page_size'] < 1 + fail ArgumentError, 'invalid value for "opts[:"page_size"]" when calling UnifiedHRISAPIApi.get_hris_performance_review_cycles, must be greater than or equal to 1.' + end + + pattern = Regexp.new(/^\d{4}-\d{2}-\d{2}(T\d{2}:\d{2}:\d{2}(\.\d+)?)?Z?$/) + if @api_client.config.client_side_validation && !opts[:'updated_after'].nil? && opts[:'updated_after'] !~ pattern + fail ArgumentError, "invalid value for 'opts[:\"updated_after\"]' when calling UnifiedHRISAPIApi.get_hris_performance_review_cycles, must conform to the pattern #{pattern}." + end + + # resource path + local_var_path = '/hris/performance-review-cycles' + + # query parameters + query_params = opts[:query_params] || {} + query_params[:'cursor'] = opts[:'cursor'] if !opts[:'cursor'].nil? + query_params[:'page_size'] = opts[:'page_size'] if !opts[:'page_size'].nil? + query_params[:'updated_after'] = opts[:'updated_after'] if !opts[:'updated_after'].nil? + query_params[:'include_deleted'] = opts[:'include_deleted'] if !opts[:'include_deleted'].nil? + query_params[:'ids'] = opts[:'ids'] if !opts[:'ids'].nil? + query_params[:'remote_ids'] = opts[:'remote_ids'] if !opts[:'remote_ids'].nil? + + # header parameters + header_params = opts[:header_params] || {} + # HTTP header 'Accept' (if needed) + header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept'] + header_params[:'X-Integration-Id'] = x_integration_id + + # form parameters + form_params = opts[:form_params] || {} + + # http body (model) + post_body = opts[:debug_body] + + # return_type + return_type = opts[:debug_return_type] || 'GetHrisPerformanceReviewCyclesPositiveResponse' + + # auth_names + auth_names = opts[:debug_auth_names] || ['ApiKey'] + + new_options = opts.merge( + :operation => :"UnifiedHRISAPIApi.get_hris_performance_review_cycles", + :header_params => header_params, + :query_params => query_params, + :form_params => form_params, + :body => post_body, + :auth_names => auth_names, + :return_type => return_type + ) + + data, status_code, headers = @api_client.call_api(:GET, local_var_path, new_options) + if @api_client.config.debugging + @api_client.config.logger.debug "API called: UnifiedHRISAPIApi#get_hris_performance_review_cycles\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}" + end + return data, status_code, headers + end + + # Get performance reviews + # Get performance reviews Retrieve performance review data from HRIS tools. **Open Beta Feature:** This endpoint is currently in beta. Please reach out to our support team if you need assistance with implementation. 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)` + # @param x_integration_id [String] ID of the integration you want to interact with. + # @param [Hash] opts the optional parameters + # @option opts [String] :cursor An optional cursor string used for pagination. This can be retrieved from the `next` property of the previous page response. + # @option opts [Integer] :page_size The number of results to return per page. Maximum is 250. (default to 100) + # @option opts [Time] :updated_after 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). + # @option opts [GetHrisPerformanceReviewsParameterIncludeDeleted] :include_deleted By default, deleted entries are not returned. Use the `include_deleted` query param to include deleted entries too. (default to 'false') + # @option opts [String] :ids Filter by a comma-separated list of IDs such as `222k7eCGyUdgt2JWZDNnkDs3,B5DVmypWENfU6eMe6gYDyJG3`. + # @option opts [String] :remote_ids Filter by a comma-separated list of remote IDs. + # @option opts [String] :types Filter by a comma-separated list of `MANAGER`, `DIRECT_REPORT`, `PEER`, `SELF` Leave this blank to get results matching all values. + # @option opts [String] :review_cycle_ids Filter by a comma-separated list of review cycle IDs. + # @option opts [String] :reviewee_ids Filter by a comma-separated list of reviewee IDs. + # @return [GetHrisPerformanceReviewsPositiveResponse] + def get_hris_performance_reviews(x_integration_id, opts = {}) + data, _status_code, _headers = get_hris_performance_reviews_with_http_info(x_integration_id, opts) + data + end + + # Get performance reviews + # Get performance reviews Retrieve performance review data from HRIS tools. <Warning>**Open Beta Feature:** This endpoint is currently in beta. Please reach out to our support team if you need assistance with implementation.</Warning> 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)` + # @param x_integration_id [String] ID of the integration you want to interact with. + # @param [Hash] opts the optional parameters + # @option opts [String] :cursor An optional cursor string used for pagination. This can be retrieved from the `next` property of the previous page response. + # @option opts [Integer] :page_size The number of results to return per page. Maximum is 250. (default to 100) + # @option opts [Time] :updated_after 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). + # @option opts [GetHrisPerformanceReviewsParameterIncludeDeleted] :include_deleted By default, deleted entries are not returned. Use the `include_deleted` query param to include deleted entries too. (default to 'false') + # @option opts [String] :ids Filter by a comma-separated list of IDs such as `222k7eCGyUdgt2JWZDNnkDs3,B5DVmypWENfU6eMe6gYDyJG3`. + # @option opts [String] :remote_ids Filter by a comma-separated list of remote IDs. + # @option opts [String] :types Filter by a comma-separated list of `MANAGER`, `DIRECT_REPORT`, `PEER`, `SELF` Leave this blank to get results matching all values. + # @option opts [String] :review_cycle_ids Filter by a comma-separated list of review cycle IDs. + # @option opts [String] :reviewee_ids Filter by a comma-separated list of reviewee IDs. + # @return [Array<(GetHrisPerformanceReviewsPositiveResponse, Integer, Hash)>] GetHrisPerformanceReviewsPositiveResponse data, response status code and response headers + def get_hris_performance_reviews_with_http_info(x_integration_id, opts = {}) + if @api_client.config.debugging + @api_client.config.logger.debug 'Calling API: UnifiedHRISAPIApi.get_hris_performance_reviews ...' + end + # verify the required parameter 'x_integration_id' is set + if @api_client.config.client_side_validation && x_integration_id.nil? + fail ArgumentError, "Missing the required parameter 'x_integration_id' when calling UnifiedHRISAPIApi.get_hris_performance_reviews" + end + if @api_client.config.client_side_validation && !opts[:'page_size'].nil? && opts[:'page_size'] > 250 + fail ArgumentError, 'invalid value for "opts[:"page_size"]" when calling UnifiedHRISAPIApi.get_hris_performance_reviews, must be smaller than or equal to 250.' + end + + if @api_client.config.client_side_validation && !opts[:'page_size'].nil? && opts[:'page_size'] < 1 + fail ArgumentError, 'invalid value for "opts[:"page_size"]" when calling UnifiedHRISAPIApi.get_hris_performance_reviews, must be greater than or equal to 1.' + end + + pattern = Regexp.new(/^\d{4}-\d{2}-\d{2}(T\d{2}:\d{2}:\d{2}(\.\d+)?)?Z?$/) + if @api_client.config.client_side_validation && !opts[:'updated_after'].nil? && opts[:'updated_after'] !~ pattern + fail ArgumentError, "invalid value for 'opts[:\"updated_after\"]' when calling UnifiedHRISAPIApi.get_hris_performance_reviews, must conform to the pattern #{pattern}." + end + + # resource path + local_var_path = '/hris/performance-reviews' + + # query parameters + query_params = opts[:query_params] || {} + query_params[:'cursor'] = opts[:'cursor'] if !opts[:'cursor'].nil? + query_params[:'page_size'] = opts[:'page_size'] if !opts[:'page_size'].nil? + query_params[:'updated_after'] = opts[:'updated_after'] if !opts[:'updated_after'].nil? + query_params[:'include_deleted'] = opts[:'include_deleted'] if !opts[:'include_deleted'].nil? + query_params[:'ids'] = opts[:'ids'] if !opts[:'ids'].nil? + query_params[:'remote_ids'] = opts[:'remote_ids'] if !opts[:'remote_ids'].nil? + query_params[:'types'] = opts[:'types'] if !opts[:'types'].nil? + query_params[:'review_cycle_ids'] = opts[:'review_cycle_ids'] if !opts[:'review_cycle_ids'].nil? + query_params[:'reviewee_ids'] = opts[:'reviewee_ids'] if !opts[:'reviewee_ids'].nil? + + # header parameters + header_params = opts[:header_params] || {} + # HTTP header 'Accept' (if needed) + header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept'] + header_params[:'X-Integration-Id'] = x_integration_id + + # form parameters + form_params = opts[:form_params] || {} + + # http body (model) + post_body = opts[:debug_body] + + # return_type + return_type = opts[:debug_return_type] || 'GetHrisPerformanceReviewsPositiveResponse' + + # auth_names + auth_names = opts[:debug_auth_names] || ['ApiKey'] + + new_options = opts.merge( + :operation => :"UnifiedHRISAPIApi.get_hris_performance_reviews", + :header_params => header_params, + :query_params => query_params, + :form_params => form_params, + :body => post_body, + :auth_names => auth_names, + :return_type => return_type + ) + + data, status_code, headers = @api_client.call_api(:GET, local_var_path, new_options) + if @api_client.config.debugging + @api_client.config.logger.debug "API called: UnifiedHRISAPIApi#get_hris_performance_reviews\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}" + end + return data, status_code, headers + end + + # Get skills + # Get skills **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 skills available in the HRIS system. Skills are available on employees and job positions. + # @param x_integration_id [String] ID of the integration you want to interact with. + # @param [Hash] opts the optional parameters + # @option opts [String] :ids Filter by a comma-separated list of IDs such as `222k7eCGyUdgt2JWZDNnkDs3,B5DVmypWENfU6eMe6gYDyJG3`. + # @option opts [String] :remote_ids Filter by a comma-separated list of remote IDs. + # @option opts [String] :name_contains Filter by the `name` field. Can be used to find a skills by keywords present in the skill name. + # @return [GetHrisSkillsPositiveResponse] + def get_hris_skills(x_integration_id, opts = {}) + data, _status_code, _headers = get_hris_skills_with_http_info(x_integration_id, opts) + data + end + + # Get skills + # Get skills <Warning>**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.</Warning> Retrieve all skills available in the HRIS system. Skills are available on employees and job positions. + # @param x_integration_id [String] ID of the integration you want to interact with. + # @param [Hash] opts the optional parameters + # @option opts [String] :ids Filter by a comma-separated list of IDs such as `222k7eCGyUdgt2JWZDNnkDs3,B5DVmypWENfU6eMe6gYDyJG3`. + # @option opts [String] :remote_ids Filter by a comma-separated list of remote IDs. + # @option opts [String] :name_contains Filter by the `name` field. Can be used to find a skills by keywords present in the skill name. + # @return [Array<(GetHrisSkillsPositiveResponse, Integer, Hash)>] GetHrisSkillsPositiveResponse data, response status code and response headers + def get_hris_skills_with_http_info(x_integration_id, opts = {}) + if @api_client.config.debugging + @api_client.config.logger.debug 'Calling API: UnifiedHRISAPIApi.get_hris_skills ...' + end + # verify the required parameter 'x_integration_id' is set + if @api_client.config.client_side_validation && x_integration_id.nil? + fail ArgumentError, "Missing the required parameter 'x_integration_id' when calling UnifiedHRISAPIApi.get_hris_skills" + end + # resource path + local_var_path = '/hris/skills' + + # query parameters + query_params = opts[:query_params] || {} + query_params[:'ids'] = opts[:'ids'] if !opts[:'ids'].nil? + query_params[:'remote_ids'] = opts[:'remote_ids'] if !opts[:'remote_ids'].nil? + query_params[:'name_contains'] = opts[:'name_contains'] if !opts[:'name_contains'].nil? + + # header parameters + header_params = opts[:header_params] || {} + # HTTP header 'Accept' (if needed) + header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept'] + header_params[:'X-Integration-Id'] = x_integration_id + + # form parameters + form_params = opts[:form_params] || {} + + # http body (model) + post_body = opts[:debug_body] + + # return_type + return_type = opts[:debug_return_type] || 'GetHrisSkillsPositiveResponse' + + # auth_names + auth_names = opts[:debug_auth_names] || ['ApiKey'] + + new_options = opts.merge( + :operation => :"UnifiedHRISAPIApi.get_hris_skills", + :header_params => header_params, + :query_params => query_params, + :form_params => form_params, + :body => post_body, + :auth_names => auth_names, + :return_type => return_type + ) + + data, status_code, headers = @api_client.call_api(:GET, local_var_path, new_options) + if @api_client.config.debugging + @api_client.config.logger.debug "API called: UnifiedHRISAPIApi#get_hris_skills\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}" + end + return data, status_code, headers + end + + # Get teams (deprecated) + # Get the teams. **This endpoint is deprecated!** Please use [the `/groups` endpoint](/hris/v1/get-groups) instead. It returns the same data but the naming makes more sense as the model not only includes teams but also departments and cost centers.. 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)` + # @param x_integration_id [String] ID of the integration you want to interact with. + # @param [Hash] opts the optional parameters + # @option opts [String] :cursor An optional cursor string used for pagination. This can be retrieved from the `next` property of the previous page response. + # @option opts [Integer] :page_size The number of results to return per page. Maximum is 250. (default to 100) + # @option opts [Time] :updated_after 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). + # @option opts [GetHrisTeamsParameterIncludeDeleted] :include_deleted By default, deleted entries are not returned. Use the `include_deleted` query param to include deleted entries too. (default to 'false') + # @option opts [String] :ids Filter by a comma-separated list of IDs such as `222k7eCGyUdgt2JWZDNnkDs3,B5DVmypWENfU6eMe6gYDyJG3`. + # @option opts [String] :remote_ids Filter by a comma-separated list of remote IDs. + # @return [GetHrisTeamsPositiveResponse] + def get_hris_teams(x_integration_id, opts = {}) + data, _status_code, _headers = get_hris_teams_with_http_info(x_integration_id, opts) + data + end + + # Get teams (deprecated) + # Get the teams. <Warning> **This endpoint is deprecated!** Please use [the `/groups` endpoint](/hris/v1/get-groups) instead. It returns the same data but the naming makes more sense as the model not only includes teams but also departments and cost centers.. </Warning> 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)` + # @param x_integration_id [String] ID of the integration you want to interact with. + # @param [Hash] opts the optional parameters + # @option opts [String] :cursor An optional cursor string used for pagination. This can be retrieved from the `next` property of the previous page response. + # @option opts [Integer] :page_size The number of results to return per page. Maximum is 250. (default to 100) + # @option opts [Time] :updated_after 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). + # @option opts [GetHrisTeamsParameterIncludeDeleted] :include_deleted By default, deleted entries are not returned. Use the `include_deleted` query param to include deleted entries too. (default to 'false') + # @option opts [String] :ids Filter by a comma-separated list of IDs such as `222k7eCGyUdgt2JWZDNnkDs3,B5DVmypWENfU6eMe6gYDyJG3`. + # @option opts [String] :remote_ids Filter by a comma-separated list of remote IDs. + # @return [Array<(GetHrisTeamsPositiveResponse, Integer, Hash)>] GetHrisTeamsPositiveResponse data, response status code and response headers + def get_hris_teams_with_http_info(x_integration_id, opts = {}) + if @api_client.config.debugging + @api_client.config.logger.debug 'Calling API: UnifiedHRISAPIApi.get_hris_teams ...' + end + # verify the required parameter 'x_integration_id' is set + if @api_client.config.client_side_validation && x_integration_id.nil? + fail ArgumentError, "Missing the required parameter 'x_integration_id' when calling UnifiedHRISAPIApi.get_hris_teams" + end + if @api_client.config.client_side_validation && !opts[:'page_size'].nil? && opts[:'page_size'] > 250 + fail ArgumentError, 'invalid value for "opts[:"page_size"]" when calling UnifiedHRISAPIApi.get_hris_teams, must be smaller than or equal to 250.' + end + + if @api_client.config.client_side_validation && !opts[:'page_size'].nil? && opts[:'page_size'] < 1 + fail ArgumentError, 'invalid value for "opts[:"page_size"]" when calling UnifiedHRISAPIApi.get_hris_teams, must be greater than or equal to 1.' + end + + pattern = Regexp.new(/^\d{4}-\d{2}-\d{2}(T\d{2}:\d{2}:\d{2}(\.\d+)?)?Z?$/) + if @api_client.config.client_side_validation && !opts[:'updated_after'].nil? && opts[:'updated_after'] !~ pattern + fail ArgumentError, "invalid value for 'opts[:\"updated_after\"]' when calling UnifiedHRISAPIApi.get_hris_teams, must conform to the pattern #{pattern}." + end + + # resource path + local_var_path = '/hris/teams' + + # query parameters + query_params = opts[:query_params] || {} + query_params[:'cursor'] = opts[:'cursor'] if !opts[:'cursor'].nil? + query_params[:'page_size'] = opts[:'page_size'] if !opts[:'page_size'].nil? + query_params[:'updated_after'] = opts[:'updated_after'] if !opts[:'updated_after'].nil? + query_params[:'include_deleted'] = opts[:'include_deleted'] if !opts[:'include_deleted'].nil? + query_params[:'ids'] = opts[:'ids'] if !opts[:'ids'].nil? + query_params[:'remote_ids'] = opts[:'remote_ids'] if !opts[:'remote_ids'].nil? + + # header parameters + header_params = opts[:header_params] || {} + # HTTP header 'Accept' (if needed) + header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept'] + header_params[:'X-Integration-Id'] = x_integration_id + + # form parameters + form_params = opts[:form_params] || {} + + # http body (model) + post_body = opts[:debug_body] + + # return_type + return_type = opts[:debug_return_type] || 'GetHrisTeamsPositiveResponse' + + # auth_names + auth_names = opts[:debug_auth_names] || ['ApiKey'] + + new_options = opts.merge( + :operation => :"UnifiedHRISAPIApi.get_hris_teams", + :header_params => header_params, + :query_params => query_params, + :form_params => form_params, + :body => post_body, + :auth_names => auth_names, + :return_type => return_type + ) + + data, status_code, headers = @api_client.call_api(:GET, local_var_path, new_options) + if @api_client.config.debugging + @api_client.config.logger.debug "API called: UnifiedHRISAPIApi#get_hris_teams\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}" + end + return data, status_code, headers + end + + # Get time off balances + # Retrieve all time off balances. 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)` + # @param x_integration_id [String] ID of the integration you want to interact with. + # @param [Hash] opts the optional parameters + # @option opts [String] :cursor An optional cursor string used for pagination. This can be retrieved from the `next` property of the previous page response. + # @option opts [Integer] :page_size The number of results to return per page. Maximum is 250. (default to 100) + # @option opts [Time] :updated_after 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). + # @option opts [GetHrisTimeOffBalancesParameterIncludeDeleted] :include_deleted By default, deleted entries are not returned. Use the `include_deleted` query param to include deleted entries too. (default to 'false') + # @option opts [String] :ids Filter by a comma-separated list of IDs such as `222k7eCGyUdgt2JWZDNnkDs3,B5DVmypWENfU6eMe6gYDyJG3`. + # @option opts [String] :remote_ids Filter by a comma-separated list of remote IDs. + # @option opts [String] :employee_id Filter by a specific employee using their ID. + # @return [GetHrisTimeOffBalancesPositiveResponse] + def get_hris_time_off_balances(x_integration_id, opts = {}) + data, _status_code, _headers = get_hris_time_off_balances_with_http_info(x_integration_id, opts) + data + end + + # Get time off balances + # Retrieve all time off balances. 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)` + # @param x_integration_id [String] ID of the integration you want to interact with. + # @param [Hash] opts the optional parameters + # @option opts [String] :cursor An optional cursor string used for pagination. This can be retrieved from the `next` property of the previous page response. + # @option opts [Integer] :page_size The number of results to return per page. Maximum is 250. (default to 100) + # @option opts [Time] :updated_after 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). + # @option opts [GetHrisTimeOffBalancesParameterIncludeDeleted] :include_deleted By default, deleted entries are not returned. Use the `include_deleted` query param to include deleted entries too. (default to 'false') + # @option opts [String] :ids Filter by a comma-separated list of IDs such as `222k7eCGyUdgt2JWZDNnkDs3,B5DVmypWENfU6eMe6gYDyJG3`. + # @option opts [String] :remote_ids Filter by a comma-separated list of remote IDs. + # @option opts [String] :employee_id Filter by a specific employee using their ID. + # @return [Array<(GetHrisTimeOffBalancesPositiveResponse, Integer, Hash)>] GetHrisTimeOffBalancesPositiveResponse data, response status code and response headers + def get_hris_time_off_balances_with_http_info(x_integration_id, opts = {}) + if @api_client.config.debugging + @api_client.config.logger.debug 'Calling API: UnifiedHRISAPIApi.get_hris_time_off_balances ...' + end + # verify the required parameter 'x_integration_id' is set + if @api_client.config.client_side_validation && x_integration_id.nil? + fail ArgumentError, "Missing the required parameter 'x_integration_id' when calling UnifiedHRISAPIApi.get_hris_time_off_balances" + end + if @api_client.config.client_side_validation && !opts[:'page_size'].nil? && opts[:'page_size'] > 250 + fail ArgumentError, 'invalid value for "opts[:"page_size"]" when calling UnifiedHRISAPIApi.get_hris_time_off_balances, must be smaller than or equal to 250.' + end + + if @api_client.config.client_side_validation && !opts[:'page_size'].nil? && opts[:'page_size'] < 1 + fail ArgumentError, 'invalid value for "opts[:"page_size"]" when calling UnifiedHRISAPIApi.get_hris_time_off_balances, must be greater than or equal to 1.' + end + + pattern = Regexp.new(/^\d{4}-\d{2}-\d{2}(T\d{2}:\d{2}:\d{2}(\.\d+)?)?Z?$/) + if @api_client.config.client_side_validation && !opts[:'updated_after'].nil? && opts[:'updated_after'] !~ pattern + fail ArgumentError, "invalid value for 'opts[:\"updated_after\"]' when calling UnifiedHRISAPIApi.get_hris_time_off_balances, must conform to the pattern #{pattern}." + end + + # resource path + local_var_path = '/hris/time-off-balances' + + # query parameters + query_params = opts[:query_params] || {} + query_params[:'cursor'] = opts[:'cursor'] if !opts[:'cursor'].nil? + query_params[:'page_size'] = opts[:'page_size'] if !opts[:'page_size'].nil? + query_params[:'updated_after'] = opts[:'updated_after'] if !opts[:'updated_after'].nil? + query_params[:'include_deleted'] = opts[:'include_deleted'] if !opts[:'include_deleted'].nil? + query_params[:'ids'] = opts[:'ids'] if !opts[:'ids'].nil? + query_params[:'remote_ids'] = opts[:'remote_ids'] if !opts[:'remote_ids'].nil? + query_params[:'employee_id'] = opts[:'employee_id'] if !opts[:'employee_id'].nil? + + # header parameters + header_params = opts[:header_params] || {} + # HTTP header 'Accept' (if needed) + header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept'] + header_params[:'X-Integration-Id'] = x_integration_id + + # form parameters + form_params = opts[:form_params] || {} + + # http body (model) + post_body = opts[:debug_body] + + # return_type + return_type = opts[:debug_return_type] || 'GetHrisTimeOffBalancesPositiveResponse' + + # auth_names + auth_names = opts[:debug_auth_names] || ['ApiKey'] + + new_options = opts.merge( + :operation => :"UnifiedHRISAPIApi.get_hris_time_off_balances", + :header_params => header_params, + :query_params => query_params, + :form_params => form_params, + :body => post_body, + :auth_names => auth_names, + :return_type => return_type + ) + + data, status_code, headers = @api_client.call_api(:GET, local_var_path, new_options) + if @api_client.config.debugging + @api_client.config.logger.debug "API called: UnifiedHRISAPIApi#get_hris_time_off_balances\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}" + end + return data, status_code, headers + end + + # Get timesheets + # Get timesheets Retrieve attendance data and timesheets from HRIS tools. **Open Beta Feature:** This endpoint is currently in beta. Please reach out to our support team if you need assistance with implementation. For a detailed explanation of the data model, validation rules, time zones, payable hours, approvals, and break patterns, see the [Time & Attendance guide](/hris/features/time-and-attendance). 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)` + # @param x_integration_id [String] ID of the integration you want to interact with. + # @param [Hash] opts the optional parameters + # @option opts [String] :cursor An optional cursor string used for pagination. This can be retrieved from the `next` property of the previous page response. + # @option opts [Integer] :page_size The number of results to return per page. Maximum is 250. (default to 100) + # @option opts [Time] :updated_after 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). + # @option opts [GetHrisTimesheetsParameterIncludeDeleted] :include_deleted By default, deleted entries are not returned. Use the `include_deleted` query param to include deleted entries too. (default to 'false') + # @option opts [String] :ids Filter by a comma-separated list of IDs such as `222k7eCGyUdgt2JWZDNnkDs3,B5DVmypWENfU6eMe6gYDyJG3`. + # @option opts [String] :remote_ids Filter by a comma-separated list of remote IDs. + # @option opts [String] :employee_id Returns timesheets for a specific employee. + # @option opts [Time] :started_before Return timesheets whose start time is before the given timestamp. + # @option opts [Time] :started_after Return timesheets whose start time is on or after the given timestamp. + # @option opts [Time] :ended_before Return timesheets whose end time is on or before the given timestamp. + # @option opts [Time] :ended_after Return timesheets whose end time is on or after the given timestamp. + # @return [GetHrisTimesheetsPositiveResponse] + def get_hris_timesheets(x_integration_id, opts = {}) + data, _status_code, _headers = get_hris_timesheets_with_http_info(x_integration_id, opts) + data + end + + # Get timesheets + # Get timesheets Retrieve attendance data and timesheets from HRIS tools. <Warning>**Open Beta Feature:** This endpoint is currently in beta. Please reach out to our support team if you need assistance with implementation.</Warning> For a detailed explanation of the data model, validation rules, time zones, payable hours, approvals, and break patterns, see the [Time & Attendance guide](/hris/features/time-and-attendance). 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)` + # @param x_integration_id [String] ID of the integration you want to interact with. + # @param [Hash] opts the optional parameters + # @option opts [String] :cursor An optional cursor string used for pagination. This can be retrieved from the `next` property of the previous page response. + # @option opts [Integer] :page_size The number of results to return per page. Maximum is 250. (default to 100) + # @option opts [Time] :updated_after 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). + # @option opts [GetHrisTimesheetsParameterIncludeDeleted] :include_deleted By default, deleted entries are not returned. Use the `include_deleted` query param to include deleted entries too. (default to 'false') + # @option opts [String] :ids Filter by a comma-separated list of IDs such as `222k7eCGyUdgt2JWZDNnkDs3,B5DVmypWENfU6eMe6gYDyJG3`. + # @option opts [String] :remote_ids Filter by a comma-separated list of remote IDs. + # @option opts [String] :employee_id Returns timesheets for a specific employee. + # @option opts [Time] :started_before Return timesheets whose start time is before the given timestamp. + # @option opts [Time] :started_after Return timesheets whose start time is on or after the given timestamp. + # @option opts [Time] :ended_before Return timesheets whose end time is on or before the given timestamp. + # @option opts [Time] :ended_after Return timesheets whose end time is on or after the given timestamp. + # @return [Array<(GetHrisTimesheetsPositiveResponse, Integer, Hash)>] GetHrisTimesheetsPositiveResponse data, response status code and response headers + def get_hris_timesheets_with_http_info(x_integration_id, opts = {}) + if @api_client.config.debugging + @api_client.config.logger.debug 'Calling API: UnifiedHRISAPIApi.get_hris_timesheets ...' + end + # verify the required parameter 'x_integration_id' is set + if @api_client.config.client_side_validation && x_integration_id.nil? + fail ArgumentError, "Missing the required parameter 'x_integration_id' when calling UnifiedHRISAPIApi.get_hris_timesheets" + end + if @api_client.config.client_side_validation && !opts[:'page_size'].nil? && opts[:'page_size'] > 250 + fail ArgumentError, 'invalid value for "opts[:"page_size"]" when calling UnifiedHRISAPIApi.get_hris_timesheets, must be smaller than or equal to 250.' + end + + if @api_client.config.client_side_validation && !opts[:'page_size'].nil? && opts[:'page_size'] < 1 + fail ArgumentError, 'invalid value for "opts[:"page_size"]" when calling UnifiedHRISAPIApi.get_hris_timesheets, must be greater than or equal to 1.' + end + + pattern = Regexp.new(/^\d{4}-\d{2}-\d{2}(T\d{2}:\d{2}:\d{2}(\.\d+)?)?Z?$/) + if @api_client.config.client_side_validation && !opts[:'updated_after'].nil? && opts[:'updated_after'] !~ pattern + fail ArgumentError, "invalid value for 'opts[:\"updated_after\"]' when calling UnifiedHRISAPIApi.get_hris_timesheets, must conform to the pattern #{pattern}." + end + + pattern = Regexp.new(/^\d{4}-\d{2}-\d{2}(T\d{2}:\d{2}:\d{2}(\.\d+)?)?Z?$/) + if @api_client.config.client_side_validation && !opts[:'started_before'].nil? && opts[:'started_before'] !~ pattern + fail ArgumentError, "invalid value for 'opts[:\"started_before\"]' when calling UnifiedHRISAPIApi.get_hris_timesheets, must conform to the pattern #{pattern}." + end + + pattern = Regexp.new(/^\d{4}-\d{2}-\d{2}(T\d{2}:\d{2}:\d{2}(\.\d+)?)?Z?$/) + if @api_client.config.client_side_validation && !opts[:'started_after'].nil? && opts[:'started_after'] !~ pattern + fail ArgumentError, "invalid value for 'opts[:\"started_after\"]' when calling UnifiedHRISAPIApi.get_hris_timesheets, must conform to the pattern #{pattern}." + end + + pattern = Regexp.new(/^\d{4}-\d{2}-\d{2}(T\d{2}:\d{2}:\d{2}(\.\d+)?)?Z?$/) + if @api_client.config.client_side_validation && !opts[:'ended_before'].nil? && opts[:'ended_before'] !~ pattern + fail ArgumentError, "invalid value for 'opts[:\"ended_before\"]' when calling UnifiedHRISAPIApi.get_hris_timesheets, must conform to the pattern #{pattern}." + end + + pattern = Regexp.new(/^\d{4}-\d{2}-\d{2}(T\d{2}:\d{2}:\d{2}(\.\d+)?)?Z?$/) + if @api_client.config.client_side_validation && !opts[:'ended_after'].nil? && opts[:'ended_after'] !~ pattern + fail ArgumentError, "invalid value for 'opts[:\"ended_after\"]' when calling UnifiedHRISAPIApi.get_hris_timesheets, must conform to the pattern #{pattern}." + end + + # resource path + local_var_path = '/hris/timesheets' + + # query parameters + query_params = opts[:query_params] || {} + query_params[:'cursor'] = opts[:'cursor'] if !opts[:'cursor'].nil? + query_params[:'page_size'] = opts[:'page_size'] if !opts[:'page_size'].nil? + query_params[:'updated_after'] = opts[:'updated_after'] if !opts[:'updated_after'].nil? + query_params[:'include_deleted'] = opts[:'include_deleted'] if !opts[:'include_deleted'].nil? + query_params[:'ids'] = opts[:'ids'] if !opts[:'ids'].nil? + query_params[:'remote_ids'] = opts[:'remote_ids'] if !opts[:'remote_ids'].nil? + query_params[:'employee_id'] = opts[:'employee_id'] if !opts[:'employee_id'].nil? + query_params[:'started_before'] = opts[:'started_before'] if !opts[:'started_before'].nil? + query_params[:'started_after'] = opts[:'started_after'] if !opts[:'started_after'].nil? + query_params[:'ended_before'] = opts[:'ended_before'] if !opts[:'ended_before'].nil? + query_params[:'ended_after'] = opts[:'ended_after'] if !opts[:'ended_after'].nil? + + # header parameters + header_params = opts[:header_params] || {} + # HTTP header 'Accept' (if needed) + header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept'] + header_params[:'X-Integration-Id'] = x_integration_id + + # form parameters + form_params = opts[:form_params] || {} + + # http body (model) + post_body = opts[:debug_body] + + # return_type + return_type = opts[:debug_return_type] || 'GetHrisTimesheetsPositiveResponse' + + # auth_names + auth_names = opts[:debug_auth_names] || ['ApiKey'] + + new_options = opts.merge( + :operation => :"UnifiedHRISAPIApi.get_hris_timesheets", + :header_params => header_params, + :query_params => query_params, + :form_params => form_params, + :body => post_body, + :auth_names => auth_names, + :return_type => return_type + ) + + data, status_code, headers = @api_client.call_api(:GET, local_var_path, new_options) + if @api_client.config.debugging + @api_client.config.logger.debug "API called: UnifiedHRISAPIApi#get_hris_timesheets\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}" + end + return data, status_code, headers + end + + # Update employee skill assignment + # Update employee skill assignment **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 the skill level for an employee skill assignment. + # @param x_integration_id [String] ID of the integration you want to interact with. + # @param employee_skill_assignment_id [String] The ID of the employee skill assignment + # @param [Hash] opts the optional parameters + # @option opts [PatchHrisEmployeeSkillAssignmentsEmployeeSkillAssignmentIdRequestBody] :patch_hris_employee_skill_assignments_employee_skill_assignment_id_request_body PATCH /hris/employee-skill-assignments/:employee_skill_assignment_id Request body + # @return [PatchHrisEmployeeSkillAssignmentsEmployeeSkillAssignmentIdPositiveResponse] + def patch_hris_employee_skill_assignments_employee_skill_assignment_id(x_integration_id, employee_skill_assignment_id, opts = {}) + data, _status_code, _headers = patch_hris_employee_skill_assignments_employee_skill_assignment_id_with_http_info(x_integration_id, employee_skill_assignment_id, opts) + data + end + + # Update employee skill assignment + # Update employee skill assignment <Warning>**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.</Warning> Update the skill level for an employee skill assignment. + # @param x_integration_id [String] ID of the integration you want to interact with. + # @param employee_skill_assignment_id [String] The ID of the employee skill assignment + # @param [Hash] opts the optional parameters + # @option opts [PatchHrisEmployeeSkillAssignmentsEmployeeSkillAssignmentIdRequestBody] :patch_hris_employee_skill_assignments_employee_skill_assignment_id_request_body PATCH /hris/employee-skill-assignments/:employee_skill_assignment_id Request body + # @return [Array<(PatchHrisEmployeeSkillAssignmentsEmployeeSkillAssignmentIdPositiveResponse, Integer, Hash)>] PatchHrisEmployeeSkillAssignmentsEmployeeSkillAssignmentIdPositiveResponse data, response status code and response headers + def patch_hris_employee_skill_assignments_employee_skill_assignment_id_with_http_info(x_integration_id, employee_skill_assignment_id, opts = {}) + if @api_client.config.debugging + @api_client.config.logger.debug 'Calling API: UnifiedHRISAPIApi.patch_hris_employee_skill_assignments_employee_skill_assignment_id ...' + end + # verify the required parameter 'x_integration_id' is set + if @api_client.config.client_side_validation && x_integration_id.nil? + fail ArgumentError, "Missing the required parameter 'x_integration_id' when calling UnifiedHRISAPIApi.patch_hris_employee_skill_assignments_employee_skill_assignment_id" + end + # verify the required parameter 'employee_skill_assignment_id' is set + if @api_client.config.client_side_validation && employee_skill_assignment_id.nil? + fail ArgumentError, "Missing the required parameter 'employee_skill_assignment_id' when calling UnifiedHRISAPIApi.patch_hris_employee_skill_assignments_employee_skill_assignment_id" + end + # resource path + local_var_path = '/hris/employee-skill-assignments/{employee_skill_assignment_id}'.sub('{' + 'employee_skill_assignment_id' + '}', CGI.escape(employee_skill_assignment_id.to_s)) + + # query parameters + query_params = opts[:query_params] || {} + + # header parameters + header_params = opts[:header_params] || {} + # HTTP header 'Accept' (if needed) + header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept'] + # HTTP header 'Content-Type' + content_type = @api_client.select_header_content_type(['application/json']) + if !content_type.nil? + header_params['Content-Type'] = content_type + end + header_params[:'X-Integration-Id'] = x_integration_id + + # form parameters + form_params = opts[:form_params] || {} + + # http body (model) + post_body = opts[:debug_body] || @api_client.object_to_http_body(opts[:'patch_hris_employee_skill_assignments_employee_skill_assignment_id_request_body']) + + # return_type + return_type = opts[:debug_return_type] || 'PatchHrisEmployeeSkillAssignmentsEmployeeSkillAssignmentIdPositiveResponse' + + # auth_names + auth_names = opts[:debug_auth_names] || ['ApiKey'] + + new_options = opts.merge( + :operation => :"UnifiedHRISAPIApi.patch_hris_employee_skill_assignments_employee_skill_assignment_id", + :header_params => header_params, + :query_params => query_params, + :form_params => form_params, + :body => post_body, + :auth_names => auth_names, + :return_type => return_type + ) + + data, status_code, headers = @api_client.call_api(:PATCH, local_var_path, new_options) + if @api_client.config.debugging + @api_client.config.logger.debug "API called: UnifiedHRISAPIApi#patch_hris_employee_skill_assignments_employee_skill_assignment_id\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}" + end + return data, status_code, headers + end + + # Update employee + # Update an employee. This endpoint requires the permission **Create and manage employees** to be enabled in [your scope config](/scopes). ### Example Request Body ```json { \"employee_id\": \"BkgfzSr5muN9cUTMD4wDQFn4\", \"first_name\": \"John\", \"last_name\": \"Doe\", \"work_email\": \"john.doe@acme.com\", \"ssn\": \"555-32-6395\", \"tax_id\": \"12 345 678 901\", \"gender\": \"MALE\", \"marital_status\": \"MARRIED\", \"date_of_birth\": \"1986-01-01\", \"start_date\": \"2020-04-07\", \"termination_date\": \"2022-05-20\", \"job_title\": \"Integrations Team Lead\", \"nationality\": \"DE\", \"home_address\": { \"city\": \"Berlin\", \"country\": \"DE\", \"state\": \"Berlin\", \"street_1\": \"Sonnenallee 63\", \"zip_code\": \"12045\" } } ``` + # @param x_integration_id [String] ID of the integration you want to interact with. + # @param employee_id [String] 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`) + # @param [Hash] opts the optional parameters + # @option opts [PatchHrisEmployeesEmployeeIdRequestBody] :patch_hris_employees_employee_id_request_body PATCH /hris/employees/:employee_id Request body + # @return [PatchHrisEmployeesEmployeeIdPositiveResponse] + def patch_hris_employees_employee_id(x_integration_id, employee_id, opts = {}) + data, _status_code, _headers = patch_hris_employees_employee_id_with_http_info(x_integration_id, employee_id, opts) + data + end + + # Update employee + # Update an employee. <Note> This endpoint requires the permission **Create and manage employees** to be enabled in [your scope config](/scopes). </Note> ### Example Request Body ```json { \"employee_id\": \"BkgfzSr5muN9cUTMD4wDQFn4\", \"first_name\": \"John\", \"last_name\": \"Doe\", \"work_email\": \"john.doe@acme.com\", \"ssn\": \"555-32-6395\", \"tax_id\": \"12 345 678 901\", \"gender\": \"MALE\", \"marital_status\": \"MARRIED\", \"date_of_birth\": \"1986-01-01\", \"start_date\": \"2020-04-07\", \"termination_date\": \"2022-05-20\", \"job_title\": \"Integrations Team Lead\", \"nationality\": \"DE\", \"home_address\": { \"city\": \"Berlin\", \"country\": \"DE\", \"state\": \"Berlin\", \"street_1\": \"Sonnenallee 63\", \"zip_code\": \"12045\" } } ``` + # @param x_integration_id [String] ID of the integration you want to interact with. + # @param employee_id [String] 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`) + # @param [Hash] opts the optional parameters + # @option opts [PatchHrisEmployeesEmployeeIdRequestBody] :patch_hris_employees_employee_id_request_body PATCH /hris/employees/:employee_id Request body + # @return [Array<(PatchHrisEmployeesEmployeeIdPositiveResponse, Integer, Hash)>] PatchHrisEmployeesEmployeeIdPositiveResponse data, response status code and response headers + def patch_hris_employees_employee_id_with_http_info(x_integration_id, employee_id, opts = {}) + if @api_client.config.debugging + @api_client.config.logger.debug 'Calling API: UnifiedHRISAPIApi.patch_hris_employees_employee_id ...' + end + # verify the required parameter 'x_integration_id' is set + if @api_client.config.client_side_validation && x_integration_id.nil? + fail ArgumentError, "Missing the required parameter 'x_integration_id' when calling UnifiedHRISAPIApi.patch_hris_employees_employee_id" + end + # verify the required parameter 'employee_id' is set + if @api_client.config.client_side_validation && employee_id.nil? + fail ArgumentError, "Missing the required parameter 'employee_id' when calling UnifiedHRISAPIApi.patch_hris_employees_employee_id" + end + # resource path + local_var_path = '/hris/employees/{employee_id}'.sub('{' + 'employee_id' + '}', CGI.escape(employee_id.to_s)) + + # query parameters + query_params = opts[:query_params] || {} + + # header parameters + header_params = opts[:header_params] || {} + # HTTP header 'Accept' (if needed) + header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept'] + # HTTP header 'Content-Type' + content_type = @api_client.select_header_content_type(['application/json']) + if !content_type.nil? + header_params['Content-Type'] = content_type + end + header_params[:'X-Integration-Id'] = x_integration_id + + # form parameters + form_params = opts[:form_params] || {} + + # http body (model) + post_body = opts[:debug_body] || @api_client.object_to_http_body(opts[:'patch_hris_employees_employee_id_request_body']) + + # return_type + return_type = opts[:debug_return_type] || 'PatchHrisEmployeesEmployeeIdPositiveResponse' + + # auth_names + auth_names = opts[:debug_auth_names] || ['ApiKey'] + + new_options = opts.merge( + :operation => :"UnifiedHRISAPIApi.patch_hris_employees_employee_id", + :header_params => header_params, + :query_params => query_params, + :form_params => form_params, + :body => post_body, + :auth_names => auth_names, + :return_type => return_type + ) + + data, status_code, headers = @api_client.call_api(:PATCH, local_var_path, new_options) + if @api_client.config.debugging + @api_client.config.logger.debug "API called: UnifiedHRISAPIApi#patch_hris_employees_employee_id\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}" + end + return data, status_code, headers + end + + # Update skill + # Update skill **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 skill in the HRIS system. + # @param x_integration_id [String] ID of the integration you want to interact with. + # @param skill_id [String] The ID of the skill + # @param [Hash] opts the optional parameters + # @option opts [PatchHrisSkillsSkillIdRequestBody] :patch_hris_skills_skill_id_request_body PATCH /hris/skills/:skill_id Request body + # @return [PatchHrisSkillsSkillIdPositiveResponse] + def patch_hris_skills_skill_id(x_integration_id, skill_id, opts = {}) + data, _status_code, _headers = patch_hris_skills_skill_id_with_http_info(x_integration_id, skill_id, opts) + data + end + + # Update skill + # Update skill <Warning>**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.</Warning> Update an existing skill in the HRIS system. + # @param x_integration_id [String] ID of the integration you want to interact with. + # @param skill_id [String] The ID of the skill + # @param [Hash] opts the optional parameters + # @option opts [PatchHrisSkillsSkillIdRequestBody] :patch_hris_skills_skill_id_request_body PATCH /hris/skills/:skill_id Request body + # @return [Array<(PatchHrisSkillsSkillIdPositiveResponse, Integer, Hash)>] PatchHrisSkillsSkillIdPositiveResponse data, response status code and response headers + def patch_hris_skills_skill_id_with_http_info(x_integration_id, skill_id, opts = {}) + if @api_client.config.debugging + @api_client.config.logger.debug 'Calling API: UnifiedHRISAPIApi.patch_hris_skills_skill_id ...' + end + # verify the required parameter 'x_integration_id' is set + if @api_client.config.client_side_validation && x_integration_id.nil? + fail ArgumentError, "Missing the required parameter 'x_integration_id' when calling UnifiedHRISAPIApi.patch_hris_skills_skill_id" + end + # verify the required parameter 'skill_id' is set + if @api_client.config.client_side_validation && skill_id.nil? + fail ArgumentError, "Missing the required parameter 'skill_id' when calling UnifiedHRISAPIApi.patch_hris_skills_skill_id" + end + # resource path + local_var_path = '/hris/skills/{skill_id}'.sub('{' + 'skill_id' + '}', CGI.escape(skill_id.to_s)) + + # query parameters + query_params = opts[:query_params] || {} + + # header parameters + header_params = opts[:header_params] || {} + # HTTP header 'Accept' (if needed) + header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept'] + # HTTP header 'Content-Type' + content_type = @api_client.select_header_content_type(['application/json']) + if !content_type.nil? + header_params['Content-Type'] = content_type + end + header_params[:'X-Integration-Id'] = x_integration_id + + # form parameters + form_params = opts[:form_params] || {} + + # http body (model) + post_body = opts[:debug_body] || @api_client.object_to_http_body(opts[:'patch_hris_skills_skill_id_request_body']) + + # return_type + return_type = opts[:debug_return_type] || 'PatchHrisSkillsSkillIdPositiveResponse' + + # auth_names + auth_names = opts[:debug_auth_names] || ['ApiKey'] + + new_options = opts.merge( + :operation => :"UnifiedHRISAPIApi.patch_hris_skills_skill_id", + :header_params => header_params, + :query_params => query_params, + :form_params => form_params, + :body => post_body, + :auth_names => auth_names, + :return_type => return_type + ) + + data, status_code, headers = @api_client.call_api(:PATCH, local_var_path, new_options) + if @api_client.config.debugging + @api_client.config.logger.debug "API called: UnifiedHRISAPIApi#patch_hris_skills_skill_id\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}" + end + return data, status_code, headers + end + + # Create absence + # Create a new absence. Check [this page](/hris/features/creating-absences) for a detailed guide. This endpoint requires the permission **Manage absences** to be enabled in [your scope config](/scopes). ### Example Request Body ```json { \"employee_id\": \"wXJMxwDvPAjrJ4CyqdV9\", \"absence_type_id\": \"3YKtQ7qedsrcCady1jSyAkY1\", \"start_date\": \"2019-09-17\", \"end_date\": \"2019-09-21\", \"start_time\": \"08:30:00\", \"end_time\": \"16:00:00\", \"start_half_day\": false, \"end_half_day\": false, \"employee_note\": \"Visiting the aliens\" } ``` + # @param x_integration_id [String] ID of the integration you want to interact with. + # @param [Hash] opts the optional parameters + # @option opts [PostHrisAbsencesRequestBody] :post_hris_absences_request_body POST /hris/absences Request body + # @return [PostHrisAbsencesPositiveResponse] + def post_hris_absences(x_integration_id, opts = {}) + data, _status_code, _headers = post_hris_absences_with_http_info(x_integration_id, opts) + data + end + + # Create absence + # Create a new absence. Check [this page](/hris/features/creating-absences) for a detailed guide. <Note> This endpoint requires the permission **Manage absences** to be enabled in [your scope config](/scopes). </Note> ### Example Request Body ```json { \"employee_id\": \"wXJMxwDvPAjrJ4CyqdV9\", \"absence_type_id\": \"3YKtQ7qedsrcCady1jSyAkY1\", \"start_date\": \"2019-09-17\", \"end_date\": \"2019-09-21\", \"start_time\": \"08:30:00\", \"end_time\": \"16:00:00\", \"start_half_day\": false, \"end_half_day\": false, \"employee_note\": \"Visiting the aliens\" } ``` + # @param x_integration_id [String] ID of the integration you want to interact with. + # @param [Hash] opts the optional parameters + # @option opts [PostHrisAbsencesRequestBody] :post_hris_absences_request_body POST /hris/absences Request body + # @return [Array<(PostHrisAbsencesPositiveResponse, Integer, Hash)>] PostHrisAbsencesPositiveResponse data, response status code and response headers + def post_hris_absences_with_http_info(x_integration_id, opts = {}) + if @api_client.config.debugging + @api_client.config.logger.debug 'Calling API: UnifiedHRISAPIApi.post_hris_absences ...' + end + # verify the required parameter 'x_integration_id' is set + if @api_client.config.client_side_validation && x_integration_id.nil? + fail ArgumentError, "Missing the required parameter 'x_integration_id' when calling UnifiedHRISAPIApi.post_hris_absences" + end + # resource path + local_var_path = '/hris/absences' + + # query parameters + query_params = opts[:query_params] || {} + + # header parameters + header_params = opts[:header_params] || {} + # HTTP header 'Accept' (if needed) + header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept'] + # HTTP header 'Content-Type' + content_type = @api_client.select_header_content_type(['application/json']) + if !content_type.nil? + header_params['Content-Type'] = content_type + end + header_params[:'X-Integration-Id'] = x_integration_id + + # form parameters + form_params = opts[:form_params] || {} + + # http body (model) + post_body = opts[:debug_body] || @api_client.object_to_http_body(opts[:'post_hris_absences_request_body']) + + # return_type + return_type = opts[:debug_return_type] || 'PostHrisAbsencesPositiveResponse' + + # auth_names + auth_names = opts[:debug_auth_names] || ['ApiKey'] + + new_options = opts.merge( + :operation => :"UnifiedHRISAPIApi.post_hris_absences", + :header_params => header_params, + :query_params => query_params, + :form_params => form_params, + :body => post_body, + :auth_names => auth_names, + :return_type => return_type + ) + + data, status_code, headers = @api_client.call_api(:POST, local_var_path, new_options) + if @api_client.config.debugging + @api_client.config.logger.debug "API called: UnifiedHRISAPIApi#post_hris_absences\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}" + end + return data, status_code, headers + end + + # Create employee skill assignment + # Create employee skill assignment **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. Assign a skill to an employee with a specified skill level. + # @param x_integration_id [String] ID of the integration you want to interact with. + # @param [Hash] opts the optional parameters + # @option opts [PostHrisEmployeeSkillAssignmentsRequestBody] :post_hris_employee_skill_assignments_request_body POST /hris/employee-skill-assignments Request body + # @return [PostHrisEmployeeSkillAssignmentsPositiveResponse] + def post_hris_employee_skill_assignments(x_integration_id, opts = {}) + data, _status_code, _headers = post_hris_employee_skill_assignments_with_http_info(x_integration_id, opts) + data + end + + # Create employee skill assignment + # Create employee skill assignment <Warning>**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.</Warning> Assign a skill to an employee with a specified skill level. + # @param x_integration_id [String] ID of the integration you want to interact with. + # @param [Hash] opts the optional parameters + # @option opts [PostHrisEmployeeSkillAssignmentsRequestBody] :post_hris_employee_skill_assignments_request_body POST /hris/employee-skill-assignments Request body + # @return [Array<(PostHrisEmployeeSkillAssignmentsPositiveResponse, Integer, Hash)>] PostHrisEmployeeSkillAssignmentsPositiveResponse data, response status code and response headers + def post_hris_employee_skill_assignments_with_http_info(x_integration_id, opts = {}) + if @api_client.config.debugging + @api_client.config.logger.debug 'Calling API: UnifiedHRISAPIApi.post_hris_employee_skill_assignments ...' + end + # verify the required parameter 'x_integration_id' is set + if @api_client.config.client_side_validation && x_integration_id.nil? + fail ArgumentError, "Missing the required parameter 'x_integration_id' when calling UnifiedHRISAPIApi.post_hris_employee_skill_assignments" + end + # resource path + local_var_path = '/hris/employee-skill-assignments' + + # query parameters + query_params = opts[:query_params] || {} + + # header parameters + header_params = opts[:header_params] || {} + # HTTP header 'Accept' (if needed) + header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept'] + # HTTP header 'Content-Type' + content_type = @api_client.select_header_content_type(['application/json']) + if !content_type.nil? + header_params['Content-Type'] = content_type + end + header_params[:'X-Integration-Id'] = x_integration_id + + # form parameters + form_params = opts[:form_params] || {} + + # http body (model) + post_body = opts[:debug_body] || @api_client.object_to_http_body(opts[:'post_hris_employee_skill_assignments_request_body']) + + # return_type + return_type = opts[:debug_return_type] || 'PostHrisEmployeeSkillAssignmentsPositiveResponse' + + # auth_names + auth_names = opts[:debug_auth_names] || ['ApiKey'] + + new_options = opts.merge( + :operation => :"UnifiedHRISAPIApi.post_hris_employee_skill_assignments", + :header_params => header_params, + :query_params => query_params, + :form_params => form_params, + :body => post_body, + :auth_names => auth_names, + :return_type => return_type + ) + + data, status_code, headers = @api_client.call_api(:POST, local_var_path, new_options) + if @api_client.config.debugging + @api_client.config.logger.debug "API called: UnifiedHRISAPIApi#post_hris_employee_skill_assignments\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}" + end + return data, status_code, headers + end + + # [DEPRECATED] Create employee + # Create a new employee. We are deprecating this endpoint in favor of the new [create employee form](/hris/features/create-employee) endpoint. This endpoint requires the permission **Create and manage employees** to be enabled in [your scope config](/scopes). ### Example Request Body ```json { \"first_name\": \"John\", \"last_name\": \"Doe\", \"work_email\": \"john.doe@acme.com\", \"gender\": \"MALE\", \"date_of_birth\": \"1986-01-01\", \"start_date\": \"2020-04-07\", \"job_title\": \"Integrations Team Lead\", \"home_address\": { \"city\": \"Berlin\", \"country\": \"DE\", \"state\": \"Berlin\", \"street_1\": \"Sonnenallee 63\", \"zip_code\": \"12045\" } } ``` + # @param x_integration_id [String] ID of the integration you want to interact with. + # @param [Hash] opts the optional parameters + # @option opts [PostHrisEmployeesRequestBody] :post_hris_employees_request_body POST /hris/employees Request body + # @return [PostHrisEmployeesPositiveResponse] + def post_hris_employees(x_integration_id, opts = {}) + data, _status_code, _headers = post_hris_employees_with_http_info(x_integration_id, opts) + data + end + + # [DEPRECATED] Create employee + # Create a new employee. <Warning> We are deprecating this endpoint in favor of the new [create employee form](/hris/features/create-employee) endpoint. </Warning> <Note> This endpoint requires the permission **Create and manage employees** to be enabled in [your scope config](/scopes). </Note> ### Example Request Body ```json { \"first_name\": \"John\", \"last_name\": \"Doe\", \"work_email\": \"john.doe@acme.com\", \"gender\": \"MALE\", \"date_of_birth\": \"1986-01-01\", \"start_date\": \"2020-04-07\", \"job_title\": \"Integrations Team Lead\", \"home_address\": { \"city\": \"Berlin\", \"country\": \"DE\", \"state\": \"Berlin\", \"street_1\": \"Sonnenallee 63\", \"zip_code\": \"12045\" } } ``` + # @param x_integration_id [String] ID of the integration you want to interact with. + # @param [Hash] opts the optional parameters + # @option opts [PostHrisEmployeesRequestBody] :post_hris_employees_request_body POST /hris/employees Request body + # @return [Array<(PostHrisEmployeesPositiveResponse, Integer, Hash)>] PostHrisEmployeesPositiveResponse data, response status code and response headers + def post_hris_employees_with_http_info(x_integration_id, opts = {}) + if @api_client.config.debugging + @api_client.config.logger.debug 'Calling API: UnifiedHRISAPIApi.post_hris_employees ...' + end + # verify the required parameter 'x_integration_id' is set + if @api_client.config.client_side_validation && x_integration_id.nil? + fail ArgumentError, "Missing the required parameter 'x_integration_id' when calling UnifiedHRISAPIApi.post_hris_employees" + end + # resource path + local_var_path = '/hris/employees' + + # query parameters + query_params = opts[:query_params] || {} + + # header parameters + header_params = opts[:header_params] || {} + # HTTP header 'Accept' (if needed) + header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept'] + # HTTP header 'Content-Type' + content_type = @api_client.select_header_content_type(['application/json']) + if !content_type.nil? + header_params['Content-Type'] = content_type + end + header_params[:'X-Integration-Id'] = x_integration_id + + # form parameters + form_params = opts[:form_params] || {} + + # http body (model) + post_body = opts[:debug_body] || @api_client.object_to_http_body(opts[:'post_hris_employees_request_body']) + + # return_type + return_type = opts[:debug_return_type] || 'PostHrisEmployeesPositiveResponse' + + # auth_names + auth_names = opts[:debug_auth_names] || ['ApiKey'] + + new_options = opts.merge( + :operation => :"UnifiedHRISAPIApi.post_hris_employees", + :header_params => header_params, + :query_params => query_params, + :form_params => form_params, + :body => post_body, + :auth_names => auth_names, + :return_type => return_type + ) + + data, status_code, headers = @api_client.call_api(:POST, local_var_path, new_options) + if @api_client.config.debugging + @api_client.config.logger.debug "API called: UnifiedHRISAPIApi#post_hris_employees\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}" + end + return data, status_code, headers + end + + # Add document to employee + # Uploads an document file for the specified employee. This endpoint requires the permission **Manage documents** to be enabled in [your scope config](/scopes). ### Example Request Body ```json { \"category_id\": \"3Cjwu7nA7pH5cX5X1NAPmb7M\", \"document\": { \"name\": \"Frank Doe Employment Contract.txt\", \"data\": \"SGkgdGhlcmUsIEtvbWJvIGlzIGN1cnJlbnRseSBoaXJpbmcgZW5naW5lZXJzIHRoYXQgbG92ZSB0byB3b3JrIG9uIGRldmVsb3BlciBwcm9kdWN0cy4=\", \"content_type\": \"text/plain\" } } ``` + # @param x_integration_id [String] ID of the integration you want to interact with. + # @param employee_id [String] POST /hris/employees/:employee_id/documents Parameter + # @param [Hash] opts the optional parameters + # @option opts [PostHrisEmployeesEmployeeIdDocumentsRequestBody] :post_hris_employees_employee_id_documents_request_body POST /hris/employees/:employee_id/documents Request body + # @return [PostHrisEmployeesEmployeeIdDocumentsPositiveResponse] + def post_hris_employees_employee_id_documents(x_integration_id, employee_id, opts = {}) + data, _status_code, _headers = post_hris_employees_employee_id_documents_with_http_info(x_integration_id, employee_id, opts) + data + end + + # Add document to employee + # Uploads an document file for the specified employee. <Note> This endpoint requires the permission **Manage documents** to be enabled in [your scope config](/scopes). </Note> ### Example Request Body ```json { \"category_id\": \"3Cjwu7nA7pH5cX5X1NAPmb7M\", \"document\": { \"name\": \"Frank Doe Employment Contract.txt\", \"data\": \"SGkgdGhlcmUsIEtvbWJvIGlzIGN1cnJlbnRseSBoaXJpbmcgZW5naW5lZXJzIHRoYXQgbG92ZSB0byB3b3JrIG9uIGRldmVsb3BlciBwcm9kdWN0cy4=\", \"content_type\": \"text/plain\" } } ``` + # @param x_integration_id [String] ID of the integration you want to interact with. + # @param employee_id [String] POST /hris/employees/:employee_id/documents Parameter + # @param [Hash] opts the optional parameters + # @option opts [PostHrisEmployeesEmployeeIdDocumentsRequestBody] :post_hris_employees_employee_id_documents_request_body POST /hris/employees/:employee_id/documents Request body + # @return [Array<(PostHrisEmployeesEmployeeIdDocumentsPositiveResponse, Integer, Hash)>] PostHrisEmployeesEmployeeIdDocumentsPositiveResponse data, response status code and response headers + def post_hris_employees_employee_id_documents_with_http_info(x_integration_id, employee_id, opts = {}) + if @api_client.config.debugging + @api_client.config.logger.debug 'Calling API: UnifiedHRISAPIApi.post_hris_employees_employee_id_documents ...' + end + # verify the required parameter 'x_integration_id' is set + if @api_client.config.client_side_validation && x_integration_id.nil? + fail ArgumentError, "Missing the required parameter 'x_integration_id' when calling UnifiedHRISAPIApi.post_hris_employees_employee_id_documents" + end + # verify the required parameter 'employee_id' is set + if @api_client.config.client_side_validation && employee_id.nil? + fail ArgumentError, "Missing the required parameter 'employee_id' when calling UnifiedHRISAPIApi.post_hris_employees_employee_id_documents" + end + # resource path + local_var_path = '/hris/employees/{employee_id}/documents'.sub('{' + 'employee_id' + '}', CGI.escape(employee_id.to_s)) + + # query parameters + query_params = opts[:query_params] || {} + + # header parameters + header_params = opts[:header_params] || {} + # HTTP header 'Accept' (if needed) + header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept'] + # HTTP header 'Content-Type' + content_type = @api_client.select_header_content_type(['application/json']) + if !content_type.nil? + header_params['Content-Type'] = content_type + end + header_params[:'X-Integration-Id'] = x_integration_id + + # form parameters + form_params = opts[:form_params] || {} + + # http body (model) + post_body = opts[:debug_body] || @api_client.object_to_http_body(opts[:'post_hris_employees_employee_id_documents_request_body']) + + # return_type + return_type = opts[:debug_return_type] || 'PostHrisEmployeesEmployeeIdDocumentsPositiveResponse' + + # auth_names + auth_names = opts[:debug_auth_names] || ['ApiKey'] + + new_options = opts.merge( + :operation => :"UnifiedHRISAPIApi.post_hris_employees_employee_id_documents", + :header_params => header_params, + :query_params => query_params, + :form_params => form_params, + :body => post_body, + :auth_names => auth_names, + :return_type => return_type + ) + + data, status_code, headers = @api_client.call_api(:POST, local_var_path, new_options) + if @api_client.config.debugging + @api_client.config.logger.debug "API called: UnifiedHRISAPIApi#post_hris_employees_employee_id_documents\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}" + end + return data, status_code, headers + end + + # Create employee with form + # Create an employee, based on the form schema. This endpoint requires the permission **Create and manage employees** to be enabled in [your scope config](/scopes). ### Example Request Body ```json { \"properties\": { \"firstName\": \"John\", \"startDate\": \"2025-01-01\", \"workLocation\": { \"site\": \"8e422bf8cav\", \"keyNumbers\": [ 142, 525, 63 ] } } } ``` + # @param x_integration_id [String] ID of the integration you want to interact with. + # @param [Hash] opts the optional parameters + # @option opts [PostHrisEmployeesFormRequestBody] :post_hris_employees_form_request_body POST /hris/employees/form Request body + # @return [PostHrisEmployeesFormPositiveResponse] + def post_hris_employees_form(x_integration_id, opts = {}) + data, _status_code, _headers = post_hris_employees_form_with_http_info(x_integration_id, opts) + data + end + + # Create employee with form + # Create an employee, based on the form schema. <Note> This endpoint requires the permission **Create and manage employees** to be enabled in [your scope config](/scopes). </Note> ### Example Request Body ```json { \"properties\": { \"firstName\": \"John\", \"startDate\": \"2025-01-01\", \"workLocation\": { \"site\": \"8e422bf8cav\", \"keyNumbers\": [ 142, 525, 63 ] } } } ``` + # @param x_integration_id [String] ID of the integration you want to interact with. + # @param [Hash] opts the optional parameters + # @option opts [PostHrisEmployeesFormRequestBody] :post_hris_employees_form_request_body POST /hris/employees/form Request body + # @return [Array<(PostHrisEmployeesFormPositiveResponse, Integer, Hash)>] PostHrisEmployeesFormPositiveResponse data, response status code and response headers + def post_hris_employees_form_with_http_info(x_integration_id, opts = {}) + if @api_client.config.debugging + @api_client.config.logger.debug 'Calling API: UnifiedHRISAPIApi.post_hris_employees_form ...' + end + # verify the required parameter 'x_integration_id' is set + if @api_client.config.client_side_validation && x_integration_id.nil? + fail ArgumentError, "Missing the required parameter 'x_integration_id' when calling UnifiedHRISAPIApi.post_hris_employees_form" + end + # resource path + local_var_path = '/hris/employees/form' + + # query parameters + query_params = opts[:query_params] || {} + + # header parameters + header_params = opts[:header_params] || {} + # HTTP header 'Accept' (if needed) + header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept'] + # HTTP header 'Content-Type' + content_type = @api_client.select_header_content_type(['application/json']) + if !content_type.nil? + header_params['Content-Type'] = content_type + end + header_params[:'X-Integration-Id'] = x_integration_id + + # form parameters + form_params = opts[:form_params] || {} + + # http body (model) + post_body = opts[:debug_body] || @api_client.object_to_http_body(opts[:'post_hris_employees_form_request_body']) + + # return_type + return_type = opts[:debug_return_type] || 'PostHrisEmployeesFormPositiveResponse' + + # auth_names + auth_names = opts[:debug_auth_names] || ['ApiKey'] + + new_options = opts.merge( + :operation => :"UnifiedHRISAPIApi.post_hris_employees_form", + :header_params => header_params, + :query_params => query_params, + :form_params => form_params, + :body => post_body, + :auth_names => auth_names, + :return_type => return_type + ) + + data, status_code, headers = @api_client.call_api(:POST, local_var_path, new_options) + if @api_client.config.debugging + @api_client.config.logger.debug "API called: UnifiedHRISAPIApi#post_hris_employees_form\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}" + end + return data, status_code, headers + end + + # Get provisioning diff + # Get the list of users to provision, deprovision, and optionally update based on the users you've already provisioned in your system. + # @param x_integration_id [String] ID of the integration you want to interact with. + # @param group_id [String] ID of the provisioning group (currently only `default` is allowed). + # @param [Hash] opts the optional parameters + # @option opts [PostHrisProvisioningGroupsGroupIdDiffRequestBody] :post_hris_provisioning_groups_group_id_diff_request_body POST /hris/provisioning-groups/:group_id/diff Request body + # @return [PostHrisProvisioningGroupsGroupIdDiffPositiveResponse] + def post_hris_provisioning_groups_group_id_diff(x_integration_id, group_id, opts = {}) + data, _status_code, _headers = post_hris_provisioning_groups_group_id_diff_with_http_info(x_integration_id, group_id, opts) + data + end + + # Get provisioning diff + # Get the list of users to provision, deprovision, and optionally update based on the users you've already provisioned in your system. + # @param x_integration_id [String] ID of the integration you want to interact with. + # @param group_id [String] ID of the provisioning group (currently only `default` is allowed). + # @param [Hash] opts the optional parameters + # @option opts [PostHrisProvisioningGroupsGroupIdDiffRequestBody] :post_hris_provisioning_groups_group_id_diff_request_body POST /hris/provisioning-groups/:group_id/diff Request body + # @return [Array<(PostHrisProvisioningGroupsGroupIdDiffPositiveResponse, Integer, Hash)>] PostHrisProvisioningGroupsGroupIdDiffPositiveResponse data, response status code and response headers + def post_hris_provisioning_groups_group_id_diff_with_http_info(x_integration_id, group_id, opts = {}) + if @api_client.config.debugging + @api_client.config.logger.debug 'Calling API: UnifiedHRISAPIApi.post_hris_provisioning_groups_group_id_diff ...' + end + # verify the required parameter 'x_integration_id' is set + if @api_client.config.client_side_validation && x_integration_id.nil? + fail ArgumentError, "Missing the required parameter 'x_integration_id' when calling UnifiedHRISAPIApi.post_hris_provisioning_groups_group_id_diff" + end + # verify the required parameter 'group_id' is set + if @api_client.config.client_side_validation && group_id.nil? + fail ArgumentError, "Missing the required parameter 'group_id' when calling UnifiedHRISAPIApi.post_hris_provisioning_groups_group_id_diff" + end + # resource path + local_var_path = '/hris/provisioning-groups/{group_id}/diff'.sub('{' + 'group_id' + '}', CGI.escape(group_id.to_s)) + + # query parameters + query_params = opts[:query_params] || {} + + # header parameters + header_params = opts[:header_params] || {} + # HTTP header 'Accept' (if needed) + header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept'] + # HTTP header 'Content-Type' + content_type = @api_client.select_header_content_type(['application/json']) + if !content_type.nil? + header_params['Content-Type'] = content_type + end + header_params[:'X-Integration-Id'] = x_integration_id + + # form parameters + form_params = opts[:form_params] || {} + + # http body (model) + post_body = opts[:debug_body] || @api_client.object_to_http_body(opts[:'post_hris_provisioning_groups_group_id_diff_request_body']) + + # return_type + return_type = opts[:debug_return_type] || 'PostHrisProvisioningGroupsGroupIdDiffPositiveResponse' + + # auth_names + auth_names = opts[:debug_auth_names] || ['ApiKey'] + + new_options = opts.merge( + :operation => :"UnifiedHRISAPIApi.post_hris_provisioning_groups_group_id_diff", + :header_params => header_params, + :query_params => query_params, + :form_params => form_params, + :body => post_body, + :auth_names => auth_names, + :return_type => return_type + ) + + data, status_code, headers = @api_client.call_api(:POST, local_var_path, new_options) + if @api_client.config.debugging + @api_client.config.logger.debug "API called: UnifiedHRISAPIApi#post_hris_provisioning_groups_group_id_diff\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}" + end + return data, status_code, headers + end + + # Create provisioning setup link + # Create a new link that can be passed to the Kombo Connect SDK to open the provisioning setup UI. + # @param x_integration_id [String] ID of the integration you want to interact with. + # @param group_id [String] ID of the provisioning group (currently only `default` is allowed). + # @param [Hash] opts the optional parameters + # @option opts [PostHrisProvisioningGroupsGroupIdSetupLinksRequestBody] :post_hris_provisioning_groups_group_id_setup_links_request_body POST /hris/provisioning-groups/:group_id/setup-links Request body + # @return [PostHrisProvisioningGroupsGroupIdSetupLinksPositiveResponse] + def post_hris_provisioning_groups_group_id_setup_links(x_integration_id, group_id, opts = {}) + data, _status_code, _headers = post_hris_provisioning_groups_group_id_setup_links_with_http_info(x_integration_id, group_id, opts) + data + end + + # Create provisioning setup link + # Create a new link that can be passed to the Kombo Connect SDK to open the provisioning setup UI. + # @param x_integration_id [String] ID of the integration you want to interact with. + # @param group_id [String] ID of the provisioning group (currently only `default` is allowed). + # @param [Hash] opts the optional parameters + # @option opts [PostHrisProvisioningGroupsGroupIdSetupLinksRequestBody] :post_hris_provisioning_groups_group_id_setup_links_request_body POST /hris/provisioning-groups/:group_id/setup-links Request body + # @return [Array<(PostHrisProvisioningGroupsGroupIdSetupLinksPositiveResponse, Integer, Hash)>] PostHrisProvisioningGroupsGroupIdSetupLinksPositiveResponse data, response status code and response headers + def post_hris_provisioning_groups_group_id_setup_links_with_http_info(x_integration_id, group_id, opts = {}) + if @api_client.config.debugging + @api_client.config.logger.debug 'Calling API: UnifiedHRISAPIApi.post_hris_provisioning_groups_group_id_setup_links ...' + end + # verify the required parameter 'x_integration_id' is set + if @api_client.config.client_side_validation && x_integration_id.nil? + fail ArgumentError, "Missing the required parameter 'x_integration_id' when calling UnifiedHRISAPIApi.post_hris_provisioning_groups_group_id_setup_links" + end + # verify the required parameter 'group_id' is set + if @api_client.config.client_side_validation && group_id.nil? + fail ArgumentError, "Missing the required parameter 'group_id' when calling UnifiedHRISAPIApi.post_hris_provisioning_groups_group_id_setup_links" + end + # resource path + local_var_path = '/hris/provisioning-groups/{group_id}/setup-links'.sub('{' + 'group_id' + '}', CGI.escape(group_id.to_s)) + + # query parameters + query_params = opts[:query_params] || {} + + # header parameters + header_params = opts[:header_params] || {} + # HTTP header 'Accept' (if needed) + header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept'] + # HTTP header 'Content-Type' + content_type = @api_client.select_header_content_type(['application/json']) + if !content_type.nil? + header_params['Content-Type'] = content_type + end + header_params[:'X-Integration-Id'] = x_integration_id + + # form parameters + form_params = opts[:form_params] || {} + + # http body (model) + post_body = opts[:debug_body] || @api_client.object_to_http_body(opts[:'post_hris_provisioning_groups_group_id_setup_links_request_body']) + + # return_type + return_type = opts[:debug_return_type] || 'PostHrisProvisioningGroupsGroupIdSetupLinksPositiveResponse' + + # auth_names + auth_names = opts[:debug_auth_names] || ['ApiKey'] + + new_options = opts.merge( + :operation => :"UnifiedHRISAPIApi.post_hris_provisioning_groups_group_id_setup_links", + :header_params => header_params, + :query_params => query_params, + :form_params => form_params, + :body => post_body, + :auth_names => auth_names, + :return_type => return_type + ) + + data, status_code, headers = @api_client.call_api(:POST, local_var_path, new_options) + if @api_client.config.debugging + @api_client.config.logger.debug "API called: UnifiedHRISAPIApi#post_hris_provisioning_groups_group_id_setup_links\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}" + end + return data, status_code, headers + end + + # Create skill + # Create skill **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 skill in the HRIS system with specified name and levels. Refer to our coverage grid for support of levels. + # @param x_integration_id [String] ID of the integration you want to interact with. + # @param [Hash] opts the optional parameters + # @option opts [PostHrisSkillsRequestBody] :post_hris_skills_request_body POST /hris/skills Request body + # @return [PostHrisSkillsPositiveResponse] + def post_hris_skills(x_integration_id, opts = {}) + data, _status_code, _headers = post_hris_skills_with_http_info(x_integration_id, opts) + data + end + + # Create skill + # Create skill <Warning>**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.</Warning> Create a new skill in the HRIS system with specified name and levels. Refer to our coverage grid for support of levels. + # @param x_integration_id [String] ID of the integration you want to interact with. + # @param [Hash] opts the optional parameters + # @option opts [PostHrisSkillsRequestBody] :post_hris_skills_request_body POST /hris/skills Request body + # @return [Array<(PostHrisSkillsPositiveResponse, Integer, Hash)>] PostHrisSkillsPositiveResponse data, response status code and response headers + def post_hris_skills_with_http_info(x_integration_id, opts = {}) + if @api_client.config.debugging + @api_client.config.logger.debug 'Calling API: UnifiedHRISAPIApi.post_hris_skills ...' + end + # verify the required parameter 'x_integration_id' is set + if @api_client.config.client_side_validation && x_integration_id.nil? + fail ArgumentError, "Missing the required parameter 'x_integration_id' when calling UnifiedHRISAPIApi.post_hris_skills" + end + # resource path + local_var_path = '/hris/skills' + + # query parameters + query_params = opts[:query_params] || {} + + # header parameters + header_params = opts[:header_params] || {} + # HTTP header 'Accept' (if needed) + header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept'] + # HTTP header 'Content-Type' + content_type = @api_client.select_header_content_type(['application/json']) + if !content_type.nil? + header_params['Content-Type'] = content_type + end + header_params[:'X-Integration-Id'] = x_integration_id + + # form parameters + form_params = opts[:form_params] || {} + + # http body (model) + post_body = opts[:debug_body] || @api_client.object_to_http_body(opts[:'post_hris_skills_request_body']) + + # return_type + return_type = opts[:debug_return_type] || 'PostHrisSkillsPositiveResponse' + + # auth_names + auth_names = opts[:debug_auth_names] || ['ApiKey'] + + new_options = opts.merge( + :operation => :"UnifiedHRISAPIApi.post_hris_skills", + :header_params => header_params, + :query_params => query_params, + :form_params => form_params, + :body => post_body, + :auth_names => auth_names, + :return_type => return_type + ) + + data, status_code, headers = @api_client.call_api(:POST, local_var_path, new_options) + if @api_client.config.debugging + @api_client.config.logger.debug "API called: UnifiedHRISAPIApi#post_hris_skills\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}" + end + return data, status_code, headers + end + end +end diff --git a/lib/kombo_client/api_client.rb b/lib/kombo_client/api_client.rb new file mode 100644 index 0000000..86e37a2 --- /dev/null +++ b/lib/kombo_client/api_client.rb @@ -0,0 +1,393 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.17.0 + +=end + +require 'date' +require 'json' +require 'logger' +require 'tempfile' +require 'time' +require 'typhoeus' + + +module Kombo + class ApiClient + # The Configuration object holding settings to be used in the API client. + attr_accessor :config + + # Defines the headers to be used in HTTP requests of all API calls by default. + # + # @return [Hash] + attr_accessor :default_headers + + # Initializes the ApiClient + # @option config [Configuration] Configuration for initializing the object, default to Configuration.default + def initialize(config = Configuration.default) + @config = config + @user_agent = "OpenAPI-Generator/#{VERSION}/ruby" + @default_headers = { + 'Content-Type' => 'application/json', + 'User-Agent' => @user_agent + } + end + + def self.default + @@default ||= ApiClient.new + end + + # Call an API with given options. + # + # @return [Array<(Object, Integer, Hash)>] an array of 3 elements: + # the data deserialized from response body (may be a Tempfile or nil), response status code and response headers. + def call_api(http_method, path, opts = {}) + request = build_request(http_method, path, opts) + tempfile = nil + (download_file(request) { tempfile = _1 }) if opts[:return_type] == 'File' + response = request.run + + if @config.debugging + @config.logger.debug "HTTP response body ~BEGIN~\n#{response.body}\n~END~\n" + end + + unless response.success? + if response.timed_out? + fail ApiError.new('Connection timed out') + elsif response.code == 0 + # Errors from libcurl will be made visible here + fail ApiError.new(:code => 0, + :message => response.return_message) + else + fail ApiError.new(:code => response.code, + :response_headers => response.headers, + :response_body => response.body), + response.status_message + end + end + + if opts[:return_type] == 'File' + data = tempfile + elsif opts[:return_type] + data = deserialize(response, opts[:return_type]) + else + data = nil + end + return data, response.code, response.headers + end + + # Builds the HTTP request + # + # @param [String] http_method HTTP method/verb (e.g. POST) + # @param [String] path URL path (e.g. /account/new) + # @option opts [Hash] :header_params Header parameters + # @option opts [Hash] :query_params Query parameters + # @option opts [Hash] :form_params Query parameters + # @option opts [Object] :body HTTP body (JSON/XML) + # @return [Typhoeus::Request] A Typhoeus Request + def build_request(http_method, path, opts = {}) + url = build_request_url(path, opts) + http_method = http_method.to_sym.downcase + + header_params = @default_headers.merge(opts[:header_params] || {}) + query_params = opts[:query_params] || {} + form_params = opts[:form_params] || {} + follow_location = opts[:follow_location] || true + + update_params_for_auth! header_params, query_params, opts[:auth_names] + + # set ssl_verifyhosts option based on @config.verify_ssl_host (true/false) + _verify_ssl_host = @config.verify_ssl_host ? 2 : 0 + + req_opts = { + :method => http_method, + :headers => header_params, + :params => query_params, + :params_encoding => @config.params_encoding, + :timeout => @config.timeout, + :ssl_verifypeer => @config.verify_ssl, + :ssl_verifyhost => _verify_ssl_host, + :sslcert => @config.cert_file, + :sslkey => @config.key_file, + :verbose => @config.debugging, + :followlocation => follow_location + } + + # set custom cert, if provided + req_opts[:cainfo] = @config.ssl_ca_cert if @config.ssl_ca_cert + + if [:post, :patch, :put, :delete].include?(http_method) + req_body = build_request_body(header_params, form_params, opts[:body]) + req_opts.update :body => req_body + if @config.debugging + @config.logger.debug "HTTP request body param ~BEGIN~\n#{req_body}\n~END~\n" + end + end + + Typhoeus::Request.new(url, req_opts) + end + + # Builds the HTTP request body + # + # @param [Hash] header_params Header parameters + # @param [Hash] form_params Query parameters + # @param [Object] body HTTP body (JSON/XML) + # @return [String] HTTP body data in the form of string + def build_request_body(header_params, form_params, body) + # http form + if header_params['Content-Type'] == 'application/x-www-form-urlencoded' || + header_params['Content-Type'] == 'multipart/form-data' + data = {} + form_params.each do |key, value| + case value + when ::File, ::Array, nil + # let typhoeus handle File, Array and nil parameters + data[key] = value + else + data[key] = value.to_s + end + end + elsif body + data = body.is_a?(String) ? body : body.to_json + else + data = nil + end + data + end + + # Save response body into a file in (the defined) temporary folder, using the filename + # from the "Content-Disposition" header if provided, otherwise a random filename. + # The response body is written to the file in chunks in order to handle files which + # size is larger than maximum Ruby String or even larger than the maximum memory a Ruby + # process can use. + # + # @see Configuration#temp_folder_path + # + # @return [Tempfile] the tempfile generated + def download_file(request) + tempfile = nil + encoding = nil + request.on_headers do |response| + content_disposition = response.headers['Content-Disposition'] + if content_disposition && content_disposition =~ /filename=/i + filename = content_disposition[/filename=['"]?([^'"\s]+)['"]?/, 1] + prefix = sanitize_filename(filename) + else + prefix = 'download-' + end + prefix = prefix + '-' unless prefix.end_with?('-') + encoding = response.body.encoding + tempfile = Tempfile.open(prefix, @config.temp_folder_path, encoding: encoding) + end + request.on_body do |chunk| + chunk.force_encoding(encoding) + tempfile.write(chunk) + end + request.on_complete do + if !tempfile + fail ApiError.new("Failed to create the tempfile based on the HTTP response from the server: #{request.inspect}") + end + tempfile.close + @config.logger.info "Temp file written to #{tempfile.path}, please copy the file to a proper folder "\ + "with e.g. `FileUtils.cp(tempfile.path, '/new/file/path')` otherwise the temp file "\ + "will be deleted automatically with GC. It's also recommended to delete the temp file "\ + "explicitly with `tempfile.delete`" + yield tempfile if block_given? + end + end + + # Check if the given MIME is a JSON MIME. + # JSON MIME examples: + # application/json + # application/json; charset=UTF8 + # APPLICATION/JSON + # */* + # @param [String] mime MIME + # @return [Boolean] True if the MIME is application/json + def json_mime?(mime) + (mime == '*/*') || !(mime =~ /^Application\/.*json(?!p)(;.*)?/i).nil? + end + + # Deserialize the response to the given return type. + # + # @param [Response] response HTTP response + # @param [String] return_type some examples: "User", "Array", "Hash" + def deserialize(response, return_type) + body = response.body + return nil if body.nil? || body.empty? + + # return response body directly for String return type + return body.to_s if return_type == 'String' + + # ensuring a default content type + content_type = response.headers['Content-Type'] || 'application/json' + + fail "Content-Type is not supported: #{content_type}" unless json_mime?(content_type) + + begin + data = JSON.parse("[#{body}]", :symbolize_names => true)[0] + rescue JSON::ParserError => e + if %w(String Date Time).include?(return_type) + data = body + else + raise e + end + end + + convert_to_type data, return_type + end + + # Convert data to the given return type. + # @param [Object] data Data to be converted + # @param [String] return_type Return type + # @return [Mixed] Data in a particular type + def convert_to_type(data, return_type) + return nil if data.nil? + case return_type + when 'String' + data.to_s + when 'Integer' + data.to_i + when 'Float' + data.to_f + when 'Boolean' + data == true + when 'Time' + # parse date time (expecting ISO 8601 format) + Time.parse data + when 'Date' + # parse date time (expecting ISO 8601 format) + Date.parse data + when 'Object' + # generic object (usually a Hash), return directly + data + when /\AArray<(.+)>\z/ + # e.g. Array + sub_type = $1 + data.map { |item| convert_to_type(item, sub_type) } + when /\AHash\\z/ + # e.g. Hash + sub_type = $1 + {}.tap do |hash| + data.each { |k, v| hash[k] = convert_to_type(v, sub_type) } + end + else + # models (e.g. Pet) or oneOf + klass = Kombo.const_get(return_type) + klass.respond_to?(:openapi_one_of) ? klass.build(data) : klass.build_from_hash(data) + end + end + + # Sanitize filename by removing path. + # e.g. ../../sun.gif becomes sun.gif + # + # @param [String] filename the filename to be sanitized + # @return [String] the sanitized filename + def sanitize_filename(filename) + filename.split(/[\/\\]/).last + end + + def build_request_url(path, opts = {}) + # Add leading and trailing slashes to path + path = "/#{path}".gsub(/\/+/, '/') + @config.base_url(opts[:operation]) + path + end + + # Update header and query params based on authentication settings. + # + # @param [Hash] header_params Header parameters + # @param [Hash] query_params Query parameters + # @param [String] auth_names Authentication scheme name + def update_params_for_auth!(header_params, query_params, auth_names) + Array(auth_names).each do |auth_name| + auth_setting = @config.auth_settings[auth_name] + next unless auth_setting + case auth_setting[:in] + when 'header' then header_params[auth_setting[:key]] = auth_setting[:value] + when 'query' then query_params[auth_setting[:key]] = auth_setting[:value] + else fail ArgumentError, 'Authentication token must be in `query` or `header`' + end + end + end + + # Sets user agent in HTTP header + # + # @param [String] user_agent User agent (e.g. openapi-generator/ruby/1.0.0) + def user_agent=(user_agent) + @user_agent = user_agent + @default_headers['User-Agent'] = @user_agent + end + + # Return Accept header based on an array of accepts provided. + # @param [Array] accepts array for Accept + # @return [String] the Accept header (e.g. application/json) + def select_header_accept(accepts) + return nil if accepts.nil? || accepts.empty? + # use JSON when present, otherwise use all of the provided + json_accept = accepts.find { |s| json_mime?(s) } + json_accept || accepts.join(',') + end + + # Return Content-Type header based on an array of content types provided. + # @param [Array] content_types array for Content-Type + # @return [String] the Content-Type header (e.g. application/json) + def select_header_content_type(content_types) + # return nil by default + return if content_types.nil? || content_types.empty? + # use JSON when present, otherwise use the first one + json_content_type = content_types.find { |s| json_mime?(s) } + json_content_type || content_types.first + end + + # Convert object (array, hash, object, etc) to JSON string. + # @param [Object] model object to be converted into JSON string + # @return [String] JSON string representation of the object + def object_to_http_body(model) + return model if model.nil? || model.is_a?(String) + local_body = nil + if model.is_a?(Array) + local_body = model.map { |m| object_to_hash(m) } + else + local_body = object_to_hash(model) + end + local_body.to_json + end + + # Convert object(non-array) to hash. + # @param [Object] obj object to be converted into JSON string + # @return [String] JSON string representation of the object + def object_to_hash(obj) + if obj.respond_to?(:to_hash) + obj.to_hash + else + obj + end + end + + # Build parameter value according to the given collection format. + # @param [String] collection_format one of :csv, :ssv, :tsv, :pipes and :multi + def build_collection_param(param, collection_format) + case collection_format + when :csv + param.join(',') + when :ssv + param.join(' ') + when :tsv + param.join("\t") + when :pipes + param.join('|') + when :multi + # return the array directly as typhoeus will handle it as expected + param + else + fail "unknown collection format: #{collection_format.inspect}" + end + end + end +end diff --git a/lib/kombo_client/api_error.rb b/lib/kombo_client/api_error.rb new file mode 100644 index 0000000..4b5e769 --- /dev/null +++ b/lib/kombo_client/api_error.rb @@ -0,0 +1,58 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.17.0 + +=end + +module Kombo + class ApiError < StandardError + attr_reader :code, :response_headers, :response_body + + # Usage examples: + # ApiError.new + # ApiError.new("message") + # ApiError.new(:code => 500, :response_headers => {}, :response_body => "") + # ApiError.new(:code => 404, :message => "Not Found") + def initialize(arg = nil) + if arg.is_a? Hash + if arg.key?(:message) || arg.key?('message') + super(arg[:message] || arg['message']) + else + super arg + end + + arg.each do |k, v| + instance_variable_set "@#{k}", v + end + else + super arg + @message = arg + end + end + + # Override to_s to display a friendly error message + def to_s + message + end + + def message + if @message.nil? + msg = "Error message: the server returns an error" + else + msg = @message + end + + msg += "\nHTTP status code: #{code}" if code + msg += "\nResponse headers: #{response_headers}" if response_headers + msg += "\nResponse body: #{response_body}" if response_body + + msg + end + end +end diff --git a/lib/kombo_client/api_model_base.rb b/lib/kombo_client/api_model_base.rb new file mode 100644 index 0000000..19588f5 --- /dev/null +++ b/lib/kombo_client/api_model_base.rb @@ -0,0 +1,88 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.17.0 + +=end + +module Kombo + class ApiModelBase + # Deserializes the data based on type + # @param string type Data type + # @param string value Value to be deserialized + # @return [Object] Deserialized data + def self._deserialize(type, value) + case type.to_sym + when :Time + Time.parse(value) + when :Date + Date.parse(value) + when :String + value.to_s + when :Integer + value.to_i + when :Float + value.to_f + when :Boolean + if value.to_s =~ /\A(true|t|yes|y|1)\z/i + true + else + false + end + when :Object + # generic object (usually a Hash), return directly + value + when /\AArray<(?.+)>\z/ + inner_type = Regexp.last_match[:inner_type] + value.map { |v| _deserialize(inner_type, v) } + when /\AHash<(?.+?), (?.+)>\z/ + k_type = Regexp.last_match[:k_type] + v_type = Regexp.last_match[:v_type] + {}.tap do |hash| + value.each do |k, v| + hash[_deserialize(k_type, k)] = _deserialize(v_type, v) + end + end + else # model + # models (e.g. Pet) or oneOf + klass = Kombo.const_get(type) + klass.respond_to?(:openapi_any_of) || klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value) + end + end + + # Returns the string representation of the object + # @return [String] String presentation of the object + def to_s + to_hash.to_s + end + + # to_body is an alias to to_hash (backward compatibility) + # @return [Hash] Returns the object in the form of hash + def to_body + to_hash + end + + # Outputs non-array value in the form of hash + # For object, use to_hash. Otherwise, just return the value + # @param [Object] value Any valid value + # @return [Hash] Returns the value in the form of hash + def _to_hash(value) + if value.is_a?(Array) + value.compact.map { |v| _to_hash(v) } + elsif value.is_a?(Hash) + {}.tap do |hash| + value.each { |k, v| hash[k] = _to_hash(v) } + end + elsif value.respond_to? :to_hash + value.to_hash + else + value + end + end + end +end diff --git a/lib/kombo_client/configuration.rb b/lib/kombo_client/configuration.rb new file mode 100644 index 0000000..9b3f388 --- /dev/null +++ b/lib/kombo_client/configuration.rb @@ -0,0 +1,312 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.17.0 + +=end + +module Kombo + class Configuration + # Defines url scheme + attr_accessor :scheme + + # Defines url host + attr_accessor :host + + # Defines url base path + attr_accessor :base_path + + # Define server configuration index + attr_accessor :server_index + + # Define server operation configuration index + attr_accessor :server_operation_index + + # Default server variables + attr_accessor :server_variables + + # Default server operation variables + attr_accessor :server_operation_variables + + # Defines API keys used with API Key authentications. + # + # @return [Hash] key: parameter name, value: parameter value (API key) + # + # @example parameter name is "api_key", API key is "xxx" (e.g. "api_key=xxx" in query string) + # config.api_key['api_key'] = 'xxx' + attr_accessor :api_key + + # Defines API key prefixes used with API Key authentications. + # + # @return [Hash] key: parameter name, value: API key prefix + # + # @example parameter name is "Authorization", API key prefix is "Token" (e.g. "Authorization: Token xxx" in headers) + # config.api_key_prefix['api_key'] = 'Token' + attr_accessor :api_key_prefix + + # Defines the username used with HTTP basic authentication. + # + # @return [String] + attr_accessor :username + + # Defines the password used with HTTP basic authentication. + # + # @return [String] + attr_accessor :password + + # Defines the access token (Bearer) used with OAuth2. + attr_accessor :access_token + + # Defines a Proc used to fetch or refresh access tokens (Bearer) used with OAuth2. + # Overrides the access_token if set + # @return [Proc] + attr_accessor :access_token_getter + + # Set this to return data as binary instead of downloading a temp file. When enabled (set to true) + # HTTP responses with return type `File` will be returned as a stream of binary data. + # Default to false. + attr_accessor :return_binary_data + + # Set this to enable/disable debugging. When enabled (set to true), HTTP request/response + # details will be logged with `logger.debug` (see the `logger` attribute). + # Default to false. + # + # @return [true, false] + attr_accessor :debugging + + # Set this to ignore operation servers for the API client. This is useful when you need to + # send requests to a different server than the one specified in the OpenAPI document. + # Will default to the base url defined in the spec but can be overridden by setting + # `scheme`, `host`, `base_path` directly. + # Default to false. + # @return [true, false] + attr_accessor :ignore_operation_servers + + # Defines the logger used for debugging. + # Default to `Rails.logger` (when in Rails) or logging to STDOUT. + # + # @return [#debug] + attr_accessor :logger + + # Defines the temporary folder to store downloaded files + # (for API endpoints that have file response). + # Default to use `Tempfile`. + # + # @return [String] + attr_accessor :temp_folder_path + + # The time limit for HTTP request in seconds. + # Default to 0 (never times out). + attr_accessor :timeout + + # Set this to false to skip client side validation in the operation. + # Default to true. + # @return [true, false] + attr_accessor :client_side_validation + + ### TLS/SSL setting + # Set this to false to skip verifying SSL certificate when calling API from https server. + # Default to true. + # + # @note Do NOT set it to false in production code, otherwise you would face multiple types of cryptographic attacks. + # + # @return [true, false] + attr_accessor :verify_ssl + + ### TLS/SSL setting + # Set this to false to skip verifying SSL host name + # Default to true. + # + # @note Do NOT set it to false in production code, otherwise you would face multiple types of cryptographic attacks. + # + # @return [true, false] + attr_accessor :verify_ssl_host + + ### TLS/SSL setting + # Set this to customize the certificate file to verify the peer. + # + # @return [String] the path to the certificate file + # + # @see The `cainfo` option of Typhoeus, `--cert` option of libcurl. Related source code: + # https://github.com/typhoeus/typhoeus/blob/master/lib/typhoeus/easy_factory.rb#L145 + attr_accessor :ssl_ca_cert + + ### TLS/SSL setting + # Client certificate file (for client certificate) + attr_accessor :cert_file + + ### TLS/SSL setting + # Client private key file (for client certificate) + attr_accessor :key_file + + # Set this to customize parameters encoding of array parameter with multi collectionFormat. + # Default to nil. + # + # @see The params_encoding option of Ethon. Related source code: + # https://github.com/typhoeus/ethon/blob/master/lib/ethon/easy/queryable.rb#L96 + attr_accessor :params_encoding + + + attr_accessor :inject_format + + attr_accessor :force_ending_format + + def initialize + @scheme = 'https' + @host = 'api.kombo.dev' + @base_path = '/v1' + @server_index = nil + @server_operation_index = {} + @server_variables = {} + @server_operation_variables = {} + @api_key = {} + @api_key_prefix = {} + @client_side_validation = true + @verify_ssl = true + @verify_ssl_host = true + @cert_file = nil + @key_file = nil + @timeout = 0 + @params_encoding = nil + @debugging = false + @ignore_operation_servers = false + @inject_format = false + @force_ending_format = false + @logger = defined?(Rails) ? Rails.logger : Logger.new(STDOUT) + + yield(self) if block_given? + end + + # The default Configuration object. + def self.default + @@default ||= Configuration.new + end + + def configure + yield(self) if block_given? + end + + def scheme=(scheme) + # remove :// from scheme + @scheme = scheme.sub(/:\/\//, '') + end + + def host=(host) + # remove http(s):// and anything after a slash + @host = host.sub(/https?:\/\//, '').split('/').first + end + + def base_path=(base_path) + # Add leading and trailing slashes to base_path + @base_path = "/#{base_path}".gsub(/\/+/, '/') + @base_path = '' if @base_path == '/' + end + + # Returns base URL for specified operation based on server settings + def base_url(operation = nil) + return "#{scheme}://#{[host, base_path].join('/').gsub(/\/+/, '/')}".sub(/\/+\z/, '') if ignore_operation_servers + if operation_server_settings.key?(operation) then + index = server_operation_index.fetch(operation, server_index) + server_url(index.nil? ? 0 : index, server_operation_variables.fetch(operation, server_variables), operation_server_settings[operation]) + else + server_index.nil? ? "#{scheme}://#{[host, base_path].join('/').gsub(/\/+/, '/')}".sub(/\/+\z/, '') : server_url(server_index, server_variables, nil) + end + end + + # Gets API key (with prefix if set). + # @param [String] param_name the parameter name of API key auth + def api_key_with_prefix(param_name, param_alias = nil) + key = @api_key[param_name] + key = @api_key.fetch(param_alias, key) unless param_alias.nil? + if @api_key_prefix[param_name] + "#{@api_key_prefix[param_name]} #{key}" + else + key + end + end + + # Gets access_token using access_token_getter or uses the static access_token + def access_token_with_refresh + return access_token if access_token_getter.nil? + access_token_getter.call + end + + # Gets Basic Auth token string + def basic_auth_token + 'Basic ' + ["#{username}:#{password}"].pack('m').delete("\r\n") + end + + # Returns Auth Settings hash for api client. + def auth_settings + { + 'ApiKey' => + { + type: 'bearer', + in: 'header', + key: 'Authorization', + value: "Bearer #{access_token_with_refresh}" + }, + } + end + + # Returns an array of Server setting + def server_settings + [ + { + url: "https://api.kombo.dev/v1", + description: "Kombo EU API", + }, + { + url: "https://api.us.kombo.dev/v1", + description: "Kombo US API", + } + ] + end + + def operation_server_settings + { + } + end + + # Returns URL based on server settings + # + # @param index array index of the server settings + # @param variables hash of variable and the corresponding value + def server_url(index, variables = {}, servers = nil) + servers = server_settings if servers == nil + + # check array index out of bound + if (index.nil? || index < 0 || index >= servers.size) + fail ArgumentError, "Invalid index #{index} when selecting the server. Must not be nil and must be less than #{servers.size}" + end + + server = servers[index] + url = server[:url] + + return url unless server.key? :variables + + # go through variable and assign a value + server[:variables].each do |name, variable| + if variables.key?(name) + if (!server[:variables][name].key?(:enum_values) || server[:variables][name][:enum_values].include?(variables[name])) + url.gsub! "{" + name.to_s + "}", variables[name] + else + fail ArgumentError, "The variable `#{name}` in the server URL has invalid value #{variables[name]}. Must be #{server[:variables][name][:enum_values]}." + end + else + # use default value + url.gsub! "{" + name.to_s + "}", server[:variables][name][:default_value] + end + end + + url + end + + + end +end diff --git a/lib/kombo_client/models/ai_apply_application_status_updated_webhook_payload.rb b/lib/kombo_client/models/ai_apply_application_status_updated_webhook_payload.rb new file mode 100644 index 0000000..ce10697 --- /dev/null +++ b/lib/kombo_client/models/ai_apply_application_status_updated_webhook_payload.rb @@ -0,0 +1,242 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.17.0 + +=end + +require 'date' +require 'time' + +module Kombo + class AiApplyApplicationStatusUpdatedWebhookPayload < ApiModelBase + # Unique identifier for this webhook event + attr_accessor :id + + # Type of the webhook event + attr_accessor :type + + attr_accessor :data + + class EnumAttributeValidator + attr_reader :datatype + attr_reader :allowable_values + + def initialize(datatype, allowable_values) + @allowable_values = allowable_values.map do |value| + case datatype.to_s + when /Integer/i + value.to_i + when /Float/i + value.to_f + else + value + end + end + end + + def valid?(value) + !value || allowable_values.include?(value) + end + end + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'id' => :'id', + :'type' => :'type', + :'data' => :'data' + } + end + + # Returns attribute mapping this model knows about + def self.acceptable_attribute_map + attribute_map + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + acceptable_attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'id' => :'String', + :'type' => :'String', + :'data' => :'AiApplyApplicationStatusUpdatedWebhookPayloadData' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Kombo::AiApplyApplicationStatusUpdatedWebhookPayload` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + acceptable_attribute_map = self.class.acceptable_attribute_map + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!acceptable_attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Kombo::AiApplyApplicationStatusUpdatedWebhookPayload`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'id') + self.id = attributes[:'id'] + else + self.id = nil + end + + if attributes.key?(:'type') + self.type = attributes[:'type'] + else + self.type = nil + end + + if attributes.key?(:'data') + self.data = attributes[:'data'] + else + self.data = nil + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + warn '[DEPRECATED] the `list_invalid_properties` method is obsolete' + invalid_properties = Array.new + if @id.nil? + invalid_properties.push('invalid value for "id", id cannot be nil.') + end + + if @type.nil? + invalid_properties.push('invalid value for "type", type cannot be nil.') + end + + if @data.nil? + invalid_properties.push('invalid value for "data", data cannot be nil.') + end + + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + warn '[DEPRECATED] the `valid?` method is obsolete' + return false if @id.nil? + return false if @type.nil? + type_validator = EnumAttributeValidator.new('String', ["ai-apply-application-status-updated"]) + return false unless type_validator.valid?(@type) + return false if @data.nil? + true + end + + # Custom attribute writer method with validation + # @param [Object] id Value to be assigned + def id=(id) + if id.nil? + fail ArgumentError, 'id cannot be nil' + end + + @id = id + end + + # Custom attribute writer method checking allowed values (enum). + # @param [Object] type Object to be assigned + def type=(type) + validator = EnumAttributeValidator.new('String', ["ai-apply-application-status-updated"]) + unless validator.valid?(type) + fail ArgumentError, "invalid value for \"type\", must be one of #{validator.allowable_values}." + end + @type = type + end + + # Custom attribute writer method with validation + # @param [Object] data Value to be assigned + def data=(data) + if data.nil? + fail ArgumentError, 'data cannot be nil' + end + + @data = data + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + id == o.id && + type == o.type && + data == o.data + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [id, type, data].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + transformed_hash = {} + openapi_types.each_pair do |key, type| + if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = nil + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[attribute_map[key]].is_a?(Array) + transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) } + end + elsif !attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]]) + end + end + new(transformed_hash) + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + end + +end diff --git a/lib/kombo_client/models/ai_apply_application_status_updated_webhook_payload_data.rb b/lib/kombo_client/models/ai_apply_application_status_updated_webhook_payload_data.rb new file mode 100644 index 0000000..d8154ac --- /dev/null +++ b/lib/kombo_client/models/ai_apply_application_status_updated_webhook_payload_data.rb @@ -0,0 +1,294 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.17.0 + +=end + +require 'date' +require 'time' + +module Kombo + class AiApplyApplicationStatusUpdatedWebhookPayloadData < ApiModelBase + # The globally unique ID of this object generated by Kombo. We recommend using this as a stable primary key for syncing. + attr_accessor :id + + # The globally unique ID of this object generated by Kombo. We recommend using this as a stable primary key for syncing. + attr_accessor :job_posting_id + + attr_accessor :status + + attr_accessor :created_at + + attr_accessor :updated_at + + class EnumAttributeValidator + attr_reader :datatype + attr_reader :allowable_values + + def initialize(datatype, allowable_values) + @allowable_values = allowable_values.map do |value| + case datatype.to_s + when /Integer/i + value.to_i + when /Float/i + value.to_f + else + value + end + end + end + + def valid?(value) + !value || allowable_values.include?(value) + end + end + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'id' => :'id', + :'job_posting_id' => :'job_posting_id', + :'status' => :'status', + :'created_at' => :'created_at', + :'updated_at' => :'updated_at' + } + end + + # Returns attribute mapping this model knows about + def self.acceptable_attribute_map + attribute_map + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + acceptable_attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'id' => :'String', + :'job_posting_id' => :'String', + :'status' => :'String', + :'created_at' => :'Time', + :'updated_at' => :'Time' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Kombo::AiApplyApplicationStatusUpdatedWebhookPayloadData` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + acceptable_attribute_map = self.class.acceptable_attribute_map + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!acceptable_attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Kombo::AiApplyApplicationStatusUpdatedWebhookPayloadData`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'id') + self.id = attributes[:'id'] + else + self.id = nil + end + + if attributes.key?(:'job_posting_id') + self.job_posting_id = attributes[:'job_posting_id'] + else + self.job_posting_id = nil + end + + if attributes.key?(:'status') + self.status = attributes[:'status'] + else + self.status = nil + end + + if attributes.key?(:'created_at') + self.created_at = attributes[:'created_at'] + else + self.created_at = nil + end + + if attributes.key?(:'updated_at') + self.updated_at = attributes[:'updated_at'] + else + self.updated_at = nil + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + warn '[DEPRECATED] the `list_invalid_properties` method is obsolete' + invalid_properties = Array.new + if @id.nil? + invalid_properties.push('invalid value for "id", id cannot be nil.') + end + + if @job_posting_id.nil? + invalid_properties.push('invalid value for "job_posting_id", job_posting_id cannot be nil.') + end + + if @status.nil? + invalid_properties.push('invalid value for "status", status cannot be nil.') + end + + if @created_at.nil? + invalid_properties.push('invalid value for "created_at", created_at cannot be nil.') + end + + if @updated_at.nil? + invalid_properties.push('invalid value for "updated_at", updated_at cannot be nil.') + end + + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + warn '[DEPRECATED] the `valid?` method is obsolete' + return false if @id.nil? + return false if @job_posting_id.nil? + return false if @status.nil? + status_validator = EnumAttributeValidator.new('String', ["PENDING", "SUBMITTED", "FAILED"]) + return false unless status_validator.valid?(@status) + return false if @created_at.nil? + return false if @updated_at.nil? + true + end + + # Custom attribute writer method with validation + # @param [Object] id Value to be assigned + def id=(id) + if id.nil? + fail ArgumentError, 'id cannot be nil' + end + + @id = id + end + + # Custom attribute writer method with validation + # @param [Object] job_posting_id Value to be assigned + def job_posting_id=(job_posting_id) + if job_posting_id.nil? + fail ArgumentError, 'job_posting_id cannot be nil' + end + + @job_posting_id = job_posting_id + end + + # Custom attribute writer method checking allowed values (enum). + # @param [Object] status Object to be assigned + def status=(status) + validator = EnumAttributeValidator.new('String', ["PENDING", "SUBMITTED", "FAILED"]) + unless validator.valid?(status) + fail ArgumentError, "invalid value for \"status\", must be one of #{validator.allowable_values}." + end + @status = status + end + + # Custom attribute writer method with validation + # @param [Object] created_at Value to be assigned + def created_at=(created_at) + if created_at.nil? + fail ArgumentError, 'created_at cannot be nil' + end + + @created_at = created_at + end + + # Custom attribute writer method with validation + # @param [Object] updated_at Value to be assigned + def updated_at=(updated_at) + if updated_at.nil? + fail ArgumentError, 'updated_at cannot be nil' + end + + @updated_at = updated_at + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + id == o.id && + job_posting_id == o.job_posting_id && + status == o.status && + created_at == o.created_at && + updated_at == o.updated_at + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [id, job_posting_id, status, created_at, updated_at].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + transformed_hash = {} + openapi_types.each_pair do |key, type| + if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = nil + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[attribute_map[key]].is_a?(Array) + transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) } + end + elsif !attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]]) + end + end + new(transformed_hash) + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + end + +end diff --git a/lib/kombo_client/models/ai_apply_job_posting_status_updated_webhook_payload.rb b/lib/kombo_client/models/ai_apply_job_posting_status_updated_webhook_payload.rb new file mode 100644 index 0000000..54650f9 --- /dev/null +++ b/lib/kombo_client/models/ai_apply_job_posting_status_updated_webhook_payload.rb @@ -0,0 +1,242 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.17.0 + +=end + +require 'date' +require 'time' + +module Kombo + class AiApplyJobPostingStatusUpdatedWebhookPayload < ApiModelBase + # Unique identifier for this webhook event + attr_accessor :id + + # Type of the webhook event + attr_accessor :type + + attr_accessor :data + + class EnumAttributeValidator + attr_reader :datatype + attr_reader :allowable_values + + def initialize(datatype, allowable_values) + @allowable_values = allowable_values.map do |value| + case datatype.to_s + when /Integer/i + value.to_i + when /Float/i + value.to_f + else + value + end + end + end + + def valid?(value) + !value || allowable_values.include?(value) + end + end + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'id' => :'id', + :'type' => :'type', + :'data' => :'data' + } + end + + # Returns attribute mapping this model knows about + def self.acceptable_attribute_map + attribute_map + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + acceptable_attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'id' => :'String', + :'type' => :'String', + :'data' => :'AiApplyJobPostingStatusUpdatedWebhookPayloadData' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Kombo::AiApplyJobPostingStatusUpdatedWebhookPayload` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + acceptable_attribute_map = self.class.acceptable_attribute_map + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!acceptable_attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Kombo::AiApplyJobPostingStatusUpdatedWebhookPayload`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'id') + self.id = attributes[:'id'] + else + self.id = nil + end + + if attributes.key?(:'type') + self.type = attributes[:'type'] + else + self.type = nil + end + + if attributes.key?(:'data') + self.data = attributes[:'data'] + else + self.data = nil + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + warn '[DEPRECATED] the `list_invalid_properties` method is obsolete' + invalid_properties = Array.new + if @id.nil? + invalid_properties.push('invalid value for "id", id cannot be nil.') + end + + if @type.nil? + invalid_properties.push('invalid value for "type", type cannot be nil.') + end + + if @data.nil? + invalid_properties.push('invalid value for "data", data cannot be nil.') + end + + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + warn '[DEPRECATED] the `valid?` method is obsolete' + return false if @id.nil? + return false if @type.nil? + type_validator = EnumAttributeValidator.new('String', ["ai-apply-job-posting-status-updated"]) + return false unless type_validator.valid?(@type) + return false if @data.nil? + true + end + + # Custom attribute writer method with validation + # @param [Object] id Value to be assigned + def id=(id) + if id.nil? + fail ArgumentError, 'id cannot be nil' + end + + @id = id + end + + # Custom attribute writer method checking allowed values (enum). + # @param [Object] type Object to be assigned + def type=(type) + validator = EnumAttributeValidator.new('String', ["ai-apply-job-posting-status-updated"]) + unless validator.valid?(type) + fail ArgumentError, "invalid value for \"type\", must be one of #{validator.allowable_values}." + end + @type = type + end + + # Custom attribute writer method with validation + # @param [Object] data Value to be assigned + def data=(data) + if data.nil? + fail ArgumentError, 'data cannot be nil' + end + + @data = data + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + id == o.id && + type == o.type && + data == o.data + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [id, type, data].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + transformed_hash = {} + openapi_types.each_pair do |key, type| + if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = nil + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[attribute_map[key]].is_a?(Array) + transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) } + end + elsif !attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]]) + end + end + new(transformed_hash) + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + end + +end diff --git a/lib/kombo_client/models/ai_apply_job_posting_status_updated_webhook_payload_data.rb b/lib/kombo_client/models/ai_apply_job_posting_status_updated_webhook_payload_data.rb new file mode 100644 index 0000000..290ee84 --- /dev/null +++ b/lib/kombo_client/models/ai_apply_job_posting_status_updated_webhook_payload_data.rb @@ -0,0 +1,401 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.17.0 + +=end + +require 'date' +require 'time' + +module Kombo + class AiApplyJobPostingStatusUpdatedWebhookPayloadData < ApiModelBase + # The globally unique ID of this object generated by Kombo. We recommend using this as a stable primary key for syncing. + attr_accessor :id + + attr_accessor :career_site + + attr_accessor :url + + attr_accessor :job_code + + attr_accessor :created_at + + attr_accessor :updated_at + + # The date and time the job posting was archived. You can only send applications if the job posting is not archived. + attr_accessor :archived_at + + attr_accessor :archived_reason + + # The status of the job posting. You can only send applications if the job posting is \"APPLYABLE\". + attr_accessor :availability + + class EnumAttributeValidator + attr_reader :datatype + attr_reader :allowable_values + + def initialize(datatype, allowable_values) + @allowable_values = allowable_values.map do |value| + case datatype.to_s + when /Integer/i + value.to_i + when /Float/i + value.to_f + else + value + end + end + end + + def valid?(value) + !value || allowable_values.include?(value) + end + end + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'id' => :'id', + :'career_site' => :'career_site', + :'url' => :'url', + :'job_code' => :'job_code', + :'created_at' => :'created_at', + :'updated_at' => :'updated_at', + :'archived_at' => :'archived_at', + :'archived_reason' => :'archived_reason', + :'availability' => :'availability' + } + end + + # Returns attribute mapping this model knows about + def self.acceptable_attribute_map + attribute_map + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + acceptable_attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'id' => :'String', + :'career_site' => :'AiApplyJobPostingStatusUpdatedWebhookPayloadDataCareerSite', + :'url' => :'String', + :'job_code' => :'String', + :'created_at' => :'Time', + :'updated_at' => :'Time', + :'archived_at' => :'Time', + :'archived_reason' => :'String', + :'availability' => :'String' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Kombo::AiApplyJobPostingStatusUpdatedWebhookPayloadData` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + acceptable_attribute_map = self.class.acceptable_attribute_map + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!acceptable_attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Kombo::AiApplyJobPostingStatusUpdatedWebhookPayloadData`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'id') + self.id = attributes[:'id'] + else + self.id = nil + end + + if attributes.key?(:'career_site') + self.career_site = attributes[:'career_site'] + else + self.career_site = nil + end + + if attributes.key?(:'url') + self.url = attributes[:'url'] + else + self.url = nil + end + + if attributes.key?(:'job_code') + self.job_code = attributes[:'job_code'] + else + self.job_code = nil + end + + if attributes.key?(:'created_at') + self.created_at = attributes[:'created_at'] + else + self.created_at = nil + end + + if attributes.key?(:'updated_at') + self.updated_at = attributes[:'updated_at'] + else + self.updated_at = nil + end + + if attributes.key?(:'archived_at') + self.archived_at = attributes[:'archived_at'] + else + self.archived_at = nil + end + + if attributes.key?(:'archived_reason') + self.archived_reason = attributes[:'archived_reason'] + else + self.archived_reason = nil + end + + if attributes.key?(:'availability') + self.availability = attributes[:'availability'] + else + self.availability = nil + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + warn '[DEPRECATED] the `list_invalid_properties` method is obsolete' + invalid_properties = Array.new + if @id.nil? + invalid_properties.push('invalid value for "id", id cannot be nil.') + end + + if @career_site.nil? + invalid_properties.push('invalid value for "career_site", career_site cannot be nil.') + end + + if @url.nil? + invalid_properties.push('invalid value for "url", url cannot be nil.') + end + + if @job_code.nil? + invalid_properties.push('invalid value for "job_code", job_code cannot be nil.') + end + + if @created_at.nil? + invalid_properties.push('invalid value for "created_at", created_at cannot be nil.') + end + + if @updated_at.nil? + invalid_properties.push('invalid value for "updated_at", updated_at cannot be nil.') + end + + if @archived_at.nil? + invalid_properties.push('invalid value for "archived_at", archived_at cannot be nil.') + end + + if @archived_reason.nil? + invalid_properties.push('invalid value for "archived_reason", archived_reason cannot be nil.') + end + + if @availability.nil? + invalid_properties.push('invalid value for "availability", availability cannot be nil.') + end + + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + warn '[DEPRECATED] the `valid?` method is obsolete' + return false if @id.nil? + return false if @career_site.nil? + return false if @url.nil? + return false if @job_code.nil? + return false if @created_at.nil? + return false if @updated_at.nil? + return false if @archived_at.nil? + return false if @archived_reason.nil? + archived_reason_validator = EnumAttributeValidator.new('String', ["JOB_POSTING_TAKEN_OFFLINE", "MANUAL_ARCHIVE"]) + return false unless archived_reason_validator.valid?(@archived_reason) + return false if @availability.nil? + availability_validator = EnumAttributeValidator.new('String', ["APPLYABLE", "PENDING", "ARCHIVED", "UNAVAILABLE"]) + return false unless availability_validator.valid?(@availability) + true + end + + # Custom attribute writer method with validation + # @param [Object] id Value to be assigned + def id=(id) + if id.nil? + fail ArgumentError, 'id cannot be nil' + end + + @id = id + end + + # Custom attribute writer method with validation + # @param [Object] career_site Value to be assigned + def career_site=(career_site) + if career_site.nil? + fail ArgumentError, 'career_site cannot be nil' + end + + @career_site = career_site + end + + # Custom attribute writer method with validation + # @param [Object] url Value to be assigned + def url=(url) + if url.nil? + fail ArgumentError, 'url cannot be nil' + end + + @url = url + end + + # Custom attribute writer method with validation + # @param [Object] job_code Value to be assigned + def job_code=(job_code) + if job_code.nil? + fail ArgumentError, 'job_code cannot be nil' + end + + @job_code = job_code + end + + # Custom attribute writer method with validation + # @param [Object] created_at Value to be assigned + def created_at=(created_at) + if created_at.nil? + fail ArgumentError, 'created_at cannot be nil' + end + + @created_at = created_at + end + + # Custom attribute writer method with validation + # @param [Object] updated_at Value to be assigned + def updated_at=(updated_at) + if updated_at.nil? + fail ArgumentError, 'updated_at cannot be nil' + end + + @updated_at = updated_at + end + + # Custom attribute writer method with validation + # @param [Object] archived_at Value to be assigned + def archived_at=(archived_at) + if archived_at.nil? + fail ArgumentError, 'archived_at cannot be nil' + end + + @archived_at = archived_at + end + + # Custom attribute writer method checking allowed values (enum). + # @param [Object] archived_reason Object to be assigned + def archived_reason=(archived_reason) + validator = EnumAttributeValidator.new('String', ["JOB_POSTING_TAKEN_OFFLINE", "MANUAL_ARCHIVE"]) + unless validator.valid?(archived_reason) + fail ArgumentError, "invalid value for \"archived_reason\", must be one of #{validator.allowable_values}." + end + @archived_reason = archived_reason + end + + # Custom attribute writer method checking allowed values (enum). + # @param [Object] availability Object to be assigned + def availability=(availability) + validator = EnumAttributeValidator.new('String', ["APPLYABLE", "PENDING", "ARCHIVED", "UNAVAILABLE"]) + unless validator.valid?(availability) + fail ArgumentError, "invalid value for \"availability\", must be one of #{validator.allowable_values}." + end + @availability = availability + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + id == o.id && + career_site == o.career_site && + url == o.url && + job_code == o.job_code && + created_at == o.created_at && + updated_at == o.updated_at && + archived_at == o.archived_at && + archived_reason == o.archived_reason && + availability == o.availability + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [id, career_site, url, job_code, created_at, updated_at, archived_at, archived_reason, availability].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + transformed_hash = {} + openapi_types.each_pair do |key, type| + if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = nil + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[attribute_map[key]].is_a?(Array) + transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) } + end + elsif !attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]]) + end + end + new(transformed_hash) + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + end + +end diff --git a/lib/kombo_client/models/ai_apply_job_posting_status_updated_webhook_payload_data_career_site.rb b/lib/kombo_client/models/ai_apply_job_posting_status_updated_webhook_payload_data_career_site.rb new file mode 100644 index 0000000..9d77e2e --- /dev/null +++ b/lib/kombo_client/models/ai_apply_job_posting_status_updated_webhook_payload_data_career_site.rb @@ -0,0 +1,191 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.17.0 + +=end + +require 'date' +require 'time' + +module Kombo + class AiApplyJobPostingStatusUpdatedWebhookPayloadDataCareerSite < ApiModelBase + # The globally unique ID of this object generated by Kombo. We recommend using this as a stable primary key for syncing. + attr_accessor :id + + attr_accessor :label + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'id' => :'id', + :'label' => :'label' + } + end + + # Returns attribute mapping this model knows about + def self.acceptable_attribute_map + attribute_map + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + acceptable_attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'id' => :'String', + :'label' => :'String' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Kombo::AiApplyJobPostingStatusUpdatedWebhookPayloadDataCareerSite` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + acceptable_attribute_map = self.class.acceptable_attribute_map + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!acceptable_attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Kombo::AiApplyJobPostingStatusUpdatedWebhookPayloadDataCareerSite`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'id') + self.id = attributes[:'id'] + else + self.id = nil + end + + if attributes.key?(:'label') + self.label = attributes[:'label'] + else + self.label = nil + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + warn '[DEPRECATED] the `list_invalid_properties` method is obsolete' + invalid_properties = Array.new + if @id.nil? + invalid_properties.push('invalid value for "id", id cannot be nil.') + end + + if @label.nil? + invalid_properties.push('invalid value for "label", label cannot be nil.') + end + + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + warn '[DEPRECATED] the `valid?` method is obsolete' + return false if @id.nil? + return false if @label.nil? + true + end + + # Custom attribute writer method with validation + # @param [Object] id Value to be assigned + def id=(id) + if id.nil? + fail ArgumentError, 'id cannot be nil' + end + + @id = id + end + + # Custom attribute writer method with validation + # @param [Object] label Value to be assigned + def label=(label) + if label.nil? + fail ArgumentError, 'label cannot be nil' + end + + @label = label + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + id == o.id && + label == o.label + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [id, label].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + transformed_hash = {} + openapi_types.each_pair do |key, type| + if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = nil + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[attribute_map[key]].is_a?(Array) + transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) } + end + elsif !attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]]) + end + end + new(transformed_hash) + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + end + +end diff --git a/lib/kombo_client/models/assessment_order_received_webhook_payload.rb b/lib/kombo_client/models/assessment_order_received_webhook_payload.rb new file mode 100644 index 0000000..54b6e78 --- /dev/null +++ b/lib/kombo_client/models/assessment_order_received_webhook_payload.rb @@ -0,0 +1,242 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.17.0 + +=end + +require 'date' +require 'time' + +module Kombo + class AssessmentOrderReceivedWebhookPayload < ApiModelBase + # Unique identifier for this webhook event + attr_accessor :id + + # Type of the webhook event + attr_accessor :type + + attr_accessor :data + + class EnumAttributeValidator + attr_reader :datatype + attr_reader :allowable_values + + def initialize(datatype, allowable_values) + @allowable_values = allowable_values.map do |value| + case datatype.to_s + when /Integer/i + value.to_i + when /Float/i + value.to_f + else + value + end + end + end + + def valid?(value) + !value || allowable_values.include?(value) + end + end + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'id' => :'id', + :'type' => :'type', + :'data' => :'data' + } + end + + # Returns attribute mapping this model knows about + def self.acceptable_attribute_map + attribute_map + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + acceptable_attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'id' => :'String', + :'type' => :'String', + :'data' => :'AssessmentOrderReceivedWebhookPayloadData' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Kombo::AssessmentOrderReceivedWebhookPayload` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + acceptable_attribute_map = self.class.acceptable_attribute_map + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!acceptable_attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Kombo::AssessmentOrderReceivedWebhookPayload`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'id') + self.id = attributes[:'id'] + else + self.id = nil + end + + if attributes.key?(:'type') + self.type = attributes[:'type'] + else + self.type = nil + end + + if attributes.key?(:'data') + self.data = attributes[:'data'] + else + self.data = nil + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + warn '[DEPRECATED] the `list_invalid_properties` method is obsolete' + invalid_properties = Array.new + if @id.nil? + invalid_properties.push('invalid value for "id", id cannot be nil.') + end + + if @type.nil? + invalid_properties.push('invalid value for "type", type cannot be nil.') + end + + if @data.nil? + invalid_properties.push('invalid value for "data", data cannot be nil.') + end + + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + warn '[DEPRECATED] the `valid?` method is obsolete' + return false if @id.nil? + return false if @type.nil? + type_validator = EnumAttributeValidator.new('String', ["assessment:order-received"]) + return false unless type_validator.valid?(@type) + return false if @data.nil? + true + end + + # Custom attribute writer method with validation + # @param [Object] id Value to be assigned + def id=(id) + if id.nil? + fail ArgumentError, 'id cannot be nil' + end + + @id = id + end + + # Custom attribute writer method checking allowed values (enum). + # @param [Object] type Object to be assigned + def type=(type) + validator = EnumAttributeValidator.new('String', ["assessment:order-received"]) + unless validator.valid?(type) + fail ArgumentError, "invalid value for \"type\", must be one of #{validator.allowable_values}." + end + @type = type + end + + # Custom attribute writer method with validation + # @param [Object] data Value to be assigned + def data=(data) + if data.nil? + fail ArgumentError, 'data cannot be nil' + end + + @data = data + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + id == o.id && + type == o.type && + data == o.data + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [id, type, data].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + transformed_hash = {} + openapi_types.each_pair do |key, type| + if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = nil + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[attribute_map[key]].is_a?(Array) + transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) } + end + elsif !attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]]) + end + end + new(transformed_hash) + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + end + +end diff --git a/lib/kombo_client/models/assessment_order_received_webhook_payload_data.rb b/lib/kombo_client/models/assessment_order_received_webhook_payload_data.rb new file mode 100644 index 0000000..0625022 --- /dev/null +++ b/lib/kombo_client/models/assessment_order_received_webhook_payload_data.rb @@ -0,0 +1,348 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.17.0 + +=end + +require 'date' +require 'time' + +module Kombo + class AssessmentOrderReceivedWebhookPayloadData < ApiModelBase + # The unique identifier of the assessment order. + attr_accessor :id + + # The identifier of the assessment package. + attr_accessor :package_id + + # The current status of the assessment order. + attr_accessor :status + + # The unique identifier of the integration. + attr_accessor :integration_id + + attr_accessor :candidate + + attr_accessor :application + + attr_accessor :job + + class EnumAttributeValidator + attr_reader :datatype + attr_reader :allowable_values + + def initialize(datatype, allowable_values) + @allowable_values = allowable_values.map do |value| + case datatype.to_s + when /Integer/i + value.to_i + when /Float/i + value.to_f + else + value + end + end + end + + def valid?(value) + !value || allowable_values.include?(value) + end + end + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'id' => :'id', + :'package_id' => :'package_id', + :'status' => :'status', + :'integration_id' => :'integration_id', + :'candidate' => :'candidate', + :'application' => :'application', + :'job' => :'job' + } + end + + # Returns attribute mapping this model knows about + def self.acceptable_attribute_map + attribute_map + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + acceptable_attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'id' => :'String', + :'package_id' => :'String', + :'status' => :'String', + :'integration_id' => :'String', + :'candidate' => :'AssessmentOrderReceivedWebhookPayloadDataCandidate', + :'application' => :'AssessmentOrderReceivedWebhookPayloadDataApplication', + :'job' => :'AssessmentOrderReceivedWebhookPayloadDataJob' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Kombo::AssessmentOrderReceivedWebhookPayloadData` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + acceptable_attribute_map = self.class.acceptable_attribute_map + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!acceptable_attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Kombo::AssessmentOrderReceivedWebhookPayloadData`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'id') + self.id = attributes[:'id'] + else + self.id = nil + end + + if attributes.key?(:'package_id') + self.package_id = attributes[:'package_id'] + else + self.package_id = nil + end + + if attributes.key?(:'status') + self.status = attributes[:'status'] + else + self.status = nil + end + + if attributes.key?(:'integration_id') + self.integration_id = attributes[:'integration_id'] + else + self.integration_id = nil + end + + if attributes.key?(:'candidate') + self.candidate = attributes[:'candidate'] + else + self.candidate = nil + end + + if attributes.key?(:'application') + self.application = attributes[:'application'] + else + self.application = nil + end + + if attributes.key?(:'job') + self.job = attributes[:'job'] + else + self.job = nil + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + warn '[DEPRECATED] the `list_invalid_properties` method is obsolete' + invalid_properties = Array.new + if @id.nil? + invalid_properties.push('invalid value for "id", id cannot be nil.') + end + + if @package_id.nil? + invalid_properties.push('invalid value for "package_id", package_id cannot be nil.') + end + + if @status.nil? + invalid_properties.push('invalid value for "status", status cannot be nil.') + end + + if @integration_id.nil? + invalid_properties.push('invalid value for "integration_id", integration_id cannot be nil.') + end + + if @candidate.nil? + invalid_properties.push('invalid value for "candidate", candidate cannot be nil.') + end + + if @application.nil? + invalid_properties.push('invalid value for "application", application cannot be nil.') + end + + if @job.nil? + invalid_properties.push('invalid value for "job", job cannot be nil.') + end + + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + warn '[DEPRECATED] the `valid?` method is obsolete' + return false if @id.nil? + return false if @package_id.nil? + return false if @status.nil? + status_validator = EnumAttributeValidator.new('String', ["OPEN", "COMPLETED", "CANCELLED", "REJECTED"]) + return false unless status_validator.valid?(@status) + return false if @integration_id.nil? + return false if @candidate.nil? + return false if @application.nil? + return false if @job.nil? + true + end + + # Custom attribute writer method with validation + # @param [Object] id Value to be assigned + def id=(id) + if id.nil? + fail ArgumentError, 'id cannot be nil' + end + + @id = id + end + + # Custom attribute writer method with validation + # @param [Object] package_id Value to be assigned + def package_id=(package_id) + if package_id.nil? + fail ArgumentError, 'package_id cannot be nil' + end + + @package_id = package_id + end + + # Custom attribute writer method checking allowed values (enum). + # @param [Object] status Object to be assigned + def status=(status) + validator = EnumAttributeValidator.new('String', ["OPEN", "COMPLETED", "CANCELLED", "REJECTED"]) + unless validator.valid?(status) + fail ArgumentError, "invalid value for \"status\", must be one of #{validator.allowable_values}." + end + @status = status + end + + # Custom attribute writer method with validation + # @param [Object] integration_id Value to be assigned + def integration_id=(integration_id) + if integration_id.nil? + fail ArgumentError, 'integration_id cannot be nil' + end + + @integration_id = integration_id + end + + # Custom attribute writer method with validation + # @param [Object] candidate Value to be assigned + def candidate=(candidate) + if candidate.nil? + fail ArgumentError, 'candidate cannot be nil' + end + + @candidate = candidate + end + + # Custom attribute writer method with validation + # @param [Object] application Value to be assigned + def application=(application) + if application.nil? + fail ArgumentError, 'application cannot be nil' + end + + @application = application + end + + # Custom attribute writer method with validation + # @param [Object] job Value to be assigned + def job=(job) + if job.nil? + fail ArgumentError, 'job cannot be nil' + end + + @job = job + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + id == o.id && + package_id == o.package_id && + status == o.status && + integration_id == o.integration_id && + candidate == o.candidate && + application == o.application && + job == o.job + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [id, package_id, status, integration_id, candidate, application, job].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + transformed_hash = {} + openapi_types.each_pair do |key, type| + if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = nil + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[attribute_map[key]].is_a?(Array) + transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) } + end + elsif !attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]]) + end + end + new(transformed_hash) + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + end + +end diff --git a/lib/kombo_client/models/assessment_order_received_webhook_payload_data_application.rb b/lib/kombo_client/models/assessment_order_received_webhook_payload_data_application.rb new file mode 100644 index 0000000..256ada7 --- /dev/null +++ b/lib/kombo_client/models/assessment_order_received_webhook_payload_data_application.rb @@ -0,0 +1,149 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.17.0 + +=end + +require 'date' +require 'time' + +module Kombo + # Information about the job application. + class AssessmentOrderReceivedWebhookPayloadDataApplication < ApiModelBase + # The application's identifier in the integrated system. + attr_accessor :remote_id + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'remote_id' => :'remote_id' + } + end + + # Returns attribute mapping this model knows about + def self.acceptable_attribute_map + attribute_map + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + acceptable_attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'remote_id' => :'String' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Kombo::AssessmentOrderReceivedWebhookPayloadDataApplication` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + acceptable_attribute_map = self.class.acceptable_attribute_map + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!acceptable_attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Kombo::AssessmentOrderReceivedWebhookPayloadDataApplication`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'remote_id') + self.remote_id = attributes[:'remote_id'] + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + warn '[DEPRECATED] the `list_invalid_properties` method is obsolete' + invalid_properties = Array.new + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + warn '[DEPRECATED] the `valid?` method is obsolete' + true + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + remote_id == o.remote_id + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [remote_id].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + transformed_hash = {} + openapi_types.each_pair do |key, type| + if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = nil + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[attribute_map[key]].is_a?(Array) + transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) } + end + elsif !attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]]) + end + end + new(transformed_hash) + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + end + +end diff --git a/lib/kombo_client/models/assessment_order_received_webhook_payload_data_candidate.rb b/lib/kombo_client/models/assessment_order_received_webhook_payload_data_candidate.rb new file mode 100644 index 0000000..67f3de1 --- /dev/null +++ b/lib/kombo_client/models/assessment_order_received_webhook_payload_data_candidate.rb @@ -0,0 +1,206 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.17.0 + +=end + +require 'date' +require 'time' + +module Kombo + # Information about the candidate taking the assessment. + class AssessmentOrderReceivedWebhookPayloadDataCandidate < ApiModelBase + # The candidate's email address. + attr_accessor :email + + # The candidate's first name. + attr_accessor :first_name + + # The candidate's last name. + attr_accessor :last_name + + # The candidate's phone number. + attr_accessor :phone + + # The candidate's identifier in the integrated system. + attr_accessor :remote_id + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'email' => :'email', + :'first_name' => :'first_name', + :'last_name' => :'last_name', + :'phone' => :'phone', + :'remote_id' => :'remote_id' + } + end + + # Returns attribute mapping this model knows about + def self.acceptable_attribute_map + attribute_map + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + acceptable_attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'email' => :'String', + :'first_name' => :'String', + :'last_name' => :'String', + :'phone' => :'String', + :'remote_id' => :'String' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Kombo::AssessmentOrderReceivedWebhookPayloadDataCandidate` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + acceptable_attribute_map = self.class.acceptable_attribute_map + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!acceptable_attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Kombo::AssessmentOrderReceivedWebhookPayloadDataCandidate`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'email') + self.email = attributes[:'email'] + else + self.email = nil + end + + if attributes.key?(:'first_name') + self.first_name = attributes[:'first_name'] + end + + if attributes.key?(:'last_name') + self.last_name = attributes[:'last_name'] + end + + if attributes.key?(:'phone') + self.phone = attributes[:'phone'] + end + + if attributes.key?(:'remote_id') + self.remote_id = attributes[:'remote_id'] + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + warn '[DEPRECATED] the `list_invalid_properties` method is obsolete' + invalid_properties = Array.new + if @email.nil? + invalid_properties.push('invalid value for "email", email cannot be nil.') + end + + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + warn '[DEPRECATED] the `valid?` method is obsolete' + return false if @email.nil? + true + end + + # Custom attribute writer method with validation + # @param [Object] email Value to be assigned + def email=(email) + if email.nil? + fail ArgumentError, 'email cannot be nil' + end + + @email = email + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + email == o.email && + first_name == o.first_name && + last_name == o.last_name && + phone == o.phone && + remote_id == o.remote_id + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [email, first_name, last_name, phone, remote_id].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + transformed_hash = {} + openapi_types.each_pair do |key, type| + if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = nil + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[attribute_map[key]].is_a?(Array) + transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) } + end + elsif !attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]]) + end + end + new(transformed_hash) + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + end + +end diff --git a/lib/kombo_client/models/assessment_order_received_webhook_payload_data_job.rb b/lib/kombo_client/models/assessment_order_received_webhook_payload_data_job.rb new file mode 100644 index 0000000..3d0b697 --- /dev/null +++ b/lib/kombo_client/models/assessment_order_received_webhook_payload_data_job.rb @@ -0,0 +1,197 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.17.0 + +=end + +require 'date' +require 'time' + +module Kombo + # Information about the job posting. + class AssessmentOrderReceivedWebhookPayloadDataJob < ApiModelBase + # The job's identifier in the integrated system. + attr_accessor :remote_id + + # The job title. + attr_accessor :name + + attr_accessor :location + + # The hiring team allows you to sync users into your system who can access the job and its applications. + attr_accessor :hiring_team + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'remote_id' => :'remote_id', + :'name' => :'name', + :'location' => :'location', + :'hiring_team' => :'hiring_team' + } + end + + # Returns attribute mapping this model knows about + def self.acceptable_attribute_map + attribute_map + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + acceptable_attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'remote_id' => :'String', + :'name' => :'String', + :'location' => :'AssessmentOrderReceivedWebhookPayloadDataJobLocation', + :'hiring_team' => :'Array' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Kombo::AssessmentOrderReceivedWebhookPayloadDataJob` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + acceptable_attribute_map = self.class.acceptable_attribute_map + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!acceptable_attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Kombo::AssessmentOrderReceivedWebhookPayloadDataJob`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'remote_id') + self.remote_id = attributes[:'remote_id'] + end + + if attributes.key?(:'name') + self.name = attributes[:'name'] + end + + if attributes.key?(:'location') + self.location = attributes[:'location'] + end + + if attributes.key?(:'hiring_team') + if (value = attributes[:'hiring_team']).is_a?(Array) + self.hiring_team = value + end + else + self.hiring_team = nil + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + warn '[DEPRECATED] the `list_invalid_properties` method is obsolete' + invalid_properties = Array.new + if @hiring_team.nil? + invalid_properties.push('invalid value for "hiring_team", hiring_team cannot be nil.') + end + + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + warn '[DEPRECATED] the `valid?` method is obsolete' + return false if @hiring_team.nil? + true + end + + # Custom attribute writer method with validation + # @param [Object] hiring_team Value to be assigned + def hiring_team=(hiring_team) + if hiring_team.nil? + fail ArgumentError, 'hiring_team cannot be nil' + end + + @hiring_team = hiring_team + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + remote_id == o.remote_id && + name == o.name && + location == o.location && + hiring_team == o.hiring_team + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [remote_id, name, location, hiring_team].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + transformed_hash = {} + openapi_types.each_pair do |key, type| + if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = nil + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[attribute_map[key]].is_a?(Array) + transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) } + end + elsif !attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]]) + end + end + new(transformed_hash) + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + end + +end diff --git a/lib/kombo_client/models/assessment_order_received_webhook_payload_data_job_hiring_team_inner.rb b/lib/kombo_client/models/assessment_order_received_webhook_payload_data_job_hiring_team_inner.rb new file mode 100644 index 0000000..09da4be --- /dev/null +++ b/lib/kombo_client/models/assessment_order_received_webhook_payload_data_job_hiring_team_inner.rb @@ -0,0 +1,288 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.17.0 + +=end + +require 'date' +require 'time' + +module Kombo + # A member of the hiring team. + class AssessmentOrderReceivedWebhookPayloadDataJobHiringTeamInner < ApiModelBase + # The team member's identifier in the integrated system. + attr_accessor :remote_id + + # The team member's email address. + attr_accessor :email + + # The team member's first name. + attr_accessor :first_name + + # The team member's last name. + attr_accessor :last_name + + # Array of the roles of the user for this specific job. Currently only `RECRUITER` and `HIRING_MANAGER` are mapped into our unified schema. + attr_accessor :hiring_team_roles + + class EnumAttributeValidator + attr_reader :datatype + attr_reader :allowable_values + + def initialize(datatype, allowable_values) + @allowable_values = allowable_values.map do |value| + case datatype.to_s + when /Integer/i + value.to_i + when /Float/i + value.to_f + else + value + end + end + end + + def valid?(value) + !value || allowable_values.include?(value) + end + end + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'remote_id' => :'remote_id', + :'email' => :'email', + :'first_name' => :'first_name', + :'last_name' => :'last_name', + :'hiring_team_roles' => :'hiring_team_roles' + } + end + + # Returns attribute mapping this model knows about + def self.acceptable_attribute_map + attribute_map + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + acceptable_attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'remote_id' => :'String', + :'email' => :'String', + :'first_name' => :'String', + :'last_name' => :'String', + :'hiring_team_roles' => :'Array' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Kombo::AssessmentOrderReceivedWebhookPayloadDataJobHiringTeamInner` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + acceptable_attribute_map = self.class.acceptable_attribute_map + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!acceptable_attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Kombo::AssessmentOrderReceivedWebhookPayloadDataJobHiringTeamInner`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'remote_id') + self.remote_id = attributes[:'remote_id'] + else + self.remote_id = nil + end + + if attributes.key?(:'email') + self.email = attributes[:'email'] + else + self.email = nil + end + + if attributes.key?(:'first_name') + self.first_name = attributes[:'first_name'] + else + self.first_name = nil + end + + if attributes.key?(:'last_name') + self.last_name = attributes[:'last_name'] + else + self.last_name = nil + end + + if attributes.key?(:'hiring_team_roles') + if (value = attributes[:'hiring_team_roles']).is_a?(Array) + self.hiring_team_roles = value + end + else + self.hiring_team_roles = nil + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + warn '[DEPRECATED] the `list_invalid_properties` method is obsolete' + invalid_properties = Array.new + if @remote_id.nil? + invalid_properties.push('invalid value for "remote_id", remote_id cannot be nil.') + end + + if @email.nil? + invalid_properties.push('invalid value for "email", email cannot be nil.') + end + + if @first_name.nil? + invalid_properties.push('invalid value for "first_name", first_name cannot be nil.') + end + + if @last_name.nil? + invalid_properties.push('invalid value for "last_name", last_name cannot be nil.') + end + + if @hiring_team_roles.nil? + invalid_properties.push('invalid value for "hiring_team_roles", hiring_team_roles cannot be nil.') + end + + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + warn '[DEPRECATED] the `valid?` method is obsolete' + return false if @remote_id.nil? + return false if @email.nil? + return false if @first_name.nil? + return false if @last_name.nil? + return false if @hiring_team_roles.nil? + true + end + + # Custom attribute writer method with validation + # @param [Object] remote_id Value to be assigned + def remote_id=(remote_id) + if remote_id.nil? + fail ArgumentError, 'remote_id cannot be nil' + end + + @remote_id = remote_id + end + + # Custom attribute writer method with validation + # @param [Object] email Value to be assigned + def email=(email) + if email.nil? + fail ArgumentError, 'email cannot be nil' + end + + @email = email + end + + # Custom attribute writer method with validation + # @param [Object] first_name Value to be assigned + def first_name=(first_name) + if first_name.nil? + fail ArgumentError, 'first_name cannot be nil' + end + + @first_name = first_name + end + + # Custom attribute writer method with validation + # @param [Object] last_name Value to be assigned + def last_name=(last_name) + if last_name.nil? + fail ArgumentError, 'last_name cannot be nil' + end + + @last_name = last_name + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + remote_id == o.remote_id && + email == o.email && + first_name == o.first_name && + last_name == o.last_name && + hiring_team_roles == o.hiring_team_roles + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [remote_id, email, first_name, last_name, hiring_team_roles].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + transformed_hash = {} + openapi_types.each_pair do |key, type| + if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = nil + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[attribute_map[key]].is_a?(Array) + transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) } + end + elsif !attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]]) + end + end + new(transformed_hash) + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + end + +end diff --git a/lib/kombo_client/models/assessment_order_received_webhook_payload_data_job_location.rb b/lib/kombo_client/models/assessment_order_received_webhook_payload_data_job_location.rb new file mode 100644 index 0000000..e011972 --- /dev/null +++ b/lib/kombo_client/models/assessment_order_received_webhook_payload_data_job_location.rb @@ -0,0 +1,205 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.17.0 + +=end + +require 'date' +require 'time' + +module Kombo + # The job location information. + class AssessmentOrderReceivedWebhookPayloadDataJobLocation < ApiModelBase + attr_accessor :city + + # Contains the ISO2 country code if possible. If not, it contains the original value. + attr_accessor :country + + # If we have address data, this is filled with the raw address string. + attr_accessor :raw + + attr_accessor :state + + # If we can parse the address data, this field contains the first part of the street information. + attr_accessor :street_1 + + attr_accessor :street_2 + + attr_accessor :zip_code + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'city' => :'city', + :'country' => :'country', + :'raw' => :'raw', + :'state' => :'state', + :'street_1' => :'street_1', + :'street_2' => :'street_2', + :'zip_code' => :'zip_code' + } + end + + # Returns attribute mapping this model knows about + def self.acceptable_attribute_map + attribute_map + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + acceptable_attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'city' => :'String', + :'country' => :'String', + :'raw' => :'String', + :'state' => :'String', + :'street_1' => :'String', + :'street_2' => :'String', + :'zip_code' => :'String' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Kombo::AssessmentOrderReceivedWebhookPayloadDataJobLocation` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + acceptable_attribute_map = self.class.acceptable_attribute_map + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!acceptable_attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Kombo::AssessmentOrderReceivedWebhookPayloadDataJobLocation`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'city') + self.city = attributes[:'city'] + end + + if attributes.key?(:'country') + self.country = attributes[:'country'] + end + + if attributes.key?(:'raw') + self.raw = attributes[:'raw'] + end + + if attributes.key?(:'state') + self.state = attributes[:'state'] + end + + if attributes.key?(:'street_1') + self.street_1 = attributes[:'street_1'] + end + + if attributes.key?(:'street_2') + self.street_2 = attributes[:'street_2'] + end + + if attributes.key?(:'zip_code') + self.zip_code = attributes[:'zip_code'] + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + warn '[DEPRECATED] the `list_invalid_properties` method is obsolete' + invalid_properties = Array.new + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + warn '[DEPRECATED] the `valid?` method is obsolete' + true + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + city == o.city && + country == o.country && + raw == o.raw && + state == o.state && + street_1 == o.street_1 && + street_2 == o.street_2 && + zip_code == o.zip_code + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [city, country, raw, state, street_1, street_2, zip_code].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + transformed_hash = {} + openapi_types.each_pair do |key, type| + if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = nil + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[attribute_map[key]].is_a?(Array) + transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) } + end + elsif !attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]]) + end + end + new(transformed_hash) + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + end + +end diff --git a/lib/kombo_client/models/connection_flow_failed_webhook_payload.rb b/lib/kombo_client/models/connection_flow_failed_webhook_payload.rb new file mode 100644 index 0000000..6cce6bc --- /dev/null +++ b/lib/kombo_client/models/connection_flow_failed_webhook_payload.rb @@ -0,0 +1,242 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.17.0 + +=end + +require 'date' +require 'time' + +module Kombo + class ConnectionFlowFailedWebhookPayload < ApiModelBase + # Unique identifier for this webhook event + attr_accessor :id + + # Type of the webhook event + attr_accessor :type + + attr_accessor :data + + class EnumAttributeValidator + attr_reader :datatype + attr_reader :allowable_values + + def initialize(datatype, allowable_values) + @allowable_values = allowable_values.map do |value| + case datatype.to_s + when /Integer/i + value.to_i + when /Float/i + value.to_f + else + value + end + end + end + + def valid?(value) + !value || allowable_values.include?(value) + end + end + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'id' => :'id', + :'type' => :'type', + :'data' => :'data' + } + end + + # Returns attribute mapping this model knows about + def self.acceptable_attribute_map + attribute_map + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + acceptable_attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'id' => :'String', + :'type' => :'String', + :'data' => :'ConnectionFlowFailedWebhookPayloadData' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Kombo::ConnectionFlowFailedWebhookPayload` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + acceptable_attribute_map = self.class.acceptable_attribute_map + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!acceptable_attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Kombo::ConnectionFlowFailedWebhookPayload`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'id') + self.id = attributes[:'id'] + else + self.id = nil + end + + if attributes.key?(:'type') + self.type = attributes[:'type'] + else + self.type = nil + end + + if attributes.key?(:'data') + self.data = attributes[:'data'] + else + self.data = nil + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + warn '[DEPRECATED] the `list_invalid_properties` method is obsolete' + invalid_properties = Array.new + if @id.nil? + invalid_properties.push('invalid value for "id", id cannot be nil.') + end + + if @type.nil? + invalid_properties.push('invalid value for "type", type cannot be nil.') + end + + if @data.nil? + invalid_properties.push('invalid value for "data", data cannot be nil.') + end + + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + warn '[DEPRECATED] the `valid?` method is obsolete' + return false if @id.nil? + return false if @type.nil? + type_validator = EnumAttributeValidator.new('String', ["connection-flow-failed"]) + return false unless type_validator.valid?(@type) + return false if @data.nil? + true + end + + # Custom attribute writer method with validation + # @param [Object] id Value to be assigned + def id=(id) + if id.nil? + fail ArgumentError, 'id cannot be nil' + end + + @id = id + end + + # Custom attribute writer method checking allowed values (enum). + # @param [Object] type Object to be assigned + def type=(type) + validator = EnumAttributeValidator.new('String', ["connection-flow-failed"]) + unless validator.valid?(type) + fail ArgumentError, "invalid value for \"type\", must be one of #{validator.allowable_values}." + end + @type = type + end + + # Custom attribute writer method with validation + # @param [Object] data Value to be assigned + def data=(data) + if data.nil? + fail ArgumentError, 'data cannot be nil' + end + + @data = data + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + id == o.id && + type == o.type && + data == o.data + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [id, type, data].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + transformed_hash = {} + openapi_types.each_pair do |key, type| + if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = nil + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[attribute_map[key]].is_a?(Array) + transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) } + end + elsif !attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]]) + end + end + new(transformed_hash) + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + end + +end diff --git a/lib/kombo_client/models/connection_flow_failed_webhook_payload_data.rb b/lib/kombo_client/models/connection_flow_failed_webhook_payload_data.rb new file mode 100644 index 0000000..a4cb7f3 --- /dev/null +++ b/lib/kombo_client/models/connection_flow_failed_webhook_payload_data.rb @@ -0,0 +1,269 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.17.0 + +=end + +require 'date' +require 'time' + +module Kombo + class ConnectionFlowFailedWebhookPayloadData < ApiModelBase + # The name of the integrated tool (e.g., \"personio\", \"greenhouse\"). + attr_accessor :integration_tool + + # The category of the integration (HRIS, ATS, or ASSESSMENT). + attr_accessor :integration_category + + attr_accessor :end_user + + # URL to view detailed logs for the operation. + attr_accessor :log_url + + class EnumAttributeValidator + attr_reader :datatype + attr_reader :allowable_values + + def initialize(datatype, allowable_values) + @allowable_values = allowable_values.map do |value| + case datatype.to_s + when /Integer/i + value.to_i + when /Float/i + value.to_f + else + value + end + end + end + + def valid?(value) + !value || allowable_values.include?(value) + end + end + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'integration_tool' => :'integration_tool', + :'integration_category' => :'integration_category', + :'end_user' => :'end_user', + :'log_url' => :'log_url' + } + end + + # Returns attribute mapping this model knows about + def self.acceptable_attribute_map + attribute_map + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + acceptable_attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'integration_tool' => :'String', + :'integration_category' => :'String', + :'end_user' => :'ConnectionFlowFailedWebhookPayloadDataEndUser', + :'log_url' => :'String' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Kombo::ConnectionFlowFailedWebhookPayloadData` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + acceptable_attribute_map = self.class.acceptable_attribute_map + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!acceptable_attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Kombo::ConnectionFlowFailedWebhookPayloadData`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'integration_tool') + self.integration_tool = attributes[:'integration_tool'] + else + self.integration_tool = nil + end + + if attributes.key?(:'integration_category') + self.integration_category = attributes[:'integration_category'] + else + self.integration_category = nil + end + + if attributes.key?(:'end_user') + self.end_user = attributes[:'end_user'] + else + self.end_user = nil + end + + if attributes.key?(:'log_url') + self.log_url = attributes[:'log_url'] + else + self.log_url = nil + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + warn '[DEPRECATED] the `list_invalid_properties` method is obsolete' + invalid_properties = Array.new + if @integration_tool.nil? + invalid_properties.push('invalid value for "integration_tool", integration_tool cannot be nil.') + end + + if @integration_category.nil? + invalid_properties.push('invalid value for "integration_category", integration_category cannot be nil.') + end + + if @end_user.nil? + invalid_properties.push('invalid value for "end_user", end_user cannot be nil.') + end + + if @log_url.nil? + invalid_properties.push('invalid value for "log_url", log_url cannot be nil.') + end + + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + warn '[DEPRECATED] the `valid?` method is obsolete' + return false if @integration_tool.nil? + return false if @integration_category.nil? + integration_category_validator = EnumAttributeValidator.new('String', ["HRIS", "ATS", "ASSESSMENT"]) + return false unless integration_category_validator.valid?(@integration_category) + return false if @end_user.nil? + return false if @log_url.nil? + true + end + + # Custom attribute writer method with validation + # @param [Object] integration_tool Value to be assigned + def integration_tool=(integration_tool) + if integration_tool.nil? + fail ArgumentError, 'integration_tool cannot be nil' + end + + @integration_tool = integration_tool + end + + # Custom attribute writer method checking allowed values (enum). + # @param [Object] integration_category Object to be assigned + def integration_category=(integration_category) + validator = EnumAttributeValidator.new('String', ["HRIS", "ATS", "ASSESSMENT"]) + unless validator.valid?(integration_category) + fail ArgumentError, "invalid value for \"integration_category\", must be one of #{validator.allowable_values}." + end + @integration_category = integration_category + end + + # Custom attribute writer method with validation + # @param [Object] end_user Value to be assigned + def end_user=(end_user) + if end_user.nil? + fail ArgumentError, 'end_user cannot be nil' + end + + @end_user = end_user + end + + # Custom attribute writer method with validation + # @param [Object] log_url Value to be assigned + def log_url=(log_url) + if log_url.nil? + fail ArgumentError, 'log_url cannot be nil' + end + + @log_url = log_url + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + integration_tool == o.integration_tool && + integration_category == o.integration_category && + end_user == o.end_user && + log_url == o.log_url + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [integration_tool, integration_category, end_user, log_url].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + transformed_hash = {} + openapi_types.each_pair do |key, type| + if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = nil + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[attribute_map[key]].is_a?(Array) + transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) } + end + elsif !attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]]) + end + end + new(transformed_hash) + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + end + +end diff --git a/lib/kombo_client/models/connection_flow_failed_webhook_payload_data_end_user.rb b/lib/kombo_client/models/connection_flow_failed_webhook_payload_data_end_user.rb new file mode 100644 index 0000000..3a8fc46 --- /dev/null +++ b/lib/kombo_client/models/connection_flow_failed_webhook_payload_data_end_user.rb @@ -0,0 +1,220 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.17.0 + +=end + +require 'date' +require 'time' + +module Kombo + # Information about the end user who created the integration. + class ConnectionFlowFailedWebhookPayloadDataEndUser < ApiModelBase + # The name of the organization that owns the integration. + attr_accessor :organization_name + + # The email address of the user who created the integration. + attr_accessor :creator_email + + # The unique identifier of the organization in the integrated system. + attr_accessor :origin_id + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'organization_name' => :'organization_name', + :'creator_email' => :'creator_email', + :'origin_id' => :'origin_id' + } + end + + # Returns attribute mapping this model knows about + def self.acceptable_attribute_map + attribute_map + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + acceptable_attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'organization_name' => :'String', + :'creator_email' => :'String', + :'origin_id' => :'String' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Kombo::ConnectionFlowFailedWebhookPayloadDataEndUser` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + acceptable_attribute_map = self.class.acceptable_attribute_map + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!acceptable_attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Kombo::ConnectionFlowFailedWebhookPayloadDataEndUser`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'organization_name') + self.organization_name = attributes[:'organization_name'] + else + self.organization_name = nil + end + + if attributes.key?(:'creator_email') + self.creator_email = attributes[:'creator_email'] + else + self.creator_email = nil + end + + if attributes.key?(:'origin_id') + self.origin_id = attributes[:'origin_id'] + else + self.origin_id = nil + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + warn '[DEPRECATED] the `list_invalid_properties` method is obsolete' + invalid_properties = Array.new + if @organization_name.nil? + invalid_properties.push('invalid value for "organization_name", organization_name cannot be nil.') + end + + if @creator_email.nil? + invalid_properties.push('invalid value for "creator_email", creator_email cannot be nil.') + end + + if @origin_id.nil? + invalid_properties.push('invalid value for "origin_id", origin_id cannot be nil.') + end + + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + warn '[DEPRECATED] the `valid?` method is obsolete' + return false if @organization_name.nil? + return false if @creator_email.nil? + return false if @origin_id.nil? + true + end + + # Custom attribute writer method with validation + # @param [Object] organization_name Value to be assigned + def organization_name=(organization_name) + if organization_name.nil? + fail ArgumentError, 'organization_name cannot be nil' + end + + @organization_name = organization_name + end + + # Custom attribute writer method with validation + # @param [Object] creator_email Value to be assigned + def creator_email=(creator_email) + if creator_email.nil? + fail ArgumentError, 'creator_email cannot be nil' + end + + @creator_email = creator_email + end + + # Custom attribute writer method with validation + # @param [Object] origin_id Value to be assigned + def origin_id=(origin_id) + if origin_id.nil? + fail ArgumentError, 'origin_id cannot be nil' + end + + @origin_id = origin_id + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + organization_name == o.organization_name && + creator_email == o.creator_email && + origin_id == o.origin_id + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [organization_name, creator_email, origin_id].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + transformed_hash = {} + openapi_types.each_pair do |key, type| + if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = nil + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[attribute_map[key]].is_a?(Array) + transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) } + end + elsif !attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]]) + end + end + new(transformed_hash) + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + end + +end diff --git a/lib/kombo_client/models/data_changed_webhook_payload.rb b/lib/kombo_client/models/data_changed_webhook_payload.rb new file mode 100644 index 0000000..46eae4c --- /dev/null +++ b/lib/kombo_client/models/data_changed_webhook_payload.rb @@ -0,0 +1,242 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.17.0 + +=end + +require 'date' +require 'time' + +module Kombo + class DataChangedWebhookPayload < ApiModelBase + # Unique identifier for this webhook event + attr_accessor :id + + # Type of the webhook event + attr_accessor :type + + attr_accessor :data + + class EnumAttributeValidator + attr_reader :datatype + attr_reader :allowable_values + + def initialize(datatype, allowable_values) + @allowable_values = allowable_values.map do |value| + case datatype.to_s + when /Integer/i + value.to_i + when /Float/i + value.to_f + else + value + end + end + end + + def valid?(value) + !value || allowable_values.include?(value) + end + end + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'id' => :'id', + :'type' => :'type', + :'data' => :'data' + } + end + + # Returns attribute mapping this model knows about + def self.acceptable_attribute_map + attribute_map + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + acceptable_attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'id' => :'String', + :'type' => :'String', + :'data' => :'DataChangedWebhookPayloadData' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Kombo::DataChangedWebhookPayload` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + acceptable_attribute_map = self.class.acceptable_attribute_map + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!acceptable_attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Kombo::DataChangedWebhookPayload`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'id') + self.id = attributes[:'id'] + else + self.id = nil + end + + if attributes.key?(:'type') + self.type = attributes[:'type'] + else + self.type = nil + end + + if attributes.key?(:'data') + self.data = attributes[:'data'] + else + self.data = nil + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + warn '[DEPRECATED] the `list_invalid_properties` method is obsolete' + invalid_properties = Array.new + if @id.nil? + invalid_properties.push('invalid value for "id", id cannot be nil.') + end + + if @type.nil? + invalid_properties.push('invalid value for "type", type cannot be nil.') + end + + if @data.nil? + invalid_properties.push('invalid value for "data", data cannot be nil.') + end + + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + warn '[DEPRECATED] the `valid?` method is obsolete' + return false if @id.nil? + return false if @type.nil? + type_validator = EnumAttributeValidator.new('String', ["data-changed"]) + return false unless type_validator.valid?(@type) + return false if @data.nil? + true + end + + # Custom attribute writer method with validation + # @param [Object] id Value to be assigned + def id=(id) + if id.nil? + fail ArgumentError, 'id cannot be nil' + end + + @id = id + end + + # Custom attribute writer method checking allowed values (enum). + # @param [Object] type Object to be assigned + def type=(type) + validator = EnumAttributeValidator.new('String', ["data-changed"]) + unless validator.valid?(type) + fail ArgumentError, "invalid value for \"type\", must be one of #{validator.allowable_values}." + end + @type = type + end + + # Custom attribute writer method with validation + # @param [Object] data Value to be assigned + def data=(data) + if data.nil? + fail ArgumentError, 'data cannot be nil' + end + + @data = data + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + id == o.id && + type == o.type && + data == o.data + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [id, type, data].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + transformed_hash = {} + openapi_types.each_pair do |key, type| + if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = nil + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[attribute_map[key]].is_a?(Array) + transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) } + end + elsif !attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]]) + end + end + new(transformed_hash) + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + end + +end diff --git a/lib/kombo_client/models/data_changed_webhook_payload_data.rb b/lib/kombo_client/models/data_changed_webhook_payload_data.rb new file mode 100644 index 0000000..4a72009 --- /dev/null +++ b/lib/kombo_client/models/data_changed_webhook_payload_data.rb @@ -0,0 +1,272 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.17.0 + +=end + +require 'date' +require 'time' + +module Kombo + class DataChangedWebhookPayloadData < ApiModelBase + # The unique identifier of the integration. + attr_accessor :integration_id + + # The name of the integrated tool (e.g., \"personio\", \"greenhouse\"). + attr_accessor :integration_tool + + # The category of the integration (HRIS, ATS, or ASSESSMENT). + attr_accessor :integration_category + + # List of data models and connections for which one or more records were created, updated, or deleted. + attr_accessor :changed_models + + class EnumAttributeValidator + attr_reader :datatype + attr_reader :allowable_values + + def initialize(datatype, allowable_values) + @allowable_values = allowable_values.map do |value| + case datatype.to_s + when /Integer/i + value.to_i + when /Float/i + value.to_f + else + value + end + end + end + + def valid?(value) + !value || allowable_values.include?(value) + end + end + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'integration_id' => :'integration_id', + :'integration_tool' => :'integration_tool', + :'integration_category' => :'integration_category', + :'changed_models' => :'changed_models' + } + end + + # Returns attribute mapping this model knows about + def self.acceptable_attribute_map + attribute_map + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + acceptable_attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'integration_id' => :'String', + :'integration_tool' => :'String', + :'integration_category' => :'String', + :'changed_models' => :'Array' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Kombo::DataChangedWebhookPayloadData` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + acceptable_attribute_map = self.class.acceptable_attribute_map + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!acceptable_attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Kombo::DataChangedWebhookPayloadData`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'integration_id') + self.integration_id = attributes[:'integration_id'] + else + self.integration_id = nil + end + + if attributes.key?(:'integration_tool') + self.integration_tool = attributes[:'integration_tool'] + else + self.integration_tool = nil + end + + if attributes.key?(:'integration_category') + self.integration_category = attributes[:'integration_category'] + else + self.integration_category = nil + end + + if attributes.key?(:'changed_models') + if (value = attributes[:'changed_models']).is_a?(Array) + self.changed_models = value + end + else + self.changed_models = nil + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + warn '[DEPRECATED] the `list_invalid_properties` method is obsolete' + invalid_properties = Array.new + if @integration_id.nil? + invalid_properties.push('invalid value for "integration_id", integration_id cannot be nil.') + end + + if @integration_tool.nil? + invalid_properties.push('invalid value for "integration_tool", integration_tool cannot be nil.') + end + + if @integration_category.nil? + invalid_properties.push('invalid value for "integration_category", integration_category cannot be nil.') + end + + if @changed_models.nil? + invalid_properties.push('invalid value for "changed_models", changed_models cannot be nil.') + end + + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + warn '[DEPRECATED] the `valid?` method is obsolete' + return false if @integration_id.nil? + return false if @integration_tool.nil? + return false if @integration_category.nil? + integration_category_validator = EnumAttributeValidator.new('String', ["HRIS", "ATS", "ASSESSMENT"]) + return false unless integration_category_validator.valid?(@integration_category) + return false if @changed_models.nil? + true + end + + # Custom attribute writer method with validation + # @param [Object] integration_id Value to be assigned + def integration_id=(integration_id) + if integration_id.nil? + fail ArgumentError, 'integration_id cannot be nil' + end + + @integration_id = integration_id + end + + # Custom attribute writer method with validation + # @param [Object] integration_tool Value to be assigned + def integration_tool=(integration_tool) + if integration_tool.nil? + fail ArgumentError, 'integration_tool cannot be nil' + end + + @integration_tool = integration_tool + end + + # Custom attribute writer method checking allowed values (enum). + # @param [Object] integration_category Object to be assigned + def integration_category=(integration_category) + validator = EnumAttributeValidator.new('String', ["HRIS", "ATS", "ASSESSMENT"]) + unless validator.valid?(integration_category) + fail ArgumentError, "invalid value for \"integration_category\", must be one of #{validator.allowable_values}." + end + @integration_category = integration_category + end + + # Custom attribute writer method with validation + # @param [Object] changed_models Value to be assigned + def changed_models=(changed_models) + if changed_models.nil? + fail ArgumentError, 'changed_models cannot be nil' + end + + @changed_models = changed_models + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + integration_id == o.integration_id && + integration_tool == o.integration_tool && + integration_category == o.integration_category && + changed_models == o.changed_models + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [integration_id, integration_tool, integration_category, changed_models].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + transformed_hash = {} + openapi_types.each_pair do |key, type| + if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = nil + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[attribute_map[key]].is_a?(Array) + transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) } + end + elsif !attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]]) + end + end + new(transformed_hash) + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + end + +end diff --git a/lib/kombo_client/models/data_changed_webhook_payload_data_changed_models_inner.rb b/lib/kombo_client/models/data_changed_webhook_payload_data_changed_models_inner.rb new file mode 100644 index 0000000..2c7a8dc --- /dev/null +++ b/lib/kombo_client/models/data_changed_webhook_payload_data_changed_models_inner.rb @@ -0,0 +1,190 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.17.0 + +=end + +require 'date' +require 'time' + +module Kombo + # A model or connection that has changed in the integration. + class DataChangedWebhookPayloadDataChangedModelsInner < ApiModelBase + # The name of the Kombo model or connection that changed. + attr_accessor :name + + class EnumAttributeValidator + attr_reader :datatype + attr_reader :allowable_values + + def initialize(datatype, allowable_values) + @allowable_values = allowable_values.map do |value| + case datatype.to_s + when /Integer/i + value.to_i + when /Float/i + value.to_f + else + value + end + end + end + + def valid?(value) + !value || allowable_values.include?(value) + end + end + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'name' => :'name' + } + end + + # Returns attribute mapping this model knows about + def self.acceptable_attribute_map + attribute_map + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + acceptable_attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'name' => :'String' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Kombo::DataChangedWebhookPayloadDataChangedModelsInner` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + acceptable_attribute_map = self.class.acceptable_attribute_map + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!acceptable_attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Kombo::DataChangedWebhookPayloadDataChangedModelsInner`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'name') + self.name = attributes[:'name'] + else + self.name = nil + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + warn '[DEPRECATED] the `list_invalid_properties` method is obsolete' + invalid_properties = Array.new + if @name.nil? + invalid_properties.push('invalid value for "name", name cannot be nil.') + end + + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + warn '[DEPRECATED] the `valid?` method is obsolete' + return false if @name.nil? + name_validator = EnumAttributeValidator.new('String', ["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"]) + return false unless name_validator.valid?(@name) + true + end + + # Custom attribute writer method checking allowed values (enum). + # @param [Object] name Object to be assigned + def name=(name) + validator = EnumAttributeValidator.new('String', ["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"]) + unless validator.valid?(name) + fail ArgumentError, "invalid value for \"name\", must be one of #{validator.allowable_values}." + end + @name = name + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + name == o.name + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [name].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + transformed_hash = {} + openapi_types.each_pair do |key, type| + if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = nil + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[attribute_map[key]].is_a?(Array) + transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) } + end + elsif !attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]]) + end + end + new(transformed_hash) + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + end + +end diff --git a/lib/kombo_client/models/delete_ats_candidates_candidate_id_tags_positive_response.rb b/lib/kombo_client/models/delete_ats_candidates_candidate_id_tags_positive_response.rb new file mode 100644 index 0000000..f9dd2b5 --- /dev/null +++ b/lib/kombo_client/models/delete_ats_candidates_candidate_id_tags_positive_response.rb @@ -0,0 +1,243 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.17.0 + +=end + +require 'date' +require 'time' + +module Kombo + class DeleteAtsCandidatesCandidateIdTagsPositiveResponse < ApiModelBase + attr_accessor :status + + attr_accessor :data + + # 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. + attr_accessor :warnings + + class EnumAttributeValidator + attr_reader :datatype + attr_reader :allowable_values + + def initialize(datatype, allowable_values) + @allowable_values = allowable_values.map do |value| + case datatype.to_s + when /Integer/i + value.to_i + when /Float/i + value.to_f + else + value + end + end + end + + def valid?(value) + !value || allowable_values.include?(value) + end + end + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'status' => :'status', + :'data' => :'data', + :'warnings' => :'warnings' + } + end + + # Returns attribute mapping this model knows about + def self.acceptable_attribute_map + attribute_map + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + acceptable_attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'status' => :'String', + :'data' => :'Object', + :'warnings' => :'Array' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Kombo::DeleteAtsCandidatesCandidateIdTagsPositiveResponse` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + acceptable_attribute_map = self.class.acceptable_attribute_map + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!acceptable_attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Kombo::DeleteAtsCandidatesCandidateIdTagsPositiveResponse`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'status') + self.status = attributes[:'status'] + else + self.status = nil + end + + if attributes.key?(:'data') + self.data = attributes[:'data'] + else + self.data = nil + end + + if attributes.key?(:'warnings') + if (value = attributes[:'warnings']).is_a?(Array) + self.warnings = value + end + else + self.warnings = nil + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + warn '[DEPRECATED] the `list_invalid_properties` method is obsolete' + invalid_properties = Array.new + if @status.nil? + invalid_properties.push('invalid value for "status", status cannot be nil.') + end + + if @data.nil? + invalid_properties.push('invalid value for "data", data cannot be nil.') + end + + if @warnings.nil? + invalid_properties.push('invalid value for "warnings", warnings cannot be nil.') + end + + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + warn '[DEPRECATED] the `valid?` method is obsolete' + return false if @status.nil? + status_validator = EnumAttributeValidator.new('String', ["success"]) + return false unless status_validator.valid?(@status) + return false if @data.nil? + return false if @warnings.nil? + true + end + + # Custom attribute writer method checking allowed values (enum). + # @param [Object] status Object to be assigned + def status=(status) + validator = EnumAttributeValidator.new('String', ["success"]) + unless validator.valid?(status) + fail ArgumentError, "invalid value for \"status\", must be one of #{validator.allowable_values}." + end + @status = status + end + + # Custom attribute writer method with validation + # @param [Object] data Value to be assigned + def data=(data) + if data.nil? + fail ArgumentError, 'data cannot be nil' + end + + @data = data + end + + # Custom attribute writer method with validation + # @param [Object] warnings Value to be assigned + def warnings=(warnings) + if warnings.nil? + fail ArgumentError, 'warnings cannot be nil' + end + + @warnings = warnings + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + status == o.status && + data == o.data && + warnings == o.warnings + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [status, data, warnings].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + transformed_hash = {} + openapi_types.each_pair do |key, type| + if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = nil + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[attribute_map[key]].is_a?(Array) + transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) } + end + elsif !attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]]) + end + end + new(transformed_hash) + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + end + +end diff --git a/lib/kombo_client/models/delete_ats_candidates_candidate_id_tags_request_body.rb b/lib/kombo_client/models/delete_ats_candidates_candidate_id_tags_request_body.rb new file mode 100644 index 0000000..f3a4001 --- /dev/null +++ b/lib/kombo_client/models/delete_ats_candidates_candidate_id_tags_request_body.rb @@ -0,0 +1,173 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.17.0 + +=end + +require 'date' +require 'time' + +module Kombo + class DeleteAtsCandidatesCandidateIdTagsRequestBody < ApiModelBase + attr_accessor :tag + + attr_accessor :remote_fields + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'tag' => :'tag', + :'remote_fields' => :'remote_fields' + } + end + + # Returns attribute mapping this model knows about + def self.acceptable_attribute_map + attribute_map + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + acceptable_attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'tag' => :'DeleteAtsCandidatesCandidateIdTagsRequestBodyTag', + :'remote_fields' => :'PutAtsApplicationsApplicationIdStageRequestBodyRemoteFields' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Kombo::DeleteAtsCandidatesCandidateIdTagsRequestBody` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + acceptable_attribute_map = self.class.acceptable_attribute_map + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!acceptable_attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Kombo::DeleteAtsCandidatesCandidateIdTagsRequestBody`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'tag') + self.tag = attributes[:'tag'] + else + self.tag = nil + end + + if attributes.key?(:'remote_fields') + self.remote_fields = attributes[:'remote_fields'] + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + warn '[DEPRECATED] the `list_invalid_properties` method is obsolete' + invalid_properties = Array.new + if @tag.nil? + invalid_properties.push('invalid value for "tag", tag cannot be nil.') + end + + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + warn '[DEPRECATED] the `valid?` method is obsolete' + return false if @tag.nil? + true + end + + # Custom attribute writer method with validation + # @param [Object] tag Value to be assigned + def tag=(tag) + if tag.nil? + fail ArgumentError, 'tag cannot be nil' + end + + @tag = tag + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + tag == o.tag && + remote_fields == o.remote_fields + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [tag, remote_fields].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + transformed_hash = {} + openapi_types.each_pair do |key, type| + if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = nil + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[attribute_map[key]].is_a?(Array) + transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) } + end + elsif !attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]]) + end + end + new(transformed_hash) + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + end + +end diff --git a/lib/kombo_client/models/delete_ats_candidates_candidate_id_tags_request_body_tag.rb b/lib/kombo_client/models/delete_ats_candidates_candidate_id_tags_request_body_tag.rb new file mode 100644 index 0000000..f0042fc --- /dev/null +++ b/lib/kombo_client/models/delete_ats_candidates_candidate_id_tags_request_body_tag.rb @@ -0,0 +1,165 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.17.0 + +=end + +require 'date' +require 'time' + +module Kombo + class DeleteAtsCandidatesCandidateIdTagsRequestBodyTag < ApiModelBase + # The name of the tag you would like to remove. + attr_accessor :name + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'name' => :'name' + } + end + + # Returns attribute mapping this model knows about + def self.acceptable_attribute_map + attribute_map + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + acceptable_attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'name' => :'String' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Kombo::DeleteAtsCandidatesCandidateIdTagsRequestBodyTag` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + acceptable_attribute_map = self.class.acceptable_attribute_map + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!acceptable_attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Kombo::DeleteAtsCandidatesCandidateIdTagsRequestBodyTag`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'name') + self.name = attributes[:'name'] + else + self.name = nil + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + warn '[DEPRECATED] the `list_invalid_properties` method is obsolete' + invalid_properties = Array.new + if @name.nil? + invalid_properties.push('invalid value for "name", name cannot be nil.') + end + + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + warn '[DEPRECATED] the `valid?` method is obsolete' + return false if @name.nil? + true + end + + # Custom attribute writer method with validation + # @param [Object] name Value to be assigned + def name=(name) + if name.nil? + fail ArgumentError, 'name cannot be nil' + end + + @name = name + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + name == o.name + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [name].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + transformed_hash = {} + openapi_types.each_pair do |key, type| + if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = nil + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[attribute_map[key]].is_a?(Array) + transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) } + end + elsif !attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]]) + end + end + new(transformed_hash) + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + end + +end diff --git a/lib/kombo_client/models/delete_hris_absences_absence_id_positive_response.rb b/lib/kombo_client/models/delete_hris_absences_absence_id_positive_response.rb new file mode 100644 index 0000000..3207059 --- /dev/null +++ b/lib/kombo_client/models/delete_hris_absences_absence_id_positive_response.rb @@ -0,0 +1,243 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.17.0 + +=end + +require 'date' +require 'time' + +module Kombo + class DeleteHrisAbsencesAbsenceIdPositiveResponse < ApiModelBase + attr_accessor :status + + attr_accessor :data + + # 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. + attr_accessor :warnings + + class EnumAttributeValidator + attr_reader :datatype + attr_reader :allowable_values + + def initialize(datatype, allowable_values) + @allowable_values = allowable_values.map do |value| + case datatype.to_s + when /Integer/i + value.to_i + when /Float/i + value.to_f + else + value + end + end + end + + def valid?(value) + !value || allowable_values.include?(value) + end + end + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'status' => :'status', + :'data' => :'data', + :'warnings' => :'warnings' + } + end + + # Returns attribute mapping this model knows about + def self.acceptable_attribute_map + attribute_map + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + acceptable_attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'status' => :'String', + :'data' => :'PostHrisAbsencesPositiveResponseData', + :'warnings' => :'Array' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Kombo::DeleteHrisAbsencesAbsenceIdPositiveResponse` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + acceptable_attribute_map = self.class.acceptable_attribute_map + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!acceptable_attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Kombo::DeleteHrisAbsencesAbsenceIdPositiveResponse`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'status') + self.status = attributes[:'status'] + else + self.status = nil + end + + if attributes.key?(:'data') + self.data = attributes[:'data'] + else + self.data = nil + end + + if attributes.key?(:'warnings') + if (value = attributes[:'warnings']).is_a?(Array) + self.warnings = value + end + else + self.warnings = nil + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + warn '[DEPRECATED] the `list_invalid_properties` method is obsolete' + invalid_properties = Array.new + if @status.nil? + invalid_properties.push('invalid value for "status", status cannot be nil.') + end + + if @data.nil? + invalid_properties.push('invalid value for "data", data cannot be nil.') + end + + if @warnings.nil? + invalid_properties.push('invalid value for "warnings", warnings cannot be nil.') + end + + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + warn '[DEPRECATED] the `valid?` method is obsolete' + return false if @status.nil? + status_validator = EnumAttributeValidator.new('String', ["success"]) + return false unless status_validator.valid?(@status) + return false if @data.nil? + return false if @warnings.nil? + true + end + + # Custom attribute writer method checking allowed values (enum). + # @param [Object] status Object to be assigned + def status=(status) + validator = EnumAttributeValidator.new('String', ["success"]) + unless validator.valid?(status) + fail ArgumentError, "invalid value for \"status\", must be one of #{validator.allowable_values}." + end + @status = status + end + + # Custom attribute writer method with validation + # @param [Object] data Value to be assigned + def data=(data) + if data.nil? + fail ArgumentError, 'data cannot be nil' + end + + @data = data + end + + # Custom attribute writer method with validation + # @param [Object] warnings Value to be assigned + def warnings=(warnings) + if warnings.nil? + fail ArgumentError, 'warnings cannot be nil' + end + + @warnings = warnings + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + status == o.status && + data == o.data && + warnings == o.warnings + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [status, data, warnings].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + transformed_hash = {} + openapi_types.each_pair do |key, type| + if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = nil + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[attribute_map[key]].is_a?(Array) + transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) } + end + elsif !attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]]) + end + end + new(transformed_hash) + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + end + +end diff --git a/lib/kombo_client/models/delete_hris_absences_absence_id_request_body.rb b/lib/kombo_client/models/delete_hris_absences_absence_id_request_body.rb new file mode 100644 index 0000000..c63c690 --- /dev/null +++ b/lib/kombo_client/models/delete_hris_absences_absence_id_request_body.rb @@ -0,0 +1,147 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.17.0 + +=end + +require 'date' +require 'time' + +module Kombo + class DeleteHrisAbsencesAbsenceIdRequestBody < ApiModelBase + attr_accessor :remote_fields + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'remote_fields' => :'remote_fields' + } + end + + # Returns attribute mapping this model knows about + def self.acceptable_attribute_map + attribute_map + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + acceptable_attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'remote_fields' => :'DeleteHrisAbsencesAbsenceIdRequestBodyRemoteFields' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Kombo::DeleteHrisAbsencesAbsenceIdRequestBody` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + acceptable_attribute_map = self.class.acceptable_attribute_map + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!acceptable_attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Kombo::DeleteHrisAbsencesAbsenceIdRequestBody`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'remote_fields') + self.remote_fields = attributes[:'remote_fields'] + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + warn '[DEPRECATED] the `list_invalid_properties` method is obsolete' + invalid_properties = Array.new + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + warn '[DEPRECATED] the `valid?` method is obsolete' + true + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + remote_fields == o.remote_fields + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [remote_fields].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + transformed_hash = {} + openapi_types.each_pair do |key, type| + if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = nil + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[attribute_map[key]].is_a?(Array) + transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) } + end + elsif !attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]]) + end + end + new(transformed_hash) + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + end + +end diff --git a/lib/kombo_client/models/delete_hris_absences_absence_id_request_body_remote_fields.rb b/lib/kombo_client/models/delete_hris_absences_absence_id_request_body_remote_fields.rb new file mode 100644 index 0000000..6329d64 --- /dev/null +++ b/lib/kombo_client/models/delete_hris_absences_absence_id_request_body_remote_fields.rb @@ -0,0 +1,148 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.17.0 + +=end + +require 'date' +require 'time' + +module Kombo + # Additional fields that we will pass through to specific HRIS systems. + class DeleteHrisAbsencesAbsenceIdRequestBodyRemoteFields < ApiModelBase + attr_accessor :adpworkforcenow + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'adpworkforcenow' => :'adpworkforcenow' + } + end + + # Returns attribute mapping this model knows about + def self.acceptable_attribute_map + attribute_map + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + acceptable_attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'adpworkforcenow' => :'DeleteHrisAbsencesAbsenceIdRequestBodyRemoteFieldsAdpworkforcenow' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Kombo::DeleteHrisAbsencesAbsenceIdRequestBodyRemoteFields` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + acceptable_attribute_map = self.class.acceptable_attribute_map + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!acceptable_attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Kombo::DeleteHrisAbsencesAbsenceIdRequestBodyRemoteFields`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'adpworkforcenow') + self.adpworkforcenow = attributes[:'adpworkforcenow'] + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + warn '[DEPRECATED] the `list_invalid_properties` method is obsolete' + invalid_properties = Array.new + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + warn '[DEPRECATED] the `valid?` method is obsolete' + true + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + adpworkforcenow == o.adpworkforcenow + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [adpworkforcenow].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + transformed_hash = {} + openapi_types.each_pair do |key, type| + if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = nil + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[attribute_map[key]].is_a?(Array) + transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) } + end + elsif !attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]]) + end + end + new(transformed_hash) + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + end + +end diff --git a/lib/kombo_client/models/delete_hris_absences_absence_id_request_body_remote_fields_adpworkforcenow.rb b/lib/kombo_client/models/delete_hris_absences_absence_id_request_body_remote_fields_adpworkforcenow.rb new file mode 100644 index 0000000..470667d --- /dev/null +++ b/lib/kombo_client/models/delete_hris_absences_absence_id_request_body_remote_fields_adpworkforcenow.rb @@ -0,0 +1,149 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.17.0 + +=end + +require 'date' +require 'time' + +module Kombo + # Fields specific to ADP Workforce Now. + class DeleteHrisAbsencesAbsenceIdRequestBodyRemoteFieldsAdpworkforcenow < ApiModelBase + # [Required] The employment ID of the employee that the absence will be deleted from. + attr_accessor :employment_id + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'employment_id' => :'employment_id' + } + end + + # Returns attribute mapping this model knows about + def self.acceptable_attribute_map + attribute_map + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + acceptable_attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'employment_id' => :'String' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Kombo::DeleteHrisAbsencesAbsenceIdRequestBodyRemoteFieldsAdpworkforcenow` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + acceptable_attribute_map = self.class.acceptable_attribute_map + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!acceptable_attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Kombo::DeleteHrisAbsencesAbsenceIdRequestBodyRemoteFieldsAdpworkforcenow`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'employment_id') + self.employment_id = attributes[:'employment_id'] + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + warn '[DEPRECATED] the `list_invalid_properties` method is obsolete' + invalid_properties = Array.new + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + warn '[DEPRECATED] the `valid?` method is obsolete' + true + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + employment_id == o.employment_id + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [employment_id].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + transformed_hash = {} + openapi_types.each_pair do |key, type| + if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = nil + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[attribute_map[key]].is_a?(Array) + transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) } + end + elsif !attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]]) + end + end + new(transformed_hash) + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + end + +end diff --git a/lib/kombo_client/models/delete_hris_employee_skill_assignments_employee_skill_assignment_id_positive_response.rb b/lib/kombo_client/models/delete_hris_employee_skill_assignments_employee_skill_assignment_id_positive_response.rb new file mode 100644 index 0000000..81b6086 --- /dev/null +++ b/lib/kombo_client/models/delete_hris_employee_skill_assignments_employee_skill_assignment_id_positive_response.rb @@ -0,0 +1,214 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.17.0 + +=end + +require 'date' +require 'time' + +module Kombo + class DeleteHrisEmployeeSkillAssignmentsEmployeeSkillAssignmentIdPositiveResponse < ApiModelBase + attr_accessor :status + + attr_accessor :data + + class EnumAttributeValidator + attr_reader :datatype + attr_reader :allowable_values + + def initialize(datatype, allowable_values) + @allowable_values = allowable_values.map do |value| + case datatype.to_s + when /Integer/i + value.to_i + when /Float/i + value.to_f + else + value + end + end + end + + def valid?(value) + !value || allowable_values.include?(value) + end + end + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'status' => :'status', + :'data' => :'data' + } + end + + # Returns attribute mapping this model knows about + def self.acceptable_attribute_map + attribute_map + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + acceptable_attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'status' => :'String', + :'data' => :'GetHrisEmployeeSkillAssignmentsPositiveResponseDataResultsInner' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Kombo::DeleteHrisEmployeeSkillAssignmentsEmployeeSkillAssignmentIdPositiveResponse` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + acceptable_attribute_map = self.class.acceptable_attribute_map + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!acceptable_attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Kombo::DeleteHrisEmployeeSkillAssignmentsEmployeeSkillAssignmentIdPositiveResponse`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'status') + self.status = attributes[:'status'] + else + self.status = nil + end + + if attributes.key?(:'data') + self.data = attributes[:'data'] + else + self.data = nil + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + warn '[DEPRECATED] the `list_invalid_properties` method is obsolete' + invalid_properties = Array.new + if @status.nil? + invalid_properties.push('invalid value for "status", status cannot be nil.') + end + + if @data.nil? + invalid_properties.push('invalid value for "data", data cannot be nil.') + end + + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + warn '[DEPRECATED] the `valid?` method is obsolete' + return false if @status.nil? + status_validator = EnumAttributeValidator.new('String', ["success"]) + return false unless status_validator.valid?(@status) + return false if @data.nil? + true + end + + # Custom attribute writer method checking allowed values (enum). + # @param [Object] status Object to be assigned + def status=(status) + validator = EnumAttributeValidator.new('String', ["success"]) + unless validator.valid?(status) + fail ArgumentError, "invalid value for \"status\", must be one of #{validator.allowable_values}." + end + @status = status + end + + # Custom attribute writer method with validation + # @param [Object] data Value to be assigned + def data=(data) + if data.nil? + fail ArgumentError, 'data cannot be nil' + end + + @data = data + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + status == o.status && + data == o.data + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [status, data].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + transformed_hash = {} + openapi_types.each_pair do |key, type| + if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = nil + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[attribute_map[key]].is_a?(Array) + transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) } + end + elsif !attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]]) + end + end + new(transformed_hash) + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + end + +end diff --git a/lib/kombo_client/models/delete_hris_skills_skill_id_positive_response.rb b/lib/kombo_client/models/delete_hris_skills_skill_id_positive_response.rb new file mode 100644 index 0000000..351c55d --- /dev/null +++ b/lib/kombo_client/models/delete_hris_skills_skill_id_positive_response.rb @@ -0,0 +1,214 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.17.0 + +=end + +require 'date' +require 'time' + +module Kombo + class DeleteHrisSkillsSkillIdPositiveResponse < ApiModelBase + attr_accessor :status + + attr_accessor :data + + class EnumAttributeValidator + attr_reader :datatype + attr_reader :allowable_values + + def initialize(datatype, allowable_values) + @allowable_values = allowable_values.map do |value| + case datatype.to_s + when /Integer/i + value.to_i + when /Float/i + value.to_f + else + value + end + end + end + + def valid?(value) + !value || allowable_values.include?(value) + end + end + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'status' => :'status', + :'data' => :'data' + } + end + + # Returns attribute mapping this model knows about + def self.acceptable_attribute_map + attribute_map + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + acceptable_attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'status' => :'String', + :'data' => :'GetHrisSkillsPositiveResponseDataResultsInner' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Kombo::DeleteHrisSkillsSkillIdPositiveResponse` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + acceptable_attribute_map = self.class.acceptable_attribute_map + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!acceptable_attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Kombo::DeleteHrisSkillsSkillIdPositiveResponse`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'status') + self.status = attributes[:'status'] + else + self.status = nil + end + + if attributes.key?(:'data') + self.data = attributes[:'data'] + else + self.data = nil + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + warn '[DEPRECATED] the `list_invalid_properties` method is obsolete' + invalid_properties = Array.new + if @status.nil? + invalid_properties.push('invalid value for "status", status cannot be nil.') + end + + if @data.nil? + invalid_properties.push('invalid value for "data", data cannot be nil.') + end + + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + warn '[DEPRECATED] the `valid?` method is obsolete' + return false if @status.nil? + status_validator = EnumAttributeValidator.new('String', ["success"]) + return false unless status_validator.valid?(@status) + return false if @data.nil? + true + end + + # Custom attribute writer method checking allowed values (enum). + # @param [Object] status Object to be assigned + def status=(status) + validator = EnumAttributeValidator.new('String', ["success"]) + unless validator.valid?(status) + fail ArgumentError, "invalid value for \"status\", must be one of #{validator.allowable_values}." + end + @status = status + end + + # Custom attribute writer method with validation + # @param [Object] data Value to be assigned + def data=(data) + if data.nil? + fail ArgumentError, 'data cannot be nil' + end + + @data = data + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + status == o.status && + data == o.data + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [status, data].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + transformed_hash = {} + openapi_types.each_pair do |key, type| + if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = nil + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[attribute_map[key]].is_a?(Array) + transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) } + end + elsif !attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]]) + end + end + new(transformed_hash) + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + end + +end diff --git a/lib/kombo_client/models/delete_integrations_integration_id_positive_response.rb b/lib/kombo_client/models/delete_integrations_integration_id_positive_response.rb new file mode 100644 index 0000000..ff66f5b --- /dev/null +++ b/lib/kombo_client/models/delete_integrations_integration_id_positive_response.rb @@ -0,0 +1,214 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.17.0 + +=end + +require 'date' +require 'time' + +module Kombo + class DeleteIntegrationsIntegrationIdPositiveResponse < ApiModelBase + attr_accessor :status + + attr_accessor :data + + class EnumAttributeValidator + attr_reader :datatype + attr_reader :allowable_values + + def initialize(datatype, allowable_values) + @allowable_values = allowable_values.map do |value| + case datatype.to_s + when /Integer/i + value.to_i + when /Float/i + value.to_f + else + value + end + end + end + + def valid?(value) + !value || allowable_values.include?(value) + end + end + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'status' => :'status', + :'data' => :'data' + } + end + + # Returns attribute mapping this model knows about + def self.acceptable_attribute_map + attribute_map + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + acceptable_attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'status' => :'String', + :'data' => :'Object' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Kombo::DeleteIntegrationsIntegrationIdPositiveResponse` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + acceptable_attribute_map = self.class.acceptable_attribute_map + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!acceptable_attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Kombo::DeleteIntegrationsIntegrationIdPositiveResponse`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'status') + self.status = attributes[:'status'] + else + self.status = nil + end + + if attributes.key?(:'data') + self.data = attributes[:'data'] + else + self.data = nil + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + warn '[DEPRECATED] the `list_invalid_properties` method is obsolete' + invalid_properties = Array.new + if @status.nil? + invalid_properties.push('invalid value for "status", status cannot be nil.') + end + + if @data.nil? + invalid_properties.push('invalid value for "data", data cannot be nil.') + end + + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + warn '[DEPRECATED] the `valid?` method is obsolete' + return false if @status.nil? + status_validator = EnumAttributeValidator.new('String', ["success"]) + return false unless status_validator.valid?(@status) + return false if @data.nil? + true + end + + # Custom attribute writer method checking allowed values (enum). + # @param [Object] status Object to be assigned + def status=(status) + validator = EnumAttributeValidator.new('String', ["success"]) + unless validator.valid?(status) + fail ArgumentError, "invalid value for \"status\", must be one of #{validator.allowable_values}." + end + @status = status + end + + # Custom attribute writer method with validation + # @param [Object] data Value to be assigned + def data=(data) + if data.nil? + fail ArgumentError, 'data cannot be nil' + end + + @data = data + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + status == o.status && + data == o.data + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [status, data].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + transformed_hash = {} + openapi_types.each_pair do |key, type| + if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = nil + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[attribute_map[key]].is_a?(Array) + transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) } + end + elsif !attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]]) + end + end + new(transformed_hash) + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + end + +end diff --git a/lib/kombo_client/models/get_ai_apply_applications_positive_response.rb b/lib/kombo_client/models/get_ai_apply_applications_positive_response.rb new file mode 100644 index 0000000..287d55b --- /dev/null +++ b/lib/kombo_client/models/get_ai_apply_applications_positive_response.rb @@ -0,0 +1,214 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.17.0 + +=end + +require 'date' +require 'time' + +module Kombo + class GetAiApplyApplicationsPositiveResponse < ApiModelBase + attr_accessor :status + + attr_accessor :data + + class EnumAttributeValidator + attr_reader :datatype + attr_reader :allowable_values + + def initialize(datatype, allowable_values) + @allowable_values = allowable_values.map do |value| + case datatype.to_s + when /Integer/i + value.to_i + when /Float/i + value.to_f + else + value + end + end + end + + def valid?(value) + !value || allowable_values.include?(value) + end + end + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'status' => :'status', + :'data' => :'data' + } + end + + # Returns attribute mapping this model knows about + def self.acceptable_attribute_map + attribute_map + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + acceptable_attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'status' => :'String', + :'data' => :'GetAiApplyApplicationsPositiveResponseData' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Kombo::GetAiApplyApplicationsPositiveResponse` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + acceptable_attribute_map = self.class.acceptable_attribute_map + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!acceptable_attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Kombo::GetAiApplyApplicationsPositiveResponse`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'status') + self.status = attributes[:'status'] + else + self.status = nil + end + + if attributes.key?(:'data') + self.data = attributes[:'data'] + else + self.data = nil + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + warn '[DEPRECATED] the `list_invalid_properties` method is obsolete' + invalid_properties = Array.new + if @status.nil? + invalid_properties.push('invalid value for "status", status cannot be nil.') + end + + if @data.nil? + invalid_properties.push('invalid value for "data", data cannot be nil.') + end + + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + warn '[DEPRECATED] the `valid?` method is obsolete' + return false if @status.nil? + status_validator = EnumAttributeValidator.new('String', ["success"]) + return false unless status_validator.valid?(@status) + return false if @data.nil? + true + end + + # Custom attribute writer method checking allowed values (enum). + # @param [Object] status Object to be assigned + def status=(status) + validator = EnumAttributeValidator.new('String', ["success"]) + unless validator.valid?(status) + fail ArgumentError, "invalid value for \"status\", must be one of #{validator.allowable_values}." + end + @status = status + end + + # Custom attribute writer method with validation + # @param [Object] data Value to be assigned + def data=(data) + if data.nil? + fail ArgumentError, 'data cannot be nil' + end + + @data = data + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + status == o.status && + data == o.data + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [status, data].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + transformed_hash = {} + openapi_types.each_pair do |key, type| + if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = nil + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[attribute_map[key]].is_a?(Array) + transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) } + end + elsif !attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]]) + end + end + new(transformed_hash) + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + end + +end diff --git a/lib/kombo_client/models/get_ai_apply_applications_positive_response_data.rb b/lib/kombo_client/models/get_ai_apply_applications_positive_response_data.rb new file mode 100644 index 0000000..bd28451 --- /dev/null +++ b/lib/kombo_client/models/get_ai_apply_applications_positive_response_data.rb @@ -0,0 +1,178 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.17.0 + +=end + +require 'date' +require 'time' + +module Kombo + class GetAiApplyApplicationsPositiveResponseData < ApiModelBase + attr_accessor :results + + attr_accessor :_next + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'results' => :'results', + :'_next' => :'next' + } + end + + # Returns attribute mapping this model knows about + def self.acceptable_attribute_map + attribute_map + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + acceptable_attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'results' => :'Array', + :'_next' => :'String' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + :'_next' + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Kombo::GetAiApplyApplicationsPositiveResponseData` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + acceptable_attribute_map = self.class.acceptable_attribute_map + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!acceptable_attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Kombo::GetAiApplyApplicationsPositiveResponseData`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'results') + if (value = attributes[:'results']).is_a?(Array) + self.results = value + end + else + self.results = nil + end + + if attributes.key?(:'_next') + self._next = attributes[:'_next'] + else + self._next = nil + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + warn '[DEPRECATED] the `list_invalid_properties` method is obsolete' + invalid_properties = Array.new + if @results.nil? + invalid_properties.push('invalid value for "results", results cannot be nil.') + end + + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + warn '[DEPRECATED] the `valid?` method is obsolete' + return false if @results.nil? + true + end + + # Custom attribute writer method with validation + # @param [Object] results Value to be assigned + def results=(results) + if results.nil? + fail ArgumentError, 'results cannot be nil' + end + + @results = results + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + results == o.results && + _next == o._next + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [results, _next].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + transformed_hash = {} + openapi_types.each_pair do |key, type| + if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = nil + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[attribute_map[key]].is_a?(Array) + transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) } + end + elsif !attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]]) + end + end + new(transformed_hash) + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + end + +end diff --git a/lib/kombo_client/models/get_ai_apply_applications_positive_response_data_results_inner.rb b/lib/kombo_client/models/get_ai_apply_applications_positive_response_data_results_inner.rb new file mode 100644 index 0000000..5775a8c --- /dev/null +++ b/lib/kombo_client/models/get_ai_apply_applications_positive_response_data_results_inner.rb @@ -0,0 +1,296 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.17.0 + +=end + +require 'date' +require 'time' + +module Kombo + class GetAiApplyApplicationsPositiveResponseDataResultsInner < ApiModelBase + # The globally unique ID of this object generated by Kombo. We recommend using this as a stable primary key for syncing. + attr_accessor :id + + # The globally unique ID of this object generated by Kombo. We recommend using this as a stable primary key for syncing. + attr_accessor :job_posting_id + + attr_accessor :status + + # YYYY-MM-DDTHH:mm:ss.sssZ + attr_accessor :created_at + + # YYYY-MM-DDTHH:mm:ss.sssZ + attr_accessor :updated_at + + class EnumAttributeValidator + attr_reader :datatype + attr_reader :allowable_values + + def initialize(datatype, allowable_values) + @allowable_values = allowable_values.map do |value| + case datatype.to_s + when /Integer/i + value.to_i + when /Float/i + value.to_f + else + value + end + end + end + + def valid?(value) + !value || allowable_values.include?(value) + end + end + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'id' => :'id', + :'job_posting_id' => :'job_posting_id', + :'status' => :'status', + :'created_at' => :'created_at', + :'updated_at' => :'updated_at' + } + end + + # Returns attribute mapping this model knows about + def self.acceptable_attribute_map + attribute_map + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + acceptable_attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'id' => :'String', + :'job_posting_id' => :'String', + :'status' => :'String', + :'created_at' => :'Time', + :'updated_at' => :'Time' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Kombo::GetAiApplyApplicationsPositiveResponseDataResultsInner` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + acceptable_attribute_map = self.class.acceptable_attribute_map + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!acceptable_attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Kombo::GetAiApplyApplicationsPositiveResponseDataResultsInner`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'id') + self.id = attributes[:'id'] + else + self.id = nil + end + + if attributes.key?(:'job_posting_id') + self.job_posting_id = attributes[:'job_posting_id'] + else + self.job_posting_id = nil + end + + if attributes.key?(:'status') + self.status = attributes[:'status'] + else + self.status = nil + end + + if attributes.key?(:'created_at') + self.created_at = attributes[:'created_at'] + else + self.created_at = nil + end + + if attributes.key?(:'updated_at') + self.updated_at = attributes[:'updated_at'] + else + self.updated_at = nil + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + warn '[DEPRECATED] the `list_invalid_properties` method is obsolete' + invalid_properties = Array.new + if @id.nil? + invalid_properties.push('invalid value for "id", id cannot be nil.') + end + + if @job_posting_id.nil? + invalid_properties.push('invalid value for "job_posting_id", job_posting_id cannot be nil.') + end + + if @status.nil? + invalid_properties.push('invalid value for "status", status cannot be nil.') + end + + if @created_at.nil? + invalid_properties.push('invalid value for "created_at", created_at cannot be nil.') + end + + if @updated_at.nil? + invalid_properties.push('invalid value for "updated_at", updated_at cannot be nil.') + end + + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + warn '[DEPRECATED] the `valid?` method is obsolete' + return false if @id.nil? + return false if @job_posting_id.nil? + return false if @status.nil? + status_validator = EnumAttributeValidator.new('String', ["PENDING", "SUBMITTED", "FAILED"]) + return false unless status_validator.valid?(@status) + return false if @created_at.nil? + return false if @updated_at.nil? + true + end + + # Custom attribute writer method with validation + # @param [Object] id Value to be assigned + def id=(id) + if id.nil? + fail ArgumentError, 'id cannot be nil' + end + + @id = id + end + + # Custom attribute writer method with validation + # @param [Object] job_posting_id Value to be assigned + def job_posting_id=(job_posting_id) + if job_posting_id.nil? + fail ArgumentError, 'job_posting_id cannot be nil' + end + + @job_posting_id = job_posting_id + end + + # Custom attribute writer method checking allowed values (enum). + # @param [Object] status Object to be assigned + def status=(status) + validator = EnumAttributeValidator.new('String', ["PENDING", "SUBMITTED", "FAILED"]) + unless validator.valid?(status) + fail ArgumentError, "invalid value for \"status\", must be one of #{validator.allowable_values}." + end + @status = status + end + + # Custom attribute writer method with validation + # @param [Object] created_at Value to be assigned + def created_at=(created_at) + if created_at.nil? + fail ArgumentError, 'created_at cannot be nil' + end + + @created_at = created_at + end + + # Custom attribute writer method with validation + # @param [Object] updated_at Value to be assigned + def updated_at=(updated_at) + if updated_at.nil? + fail ArgumentError, 'updated_at cannot be nil' + end + + @updated_at = updated_at + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + id == o.id && + job_posting_id == o.job_posting_id && + status == o.status && + created_at == o.created_at && + updated_at == o.updated_at + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [id, job_posting_id, status, created_at, updated_at].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + transformed_hash = {} + openapi_types.each_pair do |key, type| + if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = nil + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[attribute_map[key]].is_a?(Array) + transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) } + end + elsif !attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]]) + end + end + new(transformed_hash) + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + end + +end diff --git a/lib/kombo_client/models/get_ai_apply_career_sites_positive_response.rb b/lib/kombo_client/models/get_ai_apply_career_sites_positive_response.rb new file mode 100644 index 0000000..5203be3 --- /dev/null +++ b/lib/kombo_client/models/get_ai_apply_career_sites_positive_response.rb @@ -0,0 +1,214 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.17.0 + +=end + +require 'date' +require 'time' + +module Kombo + class GetAiApplyCareerSitesPositiveResponse < ApiModelBase + attr_accessor :status + + attr_accessor :data + + class EnumAttributeValidator + attr_reader :datatype + attr_reader :allowable_values + + def initialize(datatype, allowable_values) + @allowable_values = allowable_values.map do |value| + case datatype.to_s + when /Integer/i + value.to_i + when /Float/i + value.to_f + else + value + end + end + end + + def valid?(value) + !value || allowable_values.include?(value) + end + end + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'status' => :'status', + :'data' => :'data' + } + end + + # Returns attribute mapping this model knows about + def self.acceptable_attribute_map + attribute_map + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + acceptable_attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'status' => :'String', + :'data' => :'GetAiApplyCareerSitesPositiveResponseData' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Kombo::GetAiApplyCareerSitesPositiveResponse` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + acceptable_attribute_map = self.class.acceptable_attribute_map + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!acceptable_attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Kombo::GetAiApplyCareerSitesPositiveResponse`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'status') + self.status = attributes[:'status'] + else + self.status = nil + end + + if attributes.key?(:'data') + self.data = attributes[:'data'] + else + self.data = nil + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + warn '[DEPRECATED] the `list_invalid_properties` method is obsolete' + invalid_properties = Array.new + if @status.nil? + invalid_properties.push('invalid value for "status", status cannot be nil.') + end + + if @data.nil? + invalid_properties.push('invalid value for "data", data cannot be nil.') + end + + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + warn '[DEPRECATED] the `valid?` method is obsolete' + return false if @status.nil? + status_validator = EnumAttributeValidator.new('String', ["success"]) + return false unless status_validator.valid?(@status) + return false if @data.nil? + true + end + + # Custom attribute writer method checking allowed values (enum). + # @param [Object] status Object to be assigned + def status=(status) + validator = EnumAttributeValidator.new('String', ["success"]) + unless validator.valid?(status) + fail ArgumentError, "invalid value for \"status\", must be one of #{validator.allowable_values}." + end + @status = status + end + + # Custom attribute writer method with validation + # @param [Object] data Value to be assigned + def data=(data) + if data.nil? + fail ArgumentError, 'data cannot be nil' + end + + @data = data + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + status == o.status && + data == o.data + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [status, data].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + transformed_hash = {} + openapi_types.each_pair do |key, type| + if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = nil + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[attribute_map[key]].is_a?(Array) + transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) } + end + elsif !attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]]) + end + end + new(transformed_hash) + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + end + +end diff --git a/lib/kombo_client/models/get_ai_apply_career_sites_positive_response_data.rb b/lib/kombo_client/models/get_ai_apply_career_sites_positive_response_data.rb new file mode 100644 index 0000000..943c02d --- /dev/null +++ b/lib/kombo_client/models/get_ai_apply_career_sites_positive_response_data.rb @@ -0,0 +1,178 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.17.0 + +=end + +require 'date' +require 'time' + +module Kombo + class GetAiApplyCareerSitesPositiveResponseData < ApiModelBase + attr_accessor :results + + attr_accessor :_next + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'results' => :'results', + :'_next' => :'next' + } + end + + # Returns attribute mapping this model knows about + def self.acceptable_attribute_map + attribute_map + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + acceptable_attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'results' => :'Array', + :'_next' => :'String' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + :'_next' + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Kombo::GetAiApplyCareerSitesPositiveResponseData` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + acceptable_attribute_map = self.class.acceptable_attribute_map + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!acceptable_attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Kombo::GetAiApplyCareerSitesPositiveResponseData`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'results') + if (value = attributes[:'results']).is_a?(Array) + self.results = value + end + else + self.results = nil + end + + if attributes.key?(:'_next') + self._next = attributes[:'_next'] + else + self._next = nil + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + warn '[DEPRECATED] the `list_invalid_properties` method is obsolete' + invalid_properties = Array.new + if @results.nil? + invalid_properties.push('invalid value for "results", results cannot be nil.') + end + + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + warn '[DEPRECATED] the `valid?` method is obsolete' + return false if @results.nil? + true + end + + # Custom attribute writer method with validation + # @param [Object] results Value to be assigned + def results=(results) + if results.nil? + fail ArgumentError, 'results cannot be nil' + end + + @results = results + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + results == o.results && + _next == o._next + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [results, _next].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + transformed_hash = {} + openapi_types.each_pair do |key, type| + if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = nil + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[attribute_map[key]].is_a?(Array) + transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) } + end + elsif !attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]]) + end + end + new(transformed_hash) + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + end + +end diff --git a/lib/kombo_client/models/get_ai_apply_postings_positive_response.rb b/lib/kombo_client/models/get_ai_apply_postings_positive_response.rb new file mode 100644 index 0000000..7f53d1d --- /dev/null +++ b/lib/kombo_client/models/get_ai_apply_postings_positive_response.rb @@ -0,0 +1,214 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.17.0 + +=end + +require 'date' +require 'time' + +module Kombo + class GetAiApplyPostingsPositiveResponse < ApiModelBase + attr_accessor :status + + attr_accessor :data + + class EnumAttributeValidator + attr_reader :datatype + attr_reader :allowable_values + + def initialize(datatype, allowable_values) + @allowable_values = allowable_values.map do |value| + case datatype.to_s + when /Integer/i + value.to_i + when /Float/i + value.to_f + else + value + end + end + end + + def valid?(value) + !value || allowable_values.include?(value) + end + end + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'status' => :'status', + :'data' => :'data' + } + end + + # Returns attribute mapping this model knows about + def self.acceptable_attribute_map + attribute_map + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + acceptable_attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'status' => :'String', + :'data' => :'GetAiApplyPostingsPositiveResponseData' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Kombo::GetAiApplyPostingsPositiveResponse` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + acceptable_attribute_map = self.class.acceptable_attribute_map + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!acceptable_attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Kombo::GetAiApplyPostingsPositiveResponse`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'status') + self.status = attributes[:'status'] + else + self.status = nil + end + + if attributes.key?(:'data') + self.data = attributes[:'data'] + else + self.data = nil + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + warn '[DEPRECATED] the `list_invalid_properties` method is obsolete' + invalid_properties = Array.new + if @status.nil? + invalid_properties.push('invalid value for "status", status cannot be nil.') + end + + if @data.nil? + invalid_properties.push('invalid value for "data", data cannot be nil.') + end + + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + warn '[DEPRECATED] the `valid?` method is obsolete' + return false if @status.nil? + status_validator = EnumAttributeValidator.new('String', ["success"]) + return false unless status_validator.valid?(@status) + return false if @data.nil? + true + end + + # Custom attribute writer method checking allowed values (enum). + # @param [Object] status Object to be assigned + def status=(status) + validator = EnumAttributeValidator.new('String', ["success"]) + unless validator.valid?(status) + fail ArgumentError, "invalid value for \"status\", must be one of #{validator.allowable_values}." + end + @status = status + end + + # Custom attribute writer method with validation + # @param [Object] data Value to be assigned + def data=(data) + if data.nil? + fail ArgumentError, 'data cannot be nil' + end + + @data = data + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + status == o.status && + data == o.data + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [status, data].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + transformed_hash = {} + openapi_types.each_pair do |key, type| + if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = nil + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[attribute_map[key]].is_a?(Array) + transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) } + end + elsif !attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]]) + end + end + new(transformed_hash) + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + end + +end diff --git a/lib/kombo_client/models/get_ai_apply_postings_positive_response_data.rb b/lib/kombo_client/models/get_ai_apply_postings_positive_response_data.rb new file mode 100644 index 0000000..b0184dc --- /dev/null +++ b/lib/kombo_client/models/get_ai_apply_postings_positive_response_data.rb @@ -0,0 +1,178 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.17.0 + +=end + +require 'date' +require 'time' + +module Kombo + class GetAiApplyPostingsPositiveResponseData < ApiModelBase + attr_accessor :results + + attr_accessor :_next + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'results' => :'results', + :'_next' => :'next' + } + end + + # Returns attribute mapping this model knows about + def self.acceptable_attribute_map + attribute_map + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + acceptable_attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'results' => :'Array', + :'_next' => :'String' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + :'_next' + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Kombo::GetAiApplyPostingsPositiveResponseData` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + acceptable_attribute_map = self.class.acceptable_attribute_map + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!acceptable_attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Kombo::GetAiApplyPostingsPositiveResponseData`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'results') + if (value = attributes[:'results']).is_a?(Array) + self.results = value + end + else + self.results = nil + end + + if attributes.key?(:'_next') + self._next = attributes[:'_next'] + else + self._next = nil + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + warn '[DEPRECATED] the `list_invalid_properties` method is obsolete' + invalid_properties = Array.new + if @results.nil? + invalid_properties.push('invalid value for "results", results cannot be nil.') + end + + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + warn '[DEPRECATED] the `valid?` method is obsolete' + return false if @results.nil? + true + end + + # Custom attribute writer method with validation + # @param [Object] results Value to be assigned + def results=(results) + if results.nil? + fail ArgumentError, 'results cannot be nil' + end + + @results = results + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + results == o.results && + _next == o._next + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [results, _next].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + transformed_hash = {} + openapi_types.each_pair do |key, type| + if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = nil + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[attribute_map[key]].is_a?(Array) + transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) } + end + elsif !attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]]) + end + end + new(transformed_hash) + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + end + +end diff --git a/lib/kombo_client/models/get_ai_apply_postings_positive_response_data_results_inner.rb b/lib/kombo_client/models/get_ai_apply_postings_positive_response_data_results_inner.rb new file mode 100644 index 0000000..54ead58 --- /dev/null +++ b/lib/kombo_client/models/get_ai_apply_postings_positive_response_data_results_inner.rb @@ -0,0 +1,371 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.17.0 + +=end + +require 'date' +require 'time' + +module Kombo + class GetAiApplyPostingsPositiveResponseDataResultsInner < ApiModelBase + # The globally unique ID of this object generated by Kombo. We recommend using this as a stable primary key for syncing. + attr_accessor :id + + attr_accessor :career_site + + attr_accessor :url + + attr_accessor :job_code + + # YYYY-MM-DDTHH:mm:ss.sssZ + attr_accessor :created_at + + # YYYY-MM-DDTHH:mm:ss.sssZ + attr_accessor :updated_at + + # The date and time the job posting was archived. You can only send applications if the job posting is not archived. + attr_accessor :archived_at + + attr_accessor :archived_reason + + # The status of the job posting. You can only send applications if the job posting is \"APPLYABLE\". + attr_accessor :availability + + class EnumAttributeValidator + attr_reader :datatype + attr_reader :allowable_values + + def initialize(datatype, allowable_values) + @allowable_values = allowable_values.map do |value| + case datatype.to_s + when /Integer/i + value.to_i + when /Float/i + value.to_f + else + value + end + end + end + + def valid?(value) + !value || allowable_values.include?(value) + end + end + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'id' => :'id', + :'career_site' => :'career_site', + :'url' => :'url', + :'job_code' => :'job_code', + :'created_at' => :'created_at', + :'updated_at' => :'updated_at', + :'archived_at' => :'archived_at', + :'archived_reason' => :'archived_reason', + :'availability' => :'availability' + } + end + + # Returns attribute mapping this model knows about + def self.acceptable_attribute_map + attribute_map + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + acceptable_attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'id' => :'String', + :'career_site' => :'GetAiApplyPostingsPositiveResponseDataResultsInnerCareerSite', + :'url' => :'String', + :'job_code' => :'String', + :'created_at' => :'Time', + :'updated_at' => :'Time', + :'archived_at' => :'Time', + :'archived_reason' => :'String', + :'availability' => :'String' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + :'job_code', + :'archived_at', + :'archived_reason', + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Kombo::GetAiApplyPostingsPositiveResponseDataResultsInner` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + acceptable_attribute_map = self.class.acceptable_attribute_map + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!acceptable_attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Kombo::GetAiApplyPostingsPositiveResponseDataResultsInner`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'id') + self.id = attributes[:'id'] + else + self.id = nil + end + + if attributes.key?(:'career_site') + self.career_site = attributes[:'career_site'] + else + self.career_site = nil + end + + if attributes.key?(:'url') + self.url = attributes[:'url'] + else + self.url = nil + end + + if attributes.key?(:'job_code') + self.job_code = attributes[:'job_code'] + else + self.job_code = nil + end + + if attributes.key?(:'created_at') + self.created_at = attributes[:'created_at'] + else + self.created_at = nil + end + + if attributes.key?(:'updated_at') + self.updated_at = attributes[:'updated_at'] + else + self.updated_at = nil + end + + if attributes.key?(:'archived_at') + self.archived_at = attributes[:'archived_at'] + else + self.archived_at = nil + end + + if attributes.key?(:'archived_reason') + self.archived_reason = attributes[:'archived_reason'] + else + self.archived_reason = nil + end + + if attributes.key?(:'availability') + self.availability = attributes[:'availability'] + else + self.availability = nil + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + warn '[DEPRECATED] the `list_invalid_properties` method is obsolete' + invalid_properties = Array.new + if @id.nil? + invalid_properties.push('invalid value for "id", id cannot be nil.') + end + + if @career_site.nil? + invalid_properties.push('invalid value for "career_site", career_site cannot be nil.') + end + + if @url.nil? + invalid_properties.push('invalid value for "url", url cannot be nil.') + end + + if @created_at.nil? + invalid_properties.push('invalid value for "created_at", created_at cannot be nil.') + end + + if @updated_at.nil? + invalid_properties.push('invalid value for "updated_at", updated_at cannot be nil.') + end + + if @availability.nil? + invalid_properties.push('invalid value for "availability", availability cannot be nil.') + end + + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + warn '[DEPRECATED] the `valid?` method is obsolete' + return false if @id.nil? + return false if @career_site.nil? + return false if @url.nil? + return false if @created_at.nil? + return false if @updated_at.nil? + archived_reason_validator = EnumAttributeValidator.new('String', ["JOB_POSTING_TAKEN_OFFLINE", "MANUAL_ARCHIVE"]) + return false unless archived_reason_validator.valid?(@archived_reason) + return false if @availability.nil? + availability_validator = EnumAttributeValidator.new('String', ["APPLYABLE", "PENDING", "ARCHIVED", "UNAVAILABLE"]) + return false unless availability_validator.valid?(@availability) + true + end + + # Custom attribute writer method with validation + # @param [Object] id Value to be assigned + def id=(id) + if id.nil? + fail ArgumentError, 'id cannot be nil' + end + + @id = id + end + + # Custom attribute writer method with validation + # @param [Object] career_site Value to be assigned + def career_site=(career_site) + if career_site.nil? + fail ArgumentError, 'career_site cannot be nil' + end + + @career_site = career_site + end + + # Custom attribute writer method with validation + # @param [Object] url Value to be assigned + def url=(url) + if url.nil? + fail ArgumentError, 'url cannot be nil' + end + + @url = url + end + + # Custom attribute writer method with validation + # @param [Object] created_at Value to be assigned + def created_at=(created_at) + if created_at.nil? + fail ArgumentError, 'created_at cannot be nil' + end + + @created_at = created_at + end + + # Custom attribute writer method with validation + # @param [Object] updated_at Value to be assigned + def updated_at=(updated_at) + if updated_at.nil? + fail ArgumentError, 'updated_at cannot be nil' + end + + @updated_at = updated_at + end + + # Custom attribute writer method checking allowed values (enum). + # @param [Object] archived_reason Object to be assigned + def archived_reason=(archived_reason) + validator = EnumAttributeValidator.new('String', ["JOB_POSTING_TAKEN_OFFLINE", "MANUAL_ARCHIVE"]) + unless validator.valid?(archived_reason) + fail ArgumentError, "invalid value for \"archived_reason\", must be one of #{validator.allowable_values}." + end + @archived_reason = archived_reason + end + + # Custom attribute writer method checking allowed values (enum). + # @param [Object] availability Object to be assigned + def availability=(availability) + validator = EnumAttributeValidator.new('String', ["APPLYABLE", "PENDING", "ARCHIVED", "UNAVAILABLE"]) + unless validator.valid?(availability) + fail ArgumentError, "invalid value for \"availability\", must be one of #{validator.allowable_values}." + end + @availability = availability + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + id == o.id && + career_site == o.career_site && + url == o.url && + job_code == o.job_code && + created_at == o.created_at && + updated_at == o.updated_at && + archived_at == o.archived_at && + archived_reason == o.archived_reason && + availability == o.availability + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [id, career_site, url, job_code, created_at, updated_at, archived_at, archived_reason, availability].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + transformed_hash = {} + openapi_types.each_pair do |key, type| + if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = nil + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[attribute_map[key]].is_a?(Array) + transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) } + end + elsif !attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]]) + end + end + new(transformed_hash) + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + end + +end diff --git a/lib/kombo_client/models/get_ai_apply_postings_positive_response_data_results_inner_career_site.rb b/lib/kombo_client/models/get_ai_apply_postings_positive_response_data_results_inner_career_site.rb new file mode 100644 index 0000000..f490245 --- /dev/null +++ b/lib/kombo_client/models/get_ai_apply_postings_positive_response_data_results_inner_career_site.rb @@ -0,0 +1,191 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.17.0 + +=end + +require 'date' +require 'time' + +module Kombo + class GetAiApplyPostingsPositiveResponseDataResultsInnerCareerSite < ApiModelBase + # The globally unique ID of this object generated by Kombo. We recommend using this as a stable primary key for syncing. + attr_accessor :id + + attr_accessor :label + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'id' => :'id', + :'label' => :'label' + } + end + + # Returns attribute mapping this model knows about + def self.acceptable_attribute_map + attribute_map + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + acceptable_attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'id' => :'String', + :'label' => :'String' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Kombo::GetAiApplyPostingsPositiveResponseDataResultsInnerCareerSite` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + acceptable_attribute_map = self.class.acceptable_attribute_map + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!acceptable_attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Kombo::GetAiApplyPostingsPositiveResponseDataResultsInnerCareerSite`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'id') + self.id = attributes[:'id'] + else + self.id = nil + end + + if attributes.key?(:'label') + self.label = attributes[:'label'] + else + self.label = nil + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + warn '[DEPRECATED] the `list_invalid_properties` method is obsolete' + invalid_properties = Array.new + if @id.nil? + invalid_properties.push('invalid value for "id", id cannot be nil.') + end + + if @label.nil? + invalid_properties.push('invalid value for "label", label cannot be nil.') + end + + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + warn '[DEPRECATED] the `valid?` method is obsolete' + return false if @id.nil? + return false if @label.nil? + true + end + + # Custom attribute writer method with validation + # @param [Object] id Value to be assigned + def id=(id) + if id.nil? + fail ArgumentError, 'id cannot be nil' + end + + @id = id + end + + # Custom attribute writer method with validation + # @param [Object] label Value to be assigned + def label=(label) + if label.nil? + fail ArgumentError, 'label cannot be nil' + end + + @label = label + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + id == o.id && + label == o.label + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [id, label].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + transformed_hash = {} + openapi_types.each_pair do |key, type| + if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = nil + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[attribute_map[key]].is_a?(Array) + transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) } + end + elsif !attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]]) + end + end + new(transformed_hash) + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + end + +end diff --git a/lib/kombo_client/models/get_ai_apply_unified_api_jobs_positive_response.rb b/lib/kombo_client/models/get_ai_apply_unified_api_jobs_positive_response.rb new file mode 100644 index 0000000..cd07e86 --- /dev/null +++ b/lib/kombo_client/models/get_ai_apply_unified_api_jobs_positive_response.rb @@ -0,0 +1,214 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.17.0 + +=end + +require 'date' +require 'time' + +module Kombo + class GetAiApplyUnifiedApiJobsPositiveResponse < ApiModelBase + attr_accessor :status + + attr_accessor :data + + class EnumAttributeValidator + attr_reader :datatype + attr_reader :allowable_values + + def initialize(datatype, allowable_values) + @allowable_values = allowable_values.map do |value| + case datatype.to_s + when /Integer/i + value.to_i + when /Float/i + value.to_f + else + value + end + end + end + + def valid?(value) + !value || allowable_values.include?(value) + end + end + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'status' => :'status', + :'data' => :'data' + } + end + + # Returns attribute mapping this model knows about + def self.acceptable_attribute_map + attribute_map + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + acceptable_attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'status' => :'String', + :'data' => :'GetAiApplyUnifiedApiJobsPositiveResponseData' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Kombo::GetAiApplyUnifiedApiJobsPositiveResponse` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + acceptable_attribute_map = self.class.acceptable_attribute_map + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!acceptable_attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Kombo::GetAiApplyUnifiedApiJobsPositiveResponse`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'status') + self.status = attributes[:'status'] + else + self.status = nil + end + + if attributes.key?(:'data') + self.data = attributes[:'data'] + else + self.data = nil + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + warn '[DEPRECATED] the `list_invalid_properties` method is obsolete' + invalid_properties = Array.new + if @status.nil? + invalid_properties.push('invalid value for "status", status cannot be nil.') + end + + if @data.nil? + invalid_properties.push('invalid value for "data", data cannot be nil.') + end + + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + warn '[DEPRECATED] the `valid?` method is obsolete' + return false if @status.nil? + status_validator = EnumAttributeValidator.new('String', ["success"]) + return false unless status_validator.valid?(@status) + return false if @data.nil? + true + end + + # Custom attribute writer method checking allowed values (enum). + # @param [Object] status Object to be assigned + def status=(status) + validator = EnumAttributeValidator.new('String', ["success"]) + unless validator.valid?(status) + fail ArgumentError, "invalid value for \"status\", must be one of #{validator.allowable_values}." + end + @status = status + end + + # Custom attribute writer method with validation + # @param [Object] data Value to be assigned + def data=(data) + if data.nil? + fail ArgumentError, 'data cannot be nil' + end + + @data = data + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + status == o.status && + data == o.data + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [status, data].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + transformed_hash = {} + openapi_types.each_pair do |key, type| + if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = nil + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[attribute_map[key]].is_a?(Array) + transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) } + end + elsif !attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]]) + end + end + new(transformed_hash) + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + end + +end diff --git a/lib/kombo_client/models/get_ai_apply_unified_api_jobs_positive_response_data.rb b/lib/kombo_client/models/get_ai_apply_unified_api_jobs_positive_response_data.rb new file mode 100644 index 0000000..25e37d5 --- /dev/null +++ b/lib/kombo_client/models/get_ai_apply_unified_api_jobs_positive_response_data.rb @@ -0,0 +1,178 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.17.0 + +=end + +require 'date' +require 'time' + +module Kombo + class GetAiApplyUnifiedApiJobsPositiveResponseData < ApiModelBase + attr_accessor :results + + attr_accessor :_next + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'results' => :'results', + :'_next' => :'next' + } + end + + # Returns attribute mapping this model knows about + def self.acceptable_attribute_map + attribute_map + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + acceptable_attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'results' => :'Array', + :'_next' => :'String' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + :'_next' + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Kombo::GetAiApplyUnifiedApiJobsPositiveResponseData` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + acceptable_attribute_map = self.class.acceptable_attribute_map + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!acceptable_attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Kombo::GetAiApplyUnifiedApiJobsPositiveResponseData`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'results') + if (value = attributes[:'results']).is_a?(Array) + self.results = value + end + else + self.results = nil + end + + if attributes.key?(:'_next') + self._next = attributes[:'_next'] + else + self._next = nil + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + warn '[DEPRECATED] the `list_invalid_properties` method is obsolete' + invalid_properties = Array.new + if @results.nil? + invalid_properties.push('invalid value for "results", results cannot be nil.') + end + + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + warn '[DEPRECATED] the `valid?` method is obsolete' + return false if @results.nil? + true + end + + # Custom attribute writer method with validation + # @param [Object] results Value to be assigned + def results=(results) + if results.nil? + fail ArgumentError, 'results cannot be nil' + end + + @results = results + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + results == o.results && + _next == o._next + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [results, _next].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + transformed_hash = {} + openapi_types.each_pair do |key, type| + if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = nil + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[attribute_map[key]].is_a?(Array) + transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) } + end + elsif !attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]]) + end + end + new(transformed_hash) + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + end + +end diff --git a/lib/kombo_client/models/get_ai_apply_unified_api_jobs_positive_response_data_results_inner.rb b/lib/kombo_client/models/get_ai_apply_unified_api_jobs_positive_response_data_results_inner.rb new file mode 100644 index 0000000..53a68e7 --- /dev/null +++ b/lib/kombo_client/models/get_ai_apply_unified_api_jobs_positive_response_data_results_inner.rb @@ -0,0 +1,828 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.17.0 + +=end + +require 'date' +require 'time' + +module Kombo + class GetAiApplyUnifiedApiJobsPositiveResponseDataResultsInner < ApiModelBase + # The globally unique ID of this object generated by Kombo. We recommend using this as a stable primary key for syncing. + attr_accessor :id + + attr_accessor :remote_id + + attr_accessor :name + + attr_accessor :job_code + + attr_accessor :description + + attr_accessor :confidential + + attr_accessor :weekly_hours + + attr_accessor :category + + attr_accessor :department + + attr_accessor :post_url + + attr_accessor :experience_level + + attr_accessor :salary_amount + + attr_accessor :salary_amount_from + + attr_accessor :salary_amount_to + + attr_accessor :salary_currency + + attr_accessor :custom_fields + + attr_accessor :integration_fields + + attr_accessor :opened_at + + attr_accessor :closed_at + + attr_accessor :remote_created_at + + attr_accessor :remote_updated_at + + attr_accessor :contact_id + + attr_accessor :remote_data + + attr_accessor :changed_at + + attr_accessor :remote_deleted_at + + attr_accessor :remote_url + + attr_accessor :stages + + attr_accessor :screening_questions + + attr_accessor :job_postings + + attr_accessor :hiring_team + + attr_accessor :employment_type + + attr_accessor :status + + attr_accessor :visibility + + attr_accessor :remote_work_status + + attr_accessor :salary_period + + attr_accessor :location + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'id' => :'id', + :'remote_id' => :'remote_id', + :'name' => :'name', + :'job_code' => :'job_code', + :'description' => :'description', + :'confidential' => :'confidential', + :'weekly_hours' => :'weekly_hours', + :'category' => :'category', + :'department' => :'department', + :'post_url' => :'post_url', + :'experience_level' => :'experience_level', + :'salary_amount' => :'salary_amount', + :'salary_amount_from' => :'salary_amount_from', + :'salary_amount_to' => :'salary_amount_to', + :'salary_currency' => :'salary_currency', + :'custom_fields' => :'custom_fields', + :'integration_fields' => :'integration_fields', + :'opened_at' => :'opened_at', + :'closed_at' => :'closed_at', + :'remote_created_at' => :'remote_created_at', + :'remote_updated_at' => :'remote_updated_at', + :'contact_id' => :'contact_id', + :'remote_data' => :'remote_data', + :'changed_at' => :'changed_at', + :'remote_deleted_at' => :'remote_deleted_at', + :'remote_url' => :'remote_url', + :'stages' => :'stages', + :'screening_questions' => :'screening_questions', + :'job_postings' => :'job_postings', + :'hiring_team' => :'hiring_team', + :'employment_type' => :'employment_type', + :'status' => :'status', + :'visibility' => :'visibility', + :'remote_work_status' => :'remote_work_status', + :'salary_period' => :'salary_period', + :'location' => :'location' + } + end + + # Returns attribute mapping this model knows about + def self.acceptable_attribute_map + attribute_map + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + acceptable_attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'id' => :'String', + :'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', + :'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', + :'screening_questions' => :'Array', + :'job_postings' => :'Array', + :'hiring_team' => :'Array', + :'employment_type' => :'GetAiApplyUnifiedApiJobsPositiveResponseDataResultsInnerEmploymentType', + :'status' => :'GetAtsJobsPositiveResponseDataResultsInnerStatus', + :'visibility' => :'String', + :'remote_work_status' => :'String', + :'salary_period' => :'String', + :'location' => :'GetAiApplyUnifiedApiJobsPositiveResponseDataResultsInnerLocation' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + :'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', + :'opened_at', + :'closed_at', + :'remote_created_at', + :'remote_updated_at', + :'contact_id', + :'remote_data', + :'remote_deleted_at', + :'remote_url', + :'screening_questions', + :'employment_type', + :'status', + :'visibility', + :'remote_work_status', + :'salary_period', + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Kombo::GetAiApplyUnifiedApiJobsPositiveResponseDataResultsInner` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + acceptable_attribute_map = self.class.acceptable_attribute_map + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!acceptable_attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Kombo::GetAiApplyUnifiedApiJobsPositiveResponseDataResultsInner`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'id') + self.id = attributes[:'id'] + else + self.id = nil + end + + if attributes.key?(:'remote_id') + self.remote_id = attributes[:'remote_id'] + else + self.remote_id = nil + end + + if attributes.key?(:'name') + self.name = attributes[:'name'] + else + self.name = nil + end + + if attributes.key?(:'job_code') + self.job_code = attributes[:'job_code'] + else + self.job_code = nil + end + + if attributes.key?(:'description') + self.description = attributes[:'description'] + else + self.description = nil + end + + if attributes.key?(:'confidential') + self.confidential = attributes[:'confidential'] + else + self.confidential = nil + end + + if attributes.key?(:'weekly_hours') + self.weekly_hours = attributes[:'weekly_hours'] + else + self.weekly_hours = nil + end + + if attributes.key?(:'category') + self.category = attributes[:'category'] + else + self.category = nil + end + + if attributes.key?(:'department') + self.department = attributes[:'department'] + else + self.department = nil + end + + if attributes.key?(:'post_url') + self.post_url = attributes[:'post_url'] + else + self.post_url = nil + end + + if attributes.key?(:'experience_level') + self.experience_level = attributes[:'experience_level'] + else + self.experience_level = nil + end + + if attributes.key?(:'salary_amount') + self.salary_amount = attributes[:'salary_amount'] + else + self.salary_amount = nil + end + + if attributes.key?(:'salary_amount_from') + self.salary_amount_from = attributes[:'salary_amount_from'] + else + self.salary_amount_from = nil + end + + if attributes.key?(:'salary_amount_to') + self.salary_amount_to = attributes[:'salary_amount_to'] + else + self.salary_amount_to = nil + end + + if attributes.key?(:'salary_currency') + self.salary_currency = attributes[:'salary_currency'] + else + self.salary_currency = nil + end + + if attributes.key?(:'custom_fields') + self.custom_fields = attributes[:'custom_fields'] + else + self.custom_fields = nil + end + + if attributes.key?(:'integration_fields') + if (value = attributes[:'integration_fields']).is_a?(Array) + self.integration_fields = value + end + else + self.integration_fields = nil + end + + if attributes.key?(:'opened_at') + self.opened_at = attributes[:'opened_at'] + else + self.opened_at = nil + end + + if attributes.key?(:'closed_at') + self.closed_at = attributes[:'closed_at'] + else + self.closed_at = nil + end + + if attributes.key?(:'remote_created_at') + self.remote_created_at = attributes[:'remote_created_at'] + else + self.remote_created_at = nil + end + + if attributes.key?(:'remote_updated_at') + self.remote_updated_at = attributes[:'remote_updated_at'] + else + self.remote_updated_at = nil + end + + if attributes.key?(:'contact_id') + self.contact_id = attributes[:'contact_id'] + else + self.contact_id = nil + end + + if attributes.key?(:'remote_data') + self.remote_data = attributes[:'remote_data'] + else + self.remote_data = nil + end + + if attributes.key?(:'changed_at') + self.changed_at = attributes[:'changed_at'] + else + self.changed_at = nil + end + + if attributes.key?(:'remote_deleted_at') + self.remote_deleted_at = attributes[:'remote_deleted_at'] + else + self.remote_deleted_at = nil + end + + if attributes.key?(:'remote_url') + self.remote_url = attributes[:'remote_url'] + else + self.remote_url = nil + end + + if attributes.key?(:'stages') + if (value = attributes[:'stages']).is_a?(Array) + self.stages = value + end + else + self.stages = nil + end + + if attributes.key?(:'screening_questions') + if (value = attributes[:'screening_questions']).is_a?(Array) + self.screening_questions = value + end + else + self.screening_questions = nil + end + + if attributes.key?(:'job_postings') + if (value = attributes[:'job_postings']).is_a?(Array) + self.job_postings = value + end + else + self.job_postings = nil + end + + if attributes.key?(:'hiring_team') + if (value = attributes[:'hiring_team']).is_a?(Array) + self.hiring_team = value + end + else + self.hiring_team = nil + end + + if attributes.key?(:'employment_type') + self.employment_type = attributes[:'employment_type'] + end + + if attributes.key?(:'status') + self.status = attributes[:'status'] + end + + if attributes.key?(:'visibility') + self.visibility = attributes[:'visibility'] + else + self.visibility = nil + end + + if attributes.key?(:'remote_work_status') + self.remote_work_status = attributes[:'remote_work_status'] + else + self.remote_work_status = nil + end + + if attributes.key?(:'salary_period') + self.salary_period = attributes[:'salary_period'] + else + self.salary_period = nil + end + + if attributes.key?(:'location') + self.location = attributes[:'location'] + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + warn '[DEPRECATED] the `list_invalid_properties` method is obsolete' + invalid_properties = Array.new + if @id.nil? + invalid_properties.push('invalid value for "id", id cannot be nil.') + end + + if @remote_id.nil? + invalid_properties.push('invalid value for "remote_id", remote_id cannot be nil.') + end + + if @weekly_hours < -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + invalid_properties.push('invalid value for "weekly_hours", must be greater than or equal to -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.') + end + + if @salary_amount < -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + invalid_properties.push('invalid value for "salary_amount", must be greater than or equal to -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.') + end + + if @salary_amount_from < -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + invalid_properties.push('invalid value for "salary_amount_from", must be greater than or equal to -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.') + end + + if @salary_amount_to < -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + invalid_properties.push('invalid value for "salary_amount_to", must be greater than or equal to -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.') + end + + if @integration_fields.nil? + invalid_properties.push('invalid value for "integration_fields", integration_fields cannot be nil.') + end + + pattern = Regexp.new(/^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}(\.\d+)?Z$/) + if @opened_at !~ pattern + invalid_properties.push("invalid value for \"opened_at\", must conform to the pattern #{pattern}.") + end + + pattern = Regexp.new(/^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}(\.\d+)?Z$/) + if @closed_at !~ pattern + invalid_properties.push("invalid value for \"closed_at\", must conform to the pattern #{pattern}.") + end + + pattern = Regexp.new(/^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}(\.\d+)?Z$/) + if @remote_created_at !~ pattern + invalid_properties.push("invalid value for \"remote_created_at\", must conform to the pattern #{pattern}.") + end + + pattern = Regexp.new(/^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}(\.\d+)?Z$/) + if @remote_updated_at !~ pattern + invalid_properties.push("invalid value for \"remote_updated_at\", must conform to the pattern #{pattern}.") + end + + if @changed_at.nil? + invalid_properties.push('invalid value for "changed_at", changed_at cannot be nil.') + end + + pattern = Regexp.new(/^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}(\.\d+)?Z$/) + if @changed_at !~ pattern + invalid_properties.push("invalid value for \"changed_at\", must conform to the pattern #{pattern}.") + end + + pattern = Regexp.new(/^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}(\.\d+)?Z$/) + if @remote_deleted_at !~ pattern + invalid_properties.push("invalid value for \"remote_deleted_at\", must conform to the pattern #{pattern}.") + end + + if @stages.nil? + invalid_properties.push('invalid value for "stages", stages cannot be nil.') + end + + if @job_postings.nil? + invalid_properties.push('invalid value for "job_postings", job_postings cannot be nil.') + end + + if @hiring_team.nil? + invalid_properties.push('invalid value for "hiring_team", hiring_team cannot be nil.') + end + + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + warn '[DEPRECATED] the `valid?` method is obsolete' + return false if @id.nil? + return false if @remote_id.nil? + return false if @weekly_hours < -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + return false if @salary_amount < -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + return false if @salary_amount_from < -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + return false if @salary_amount_to < -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + return false if @integration_fields.nil? + return false if @opened_at !~ Regexp.new(/^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}(\.\d+)?Z$/) + return false if @closed_at !~ Regexp.new(/^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}(\.\d+)?Z$/) + return false if @remote_created_at !~ Regexp.new(/^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}(\.\d+)?Z$/) + return false if @remote_updated_at !~ Regexp.new(/^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}(\.\d+)?Z$/) + return false if @changed_at.nil? + return false if @changed_at !~ Regexp.new(/^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}(\.\d+)?Z$/) + return false if @remote_deleted_at !~ Regexp.new(/^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}(\.\d+)?Z$/) + return false if @stages.nil? + return false if @job_postings.nil? + return false if @hiring_team.nil? + true + end + + # Custom attribute writer method with validation + # @param [Object] id Value to be assigned + def id=(id) + if id.nil? + fail ArgumentError, 'id cannot be nil' + end + + @id = id + end + + # Custom attribute writer method with validation + # @param [Object] remote_id Value to be assigned + def remote_id=(remote_id) + if remote_id.nil? + fail ArgumentError, 'remote_id cannot be nil' + end + + @remote_id = remote_id + end + + # Custom attribute writer method with validation + # @param [Object] weekly_hours Value to be assigned + def weekly_hours=(weekly_hours) + if !weekly_hours.nil? && weekly_hours < -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + fail ArgumentError, 'invalid value for "weekly_hours", must be greater than or equal to -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.' + end + + @weekly_hours = weekly_hours + end + + # Custom attribute writer method with validation + # @param [Object] salary_amount Value to be assigned + def salary_amount=(salary_amount) + if !salary_amount.nil? && salary_amount < -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + fail ArgumentError, 'invalid value for "salary_amount", must be greater than or equal to -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.' + end + + @salary_amount = salary_amount + end + + # Custom attribute writer method with validation + # @param [Object] salary_amount_from Value to be assigned + def salary_amount_from=(salary_amount_from) + if !salary_amount_from.nil? && salary_amount_from < -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + fail ArgumentError, 'invalid value for "salary_amount_from", must be greater than or equal to -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.' + end + + @salary_amount_from = salary_amount_from + end + + # Custom attribute writer method with validation + # @param [Object] salary_amount_to Value to be assigned + def salary_amount_to=(salary_amount_to) + if !salary_amount_to.nil? && salary_amount_to < -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + fail ArgumentError, 'invalid value for "salary_amount_to", must be greater than or equal to -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.' + end + + @salary_amount_to = salary_amount_to + end + + # Custom attribute writer method with validation + # @param [Object] integration_fields Value to be assigned + def integration_fields=(integration_fields) + if integration_fields.nil? + fail ArgumentError, 'integration_fields cannot be nil' + end + + @integration_fields = integration_fields + end + + # Custom attribute writer method with validation + # @param [Object] opened_at Value to be assigned + def opened_at=(opened_at) + pattern = Regexp.new(/^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}(\.\d+)?Z$/) + if !opened_at.nil? && opened_at !~ pattern + fail ArgumentError, "invalid value for \"opened_at\", must conform to the pattern #{pattern}." + end + + @opened_at = opened_at + end + + # Custom attribute writer method with validation + # @param [Object] closed_at Value to be assigned + def closed_at=(closed_at) + pattern = Regexp.new(/^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}(\.\d+)?Z$/) + if !closed_at.nil? && closed_at !~ pattern + fail ArgumentError, "invalid value for \"closed_at\", must conform to the pattern #{pattern}." + end + + @closed_at = closed_at + end + + # Custom attribute writer method with validation + # @param [Object] remote_created_at Value to be assigned + def remote_created_at=(remote_created_at) + pattern = Regexp.new(/^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}(\.\d+)?Z$/) + if !remote_created_at.nil? && remote_created_at !~ pattern + fail ArgumentError, "invalid value for \"remote_created_at\", must conform to the pattern #{pattern}." + end + + @remote_created_at = remote_created_at + end + + # Custom attribute writer method with validation + # @param [Object] remote_updated_at Value to be assigned + def remote_updated_at=(remote_updated_at) + pattern = Regexp.new(/^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}(\.\d+)?Z$/) + if !remote_updated_at.nil? && remote_updated_at !~ pattern + fail ArgumentError, "invalid value for \"remote_updated_at\", must conform to the pattern #{pattern}." + end + + @remote_updated_at = remote_updated_at + end + + # Custom attribute writer method with validation + # @param [Object] changed_at Value to be assigned + def changed_at=(changed_at) + if changed_at.nil? + fail ArgumentError, 'changed_at cannot be nil' + end + + pattern = Regexp.new(/^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}(\.\d+)?Z$/) + if changed_at !~ pattern + fail ArgumentError, "invalid value for \"changed_at\", must conform to the pattern #{pattern}." + end + + @changed_at = changed_at + end + + # Custom attribute writer method with validation + # @param [Object] remote_deleted_at Value to be assigned + def remote_deleted_at=(remote_deleted_at) + pattern = Regexp.new(/^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}(\.\d+)?Z$/) + if !remote_deleted_at.nil? && remote_deleted_at !~ pattern + fail ArgumentError, "invalid value for \"remote_deleted_at\", must conform to the pattern #{pattern}." + end + + @remote_deleted_at = remote_deleted_at + end + + # Custom attribute writer method with validation + # @param [Object] stages Value to be assigned + def stages=(stages) + if stages.nil? + fail ArgumentError, 'stages cannot be nil' + end + + @stages = stages + end + + # Custom attribute writer method with validation + # @param [Object] job_postings Value to be assigned + def job_postings=(job_postings) + if job_postings.nil? + fail ArgumentError, 'job_postings cannot be nil' + end + + @job_postings = job_postings + end + + # Custom attribute writer method with validation + # @param [Object] hiring_team Value to be assigned + def hiring_team=(hiring_team) + if hiring_team.nil? + fail ArgumentError, 'hiring_team cannot be nil' + end + + @hiring_team = hiring_team + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + id == o.id && + remote_id == o.remote_id && + name == o.name && + job_code == o.job_code && + description == o.description && + confidential == o.confidential && + weekly_hours == o.weekly_hours && + category == o.category && + department == o.department && + post_url == o.post_url && + experience_level == o.experience_level && + salary_amount == o.salary_amount && + salary_amount_from == o.salary_amount_from && + salary_amount_to == o.salary_amount_to && + salary_currency == o.salary_currency && + custom_fields == o.custom_fields && + integration_fields == o.integration_fields && + opened_at == o.opened_at && + closed_at == o.closed_at && + remote_created_at == o.remote_created_at && + remote_updated_at == o.remote_updated_at && + contact_id == o.contact_id && + remote_data == o.remote_data && + changed_at == o.changed_at && + remote_deleted_at == o.remote_deleted_at && + remote_url == o.remote_url && + stages == o.stages && + screening_questions == o.screening_questions && + job_postings == o.job_postings && + hiring_team == o.hiring_team && + employment_type == o.employment_type && + status == o.status && + visibility == o.visibility && + remote_work_status == o.remote_work_status && + salary_period == o.salary_period && + location == o.location + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [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, employment_type, status, visibility, remote_work_status, salary_period, location].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + transformed_hash = {} + openapi_types.each_pair do |key, type| + if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = nil + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[attribute_map[key]].is_a?(Array) + transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) } + end + elsif !attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]]) + end + end + new(transformed_hash) + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + end + +end diff --git a/lib/kombo_client/models/get_ai_apply_unified_api_jobs_positive_response_data_results_inner_employment_type.rb b/lib/kombo_client/models/get_ai_apply_unified_api_jobs_positive_response_data_results_inner_employment_type.rb new file mode 100644 index 0000000..44b28f8 --- /dev/null +++ b/lib/kombo_client/models/get_ai_apply_unified_api_jobs_positive_response_data_results_inner_employment_type.rb @@ -0,0 +1,103 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.17.0 + +=end + +require 'date' +require 'time' + +module Kombo + # One of 5 standardized values or — in rare cases where we can’t find a clear mapping — the original string passed through. + module GetAiApplyUnifiedApiJobsPositiveResponseDataResultsInnerEmploymentType + class << self + # List of class defined in anyOf (OpenAPI v3) + def openapi_any_of + [ + :'String' + ] + end + + # Builds the object + # @param [Mixed] Data to be matched against the list of anyOf items + # @return [Object] Returns the model or the data itself + def build(data) + # Go through the list of anyOf items and attempt to identify the appropriate one. + # Note: + # - No advanced validation of types in some cases (e.g. "x: { type: string }" will happily match { x: 123 }) + # due to the way the deserialization is made in the base_object template (it just casts without verifying). + # - TODO: scalar values are de facto behaving as if they were nullable. + # - TODO: logging when debugging is set. + openapi_any_of.each do |klass| + begin + next if klass == :AnyType # "nullable: true" + return find_and_cast_into_type(klass, data) + rescue # rescue all errors so we keep iterating even if the current item lookup raises + end + end + + openapi_any_of.include?(:AnyType) ? data : nil + end + + private + + SchemaMismatchError = Class.new(StandardError) + + # Note: 'File' is missing here because in the regular case we get the data _after_ a call to JSON.parse. + def find_and_cast_into_type(klass, data) + return if data.nil? + + case klass.to_s + when 'Boolean' + return data if data.instance_of?(TrueClass) || data.instance_of?(FalseClass) + when 'Float' + return data if data.instance_of?(Float) + when 'Integer' + return data if data.instance_of?(Integer) + when 'Time' + return Time.parse(data) + when 'Date' + return Date.iso8601(data) + when 'String' + return data if data.instance_of?(String) + when 'Object' # "type: object" + return data if data.instance_of?(Hash) + when /\AArray<(?.+)>\z/ # "type: array" + if data.instance_of?(Array) + sub_type = Regexp.last_match[:sub_type] + return data.map { |item| find_and_cast_into_type(sub_type, item) } + end + when /\AHash.+)>\z/ # "type: object" with "additionalProperties: { ... }" + if data.instance_of?(Hash) && data.keys.all? { |k| k.instance_of?(Symbol) || k.instance_of?(String) } + sub_type = Regexp.last_match[:sub_type] + return data.each_with_object({}) { |(k, v), hsh| hsh[k] = find_and_cast_into_type(sub_type, v) } + end + else # model + const = Kombo.const_get(klass) + if const + if const.respond_to?(:openapi_any_of) # nested anyOf model + model = const.build(data) + return model if model + else + # raise if data contains keys that are not known to the model + raise if const.respond_to?(:acceptable_attributes) && !(data.keys - const.acceptable_attributes).empty? + model = const.build_from_hash(data) + return model if model + end + end + end + + raise # if no match by now, raise + rescue + raise SchemaMismatchError, "#{data} doesn't match the #{klass} type" + end + end + end + +end diff --git a/lib/kombo_client/models/get_ai_apply_unified_api_jobs_positive_response_data_results_inner_location.rb b/lib/kombo_client/models/get_ai_apply_unified_api_jobs_positive_response_data_results_inner_location.rb new file mode 100644 index 0000000..01442f0 --- /dev/null +++ b/lib/kombo_client/models/get_ai_apply_unified_api_jobs_positive_response_data_results_inner_location.rb @@ -0,0 +1,211 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.17.0 + +=end + +require 'date' +require 'time' + +module Kombo + class GetAiApplyUnifiedApiJobsPositiveResponseDataResultsInnerLocation < ApiModelBase + attr_accessor :city + + # Contains the ISO2 country code if possible. If not, it contains the original value. + attr_accessor :country + + # If we have address data, this is filled with the raw address string. + attr_accessor :raw + + attr_accessor :state + + # If we can parse the address data, this field contains the first part of the street information. + attr_accessor :street_1 + + attr_accessor :street_2 + + attr_accessor :zip_code + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'city' => :'city', + :'country' => :'country', + :'raw' => :'raw', + :'state' => :'state', + :'street_1' => :'street_1', + :'street_2' => :'street_2', + :'zip_code' => :'zip_code' + } + end + + # Returns attribute mapping this model knows about + def self.acceptable_attribute_map + attribute_map + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + acceptable_attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'city' => :'String', + :'country' => :'String', + :'raw' => :'String', + :'state' => :'String', + :'street_1' => :'String', + :'street_2' => :'String', + :'zip_code' => :'String' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + :'city', + :'country', + :'raw', + :'state', + :'street_1', + :'street_2', + :'zip_code' + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Kombo::GetAiApplyUnifiedApiJobsPositiveResponseDataResultsInnerLocation` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + acceptable_attribute_map = self.class.acceptable_attribute_map + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!acceptable_attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Kombo::GetAiApplyUnifiedApiJobsPositiveResponseDataResultsInnerLocation`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'city') + self.city = attributes[:'city'] + end + + if attributes.key?(:'country') + self.country = attributes[:'country'] + end + + if attributes.key?(:'raw') + self.raw = attributes[:'raw'] + end + + if attributes.key?(:'state') + self.state = attributes[:'state'] + end + + if attributes.key?(:'street_1') + self.street_1 = attributes[:'street_1'] + end + + if attributes.key?(:'street_2') + self.street_2 = attributes[:'street_2'] + end + + if attributes.key?(:'zip_code') + self.zip_code = attributes[:'zip_code'] + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + warn '[DEPRECATED] the `list_invalid_properties` method is obsolete' + invalid_properties = Array.new + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + warn '[DEPRECATED] the `valid?` method is obsolete' + true + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + city == o.city && + country == o.country && + raw == o.raw && + state == o.state && + street_1 == o.street_1 && + street_2 == o.street_2 && + zip_code == o.zip_code + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [city, country, raw, state, street_1, street_2, zip_code].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + transformed_hash = {} + openapi_types.each_pair do |key, type| + if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = nil + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[attribute_map[key]].is_a?(Array) + transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) } + end + elsif !attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]]) + end + end + new(transformed_hash) + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + end + +end diff --git a/lib/kombo_client/models/get_ai_apply_unified_api_jobs_positive_response_data_results_inner_screening_questions_inner.rb b/lib/kombo_client/models/get_ai_apply_unified_api_jobs_positive_response_data_results_inner_screening_questions_inner.rb new file mode 100644 index 0000000..80c41e4 --- /dev/null +++ b/lib/kombo_client/models/get_ai_apply_unified_api_jobs_positive_response_data_results_inner_screening_questions_inner.rb @@ -0,0 +1,298 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.17.0 + +=end + +require 'date' +require 'time' + +module Kombo + class GetAiApplyUnifiedApiJobsPositiveResponseDataResultsInnerScreeningQuestionsInner < ApiModelBase + attr_accessor :id + + attr_accessor :remote_id + + attr_accessor :title + + attr_accessor :description + + attr_accessor :format + + attr_accessor :category + + attr_accessor :index + + attr_accessor :required + + attr_accessor :precondition_question_id + + attr_accessor :precondition_options + + class EnumAttributeValidator + attr_reader :datatype + attr_reader :allowable_values + + def initialize(datatype, allowable_values) + @allowable_values = allowable_values.map do |value| + case datatype.to_s + when /Integer/i + value.to_i + when /Float/i + value.to_f + else + value + end + end + end + + def valid?(value) + !value || allowable_values.include?(value) + end + end + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'id' => :'id', + :'remote_id' => :'remote_id', + :'title' => :'title', + :'description' => :'description', + :'format' => :'format', + :'category' => :'category', + :'index' => :'index', + :'required' => :'required', + :'precondition_question_id' => :'precondition_question_id', + :'precondition_options' => :'precondition_options' + } + end + + # Returns attribute mapping this model knows about + def self.acceptable_attribute_map + attribute_map + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + acceptable_attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'id' => :'String', + :'remote_id' => :'String', + :'title' => :'String', + :'description' => :'String', + :'format' => :'GetAtsJobsPositiveResponseDataResultsInnerScreeningQuestionsInnerFormat', + :'category' => :'String', + :'index' => :'Integer', + :'required' => :'Boolean', + :'precondition_question_id' => :'String', + :'precondition_options' => :'GetAiApplyUnifiedApiJobsPositiveResponseDataResultsInnerScreeningQuestionsInnerPreconditionOptions' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + :'remote_id', + :'title', + :'description', + :'format', + :'category', + :'index', + :'required', + :'precondition_question_id', + :'precondition_options' + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Kombo::GetAiApplyUnifiedApiJobsPositiveResponseDataResultsInnerScreeningQuestionsInner` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + acceptable_attribute_map = self.class.acceptable_attribute_map + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!acceptable_attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Kombo::GetAiApplyUnifiedApiJobsPositiveResponseDataResultsInnerScreeningQuestionsInner`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'id') + self.id = attributes[:'id'] + else + self.id = nil + end + + if attributes.key?(:'remote_id') + self.remote_id = attributes[:'remote_id'] + else + self.remote_id = nil + end + + if attributes.key?(:'title') + self.title = attributes[:'title'] + else + self.title = nil + end + + if attributes.key?(:'description') + self.description = attributes[:'description'] + else + self.description = nil + end + + if attributes.key?(:'format') + self.format = attributes[:'format'] + end + + if attributes.key?(:'category') + self.category = attributes[:'category'] + else + self.category = nil + end + + if attributes.key?(:'index') + self.index = attributes[:'index'] + end + + if attributes.key?(:'required') + self.required = attributes[:'required'] + else + self.required = nil + end + + if attributes.key?(:'precondition_question_id') + self.precondition_question_id = attributes[:'precondition_question_id'] + end + + if attributes.key?(:'precondition_options') + self.precondition_options = attributes[:'precondition_options'] + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + warn '[DEPRECATED] the `list_invalid_properties` method is obsolete' + invalid_properties = Array.new + if @id.nil? + invalid_properties.push('invalid value for "id", id cannot be nil.') + end + + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + warn '[DEPRECATED] the `valid?` method is obsolete' + return false if @id.nil? + category_validator = EnumAttributeValidator.new('String', ["EEO"]) + return false unless category_validator.valid?(@category) + true + end + + # Custom attribute writer method with validation + # @param [Object] id Value to be assigned + def id=(id) + if id.nil? + fail ArgumentError, 'id cannot be nil' + end + + @id = id + end + + # Custom attribute writer method checking allowed values (enum). + # @param [Object] category Object to be assigned + def category=(category) + validator = EnumAttributeValidator.new('String', ["EEO"]) + unless validator.valid?(category) + fail ArgumentError, "invalid value for \"category\", must be one of #{validator.allowable_values}." + end + @category = category + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + id == o.id && + remote_id == o.remote_id && + title == o.title && + description == o.description && + format == o.format && + category == o.category && + index == o.index && + required == o.required && + precondition_question_id == o.precondition_question_id && + precondition_options == o.precondition_options + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [id, remote_id, title, description, format, category, index, required, precondition_question_id, precondition_options].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + transformed_hash = {} + openapi_types.each_pair do |key, type| + if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = nil + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[attribute_map[key]].is_a?(Array) + transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) } + end + elsif !attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]]) + end + end + new(transformed_hash) + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + end + +end diff --git a/lib/kombo_client/models/get_ai_apply_unified_api_jobs_positive_response_data_results_inner_screening_questions_inner_precondition_options.rb b/lib/kombo_client/models/get_ai_apply_unified_api_jobs_positive_response_data_results_inner_screening_questions_inner_precondition_options.rb new file mode 100644 index 0000000..695d286 --- /dev/null +++ b/lib/kombo_client/models/get_ai_apply_unified_api_jobs_positive_response_data_results_inner_screening_questions_inner_precondition_options.rb @@ -0,0 +1,103 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.17.0 + +=end + +require 'date' +require 'time' + +module Kombo + module GetAiApplyUnifiedApiJobsPositiveResponseDataResultsInnerScreeningQuestionsInnerPreconditionOptions + class << self + # List of class defined in anyOf (OpenAPI v3) + def openapi_any_of + [ + :'Array', + :'Array' + ] + end + + # Builds the object + # @param [Mixed] Data to be matched against the list of anyOf items + # @return [Object] Returns the model or the data itself + def build(data) + # Go through the list of anyOf items and attempt to identify the appropriate one. + # Note: + # - No advanced validation of types in some cases (e.g. "x: { type: string }" will happily match { x: 123 }) + # due to the way the deserialization is made in the base_object template (it just casts without verifying). + # - TODO: scalar values are de facto behaving as if they were nullable. + # - TODO: logging when debugging is set. + openapi_any_of.each do |klass| + begin + next if klass == :AnyType # "nullable: true" + return find_and_cast_into_type(klass, data) + rescue # rescue all errors so we keep iterating even if the current item lookup raises + end + end + + openapi_any_of.include?(:AnyType) ? data : nil + end + + private + + SchemaMismatchError = Class.new(StandardError) + + # Note: 'File' is missing here because in the regular case we get the data _after_ a call to JSON.parse. + def find_and_cast_into_type(klass, data) + return if data.nil? + + case klass.to_s + when 'Boolean' + return data if data.instance_of?(TrueClass) || data.instance_of?(FalseClass) + when 'Float' + return data if data.instance_of?(Float) + when 'Integer' + return data if data.instance_of?(Integer) + when 'Time' + return Time.parse(data) + when 'Date' + return Date.iso8601(data) + when 'String' + return data if data.instance_of?(String) + when 'Object' # "type: object" + return data if data.instance_of?(Hash) + when /\AArray<(?.+)>\z/ # "type: array" + if data.instance_of?(Array) + sub_type = Regexp.last_match[:sub_type] + return data.map { |item| find_and_cast_into_type(sub_type, item) } + end + when /\AHash.+)>\z/ # "type: object" with "additionalProperties: { ... }" + if data.instance_of?(Hash) && data.keys.all? { |k| k.instance_of?(Symbol) || k.instance_of?(String) } + sub_type = Regexp.last_match[:sub_type] + return data.each_with_object({}) { |(k, v), hsh| hsh[k] = find_and_cast_into_type(sub_type, v) } + end + else # model + const = Kombo.const_get(klass) + if const + if const.respond_to?(:openapi_any_of) # nested anyOf model + model = const.build(data) + return model if model + else + # raise if data contains keys that are not known to the model + raise if const.respond_to?(:acceptable_attributes) && !(data.keys - const.acceptable_attributes).empty? + model = const.build_from_hash(data) + return model if model + end + end + end + + raise # if no match by now, raise + rescue + raise SchemaMismatchError, "#{data} doesn't match the #{klass} type" + end + end + end + +end diff --git a/lib/kombo_client/models/get_assessment_orders_open_positive_response.rb b/lib/kombo_client/models/get_assessment_orders_open_positive_response.rb new file mode 100644 index 0000000..cab2b2a --- /dev/null +++ b/lib/kombo_client/models/get_assessment_orders_open_positive_response.rb @@ -0,0 +1,214 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.17.0 + +=end + +require 'date' +require 'time' + +module Kombo + class GetAssessmentOrdersOpenPositiveResponse < ApiModelBase + attr_accessor :status + + attr_accessor :data + + class EnumAttributeValidator + attr_reader :datatype + attr_reader :allowable_values + + def initialize(datatype, allowable_values) + @allowable_values = allowable_values.map do |value| + case datatype.to_s + when /Integer/i + value.to_i + when /Float/i + value.to_f + else + value + end + end + end + + def valid?(value) + !value || allowable_values.include?(value) + end + end + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'status' => :'status', + :'data' => :'data' + } + end + + # Returns attribute mapping this model knows about + def self.acceptable_attribute_map + attribute_map + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + acceptable_attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'status' => :'String', + :'data' => :'GetAssessmentOrdersOpenPositiveResponseData' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Kombo::GetAssessmentOrdersOpenPositiveResponse` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + acceptable_attribute_map = self.class.acceptable_attribute_map + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!acceptable_attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Kombo::GetAssessmentOrdersOpenPositiveResponse`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'status') + self.status = attributes[:'status'] + else + self.status = nil + end + + if attributes.key?(:'data') + self.data = attributes[:'data'] + else + self.data = nil + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + warn '[DEPRECATED] the `list_invalid_properties` method is obsolete' + invalid_properties = Array.new + if @status.nil? + invalid_properties.push('invalid value for "status", status cannot be nil.') + end + + if @data.nil? + invalid_properties.push('invalid value for "data", data cannot be nil.') + end + + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + warn '[DEPRECATED] the `valid?` method is obsolete' + return false if @status.nil? + status_validator = EnumAttributeValidator.new('String', ["success"]) + return false unless status_validator.valid?(@status) + return false if @data.nil? + true + end + + # Custom attribute writer method checking allowed values (enum). + # @param [Object] status Object to be assigned + def status=(status) + validator = EnumAttributeValidator.new('String', ["success"]) + unless validator.valid?(status) + fail ArgumentError, "invalid value for \"status\", must be one of #{validator.allowable_values}." + end + @status = status + end + + # Custom attribute writer method with validation + # @param [Object] data Value to be assigned + def data=(data) + if data.nil? + fail ArgumentError, 'data cannot be nil' + end + + @data = data + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + status == o.status && + data == o.data + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [status, data].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + transformed_hash = {} + openapi_types.each_pair do |key, type| + if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = nil + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[attribute_map[key]].is_a?(Array) + transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) } + end + elsif !attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]]) + end + end + new(transformed_hash) + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + end + +end diff --git a/lib/kombo_client/models/get_assessment_orders_open_positive_response_data.rb b/lib/kombo_client/models/get_assessment_orders_open_positive_response_data.rb new file mode 100644 index 0000000..8f5aab5 --- /dev/null +++ b/lib/kombo_client/models/get_assessment_orders_open_positive_response_data.rb @@ -0,0 +1,178 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.17.0 + +=end + +require 'date' +require 'time' + +module Kombo + class GetAssessmentOrdersOpenPositiveResponseData < ApiModelBase + attr_accessor :_next + + attr_accessor :results + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'_next' => :'next', + :'results' => :'results' + } + end + + # Returns attribute mapping this model knows about + def self.acceptable_attribute_map + attribute_map + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + acceptable_attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'_next' => :'String', + :'results' => :'Array' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + :'_next', + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Kombo::GetAssessmentOrdersOpenPositiveResponseData` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + acceptable_attribute_map = self.class.acceptable_attribute_map + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!acceptable_attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Kombo::GetAssessmentOrdersOpenPositiveResponseData`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'_next') + self._next = attributes[:'_next'] + else + self._next = nil + end + + if attributes.key?(:'results') + if (value = attributes[:'results']).is_a?(Array) + self.results = value + end + else + self.results = nil + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + warn '[DEPRECATED] the `list_invalid_properties` method is obsolete' + invalid_properties = Array.new + if @results.nil? + invalid_properties.push('invalid value for "results", results cannot be nil.') + end + + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + warn '[DEPRECATED] the `valid?` method is obsolete' + return false if @results.nil? + true + end + + # Custom attribute writer method with validation + # @param [Object] results Value to be assigned + def results=(results) + if results.nil? + fail ArgumentError, 'results cannot be nil' + end + + @results = results + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + _next == o._next && + results == o.results + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [_next, results].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + transformed_hash = {} + openapi_types.each_pair do |key, type| + if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = nil + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[attribute_map[key]].is_a?(Array) + transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) } + end + elsif !attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]]) + end + end + new(transformed_hash) + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + end + +end diff --git a/lib/kombo_client/models/get_assessment_orders_open_positive_response_data_results_inner.rb b/lib/kombo_client/models/get_assessment_orders_open_positive_response_data_results_inner.rb new file mode 100644 index 0000000..d8c92bd --- /dev/null +++ b/lib/kombo_client/models/get_assessment_orders_open_positive_response_data_results_inner.rb @@ -0,0 +1,270 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.17.0 + +=end + +require 'date' +require 'time' + +module Kombo + class GetAssessmentOrdersOpenPositiveResponseDataResultsInner < ApiModelBase + # The unique identifier of the assessment order. + attr_accessor :id + + # The identifier of the assessment package. + attr_accessor :package_id + + attr_accessor :candidate + + attr_accessor :application + + attr_accessor :job + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'id' => :'id', + :'package_id' => :'package_id', + :'candidate' => :'candidate', + :'application' => :'application', + :'job' => :'job' + } + end + + # Returns attribute mapping this model knows about + def self.acceptable_attribute_map + attribute_map + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + acceptable_attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'id' => :'String', + :'package_id' => :'String', + :'candidate' => :'GetAssessmentOrdersOpenPositiveResponseDataResultsInnerCandidate', + :'application' => :'GetAssessmentOrdersOpenPositiveResponseDataResultsInnerApplication', + :'job' => :'GetAssessmentOrdersOpenPositiveResponseDataResultsInnerJob' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Kombo::GetAssessmentOrdersOpenPositiveResponseDataResultsInner` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + acceptable_attribute_map = self.class.acceptable_attribute_map + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!acceptable_attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Kombo::GetAssessmentOrdersOpenPositiveResponseDataResultsInner`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'id') + self.id = attributes[:'id'] + else + self.id = nil + end + + if attributes.key?(:'package_id') + self.package_id = attributes[:'package_id'] + else + self.package_id = nil + end + + if attributes.key?(:'candidate') + self.candidate = attributes[:'candidate'] + else + self.candidate = nil + end + + if attributes.key?(:'application') + self.application = attributes[:'application'] + else + self.application = nil + end + + if attributes.key?(:'job') + self.job = attributes[:'job'] + else + self.job = nil + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + warn '[DEPRECATED] the `list_invalid_properties` method is obsolete' + invalid_properties = Array.new + if @id.nil? + invalid_properties.push('invalid value for "id", id cannot be nil.') + end + + if @package_id.nil? + invalid_properties.push('invalid value for "package_id", package_id cannot be nil.') + end + + if @candidate.nil? + invalid_properties.push('invalid value for "candidate", candidate cannot be nil.') + end + + if @application.nil? + invalid_properties.push('invalid value for "application", application cannot be nil.') + end + + if @job.nil? + invalid_properties.push('invalid value for "job", job cannot be nil.') + end + + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + warn '[DEPRECATED] the `valid?` method is obsolete' + return false if @id.nil? + return false if @package_id.nil? + return false if @candidate.nil? + return false if @application.nil? + return false if @job.nil? + true + end + + # Custom attribute writer method with validation + # @param [Object] id Value to be assigned + def id=(id) + if id.nil? + fail ArgumentError, 'id cannot be nil' + end + + @id = id + end + + # Custom attribute writer method with validation + # @param [Object] package_id Value to be assigned + def package_id=(package_id) + if package_id.nil? + fail ArgumentError, 'package_id cannot be nil' + end + + @package_id = package_id + end + + # Custom attribute writer method with validation + # @param [Object] candidate Value to be assigned + def candidate=(candidate) + if candidate.nil? + fail ArgumentError, 'candidate cannot be nil' + end + + @candidate = candidate + end + + # Custom attribute writer method with validation + # @param [Object] application Value to be assigned + def application=(application) + if application.nil? + fail ArgumentError, 'application cannot be nil' + end + + @application = application + end + + # Custom attribute writer method with validation + # @param [Object] job Value to be assigned + def job=(job) + if job.nil? + fail ArgumentError, 'job cannot be nil' + end + + @job = job + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + id == o.id && + package_id == o.package_id && + candidate == o.candidate && + application == o.application && + job == o.job + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [id, package_id, candidate, application, job].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + transformed_hash = {} + openapi_types.each_pair do |key, type| + if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = nil + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[attribute_map[key]].is_a?(Array) + transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) } + end + elsif !attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]]) + end + end + new(transformed_hash) + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + end + +end diff --git a/lib/kombo_client/models/get_assessment_orders_open_positive_response_data_results_inner_application.rb b/lib/kombo_client/models/get_assessment_orders_open_positive_response_data_results_inner_application.rb new file mode 100644 index 0000000..2bfbea5 --- /dev/null +++ b/lib/kombo_client/models/get_assessment_orders_open_positive_response_data_results_inner_application.rb @@ -0,0 +1,150 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.17.0 + +=end + +require 'date' +require 'time' + +module Kombo + # Information about the job application. + class GetAssessmentOrdersOpenPositiveResponseDataResultsInnerApplication < ApiModelBase + # The application's identifier in the integrated system. + attr_accessor :remote_id + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'remote_id' => :'remote_id' + } + end + + # Returns attribute mapping this model knows about + def self.acceptable_attribute_map + attribute_map + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + acceptable_attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'remote_id' => :'String' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + :'remote_id' + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Kombo::GetAssessmentOrdersOpenPositiveResponseDataResultsInnerApplication` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + acceptable_attribute_map = self.class.acceptable_attribute_map + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!acceptable_attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Kombo::GetAssessmentOrdersOpenPositiveResponseDataResultsInnerApplication`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'remote_id') + self.remote_id = attributes[:'remote_id'] + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + warn '[DEPRECATED] the `list_invalid_properties` method is obsolete' + invalid_properties = Array.new + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + warn '[DEPRECATED] the `valid?` method is obsolete' + true + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + remote_id == o.remote_id + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [remote_id].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + transformed_hash = {} + openapi_types.each_pair do |key, type| + if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = nil + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[attribute_map[key]].is_a?(Array) + transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) } + end + elsif !attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]]) + end + end + new(transformed_hash) + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + end + +end diff --git a/lib/kombo_client/models/get_assessment_orders_open_positive_response_data_results_inner_candidate.rb b/lib/kombo_client/models/get_assessment_orders_open_positive_response_data_results_inner_candidate.rb new file mode 100644 index 0000000..89b0c2e --- /dev/null +++ b/lib/kombo_client/models/get_assessment_orders_open_positive_response_data_results_inner_candidate.rb @@ -0,0 +1,210 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.17.0 + +=end + +require 'date' +require 'time' + +module Kombo + # Information about the candidate taking the assessment. + class GetAssessmentOrdersOpenPositiveResponseDataResultsInnerCandidate < ApiModelBase + # The candidate's email address. + attr_accessor :email + + # The candidate's first name. + attr_accessor :first_name + + # The candidate's last name. + attr_accessor :last_name + + # The candidate's phone number. + attr_accessor :phone + + # The candidate's identifier in the integrated system. + attr_accessor :remote_id + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'email' => :'email', + :'first_name' => :'first_name', + :'last_name' => :'last_name', + :'phone' => :'phone', + :'remote_id' => :'remote_id' + } + end + + # Returns attribute mapping this model knows about + def self.acceptable_attribute_map + attribute_map + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + acceptable_attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'email' => :'String', + :'first_name' => :'String', + :'last_name' => :'String', + :'phone' => :'String', + :'remote_id' => :'String' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + :'first_name', + :'last_name', + :'phone', + :'remote_id' + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Kombo::GetAssessmentOrdersOpenPositiveResponseDataResultsInnerCandidate` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + acceptable_attribute_map = self.class.acceptable_attribute_map + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!acceptable_attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Kombo::GetAssessmentOrdersOpenPositiveResponseDataResultsInnerCandidate`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'email') + self.email = attributes[:'email'] + else + self.email = nil + end + + if attributes.key?(:'first_name') + self.first_name = attributes[:'first_name'] + end + + if attributes.key?(:'last_name') + self.last_name = attributes[:'last_name'] + end + + if attributes.key?(:'phone') + self.phone = attributes[:'phone'] + end + + if attributes.key?(:'remote_id') + self.remote_id = attributes[:'remote_id'] + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + warn '[DEPRECATED] the `list_invalid_properties` method is obsolete' + invalid_properties = Array.new + if @email.nil? + invalid_properties.push('invalid value for "email", email cannot be nil.') + end + + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + warn '[DEPRECATED] the `valid?` method is obsolete' + return false if @email.nil? + true + end + + # Custom attribute writer method with validation + # @param [Object] email Value to be assigned + def email=(email) + if email.nil? + fail ArgumentError, 'email cannot be nil' + end + + @email = email + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + email == o.email && + first_name == o.first_name && + last_name == o.last_name && + phone == o.phone && + remote_id == o.remote_id + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [email, first_name, last_name, phone, remote_id].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + transformed_hash = {} + openapi_types.each_pair do |key, type| + if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = nil + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[attribute_map[key]].is_a?(Array) + transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) } + end + elsif !attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]]) + end + end + new(transformed_hash) + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + end + +end diff --git a/lib/kombo_client/models/get_assessment_orders_open_positive_response_data_results_inner_job.rb b/lib/kombo_client/models/get_assessment_orders_open_positive_response_data_results_inner_job.rb new file mode 100644 index 0000000..e2c8b1a --- /dev/null +++ b/lib/kombo_client/models/get_assessment_orders_open_positive_response_data_results_inner_job.rb @@ -0,0 +1,199 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.17.0 + +=end + +require 'date' +require 'time' + +module Kombo + # Information about the job posting. + class GetAssessmentOrdersOpenPositiveResponseDataResultsInnerJob < ApiModelBase + # The job's identifier in the integrated system. + attr_accessor :remote_id + + # The job title. + attr_accessor :name + + attr_accessor :location + + # The hiring team allows you to sync users into your system who can access the job and its applications. + attr_accessor :hiring_team + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'remote_id' => :'remote_id', + :'name' => :'name', + :'location' => :'location', + :'hiring_team' => :'hiring_team' + } + end + + # Returns attribute mapping this model knows about + def self.acceptable_attribute_map + attribute_map + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + acceptable_attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'remote_id' => :'String', + :'name' => :'String', + :'location' => :'GetAssessmentOrdersOpenPositiveResponseDataResultsInnerJobLocation', + :'hiring_team' => :'Array' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + :'remote_id', + :'name', + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Kombo::GetAssessmentOrdersOpenPositiveResponseDataResultsInnerJob` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + acceptable_attribute_map = self.class.acceptable_attribute_map + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!acceptable_attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Kombo::GetAssessmentOrdersOpenPositiveResponseDataResultsInnerJob`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'remote_id') + self.remote_id = attributes[:'remote_id'] + end + + if attributes.key?(:'name') + self.name = attributes[:'name'] + end + + if attributes.key?(:'location') + self.location = attributes[:'location'] + end + + if attributes.key?(:'hiring_team') + if (value = attributes[:'hiring_team']).is_a?(Array) + self.hiring_team = value + end + else + self.hiring_team = nil + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + warn '[DEPRECATED] the `list_invalid_properties` method is obsolete' + invalid_properties = Array.new + if @hiring_team.nil? + invalid_properties.push('invalid value for "hiring_team", hiring_team cannot be nil.') + end + + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + warn '[DEPRECATED] the `valid?` method is obsolete' + return false if @hiring_team.nil? + true + end + + # Custom attribute writer method with validation + # @param [Object] hiring_team Value to be assigned + def hiring_team=(hiring_team) + if hiring_team.nil? + fail ArgumentError, 'hiring_team cannot be nil' + end + + @hiring_team = hiring_team + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + remote_id == o.remote_id && + name == o.name && + location == o.location && + hiring_team == o.hiring_team + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [remote_id, name, location, hiring_team].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + transformed_hash = {} + openapi_types.each_pair do |key, type| + if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = nil + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[attribute_map[key]].is_a?(Array) + transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) } + end + elsif !attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]]) + end + end + new(transformed_hash) + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + end + +end diff --git a/lib/kombo_client/models/get_assessment_orders_open_positive_response_data_results_inner_job_hiring_team_inner.rb b/lib/kombo_client/models/get_assessment_orders_open_positive_response_data_results_inner_job_hiring_team_inner.rb new file mode 100644 index 0000000..f2d63eb --- /dev/null +++ b/lib/kombo_client/models/get_assessment_orders_open_positive_response_data_results_inner_job_hiring_team_inner.rb @@ -0,0 +1,246 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.17.0 + +=end + +require 'date' +require 'time' + +module Kombo + # A member of the hiring team. + class GetAssessmentOrdersOpenPositiveResponseDataResultsInnerJobHiringTeamInner < ApiModelBase + # The team member's identifier in the integrated system. + attr_accessor :remote_id + + # The team member's email address. + attr_accessor :email + + # The team member's first name. + attr_accessor :first_name + + # The team member's last name. + attr_accessor :last_name + + # Array of the roles of the user for this specific job. Currently only `RECRUITER` and `HIRING_MANAGER` are mapped into our unified schema. + attr_accessor :hiring_team_roles + + class EnumAttributeValidator + attr_reader :datatype + attr_reader :allowable_values + + def initialize(datatype, allowable_values) + @allowable_values = allowable_values.map do |value| + case datatype.to_s + when /Integer/i + value.to_i + when /Float/i + value.to_f + else + value + end + end + end + + def valid?(value) + !value || allowable_values.include?(value) + end + end + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'remote_id' => :'remote_id', + :'email' => :'email', + :'first_name' => :'first_name', + :'last_name' => :'last_name', + :'hiring_team_roles' => :'hiring_team_roles' + } + end + + # Returns attribute mapping this model knows about + def self.acceptable_attribute_map + attribute_map + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + acceptable_attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'remote_id' => :'String', + :'email' => :'String', + :'first_name' => :'String', + :'last_name' => :'String', + :'hiring_team_roles' => :'Array' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + :'email', + :'first_name', + :'last_name', + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Kombo::GetAssessmentOrdersOpenPositiveResponseDataResultsInnerJobHiringTeamInner` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + acceptable_attribute_map = self.class.acceptable_attribute_map + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!acceptable_attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Kombo::GetAssessmentOrdersOpenPositiveResponseDataResultsInnerJobHiringTeamInner`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'remote_id') + self.remote_id = attributes[:'remote_id'] + else + self.remote_id = nil + end + + if attributes.key?(:'email') + self.email = attributes[:'email'] + else + self.email = nil + end + + if attributes.key?(:'first_name') + self.first_name = attributes[:'first_name'] + else + self.first_name = nil + end + + if attributes.key?(:'last_name') + self.last_name = attributes[:'last_name'] + else + self.last_name = nil + end + + if attributes.key?(:'hiring_team_roles') + if (value = attributes[:'hiring_team_roles']).is_a?(Array) + self.hiring_team_roles = value + end + else + self.hiring_team_roles = nil + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + warn '[DEPRECATED] the `list_invalid_properties` method is obsolete' + invalid_properties = Array.new + if @remote_id.nil? + invalid_properties.push('invalid value for "remote_id", remote_id cannot be nil.') + end + + if @hiring_team_roles.nil? + invalid_properties.push('invalid value for "hiring_team_roles", hiring_team_roles cannot be nil.') + end + + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + warn '[DEPRECATED] the `valid?` method is obsolete' + return false if @remote_id.nil? + return false if @hiring_team_roles.nil? + true + end + + # Custom attribute writer method with validation + # @param [Object] remote_id Value to be assigned + def remote_id=(remote_id) + if remote_id.nil? + fail ArgumentError, 'remote_id cannot be nil' + end + + @remote_id = remote_id + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + remote_id == o.remote_id && + email == o.email && + first_name == o.first_name && + last_name == o.last_name && + hiring_team_roles == o.hiring_team_roles + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [remote_id, email, first_name, last_name, hiring_team_roles].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + transformed_hash = {} + openapi_types.each_pair do |key, type| + if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = nil + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[attribute_map[key]].is_a?(Array) + transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) } + end + elsif !attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]]) + end + end + new(transformed_hash) + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + end + +end diff --git a/lib/kombo_client/models/get_assessment_orders_open_positive_response_data_results_inner_job_location.rb b/lib/kombo_client/models/get_assessment_orders_open_positive_response_data_results_inner_job_location.rb new file mode 100644 index 0000000..85d13f9 --- /dev/null +++ b/lib/kombo_client/models/get_assessment_orders_open_positive_response_data_results_inner_job_location.rb @@ -0,0 +1,212 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.17.0 + +=end + +require 'date' +require 'time' + +module Kombo + # The job location information. + class GetAssessmentOrdersOpenPositiveResponseDataResultsInnerJobLocation < ApiModelBase + attr_accessor :city + + # Contains the ISO2 country code if possible. If not, it contains the original value. + attr_accessor :country + + # If we have address data, this is filled with the raw address string. + attr_accessor :raw + + attr_accessor :state + + # If we can parse the address data, this field contains the first part of the street information. + attr_accessor :street_1 + + attr_accessor :street_2 + + attr_accessor :zip_code + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'city' => :'city', + :'country' => :'country', + :'raw' => :'raw', + :'state' => :'state', + :'street_1' => :'street_1', + :'street_2' => :'street_2', + :'zip_code' => :'zip_code' + } + end + + # Returns attribute mapping this model knows about + def self.acceptable_attribute_map + attribute_map + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + acceptable_attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'city' => :'String', + :'country' => :'String', + :'raw' => :'String', + :'state' => :'String', + :'street_1' => :'String', + :'street_2' => :'String', + :'zip_code' => :'String' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + :'city', + :'country', + :'raw', + :'state', + :'street_1', + :'street_2', + :'zip_code' + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Kombo::GetAssessmentOrdersOpenPositiveResponseDataResultsInnerJobLocation` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + acceptable_attribute_map = self.class.acceptable_attribute_map + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!acceptable_attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Kombo::GetAssessmentOrdersOpenPositiveResponseDataResultsInnerJobLocation`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'city') + self.city = attributes[:'city'] + end + + if attributes.key?(:'country') + self.country = attributes[:'country'] + end + + if attributes.key?(:'raw') + self.raw = attributes[:'raw'] + end + + if attributes.key?(:'state') + self.state = attributes[:'state'] + end + + if attributes.key?(:'street_1') + self.street_1 = attributes[:'street_1'] + end + + if attributes.key?(:'street_2') + self.street_2 = attributes[:'street_2'] + end + + if attributes.key?(:'zip_code') + self.zip_code = attributes[:'zip_code'] + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + warn '[DEPRECATED] the `list_invalid_properties` method is obsolete' + invalid_properties = Array.new + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + warn '[DEPRECATED] the `valid?` method is obsolete' + true + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + city == o.city && + country == o.country && + raw == o.raw && + state == o.state && + street_1 == o.street_1 && + street_2 == o.street_2 && + zip_code == o.zip_code + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [city, country, raw, state, street_1, street_2, zip_code].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + transformed_hash = {} + openapi_types.each_pair do |key, type| + if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = nil + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[attribute_map[key]].is_a?(Array) + transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) } + end + elsif !attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]]) + end + end + new(transformed_hash) + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + end + +end diff --git a/lib/kombo_client/models/get_assessment_packages_positive_response.rb b/lib/kombo_client/models/get_assessment_packages_positive_response.rb new file mode 100644 index 0000000..ff54b26 --- /dev/null +++ b/lib/kombo_client/models/get_assessment_packages_positive_response.rb @@ -0,0 +1,214 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.17.0 + +=end + +require 'date' +require 'time' + +module Kombo + class GetAssessmentPackagesPositiveResponse < ApiModelBase + attr_accessor :status + + attr_accessor :data + + class EnumAttributeValidator + attr_reader :datatype + attr_reader :allowable_values + + def initialize(datatype, allowable_values) + @allowable_values = allowable_values.map do |value| + case datatype.to_s + when /Integer/i + value.to_i + when /Float/i + value.to_f + else + value + end + end + end + + def valid?(value) + !value || allowable_values.include?(value) + end + end + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'status' => :'status', + :'data' => :'data' + } + end + + # Returns attribute mapping this model knows about + def self.acceptable_attribute_map + attribute_map + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + acceptable_attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'status' => :'String', + :'data' => :'GetAssessmentPackagesPositiveResponseData' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Kombo::GetAssessmentPackagesPositiveResponse` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + acceptable_attribute_map = self.class.acceptable_attribute_map + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!acceptable_attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Kombo::GetAssessmentPackagesPositiveResponse`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'status') + self.status = attributes[:'status'] + else + self.status = nil + end + + if attributes.key?(:'data') + self.data = attributes[:'data'] + else + self.data = nil + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + warn '[DEPRECATED] the `list_invalid_properties` method is obsolete' + invalid_properties = Array.new + if @status.nil? + invalid_properties.push('invalid value for "status", status cannot be nil.') + end + + if @data.nil? + invalid_properties.push('invalid value for "data", data cannot be nil.') + end + + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + warn '[DEPRECATED] the `valid?` method is obsolete' + return false if @status.nil? + status_validator = EnumAttributeValidator.new('String', ["success"]) + return false unless status_validator.valid?(@status) + return false if @data.nil? + true + end + + # Custom attribute writer method checking allowed values (enum). + # @param [Object] status Object to be assigned + def status=(status) + validator = EnumAttributeValidator.new('String', ["success"]) + unless validator.valid?(status) + fail ArgumentError, "invalid value for \"status\", must be one of #{validator.allowable_values}." + end + @status = status + end + + # Custom attribute writer method with validation + # @param [Object] data Value to be assigned + def data=(data) + if data.nil? + fail ArgumentError, 'data cannot be nil' + end + + @data = data + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + status == o.status && + data == o.data + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [status, data].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + transformed_hash = {} + openapi_types.each_pair do |key, type| + if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = nil + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[attribute_map[key]].is_a?(Array) + transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) } + end + elsif !attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]]) + end + end + new(transformed_hash) + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + end + +end diff --git a/lib/kombo_client/models/get_assessment_packages_positive_response_data.rb b/lib/kombo_client/models/get_assessment_packages_positive_response_data.rb new file mode 100644 index 0000000..a3215b0 --- /dev/null +++ b/lib/kombo_client/models/get_assessment_packages_positive_response_data.rb @@ -0,0 +1,166 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.17.0 + +=end + +require 'date' +require 'time' + +module Kombo + class GetAssessmentPackagesPositiveResponseData < ApiModelBase + attr_accessor :packages + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'packages' => :'packages' + } + end + + # Returns attribute mapping this model knows about + def self.acceptable_attribute_map + attribute_map + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + acceptable_attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'packages' => :'Array' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Kombo::GetAssessmentPackagesPositiveResponseData` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + acceptable_attribute_map = self.class.acceptable_attribute_map + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!acceptable_attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Kombo::GetAssessmentPackagesPositiveResponseData`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'packages') + if (value = attributes[:'packages']).is_a?(Array) + self.packages = value + end + else + self.packages = nil + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + warn '[DEPRECATED] the `list_invalid_properties` method is obsolete' + invalid_properties = Array.new + if @packages.nil? + invalid_properties.push('invalid value for "packages", packages cannot be nil.') + end + + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + warn '[DEPRECATED] the `valid?` method is obsolete' + return false if @packages.nil? + true + end + + # Custom attribute writer method with validation + # @param [Object] packages Value to be assigned + def packages=(packages) + if packages.nil? + fail ArgumentError, 'packages cannot be nil' + end + + @packages = packages + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + packages == o.packages + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [packages].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + transformed_hash = {} + openapi_types.each_pair do |key, type| + if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = nil + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[attribute_map[key]].is_a?(Array) + transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) } + end + elsif !attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]]) + end + end + new(transformed_hash) + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + end + +end diff --git a/lib/kombo_client/models/get_assessment_packages_positive_response_data_packages_inner.rb b/lib/kombo_client/models/get_assessment_packages_positive_response_data_packages_inner.rb new file mode 100644 index 0000000..363f7f4 --- /dev/null +++ b/lib/kombo_client/models/get_assessment_packages_positive_response_data_packages_inner.rb @@ -0,0 +1,275 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.17.0 + +=end + +require 'date' +require 'time' + +module Kombo + class GetAssessmentPackagesPositiveResponseDataPackagesInner < ApiModelBase + attr_accessor :id + + attr_accessor :name + + attr_accessor :description + + # YYYY-MM-DDTHH:mm:ss.sssZ + attr_accessor :updated_at + + attr_accessor :type + + class EnumAttributeValidator + attr_reader :datatype + attr_reader :allowable_values + + def initialize(datatype, allowable_values) + @allowable_values = allowable_values.map do |value| + case datatype.to_s + when /Integer/i + value.to_i + when /Float/i + value.to_f + else + value + end + end + end + + def valid?(value) + !value || allowable_values.include?(value) + end + end + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'id' => :'id', + :'name' => :'name', + :'description' => :'description', + :'updated_at' => :'updated_at', + :'type' => :'type' + } + end + + # Returns attribute mapping this model knows about + def self.acceptable_attribute_map + attribute_map + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + acceptable_attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'id' => :'String', + :'name' => :'String', + :'description' => :'String', + :'updated_at' => :'Time', + :'type' => :'String' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + :'updated_at', + :'type' + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Kombo::GetAssessmentPackagesPositiveResponseDataPackagesInner` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + acceptable_attribute_map = self.class.acceptable_attribute_map + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!acceptable_attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Kombo::GetAssessmentPackagesPositiveResponseDataPackagesInner`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'id') + self.id = attributes[:'id'] + else + self.id = nil + end + + if attributes.key?(:'name') + self.name = attributes[:'name'] + else + self.name = nil + end + + if attributes.key?(:'description') + self.description = attributes[:'description'] + else + self.description = nil + end + + if attributes.key?(:'updated_at') + self.updated_at = attributes[:'updated_at'] + else + self.updated_at = nil + end + + if attributes.key?(:'type') + self.type = attributes[:'type'] + else + self.type = nil + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + warn '[DEPRECATED] the `list_invalid_properties` method is obsolete' + invalid_properties = Array.new + if @id.nil? + invalid_properties.push('invalid value for "id", id cannot be nil.') + end + + if @name.nil? + invalid_properties.push('invalid value for "name", name cannot be nil.') + end + + if @description.nil? + invalid_properties.push('invalid value for "description", description cannot be nil.') + end + + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + warn '[DEPRECATED] the `valid?` method is obsolete' + return false if @id.nil? + return false if @name.nil? + return false if @description.nil? + type_validator = EnumAttributeValidator.new('String', ["BEHAVIORAL", "VIDEO_INTERVIEW", "SKILLS_TEST", "BACKGROUND_CHECK", "REFERENCE_CHECK"]) + return false unless type_validator.valid?(@type) + true + end + + # Custom attribute writer method with validation + # @param [Object] id Value to be assigned + def id=(id) + if id.nil? + fail ArgumentError, 'id cannot be nil' + end + + @id = id + end + + # Custom attribute writer method with validation + # @param [Object] name Value to be assigned + def name=(name) + if name.nil? + fail ArgumentError, 'name cannot be nil' + end + + @name = name + end + + # Custom attribute writer method with validation + # @param [Object] description Value to be assigned + def description=(description) + if description.nil? + fail ArgumentError, 'description cannot be nil' + end + + @description = description + end + + # Custom attribute writer method checking allowed values (enum). + # @param [Object] type Object to be assigned + def type=(type) + validator = EnumAttributeValidator.new('String', ["BEHAVIORAL", "VIDEO_INTERVIEW", "SKILLS_TEST", "BACKGROUND_CHECK", "REFERENCE_CHECK"]) + unless validator.valid?(type) + fail ArgumentError, "invalid value for \"type\", must be one of #{validator.allowable_values}." + end + @type = type + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + id == o.id && + name == o.name && + description == o.description && + updated_at == o.updated_at && + type == o.type + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [id, name, description, updated_at, type].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + transformed_hash = {} + openapi_types.each_pair do |key, type| + if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = nil + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[attribute_map[key]].is_a?(Array) + transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) } + end + elsif !attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]]) + end + end + new(transformed_hash) + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + end + +end diff --git a/lib/kombo_client/models/get_ats_actions_ats_add_application_attachment_positive_response.rb b/lib/kombo_client/models/get_ats_actions_ats_add_application_attachment_positive_response.rb new file mode 100644 index 0000000..1b9498a --- /dev/null +++ b/lib/kombo_client/models/get_ats_actions_ats_add_application_attachment_positive_response.rb @@ -0,0 +1,214 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.17.0 + +=end + +require 'date' +require 'time' + +module Kombo + class GetAtsActionsAtsAddApplicationAttachmentPositiveResponse < ApiModelBase + attr_accessor :status + + attr_accessor :data + + class EnumAttributeValidator + attr_reader :datatype + attr_reader :allowable_values + + def initialize(datatype, allowable_values) + @allowable_values = allowable_values.map do |value| + case datatype.to_s + when /Integer/i + value.to_i + when /Float/i + value.to_f + else + value + end + end + end + + def valid?(value) + !value || allowable_values.include?(value) + end + end + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'status' => :'status', + :'data' => :'data' + } + end + + # Returns attribute mapping this model knows about + def self.acceptable_attribute_map + attribute_map + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + acceptable_attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'status' => :'String', + :'data' => :'GetAtsActionsAtsAddApplicationAttachmentPositiveResponseData' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Kombo::GetAtsActionsAtsAddApplicationAttachmentPositiveResponse` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + acceptable_attribute_map = self.class.acceptable_attribute_map + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!acceptable_attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Kombo::GetAtsActionsAtsAddApplicationAttachmentPositiveResponse`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'status') + self.status = attributes[:'status'] + else + self.status = nil + end + + if attributes.key?(:'data') + self.data = attributes[:'data'] + else + self.data = nil + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + warn '[DEPRECATED] the `list_invalid_properties` method is obsolete' + invalid_properties = Array.new + if @status.nil? + invalid_properties.push('invalid value for "status", status cannot be nil.') + end + + if @data.nil? + invalid_properties.push('invalid value for "data", data cannot be nil.') + end + + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + warn '[DEPRECATED] the `valid?` method is obsolete' + return false if @status.nil? + status_validator = EnumAttributeValidator.new('String', ["success"]) + return false unless status_validator.valid?(@status) + return false if @data.nil? + true + end + + # Custom attribute writer method checking allowed values (enum). + # @param [Object] status Object to be assigned + def status=(status) + validator = EnumAttributeValidator.new('String', ["success"]) + unless validator.valid?(status) + fail ArgumentError, "invalid value for \"status\", must be one of #{validator.allowable_values}." + end + @status = status + end + + # Custom attribute writer method with validation + # @param [Object] data Value to be assigned + def data=(data) + if data.nil? + fail ArgumentError, 'data cannot be nil' + end + + @data = data + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + status == o.status && + data == o.data + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [status, data].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + transformed_hash = {} + openapi_types.each_pair do |key, type| + if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = nil + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[attribute_map[key]].is_a?(Array) + transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) } + end + elsif !attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]]) + end + end + new(transformed_hash) + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + end + +end diff --git a/lib/kombo_client/models/get_ats_actions_ats_add_application_attachment_positive_response_data.rb b/lib/kombo_client/models/get_ats_actions_ats_add_application_attachment_positive_response_data.rb new file mode 100644 index 0000000..6fd8e2c --- /dev/null +++ b/lib/kombo_client/models/get_ats_actions_ats_add_application_attachment_positive_response_data.rb @@ -0,0 +1,147 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.17.0 + +=end + +require 'date' +require 'time' + +module Kombo + class GetAtsActionsAtsAddApplicationAttachmentPositiveResponseData < ApiModelBase + attr_accessor :attachment_restrictions + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'attachment_restrictions' => :'attachment_restrictions' + } + end + + # Returns attribute mapping this model knows about + def self.acceptable_attribute_map + attribute_map + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + acceptable_attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'attachment_restrictions' => :'GetAtsActionsAtsAddApplicationAttachmentPositiveResponseDataAttachmentRestrictions' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Kombo::GetAtsActionsAtsAddApplicationAttachmentPositiveResponseData` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + acceptable_attribute_map = self.class.acceptable_attribute_map + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!acceptable_attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Kombo::GetAtsActionsAtsAddApplicationAttachmentPositiveResponseData`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'attachment_restrictions') + self.attachment_restrictions = attributes[:'attachment_restrictions'] + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + warn '[DEPRECATED] the `list_invalid_properties` method is obsolete' + invalid_properties = Array.new + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + warn '[DEPRECATED] the `valid?` method is obsolete' + true + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + attachment_restrictions == o.attachment_restrictions + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [attachment_restrictions].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + transformed_hash = {} + openapi_types.each_pair do |key, type| + if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = nil + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[attribute_map[key]].is_a?(Array) + transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) } + end + elsif !attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]]) + end + end + new(transformed_hash) + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + end + +end diff --git a/lib/kombo_client/models/get_ats_actions_ats_add_application_attachment_positive_response_data_attachment_restrictions.rb b/lib/kombo_client/models/get_ats_actions_ats_add_application_attachment_positive_response_data_attachment_restrictions.rb new file mode 100644 index 0000000..6906823 --- /dev/null +++ b/lib/kombo_client/models/get_ats_actions_ats_add_application_attachment_positive_response_data_attachment_restrictions.rb @@ -0,0 +1,165 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.17.0 + +=end + +require 'date' +require 'time' + +module Kombo + # Restrictions with attachment types that we know about. If this is null, we don't have information which types are supported. + class GetAtsActionsAtsAddApplicationAttachmentPositiveResponseDataAttachmentRestrictions < ApiModelBase + attr_accessor :types + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'types' => :'types' + } + end + + # Returns attribute mapping this model knows about + def self.acceptable_attribute_map + attribute_map + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + acceptable_attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'types' => :'GetAtsActionsAtsAddApplicationAttachmentPositiveResponseDataAttachmentRestrictionsTypes' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Kombo::GetAtsActionsAtsAddApplicationAttachmentPositiveResponseDataAttachmentRestrictions` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + acceptable_attribute_map = self.class.acceptable_attribute_map + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!acceptable_attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Kombo::GetAtsActionsAtsAddApplicationAttachmentPositiveResponseDataAttachmentRestrictions`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'types') + self.types = attributes[:'types'] + else + self.types = nil + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + warn '[DEPRECATED] the `list_invalid_properties` method is obsolete' + invalid_properties = Array.new + if @types.nil? + invalid_properties.push('invalid value for "types", types cannot be nil.') + end + + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + warn '[DEPRECATED] the `valid?` method is obsolete' + return false if @types.nil? + true + end + + # Custom attribute writer method with validation + # @param [Object] types Value to be assigned + def types=(types) + if types.nil? + fail ArgumentError, 'types cannot be nil' + end + + @types = types + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + types == o.types + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [types].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + transformed_hash = {} + openapi_types.each_pair do |key, type| + if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = nil + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[attribute_map[key]].is_a?(Array) + transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) } + end + elsif !attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]]) + end + end + new(transformed_hash) + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + end + +end diff --git a/lib/kombo_client/models/get_ats_actions_ats_add_application_attachment_positive_response_data_attachment_restrictions_types.rb b/lib/kombo_client/models/get_ats_actions_ats_add_application_attachment_positive_response_data_attachment_restrictions_types.rb new file mode 100644 index 0000000..ddd5c4c --- /dev/null +++ b/lib/kombo_client/models/get_ats_actions_ats_add_application_attachment_positive_response_data_attachment_restrictions_types.rb @@ -0,0 +1,216 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.17.0 + +=end + +require 'date' +require 'time' + +module Kombo + class GetAtsActionsAtsAddApplicationAttachmentPositiveResponseDataAttachmentRestrictionsTypes < ApiModelBase + attr_accessor :cv + + attr_accessor :cover_letter + + attr_accessor :other + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'cv' => :'CV', + :'cover_letter' => :'COVER_LETTER', + :'other' => :'OTHER' + } + end + + # Returns attribute mapping this model knows about + def self.acceptable_attribute_map + attribute_map + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + acceptable_attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'cv' => :'GetAtsActionsAtsAddApplicationAttachmentPositiveResponseDataAttachmentRestrictionsTypesCV', + :'cover_letter' => :'GetAtsActionsAtsAddApplicationAttachmentPositiveResponseDataAttachmentRestrictionsTypesCOVERLETTER', + :'other' => :'GetAtsActionsAtsAddApplicationAttachmentPositiveResponseDataAttachmentRestrictionsTypesOTHER' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Kombo::GetAtsActionsAtsAddApplicationAttachmentPositiveResponseDataAttachmentRestrictionsTypes` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + acceptable_attribute_map = self.class.acceptable_attribute_map + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!acceptable_attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Kombo::GetAtsActionsAtsAddApplicationAttachmentPositiveResponseDataAttachmentRestrictionsTypes`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'cv') + self.cv = attributes[:'cv'] + else + self.cv = nil + end + + if attributes.key?(:'cover_letter') + self.cover_letter = attributes[:'cover_letter'] + else + self.cover_letter = nil + end + + if attributes.key?(:'other') + self.other = attributes[:'other'] + else + self.other = nil + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + warn '[DEPRECATED] the `list_invalid_properties` method is obsolete' + invalid_properties = Array.new + if @cv.nil? + invalid_properties.push('invalid value for "cv", cv cannot be nil.') + end + + if @cover_letter.nil? + invalid_properties.push('invalid value for "cover_letter", cover_letter cannot be nil.') + end + + if @other.nil? + invalid_properties.push('invalid value for "other", other cannot be nil.') + end + + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + warn '[DEPRECATED] the `valid?` method is obsolete' + return false if @cv.nil? + return false if @cover_letter.nil? + return false if @other.nil? + true + end + + # Custom attribute writer method with validation + # @param [Object] cv Value to be assigned + def cv=(cv) + if cv.nil? + fail ArgumentError, 'cv cannot be nil' + end + + @cv = cv + end + + # Custom attribute writer method with validation + # @param [Object] cover_letter Value to be assigned + def cover_letter=(cover_letter) + if cover_letter.nil? + fail ArgumentError, 'cover_letter cannot be nil' + end + + @cover_letter = cover_letter + end + + # Custom attribute writer method with validation + # @param [Object] other Value to be assigned + def other=(other) + if other.nil? + fail ArgumentError, 'other cannot be nil' + end + + @other = other + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + cv == o.cv && + cover_letter == o.cover_letter && + other == o.other + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [cv, cover_letter, other].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + transformed_hash = {} + openapi_types.each_pair do |key, type| + if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = nil + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[attribute_map[key]].is_a?(Array) + transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) } + end + elsif !attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]]) + end + end + new(transformed_hash) + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + end + +end diff --git a/lib/kombo_client/models/get_ats_actions_ats_add_application_attachment_positive_response_data_attachment_restrictions_types_coverletter.rb b/lib/kombo_client/models/get_ats_actions_ats_add_application_attachment_positive_response_data_attachment_restrictions_types_coverletter.rb new file mode 100644 index 0000000..e171f8d --- /dev/null +++ b/lib/kombo_client/models/get_ats_actions_ats_add_application_attachment_positive_response_data_attachment_restrictions_types_coverletter.rb @@ -0,0 +1,104 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.17.0 + +=end + +require 'date' +require 'time' + +module Kombo + # Specific attachment type restrictions for COVER_LETTER. + module GetAtsActionsAtsAddApplicationAttachmentPositiveResponseDataAttachmentRestrictionsTypesCOVERLETTER + class << self + # List of class defined in anyOf (OpenAPI v3) + def openapi_any_of + [ + :'GetAtsActionsAtsAddApplicationAttachmentPositiveResponseDataAttachmentRestrictionsTypesCVAnyOf', + :'GetAtsActionsAtsCreateCandidatePositiveResponseDataAttachmentRestrictionsTypesCVAnyOf1' + ] + end + + # Builds the object + # @param [Mixed] Data to be matched against the list of anyOf items + # @return [Object] Returns the model or the data itself + def build(data) + # Go through the list of anyOf items and attempt to identify the appropriate one. + # Note: + # - No advanced validation of types in some cases (e.g. "x: { type: string }" will happily match { x: 123 }) + # due to the way the deserialization is made in the base_object template (it just casts without verifying). + # - TODO: scalar values are de facto behaving as if they were nullable. + # - TODO: logging when debugging is set. + openapi_any_of.each do |klass| + begin + next if klass == :AnyType # "nullable: true" + return find_and_cast_into_type(klass, data) + rescue # rescue all errors so we keep iterating even if the current item lookup raises + end + end + + openapi_any_of.include?(:AnyType) ? data : nil + end + + private + + SchemaMismatchError = Class.new(StandardError) + + # Note: 'File' is missing here because in the regular case we get the data _after_ a call to JSON.parse. + def find_and_cast_into_type(klass, data) + return if data.nil? + + case klass.to_s + when 'Boolean' + return data if data.instance_of?(TrueClass) || data.instance_of?(FalseClass) + when 'Float' + return data if data.instance_of?(Float) + when 'Integer' + return data if data.instance_of?(Integer) + when 'Time' + return Time.parse(data) + when 'Date' + return Date.iso8601(data) + when 'String' + return data if data.instance_of?(String) + when 'Object' # "type: object" + return data if data.instance_of?(Hash) + when /\AArray<(?.+)>\z/ # "type: array" + if data.instance_of?(Array) + sub_type = Regexp.last_match[:sub_type] + return data.map { |item| find_and_cast_into_type(sub_type, item) } + end + when /\AHash.+)>\z/ # "type: object" with "additionalProperties: { ... }" + if data.instance_of?(Hash) && data.keys.all? { |k| k.instance_of?(Symbol) || k.instance_of?(String) } + sub_type = Regexp.last_match[:sub_type] + return data.each_with_object({}) { |(k, v), hsh| hsh[k] = find_and_cast_into_type(sub_type, v) } + end + else # model + const = Kombo.const_get(klass) + if const + if const.respond_to?(:openapi_any_of) # nested anyOf model + model = const.build(data) + return model if model + else + # raise if data contains keys that are not known to the model + raise if const.respond_to?(:acceptable_attributes) && !(data.keys - const.acceptable_attributes).empty? + model = const.build_from_hash(data) + return model if model + end + end + end + + raise # if no match by now, raise + rescue + raise SchemaMismatchError, "#{data} doesn't match the #{klass} type" + end + end + end + +end diff --git a/lib/kombo_client/models/get_ats_actions_ats_add_application_attachment_positive_response_data_attachment_restrictions_types_cv.rb b/lib/kombo_client/models/get_ats_actions_ats_add_application_attachment_positive_response_data_attachment_restrictions_types_cv.rb new file mode 100644 index 0000000..b261e43 --- /dev/null +++ b/lib/kombo_client/models/get_ats_actions_ats_add_application_attachment_positive_response_data_attachment_restrictions_types_cv.rb @@ -0,0 +1,104 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.17.0 + +=end + +require 'date' +require 'time' + +module Kombo + # Specific attachment type restrictions for CV. + module GetAtsActionsAtsAddApplicationAttachmentPositiveResponseDataAttachmentRestrictionsTypesCV + class << self + # List of class defined in anyOf (OpenAPI v3) + def openapi_any_of + [ + :'GetAtsActionsAtsAddApplicationAttachmentPositiveResponseDataAttachmentRestrictionsTypesCVAnyOf', + :'GetAtsActionsAtsCreateCandidatePositiveResponseDataAttachmentRestrictionsTypesCVAnyOf1' + ] + end + + # Builds the object + # @param [Mixed] Data to be matched against the list of anyOf items + # @return [Object] Returns the model or the data itself + def build(data) + # Go through the list of anyOf items and attempt to identify the appropriate one. + # Note: + # - No advanced validation of types in some cases (e.g. "x: { type: string }" will happily match { x: 123 }) + # due to the way the deserialization is made in the base_object template (it just casts without verifying). + # - TODO: scalar values are de facto behaving as if they were nullable. + # - TODO: logging when debugging is set. + openapi_any_of.each do |klass| + begin + next if klass == :AnyType # "nullable: true" + return find_and_cast_into_type(klass, data) + rescue # rescue all errors so we keep iterating even if the current item lookup raises + end + end + + openapi_any_of.include?(:AnyType) ? data : nil + end + + private + + SchemaMismatchError = Class.new(StandardError) + + # Note: 'File' is missing here because in the regular case we get the data _after_ a call to JSON.parse. + def find_and_cast_into_type(klass, data) + return if data.nil? + + case klass.to_s + when 'Boolean' + return data if data.instance_of?(TrueClass) || data.instance_of?(FalseClass) + when 'Float' + return data if data.instance_of?(Float) + when 'Integer' + return data if data.instance_of?(Integer) + when 'Time' + return Time.parse(data) + when 'Date' + return Date.iso8601(data) + when 'String' + return data if data.instance_of?(String) + when 'Object' # "type: object" + return data if data.instance_of?(Hash) + when /\AArray<(?.+)>\z/ # "type: array" + if data.instance_of?(Array) + sub_type = Regexp.last_match[:sub_type] + return data.map { |item| find_and_cast_into_type(sub_type, item) } + end + when /\AHash.+)>\z/ # "type: object" with "additionalProperties: { ... }" + if data.instance_of?(Hash) && data.keys.all? { |k| k.instance_of?(Symbol) || k.instance_of?(String) } + sub_type = Regexp.last_match[:sub_type] + return data.each_with_object({}) { |(k, v), hsh| hsh[k] = find_and_cast_into_type(sub_type, v) } + end + else # model + const = Kombo.const_get(klass) + if const + if const.respond_to?(:openapi_any_of) # nested anyOf model + model = const.build(data) + return model if model + else + # raise if data contains keys that are not known to the model + raise if const.respond_to?(:acceptable_attributes) && !(data.keys - const.acceptable_attributes).empty? + model = const.build_from_hash(data) + return model if model + end + end + end + + raise # if no match by now, raise + rescue + raise SchemaMismatchError, "#{data} doesn't match the #{klass} type" + end + end + end + +end diff --git a/lib/kombo_client/models/get_ats_actions_ats_add_application_attachment_positive_response_data_attachment_restrictions_types_cv_any_of.rb b/lib/kombo_client/models/get_ats_actions_ats_add_application_attachment_positive_response_data_attachment_restrictions_types_cv_any_of.rb new file mode 100644 index 0000000..99f7387 --- /dev/null +++ b/lib/kombo_client/models/get_ats_actions_ats_add_application_attachment_positive_response_data_attachment_restrictions_types_cv_any_of.rb @@ -0,0 +1,231 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.17.0 + +=end + +require 'date' +require 'time' + +module Kombo + class GetAtsActionsAtsAddApplicationAttachmentPositiveResponseDataAttachmentRestrictionsTypesCVAnyOf < ApiModelBase + attr_accessor :is_supported + + # The maximum file size in bytes. If null, we don't have information about the maximum file size. + attr_accessor :max_file_size_bytes + + # The accepted mime types. If null, we don't have information about the accepted mime types. + attr_accessor :accepted_mime_types + + class EnumAttributeValidator + attr_reader :datatype + attr_reader :allowable_values + + def initialize(datatype, allowable_values) + @allowable_values = allowable_values.map do |value| + case datatype.to_s + when /Integer/i + value.to_i + when /Float/i + value.to_f + else + value + end + end + end + + def valid?(value) + !value || allowable_values.include?(value) + end + end + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'is_supported' => :'is_supported', + :'max_file_size_bytes' => :'max_file_size_bytes', + :'accepted_mime_types' => :'accepted_mime_types' + } + end + + # Returns attribute mapping this model knows about + def self.acceptable_attribute_map + attribute_map + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + acceptable_attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'is_supported' => :'Boolean', + :'max_file_size_bytes' => :'Float', + :'accepted_mime_types' => :'Array' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + :'max_file_size_bytes', + :'accepted_mime_types' + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Kombo::GetAtsActionsAtsAddApplicationAttachmentPositiveResponseDataAttachmentRestrictionsTypesCVAnyOf` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + acceptable_attribute_map = self.class.acceptable_attribute_map + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!acceptable_attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Kombo::GetAtsActionsAtsAddApplicationAttachmentPositiveResponseDataAttachmentRestrictionsTypesCVAnyOf`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'is_supported') + self.is_supported = attributes[:'is_supported'] + else + self.is_supported = nil + end + + if attributes.key?(:'max_file_size_bytes') + self.max_file_size_bytes = attributes[:'max_file_size_bytes'] + else + self.max_file_size_bytes = nil + end + + if attributes.key?(:'accepted_mime_types') + if (value = attributes[:'accepted_mime_types']).is_a?(Array) + self.accepted_mime_types = value + end + else + self.accepted_mime_types = nil + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + warn '[DEPRECATED] the `list_invalid_properties` method is obsolete' + invalid_properties = Array.new + if @is_supported.nil? + invalid_properties.push('invalid value for "is_supported", is_supported cannot be nil.') + end + + if @max_file_size_bytes < -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + invalid_properties.push('invalid value for "max_file_size_bytes", must be greater than or equal to -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.') + end + + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + warn '[DEPRECATED] the `valid?` method is obsolete' + return false if @is_supported.nil? + is_supported_validator = EnumAttributeValidator.new('Boolean', ["true"]) + return false unless is_supported_validator.valid?(@is_supported) + return false if @max_file_size_bytes < -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + true + end + + # Custom attribute writer method checking allowed values (enum). + # @param [Object] is_supported Object to be assigned + def is_supported=(is_supported) + validator = EnumAttributeValidator.new('Boolean', ["true"]) + unless validator.valid?(is_supported) + fail ArgumentError, "invalid value for \"is_supported\", must be one of #{validator.allowable_values}." + end + @is_supported = is_supported + end + + # Custom attribute writer method with validation + # @param [Object] max_file_size_bytes Value to be assigned + def max_file_size_bytes=(max_file_size_bytes) + if !max_file_size_bytes.nil? && max_file_size_bytes < -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + fail ArgumentError, 'invalid value for "max_file_size_bytes", must be greater than or equal to -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.' + end + + @max_file_size_bytes = max_file_size_bytes + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + is_supported == o.is_supported && + max_file_size_bytes == o.max_file_size_bytes && + accepted_mime_types == o.accepted_mime_types + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [is_supported, max_file_size_bytes, accepted_mime_types].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + transformed_hash = {} + openapi_types.each_pair do |key, type| + if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = nil + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[attribute_map[key]].is_a?(Array) + transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) } + end + elsif !attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]]) + end + end + new(transformed_hash) + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + end + +end diff --git a/lib/kombo_client/models/get_ats_actions_ats_add_application_attachment_positive_response_data_attachment_restrictions_types_other.rb b/lib/kombo_client/models/get_ats_actions_ats_add_application_attachment_positive_response_data_attachment_restrictions_types_other.rb new file mode 100644 index 0000000..b68938b --- /dev/null +++ b/lib/kombo_client/models/get_ats_actions_ats_add_application_attachment_positive_response_data_attachment_restrictions_types_other.rb @@ -0,0 +1,104 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.17.0 + +=end + +require 'date' +require 'time' + +module Kombo + # Specific attachment type restrictions for OTHER. + module GetAtsActionsAtsAddApplicationAttachmentPositiveResponseDataAttachmentRestrictionsTypesOTHER + class << self + # List of class defined in anyOf (OpenAPI v3) + def openapi_any_of + [ + :'GetAtsActionsAtsAddApplicationAttachmentPositiveResponseDataAttachmentRestrictionsTypesCVAnyOf', + :'GetAtsActionsAtsCreateCandidatePositiveResponseDataAttachmentRestrictionsTypesCVAnyOf1' + ] + end + + # Builds the object + # @param [Mixed] Data to be matched against the list of anyOf items + # @return [Object] Returns the model or the data itself + def build(data) + # Go through the list of anyOf items and attempt to identify the appropriate one. + # Note: + # - No advanced validation of types in some cases (e.g. "x: { type: string }" will happily match { x: 123 }) + # due to the way the deserialization is made in the base_object template (it just casts without verifying). + # - TODO: scalar values are de facto behaving as if they were nullable. + # - TODO: logging when debugging is set. + openapi_any_of.each do |klass| + begin + next if klass == :AnyType # "nullable: true" + return find_and_cast_into_type(klass, data) + rescue # rescue all errors so we keep iterating even if the current item lookup raises + end + end + + openapi_any_of.include?(:AnyType) ? data : nil + end + + private + + SchemaMismatchError = Class.new(StandardError) + + # Note: 'File' is missing here because in the regular case we get the data _after_ a call to JSON.parse. + def find_and_cast_into_type(klass, data) + return if data.nil? + + case klass.to_s + when 'Boolean' + return data if data.instance_of?(TrueClass) || data.instance_of?(FalseClass) + when 'Float' + return data if data.instance_of?(Float) + when 'Integer' + return data if data.instance_of?(Integer) + when 'Time' + return Time.parse(data) + when 'Date' + return Date.iso8601(data) + when 'String' + return data if data.instance_of?(String) + when 'Object' # "type: object" + return data if data.instance_of?(Hash) + when /\AArray<(?.+)>\z/ # "type: array" + if data.instance_of?(Array) + sub_type = Regexp.last_match[:sub_type] + return data.map { |item| find_and_cast_into_type(sub_type, item) } + end + when /\AHash.+)>\z/ # "type: object" with "additionalProperties: { ... }" + if data.instance_of?(Hash) && data.keys.all? { |k| k.instance_of?(Symbol) || k.instance_of?(String) } + sub_type = Regexp.last_match[:sub_type] + return data.each_with_object({}) { |(k, v), hsh| hsh[k] = find_and_cast_into_type(sub_type, v) } + end + else # model + const = Kombo.const_get(klass) + if const + if const.respond_to?(:openapi_any_of) # nested anyOf model + model = const.build(data) + return model if model + else + # raise if data contains keys that are not known to the model + raise if const.respond_to?(:acceptable_attributes) && !(data.keys - const.acceptable_attributes).empty? + model = const.build_from_hash(data) + return model if model + end + end + end + + raise # if no match by now, raise + rescue + raise SchemaMismatchError, "#{data} doesn't match the #{klass} type" + end + end + end + +end diff --git a/lib/kombo_client/models/get_ats_actions_ats_add_candidate_attachment_positive_response.rb b/lib/kombo_client/models/get_ats_actions_ats_add_candidate_attachment_positive_response.rb new file mode 100644 index 0000000..d795953 --- /dev/null +++ b/lib/kombo_client/models/get_ats_actions_ats_add_candidate_attachment_positive_response.rb @@ -0,0 +1,214 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.17.0 + +=end + +require 'date' +require 'time' + +module Kombo + class GetAtsActionsAtsAddCandidateAttachmentPositiveResponse < ApiModelBase + attr_accessor :status + + attr_accessor :data + + class EnumAttributeValidator + attr_reader :datatype + attr_reader :allowable_values + + def initialize(datatype, allowable_values) + @allowable_values = allowable_values.map do |value| + case datatype.to_s + when /Integer/i + value.to_i + when /Float/i + value.to_f + else + value + end + end + end + + def valid?(value) + !value || allowable_values.include?(value) + end + end + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'status' => :'status', + :'data' => :'data' + } + end + + # Returns attribute mapping this model knows about + def self.acceptable_attribute_map + attribute_map + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + acceptable_attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'status' => :'String', + :'data' => :'GetAtsActionsAtsAddApplicationAttachmentPositiveResponseData' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Kombo::GetAtsActionsAtsAddCandidateAttachmentPositiveResponse` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + acceptable_attribute_map = self.class.acceptable_attribute_map + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!acceptable_attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Kombo::GetAtsActionsAtsAddCandidateAttachmentPositiveResponse`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'status') + self.status = attributes[:'status'] + else + self.status = nil + end + + if attributes.key?(:'data') + self.data = attributes[:'data'] + else + self.data = nil + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + warn '[DEPRECATED] the `list_invalid_properties` method is obsolete' + invalid_properties = Array.new + if @status.nil? + invalid_properties.push('invalid value for "status", status cannot be nil.') + end + + if @data.nil? + invalid_properties.push('invalid value for "data", data cannot be nil.') + end + + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + warn '[DEPRECATED] the `valid?` method is obsolete' + return false if @status.nil? + status_validator = EnumAttributeValidator.new('String', ["success"]) + return false unless status_validator.valid?(@status) + return false if @data.nil? + true + end + + # Custom attribute writer method checking allowed values (enum). + # @param [Object] status Object to be assigned + def status=(status) + validator = EnumAttributeValidator.new('String', ["success"]) + unless validator.valid?(status) + fail ArgumentError, "invalid value for \"status\", must be one of #{validator.allowable_values}." + end + @status = status + end + + # Custom attribute writer method with validation + # @param [Object] data Value to be assigned + def data=(data) + if data.nil? + fail ArgumentError, 'data cannot be nil' + end + + @data = data + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + status == o.status && + data == o.data + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [status, data].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + transformed_hash = {} + openapi_types.each_pair do |key, type| + if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = nil + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[attribute_map[key]].is_a?(Array) + transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) } + end + elsif !attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]]) + end + end + new(transformed_hash) + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + end + +end diff --git a/lib/kombo_client/models/get_ats_actions_ats_create_application_positive_response.rb b/lib/kombo_client/models/get_ats_actions_ats_create_application_positive_response.rb new file mode 100644 index 0000000..973c1c4 --- /dev/null +++ b/lib/kombo_client/models/get_ats_actions_ats_create_application_positive_response.rb @@ -0,0 +1,214 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.17.0 + +=end + +require 'date' +require 'time' + +module Kombo + class GetAtsActionsAtsCreateApplicationPositiveResponse < ApiModelBase + attr_accessor :status + + attr_accessor :data + + class EnumAttributeValidator + attr_reader :datatype + attr_reader :allowable_values + + def initialize(datatype, allowable_values) + @allowable_values = allowable_values.map do |value| + case datatype.to_s + when /Integer/i + value.to_i + when /Float/i + value.to_f + else + value + end + end + end + + def valid?(value) + !value || allowable_values.include?(value) + end + end + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'status' => :'status', + :'data' => :'data' + } + end + + # Returns attribute mapping this model knows about + def self.acceptable_attribute_map + attribute_map + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + acceptable_attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'status' => :'String', + :'data' => :'GetAtsActionsAtsCreateCandidatePositiveResponseData' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Kombo::GetAtsActionsAtsCreateApplicationPositiveResponse` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + acceptable_attribute_map = self.class.acceptable_attribute_map + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!acceptable_attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Kombo::GetAtsActionsAtsCreateApplicationPositiveResponse`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'status') + self.status = attributes[:'status'] + else + self.status = nil + end + + if attributes.key?(:'data') + self.data = attributes[:'data'] + else + self.data = nil + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + warn '[DEPRECATED] the `list_invalid_properties` method is obsolete' + invalid_properties = Array.new + if @status.nil? + invalid_properties.push('invalid value for "status", status cannot be nil.') + end + + if @data.nil? + invalid_properties.push('invalid value for "data", data cannot be nil.') + end + + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + warn '[DEPRECATED] the `valid?` method is obsolete' + return false if @status.nil? + status_validator = EnumAttributeValidator.new('String', ["success"]) + return false unless status_validator.valid?(@status) + return false if @data.nil? + true + end + + # Custom attribute writer method checking allowed values (enum). + # @param [Object] status Object to be assigned + def status=(status) + validator = EnumAttributeValidator.new('String', ["success"]) + unless validator.valid?(status) + fail ArgumentError, "invalid value for \"status\", must be one of #{validator.allowable_values}." + end + @status = status + end + + # Custom attribute writer method with validation + # @param [Object] data Value to be assigned + def data=(data) + if data.nil? + fail ArgumentError, 'data cannot be nil' + end + + @data = data + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + status == o.status && + data == o.data + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [status, data].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + transformed_hash = {} + openapi_types.each_pair do |key, type| + if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = nil + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[attribute_map[key]].is_a?(Array) + transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) } + end + elsif !attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]]) + end + end + new(transformed_hash) + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + end + +end diff --git a/lib/kombo_client/models/get_ats_actions_ats_create_candidate_positive_response.rb b/lib/kombo_client/models/get_ats_actions_ats_create_candidate_positive_response.rb new file mode 100644 index 0000000..bfecc11 --- /dev/null +++ b/lib/kombo_client/models/get_ats_actions_ats_create_candidate_positive_response.rb @@ -0,0 +1,214 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.17.0 + +=end + +require 'date' +require 'time' + +module Kombo + class GetAtsActionsAtsCreateCandidatePositiveResponse < ApiModelBase + attr_accessor :status + + attr_accessor :data + + class EnumAttributeValidator + attr_reader :datatype + attr_reader :allowable_values + + def initialize(datatype, allowable_values) + @allowable_values = allowable_values.map do |value| + case datatype.to_s + when /Integer/i + value.to_i + when /Float/i + value.to_f + else + value + end + end + end + + def valid?(value) + !value || allowable_values.include?(value) + end + end + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'status' => :'status', + :'data' => :'data' + } + end + + # Returns attribute mapping this model knows about + def self.acceptable_attribute_map + attribute_map + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + acceptable_attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'status' => :'String', + :'data' => :'GetAtsActionsAtsCreateCandidatePositiveResponseData' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Kombo::GetAtsActionsAtsCreateCandidatePositiveResponse` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + acceptable_attribute_map = self.class.acceptable_attribute_map + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!acceptable_attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Kombo::GetAtsActionsAtsCreateCandidatePositiveResponse`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'status') + self.status = attributes[:'status'] + else + self.status = nil + end + + if attributes.key?(:'data') + self.data = attributes[:'data'] + else + self.data = nil + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + warn '[DEPRECATED] the `list_invalid_properties` method is obsolete' + invalid_properties = Array.new + if @status.nil? + invalid_properties.push('invalid value for "status", status cannot be nil.') + end + + if @data.nil? + invalid_properties.push('invalid value for "data", data cannot be nil.') + end + + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + warn '[DEPRECATED] the `valid?` method is obsolete' + return false if @status.nil? + status_validator = EnumAttributeValidator.new('String', ["success"]) + return false unless status_validator.valid?(@status) + return false if @data.nil? + true + end + + # Custom attribute writer method checking allowed values (enum). + # @param [Object] status Object to be assigned + def status=(status) + validator = EnumAttributeValidator.new('String', ["success"]) + unless validator.valid?(status) + fail ArgumentError, "invalid value for \"status\", must be one of #{validator.allowable_values}." + end + @status = status + end + + # Custom attribute writer method with validation + # @param [Object] data Value to be assigned + def data=(data) + if data.nil? + fail ArgumentError, 'data cannot be nil' + end + + @data = data + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + status == o.status && + data == o.data + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [status, data].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + transformed_hash = {} + openapi_types.each_pair do |key, type| + if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = nil + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[attribute_map[key]].is_a?(Array) + transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) } + end + elsif !attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]]) + end + end + new(transformed_hash) + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + end + +end diff --git a/lib/kombo_client/models/get_ats_actions_ats_create_candidate_positive_response_data.rb b/lib/kombo_client/models/get_ats_actions_ats_create_candidate_positive_response_data.rb new file mode 100644 index 0000000..eb3df1c --- /dev/null +++ b/lib/kombo_client/models/get_ats_actions_ats_create_candidate_positive_response_data.rb @@ -0,0 +1,147 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.17.0 + +=end + +require 'date' +require 'time' + +module Kombo + class GetAtsActionsAtsCreateCandidatePositiveResponseData < ApiModelBase + attr_accessor :attachment_restrictions + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'attachment_restrictions' => :'attachment_restrictions' + } + end + + # Returns attribute mapping this model knows about + def self.acceptable_attribute_map + attribute_map + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + acceptable_attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'attachment_restrictions' => :'GetAtsActionsAtsCreateCandidatePositiveResponseDataAttachmentRestrictions' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Kombo::GetAtsActionsAtsCreateCandidatePositiveResponseData` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + acceptable_attribute_map = self.class.acceptable_attribute_map + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!acceptable_attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Kombo::GetAtsActionsAtsCreateCandidatePositiveResponseData`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'attachment_restrictions') + self.attachment_restrictions = attributes[:'attachment_restrictions'] + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + warn '[DEPRECATED] the `list_invalid_properties` method is obsolete' + invalid_properties = Array.new + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + warn '[DEPRECATED] the `valid?` method is obsolete' + true + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + attachment_restrictions == o.attachment_restrictions + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [attachment_restrictions].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + transformed_hash = {} + openapi_types.each_pair do |key, type| + if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = nil + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[attribute_map[key]].is_a?(Array) + transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) } + end + elsif !attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]]) + end + end + new(transformed_hash) + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + end + +end diff --git a/lib/kombo_client/models/get_ats_actions_ats_create_candidate_positive_response_data_attachment_restrictions.rb b/lib/kombo_client/models/get_ats_actions_ats_create_candidate_positive_response_data_attachment_restrictions.rb new file mode 100644 index 0000000..3503796 --- /dev/null +++ b/lib/kombo_client/models/get_ats_actions_ats_create_candidate_positive_response_data_attachment_restrictions.rb @@ -0,0 +1,193 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.17.0 + +=end + +require 'date' +require 'time' + +module Kombo + # Restrictions with attachment types that we know about. If this is null, we don't have information about restrictions on attachments. + class GetAtsActionsAtsCreateCandidatePositiveResponseDataAttachmentRestrictions < ApiModelBase + # 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. + attr_accessor :total_size_bytes + + attr_accessor :types + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'total_size_bytes' => :'total_size_bytes', + :'types' => :'types' + } + end + + # Returns attribute mapping this model knows about + def self.acceptable_attribute_map + attribute_map + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + acceptable_attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'total_size_bytes' => :'Float', + :'types' => :'GetAtsActionsAtsCreateCandidatePositiveResponseDataAttachmentRestrictionsTypes' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + :'total_size_bytes', + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Kombo::GetAtsActionsAtsCreateCandidatePositiveResponseDataAttachmentRestrictions` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + acceptable_attribute_map = self.class.acceptable_attribute_map + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!acceptable_attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Kombo::GetAtsActionsAtsCreateCandidatePositiveResponseDataAttachmentRestrictions`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'total_size_bytes') + self.total_size_bytes = attributes[:'total_size_bytes'] + else + self.total_size_bytes = nil + end + + if attributes.key?(:'types') + self.types = attributes[:'types'] + else + self.types = nil + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + warn '[DEPRECATED] the `list_invalid_properties` method is obsolete' + invalid_properties = Array.new + if @total_size_bytes < -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + invalid_properties.push('invalid value for "total_size_bytes", must be greater than or equal to -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.') + end + + if @types.nil? + invalid_properties.push('invalid value for "types", types cannot be nil.') + end + + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + warn '[DEPRECATED] the `valid?` method is obsolete' + return false if @total_size_bytes < -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + return false if @types.nil? + true + end + + # Custom attribute writer method with validation + # @param [Object] total_size_bytes Value to be assigned + def total_size_bytes=(total_size_bytes) + if !total_size_bytes.nil? && total_size_bytes < -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + fail ArgumentError, 'invalid value for "total_size_bytes", must be greater than or equal to -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.' + end + + @total_size_bytes = total_size_bytes + end + + # Custom attribute writer method with validation + # @param [Object] types Value to be assigned + def types=(types) + if types.nil? + fail ArgumentError, 'types cannot be nil' + end + + @types = types + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + total_size_bytes == o.total_size_bytes && + types == o.types + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [total_size_bytes, types].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + transformed_hash = {} + openapi_types.each_pair do |key, type| + if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = nil + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[attribute_map[key]].is_a?(Array) + transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) } + end + elsif !attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]]) + end + end + new(transformed_hash) + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + end + +end diff --git a/lib/kombo_client/models/get_ats_actions_ats_create_candidate_positive_response_data_attachment_restrictions_types.rb b/lib/kombo_client/models/get_ats_actions_ats_create_candidate_positive_response_data_attachment_restrictions_types.rb new file mode 100644 index 0000000..f0590be --- /dev/null +++ b/lib/kombo_client/models/get_ats_actions_ats_create_candidate_positive_response_data_attachment_restrictions_types.rb @@ -0,0 +1,217 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.17.0 + +=end + +require 'date' +require 'time' + +module Kombo + # Specific attachment type restrictions for each attachment type. If null, we don' have information about the attachment type restrictions. + class GetAtsActionsAtsCreateCandidatePositiveResponseDataAttachmentRestrictionsTypes < ApiModelBase + attr_accessor :cv + + attr_accessor :cover_letter + + attr_accessor :other + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'cv' => :'CV', + :'cover_letter' => :'COVER_LETTER', + :'other' => :'OTHER' + } + end + + # Returns attribute mapping this model knows about + def self.acceptable_attribute_map + attribute_map + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + acceptable_attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'cv' => :'GetAtsActionsAtsCreateCandidatePositiveResponseDataAttachmentRestrictionsTypesCV', + :'cover_letter' => :'GetAtsActionsAtsCreateCandidatePositiveResponseDataAttachmentRestrictionsTypesCOVERLETTER', + :'other' => :'GetAtsActionsAtsCreateCandidatePositiveResponseDataAttachmentRestrictionsTypesOTHER' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Kombo::GetAtsActionsAtsCreateCandidatePositiveResponseDataAttachmentRestrictionsTypes` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + acceptable_attribute_map = self.class.acceptable_attribute_map + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!acceptable_attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Kombo::GetAtsActionsAtsCreateCandidatePositiveResponseDataAttachmentRestrictionsTypes`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'cv') + self.cv = attributes[:'cv'] + else + self.cv = nil + end + + if attributes.key?(:'cover_letter') + self.cover_letter = attributes[:'cover_letter'] + else + self.cover_letter = nil + end + + if attributes.key?(:'other') + self.other = attributes[:'other'] + else + self.other = nil + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + warn '[DEPRECATED] the `list_invalid_properties` method is obsolete' + invalid_properties = Array.new + if @cv.nil? + invalid_properties.push('invalid value for "cv", cv cannot be nil.') + end + + if @cover_letter.nil? + invalid_properties.push('invalid value for "cover_letter", cover_letter cannot be nil.') + end + + if @other.nil? + invalid_properties.push('invalid value for "other", other cannot be nil.') + end + + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + warn '[DEPRECATED] the `valid?` method is obsolete' + return false if @cv.nil? + return false if @cover_letter.nil? + return false if @other.nil? + true + end + + # Custom attribute writer method with validation + # @param [Object] cv Value to be assigned + def cv=(cv) + if cv.nil? + fail ArgumentError, 'cv cannot be nil' + end + + @cv = cv + end + + # Custom attribute writer method with validation + # @param [Object] cover_letter Value to be assigned + def cover_letter=(cover_letter) + if cover_letter.nil? + fail ArgumentError, 'cover_letter cannot be nil' + end + + @cover_letter = cover_letter + end + + # Custom attribute writer method with validation + # @param [Object] other Value to be assigned + def other=(other) + if other.nil? + fail ArgumentError, 'other cannot be nil' + end + + @other = other + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + cv == o.cv && + cover_letter == o.cover_letter && + other == o.other + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [cv, cover_letter, other].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + transformed_hash = {} + openapi_types.each_pair do |key, type| + if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = nil + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[attribute_map[key]].is_a?(Array) + transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) } + end + elsif !attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]]) + end + end + new(transformed_hash) + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + end + +end diff --git a/lib/kombo_client/models/get_ats_actions_ats_create_candidate_positive_response_data_attachment_restrictions_types_coverletter.rb b/lib/kombo_client/models/get_ats_actions_ats_create_candidate_positive_response_data_attachment_restrictions_types_coverletter.rb new file mode 100644 index 0000000..66de85c --- /dev/null +++ b/lib/kombo_client/models/get_ats_actions_ats_create_candidate_positive_response_data_attachment_restrictions_types_coverletter.rb @@ -0,0 +1,104 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.17.0 + +=end + +require 'date' +require 'time' + +module Kombo + # Specific attachment type restrictions for COVER_LETTER. + module GetAtsActionsAtsCreateCandidatePositiveResponseDataAttachmentRestrictionsTypesCOVERLETTER + class << self + # List of class defined in anyOf (OpenAPI v3) + def openapi_any_of + [ + :'GetAtsActionsAtsCreateCandidatePositiveResponseDataAttachmentRestrictionsTypesCVAnyOf', + :'GetAtsActionsAtsCreateCandidatePositiveResponseDataAttachmentRestrictionsTypesCVAnyOf1' + ] + end + + # Builds the object + # @param [Mixed] Data to be matched against the list of anyOf items + # @return [Object] Returns the model or the data itself + def build(data) + # Go through the list of anyOf items and attempt to identify the appropriate one. + # Note: + # - No advanced validation of types in some cases (e.g. "x: { type: string }" will happily match { x: 123 }) + # due to the way the deserialization is made in the base_object template (it just casts without verifying). + # - TODO: scalar values are de facto behaving as if they were nullable. + # - TODO: logging when debugging is set. + openapi_any_of.each do |klass| + begin + next if klass == :AnyType # "nullable: true" + return find_and_cast_into_type(klass, data) + rescue # rescue all errors so we keep iterating even if the current item lookup raises + end + end + + openapi_any_of.include?(:AnyType) ? data : nil + end + + private + + SchemaMismatchError = Class.new(StandardError) + + # Note: 'File' is missing here because in the regular case we get the data _after_ a call to JSON.parse. + def find_and_cast_into_type(klass, data) + return if data.nil? + + case klass.to_s + when 'Boolean' + return data if data.instance_of?(TrueClass) || data.instance_of?(FalseClass) + when 'Float' + return data if data.instance_of?(Float) + when 'Integer' + return data if data.instance_of?(Integer) + when 'Time' + return Time.parse(data) + when 'Date' + return Date.iso8601(data) + when 'String' + return data if data.instance_of?(String) + when 'Object' # "type: object" + return data if data.instance_of?(Hash) + when /\AArray<(?.+)>\z/ # "type: array" + if data.instance_of?(Array) + sub_type = Regexp.last_match[:sub_type] + return data.map { |item| find_and_cast_into_type(sub_type, item) } + end + when /\AHash.+)>\z/ # "type: object" with "additionalProperties: { ... }" + if data.instance_of?(Hash) && data.keys.all? { |k| k.instance_of?(Symbol) || k.instance_of?(String) } + sub_type = Regexp.last_match[:sub_type] + return data.each_with_object({}) { |(k, v), hsh| hsh[k] = find_and_cast_into_type(sub_type, v) } + end + else # model + const = Kombo.const_get(klass) + if const + if const.respond_to?(:openapi_any_of) # nested anyOf model + model = const.build(data) + return model if model + else + # raise if data contains keys that are not known to the model + raise if const.respond_to?(:acceptable_attributes) && !(data.keys - const.acceptable_attributes).empty? + model = const.build_from_hash(data) + return model if model + end + end + end + + raise # if no match by now, raise + rescue + raise SchemaMismatchError, "#{data} doesn't match the #{klass} type" + end + end + end + +end diff --git a/lib/kombo_client/models/get_ats_actions_ats_create_candidate_positive_response_data_attachment_restrictions_types_cv.rb b/lib/kombo_client/models/get_ats_actions_ats_create_candidate_positive_response_data_attachment_restrictions_types_cv.rb new file mode 100644 index 0000000..0bd580d --- /dev/null +++ b/lib/kombo_client/models/get_ats_actions_ats_create_candidate_positive_response_data_attachment_restrictions_types_cv.rb @@ -0,0 +1,104 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.17.0 + +=end + +require 'date' +require 'time' + +module Kombo + # Specific attachment type restrictions for CV. + module GetAtsActionsAtsCreateCandidatePositiveResponseDataAttachmentRestrictionsTypesCV + class << self + # List of class defined in anyOf (OpenAPI v3) + def openapi_any_of + [ + :'GetAtsActionsAtsCreateCandidatePositiveResponseDataAttachmentRestrictionsTypesCVAnyOf', + :'GetAtsActionsAtsCreateCandidatePositiveResponseDataAttachmentRestrictionsTypesCVAnyOf1' + ] + end + + # Builds the object + # @param [Mixed] Data to be matched against the list of anyOf items + # @return [Object] Returns the model or the data itself + def build(data) + # Go through the list of anyOf items and attempt to identify the appropriate one. + # Note: + # - No advanced validation of types in some cases (e.g. "x: { type: string }" will happily match { x: 123 }) + # due to the way the deserialization is made in the base_object template (it just casts without verifying). + # - TODO: scalar values are de facto behaving as if they were nullable. + # - TODO: logging when debugging is set. + openapi_any_of.each do |klass| + begin + next if klass == :AnyType # "nullable: true" + return find_and_cast_into_type(klass, data) + rescue # rescue all errors so we keep iterating even if the current item lookup raises + end + end + + openapi_any_of.include?(:AnyType) ? data : nil + end + + private + + SchemaMismatchError = Class.new(StandardError) + + # Note: 'File' is missing here because in the regular case we get the data _after_ a call to JSON.parse. + def find_and_cast_into_type(klass, data) + return if data.nil? + + case klass.to_s + when 'Boolean' + return data if data.instance_of?(TrueClass) || data.instance_of?(FalseClass) + when 'Float' + return data if data.instance_of?(Float) + when 'Integer' + return data if data.instance_of?(Integer) + when 'Time' + return Time.parse(data) + when 'Date' + return Date.iso8601(data) + when 'String' + return data if data.instance_of?(String) + when 'Object' # "type: object" + return data if data.instance_of?(Hash) + when /\AArray<(?.+)>\z/ # "type: array" + if data.instance_of?(Array) + sub_type = Regexp.last_match[:sub_type] + return data.map { |item| find_and_cast_into_type(sub_type, item) } + end + when /\AHash.+)>\z/ # "type: object" with "additionalProperties: { ... }" + if data.instance_of?(Hash) && data.keys.all? { |k| k.instance_of?(Symbol) || k.instance_of?(String) } + sub_type = Regexp.last_match[:sub_type] + return data.each_with_object({}) { |(k, v), hsh| hsh[k] = find_and_cast_into_type(sub_type, v) } + end + else # model + const = Kombo.const_get(klass) + if const + if const.respond_to?(:openapi_any_of) # nested anyOf model + model = const.build(data) + return model if model + else + # raise if data contains keys that are not known to the model + raise if const.respond_to?(:acceptable_attributes) && !(data.keys - const.acceptable_attributes).empty? + model = const.build_from_hash(data) + return model if model + end + end + end + + raise # if no match by now, raise + rescue + raise SchemaMismatchError, "#{data} doesn't match the #{klass} type" + end + end + end + +end diff --git a/lib/kombo_client/models/get_ats_actions_ats_create_candidate_positive_response_data_attachment_restrictions_types_cv_any_of.rb b/lib/kombo_client/models/get_ats_actions_ats_create_candidate_positive_response_data_attachment_restrictions_types_cv_any_of.rb new file mode 100644 index 0000000..cba3f0e --- /dev/null +++ b/lib/kombo_client/models/get_ats_actions_ats_create_candidate_positive_response_data_attachment_restrictions_types_cv_any_of.rb @@ -0,0 +1,287 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.17.0 + +=end + +require 'date' +require 'time' + +module Kombo + class GetAtsActionsAtsCreateCandidatePositiveResponseDataAttachmentRestrictionsTypesCVAnyOf < ApiModelBase + attr_accessor :is_supported + + # The minimum amount of attachments. If null, we don' have information about the minimum amount. + attr_accessor :min_amount + + # The maximum amount of attachments. If null, we don' have information about the maximum amount. + attr_accessor :max_amount + + # The maximum file size in bytes. If null, we don't have information about the maximum file size. + attr_accessor :max_file_size_bytes + + # The accepted mime types. If null, we don't have information about the accepted mime types. + attr_accessor :accepted_mime_types + + class EnumAttributeValidator + attr_reader :datatype + attr_reader :allowable_values + + def initialize(datatype, allowable_values) + @allowable_values = allowable_values.map do |value| + case datatype.to_s + when /Integer/i + value.to_i + when /Float/i + value.to_f + else + value + end + end + end + + def valid?(value) + !value || allowable_values.include?(value) + end + end + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'is_supported' => :'is_supported', + :'min_amount' => :'min_amount', + :'max_amount' => :'max_amount', + :'max_file_size_bytes' => :'max_file_size_bytes', + :'accepted_mime_types' => :'accepted_mime_types' + } + end + + # Returns attribute mapping this model knows about + def self.acceptable_attribute_map + attribute_map + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + acceptable_attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'is_supported' => :'Boolean', + :'min_amount' => :'Float', + :'max_amount' => :'Float', + :'max_file_size_bytes' => :'Float', + :'accepted_mime_types' => :'Array' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + :'min_amount', + :'max_amount', + :'max_file_size_bytes', + :'accepted_mime_types' + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Kombo::GetAtsActionsAtsCreateCandidatePositiveResponseDataAttachmentRestrictionsTypesCVAnyOf` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + acceptable_attribute_map = self.class.acceptable_attribute_map + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!acceptable_attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Kombo::GetAtsActionsAtsCreateCandidatePositiveResponseDataAttachmentRestrictionsTypesCVAnyOf`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'is_supported') + self.is_supported = attributes[:'is_supported'] + else + self.is_supported = nil + end + + if attributes.key?(:'min_amount') + self.min_amount = attributes[:'min_amount'] + else + self.min_amount = nil + end + + if attributes.key?(:'max_amount') + self.max_amount = attributes[:'max_amount'] + else + self.max_amount = nil + end + + if attributes.key?(:'max_file_size_bytes') + self.max_file_size_bytes = attributes[:'max_file_size_bytes'] + else + self.max_file_size_bytes = nil + end + + if attributes.key?(:'accepted_mime_types') + if (value = attributes[:'accepted_mime_types']).is_a?(Array) + self.accepted_mime_types = value + end + else + self.accepted_mime_types = nil + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + warn '[DEPRECATED] the `list_invalid_properties` method is obsolete' + invalid_properties = Array.new + if @is_supported.nil? + invalid_properties.push('invalid value for "is_supported", is_supported cannot be nil.') + end + + if @min_amount < -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + invalid_properties.push('invalid value for "min_amount", must be greater than or equal to -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.') + end + + if @max_amount < -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + invalid_properties.push('invalid value for "max_amount", must be greater than or equal to -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.') + end + + if @max_file_size_bytes < -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + invalid_properties.push('invalid value for "max_file_size_bytes", must be greater than or equal to -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.') + end + + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + warn '[DEPRECATED] the `valid?` method is obsolete' + return false if @is_supported.nil? + is_supported_validator = EnumAttributeValidator.new('Boolean', ["true"]) + return false unless is_supported_validator.valid?(@is_supported) + return false if @min_amount < -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + return false if @max_amount < -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + return false if @max_file_size_bytes < -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + true + end + + # Custom attribute writer method checking allowed values (enum). + # @param [Object] is_supported Object to be assigned + def is_supported=(is_supported) + validator = EnumAttributeValidator.new('Boolean', ["true"]) + unless validator.valid?(is_supported) + fail ArgumentError, "invalid value for \"is_supported\", must be one of #{validator.allowable_values}." + end + @is_supported = is_supported + end + + # Custom attribute writer method with validation + # @param [Object] min_amount Value to be assigned + def min_amount=(min_amount) + if !min_amount.nil? && min_amount < -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + fail ArgumentError, 'invalid value for "min_amount", must be greater than or equal to -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.' + end + + @min_amount = min_amount + end + + # Custom attribute writer method with validation + # @param [Object] max_amount Value to be assigned + def max_amount=(max_amount) + if !max_amount.nil? && max_amount < -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + fail ArgumentError, 'invalid value for "max_amount", must be greater than or equal to -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.' + end + + @max_amount = max_amount + end + + # Custom attribute writer method with validation + # @param [Object] max_file_size_bytes Value to be assigned + def max_file_size_bytes=(max_file_size_bytes) + if !max_file_size_bytes.nil? && max_file_size_bytes < -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + fail ArgumentError, 'invalid value for "max_file_size_bytes", must be greater than or equal to -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.' + end + + @max_file_size_bytes = max_file_size_bytes + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + is_supported == o.is_supported && + min_amount == o.min_amount && + max_amount == o.max_amount && + max_file_size_bytes == o.max_file_size_bytes && + accepted_mime_types == o.accepted_mime_types + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [is_supported, min_amount, max_amount, max_file_size_bytes, accepted_mime_types].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + transformed_hash = {} + openapi_types.each_pair do |key, type| + if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = nil + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[attribute_map[key]].is_a?(Array) + transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) } + end + elsif !attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]]) + end + end + new(transformed_hash) + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + end + +end diff --git a/lib/kombo_client/models/get_ats_actions_ats_create_candidate_positive_response_data_attachment_restrictions_types_cv_any_of1.rb b/lib/kombo_client/models/get_ats_actions_ats_create_candidate_positive_response_data_attachment_restrictions_types_cv_any_of1.rb new file mode 100644 index 0000000..9573793 --- /dev/null +++ b/lib/kombo_client/models/get_ats_actions_ats_create_candidate_positive_response_data_attachment_restrictions_types_cv_any_of1.rb @@ -0,0 +1,188 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.17.0 + +=end + +require 'date' +require 'time' + +module Kombo + class GetAtsActionsAtsCreateCandidatePositiveResponseDataAttachmentRestrictionsTypesCVAnyOf1 < ApiModelBase + attr_accessor :is_supported + + class EnumAttributeValidator + attr_reader :datatype + attr_reader :allowable_values + + def initialize(datatype, allowable_values) + @allowable_values = allowable_values.map do |value| + case datatype.to_s + when /Integer/i + value.to_i + when /Float/i + value.to_f + else + value + end + end + end + + def valid?(value) + !value || allowable_values.include?(value) + end + end + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'is_supported' => :'is_supported' + } + end + + # Returns attribute mapping this model knows about + def self.acceptable_attribute_map + attribute_map + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + acceptable_attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'is_supported' => :'Boolean' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Kombo::GetAtsActionsAtsCreateCandidatePositiveResponseDataAttachmentRestrictionsTypesCVAnyOf1` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + acceptable_attribute_map = self.class.acceptable_attribute_map + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!acceptable_attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Kombo::GetAtsActionsAtsCreateCandidatePositiveResponseDataAttachmentRestrictionsTypesCVAnyOf1`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'is_supported') + self.is_supported = attributes[:'is_supported'] + else + self.is_supported = nil + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + warn '[DEPRECATED] the `list_invalid_properties` method is obsolete' + invalid_properties = Array.new + if @is_supported.nil? + invalid_properties.push('invalid value for "is_supported", is_supported cannot be nil.') + end + + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + warn '[DEPRECATED] the `valid?` method is obsolete' + return false if @is_supported.nil? + is_supported_validator = EnumAttributeValidator.new('Boolean', ["false"]) + return false unless is_supported_validator.valid?(@is_supported) + true + end + + # Custom attribute writer method checking allowed values (enum). + # @param [Object] is_supported Object to be assigned + def is_supported=(is_supported) + validator = EnumAttributeValidator.new('Boolean', ["false"]) + unless validator.valid?(is_supported) + fail ArgumentError, "invalid value for \"is_supported\", must be one of #{validator.allowable_values}." + end + @is_supported = is_supported + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + is_supported == o.is_supported + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [is_supported].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + transformed_hash = {} + openapi_types.each_pair do |key, type| + if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = nil + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[attribute_map[key]].is_a?(Array) + transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) } + end + elsif !attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]]) + end + end + new(transformed_hash) + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + end + +end diff --git a/lib/kombo_client/models/get_ats_actions_ats_create_candidate_positive_response_data_attachment_restrictions_types_other.rb b/lib/kombo_client/models/get_ats_actions_ats_create_candidate_positive_response_data_attachment_restrictions_types_other.rb new file mode 100644 index 0000000..01882e0 --- /dev/null +++ b/lib/kombo_client/models/get_ats_actions_ats_create_candidate_positive_response_data_attachment_restrictions_types_other.rb @@ -0,0 +1,104 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.17.0 + +=end + +require 'date' +require 'time' + +module Kombo + # Specific attachment type restrictions for OTHER. + module GetAtsActionsAtsCreateCandidatePositiveResponseDataAttachmentRestrictionsTypesOTHER + class << self + # List of class defined in anyOf (OpenAPI v3) + def openapi_any_of + [ + :'GetAtsActionsAtsCreateCandidatePositiveResponseDataAttachmentRestrictionsTypesCVAnyOf', + :'GetAtsActionsAtsCreateCandidatePositiveResponseDataAttachmentRestrictionsTypesCVAnyOf1' + ] + end + + # Builds the object + # @param [Mixed] Data to be matched against the list of anyOf items + # @return [Object] Returns the model or the data itself + def build(data) + # Go through the list of anyOf items and attempt to identify the appropriate one. + # Note: + # - No advanced validation of types in some cases (e.g. "x: { type: string }" will happily match { x: 123 }) + # due to the way the deserialization is made in the base_object template (it just casts without verifying). + # - TODO: scalar values are de facto behaving as if they were nullable. + # - TODO: logging when debugging is set. + openapi_any_of.each do |klass| + begin + next if klass == :AnyType # "nullable: true" + return find_and_cast_into_type(klass, data) + rescue # rescue all errors so we keep iterating even if the current item lookup raises + end + end + + openapi_any_of.include?(:AnyType) ? data : nil + end + + private + + SchemaMismatchError = Class.new(StandardError) + + # Note: 'File' is missing here because in the regular case we get the data _after_ a call to JSON.parse. + def find_and_cast_into_type(klass, data) + return if data.nil? + + case klass.to_s + when 'Boolean' + return data if data.instance_of?(TrueClass) || data.instance_of?(FalseClass) + when 'Float' + return data if data.instance_of?(Float) + when 'Integer' + return data if data.instance_of?(Integer) + when 'Time' + return Time.parse(data) + when 'Date' + return Date.iso8601(data) + when 'String' + return data if data.instance_of?(String) + when 'Object' # "type: object" + return data if data.instance_of?(Hash) + when /\AArray<(?.+)>\z/ # "type: array" + if data.instance_of?(Array) + sub_type = Regexp.last_match[:sub_type] + return data.map { |item| find_and_cast_into_type(sub_type, item) } + end + when /\AHash.+)>\z/ # "type: object" with "additionalProperties: { ... }" + if data.instance_of?(Hash) && data.keys.all? { |k| k.instance_of?(Symbol) || k.instance_of?(String) } + sub_type = Regexp.last_match[:sub_type] + return data.each_with_object({}) { |(k, v), hsh| hsh[k] = find_and_cast_into_type(sub_type, v) } + end + else # model + const = Kombo.const_get(klass) + if const + if const.respond_to?(:openapi_any_of) # nested anyOf model + model = const.build(data) + return model if model + else + # raise if data contains keys that are not known to the model + raise if const.respond_to?(:acceptable_attributes) && !(data.keys - const.acceptable_attributes).empty? + model = const.build_from_hash(data) + return model if model + end + end + end + + raise # if no match by now, raise + rescue + raise SchemaMismatchError, "#{data} doesn't match the #{klass} type" + end + end + end + +end diff --git a/lib/kombo_client/models/get_ats_application_stages_parameter_include_deleted.rb b/lib/kombo_client/models/get_ats_application_stages_parameter_include_deleted.rb new file mode 100644 index 0000000..2babec4 --- /dev/null +++ b/lib/kombo_client/models/get_ats_application_stages_parameter_include_deleted.rb @@ -0,0 +1,40 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.17.0 + +=end + +require 'date' +require 'time' + +module Kombo + class GetAtsApplicationStagesParameterIncludeDeleted + TRUE = "true".freeze + FALSE = "false".freeze + + def self.all_vars + @all_vars ||= [TRUE, FALSE].freeze + end + + # Builds the enum from string + # @param [String] The enum value in the form of the string + # @return [String] The enum value + def self.build_from_hash(value) + new.build_from_hash(value) + end + + # Builds the enum from string + # @param [String] The enum value in the form of the string + # @return [String] The enum value + def build_from_hash(value) + return value if GetAtsApplicationStagesParameterIncludeDeleted.all_vars.include?(value) + raise "Invalid ENUM value #{value} for class #GetAtsApplicationStagesParameterIncludeDeleted" + end + end +end diff --git a/lib/kombo_client/models/get_ats_application_stages_positive_response.rb b/lib/kombo_client/models/get_ats_application_stages_positive_response.rb new file mode 100644 index 0000000..af80b53 --- /dev/null +++ b/lib/kombo_client/models/get_ats_application_stages_positive_response.rb @@ -0,0 +1,214 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.17.0 + +=end + +require 'date' +require 'time' + +module Kombo + class GetAtsApplicationStagesPositiveResponse < ApiModelBase + attr_accessor :status + + attr_accessor :data + + class EnumAttributeValidator + attr_reader :datatype + attr_reader :allowable_values + + def initialize(datatype, allowable_values) + @allowable_values = allowable_values.map do |value| + case datatype.to_s + when /Integer/i + value.to_i + when /Float/i + value.to_f + else + value + end + end + end + + def valid?(value) + !value || allowable_values.include?(value) + end + end + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'status' => :'status', + :'data' => :'data' + } + end + + # Returns attribute mapping this model knows about + def self.acceptable_attribute_map + attribute_map + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + acceptable_attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'status' => :'String', + :'data' => :'GetAtsApplicationStagesPositiveResponseData' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Kombo::GetAtsApplicationStagesPositiveResponse` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + acceptable_attribute_map = self.class.acceptable_attribute_map + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!acceptable_attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Kombo::GetAtsApplicationStagesPositiveResponse`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'status') + self.status = attributes[:'status'] + else + self.status = nil + end + + if attributes.key?(:'data') + self.data = attributes[:'data'] + else + self.data = nil + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + warn '[DEPRECATED] the `list_invalid_properties` method is obsolete' + invalid_properties = Array.new + if @status.nil? + invalid_properties.push('invalid value for "status", status cannot be nil.') + end + + if @data.nil? + invalid_properties.push('invalid value for "data", data cannot be nil.') + end + + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + warn '[DEPRECATED] the `valid?` method is obsolete' + return false if @status.nil? + status_validator = EnumAttributeValidator.new('String', ["success"]) + return false unless status_validator.valid?(@status) + return false if @data.nil? + true + end + + # Custom attribute writer method checking allowed values (enum). + # @param [Object] status Object to be assigned + def status=(status) + validator = EnumAttributeValidator.new('String', ["success"]) + unless validator.valid?(status) + fail ArgumentError, "invalid value for \"status\", must be one of #{validator.allowable_values}." + end + @status = status + end + + # Custom attribute writer method with validation + # @param [Object] data Value to be assigned + def data=(data) + if data.nil? + fail ArgumentError, 'data cannot be nil' + end + + @data = data + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + status == o.status && + data == o.data + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [status, data].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + transformed_hash = {} + openapi_types.each_pair do |key, type| + if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = nil + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[attribute_map[key]].is_a?(Array) + transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) } + end + elsif !attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]]) + end + end + new(transformed_hash) + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + end + +end diff --git a/lib/kombo_client/models/get_ats_application_stages_positive_response_data.rb b/lib/kombo_client/models/get_ats_application_stages_positive_response_data.rb new file mode 100644 index 0000000..cb26e2b --- /dev/null +++ b/lib/kombo_client/models/get_ats_application_stages_positive_response_data.rb @@ -0,0 +1,179 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.17.0 + +=end + +require 'date' +require 'time' + +module Kombo + class GetAtsApplicationStagesPositiveResponseData < ApiModelBase + # 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. + attr_accessor :_next + + attr_accessor :results + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'_next' => :'next', + :'results' => :'results' + } + end + + # Returns attribute mapping this model knows about + def self.acceptable_attribute_map + attribute_map + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + acceptable_attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'_next' => :'String', + :'results' => :'Array' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + :'_next', + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Kombo::GetAtsApplicationStagesPositiveResponseData` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + acceptable_attribute_map = self.class.acceptable_attribute_map + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!acceptable_attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Kombo::GetAtsApplicationStagesPositiveResponseData`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'_next') + self._next = attributes[:'_next'] + else + self._next = nil + end + + if attributes.key?(:'results') + if (value = attributes[:'results']).is_a?(Array) + self.results = value + end + else + self.results = nil + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + warn '[DEPRECATED] the `list_invalid_properties` method is obsolete' + invalid_properties = Array.new + if @results.nil? + invalid_properties.push('invalid value for "results", results cannot be nil.') + end + + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + warn '[DEPRECATED] the `valid?` method is obsolete' + return false if @results.nil? + true + end + + # Custom attribute writer method with validation + # @param [Object] results Value to be assigned + def results=(results) + if results.nil? + fail ArgumentError, 'results cannot be nil' + end + + @results = results + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + _next == o._next && + results == o.results + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [_next, results].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + transformed_hash = {} + openapi_types.each_pair do |key, type| + if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = nil + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[attribute_map[key]].is_a?(Array) + transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) } + end + elsif !attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]]) + end + end + new(transformed_hash) + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + end + +end diff --git a/lib/kombo_client/models/get_ats_application_stages_positive_response_data_results_inner.rb b/lib/kombo_client/models/get_ats_application_stages_positive_response_data_results_inner.rb new file mode 100644 index 0000000..9ed7524 --- /dev/null +++ b/lib/kombo_client/models/get_ats_application_stages_positive_response_data_results_inner.rb @@ -0,0 +1,246 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.17.0 + +=end + +require 'date' +require 'time' + +module Kombo + class GetAtsApplicationStagesPositiveResponseDataResultsInner < ApiModelBase + # The globally unique ID of this object generated by Kombo. We recommend using this as a stable primary key for syncing. + attr_accessor :id + + # 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. + attr_accessor :remote_id + + # The application stage name. For example, \"Initial Screening\". + attr_accessor :name + + # 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. + attr_accessor :remote_data + + # 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. + attr_accessor :changed_at + + # 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. + attr_accessor :remote_deleted_at + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'id' => :'id', + :'remote_id' => :'remote_id', + :'name' => :'name', + :'remote_data' => :'remote_data', + :'changed_at' => :'changed_at', + :'remote_deleted_at' => :'remote_deleted_at' + } + end + + # Returns attribute mapping this model knows about + def self.acceptable_attribute_map + attribute_map + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + acceptable_attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'id' => :'String', + :'remote_id' => :'String', + :'name' => :'String', + :'remote_data' => :'Hash', + :'changed_at' => :'Time', + :'remote_deleted_at' => :'Time' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + :'remote_id', + :'name', + :'remote_data', + :'remote_deleted_at' + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Kombo::GetAtsApplicationStagesPositiveResponseDataResultsInner` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + acceptable_attribute_map = self.class.acceptable_attribute_map + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!acceptable_attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Kombo::GetAtsApplicationStagesPositiveResponseDataResultsInner`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'id') + self.id = attributes[:'id'] + else + self.id = nil + end + + if attributes.key?(:'remote_id') + self.remote_id = attributes[:'remote_id'] + else + self.remote_id = nil + end + + if attributes.key?(:'name') + self.name = attributes[:'name'] + else + self.name = nil + end + + if attributes.key?(:'remote_data') + if (value = attributes[:'remote_data']).is_a?(Hash) + self.remote_data = value + end + else + self.remote_data = nil + end + + if attributes.key?(:'changed_at') + self.changed_at = attributes[:'changed_at'] + else + self.changed_at = nil + end + + if attributes.key?(:'remote_deleted_at') + self.remote_deleted_at = attributes[:'remote_deleted_at'] + else + self.remote_deleted_at = nil + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + warn '[DEPRECATED] the `list_invalid_properties` method is obsolete' + invalid_properties = Array.new + if @id.nil? + invalid_properties.push('invalid value for "id", id cannot be nil.') + end + + if @changed_at.nil? + invalid_properties.push('invalid value for "changed_at", changed_at cannot be nil.') + end + + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + warn '[DEPRECATED] the `valid?` method is obsolete' + return false if @id.nil? + return false if @changed_at.nil? + true + end + + # Custom attribute writer method with validation + # @param [Object] id Value to be assigned + def id=(id) + if id.nil? + fail ArgumentError, 'id cannot be nil' + end + + @id = id + end + + # Custom attribute writer method with validation + # @param [Object] changed_at Value to be assigned + def changed_at=(changed_at) + if changed_at.nil? + fail ArgumentError, 'changed_at cannot be nil' + end + + @changed_at = changed_at + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + id == o.id && + remote_id == o.remote_id && + name == o.name && + remote_data == o.remote_data && + changed_at == o.changed_at && + remote_deleted_at == o.remote_deleted_at + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [id, remote_id, name, remote_data, changed_at, remote_deleted_at].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + transformed_hash = {} + openapi_types.each_pair do |key, type| + if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = nil + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[attribute_map[key]].is_a?(Array) + transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) } + end + elsif !attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]]) + end + end + new(transformed_hash) + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + end + +end diff --git a/lib/kombo_client/models/get_ats_applications_application_id_attachments_positive_response.rb b/lib/kombo_client/models/get_ats_applications_application_id_attachments_positive_response.rb new file mode 100644 index 0000000..1ea2ae5 --- /dev/null +++ b/lib/kombo_client/models/get_ats_applications_application_id_attachments_positive_response.rb @@ -0,0 +1,243 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.17.0 + +=end + +require 'date' +require 'time' + +module Kombo + class GetAtsApplicationsApplicationIdAttachmentsPositiveResponse < ApiModelBase + attr_accessor :status + + attr_accessor :data + + # 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. + attr_accessor :warnings + + class EnumAttributeValidator + attr_reader :datatype + attr_reader :allowable_values + + def initialize(datatype, allowable_values) + @allowable_values = allowable_values.map do |value| + case datatype.to_s + when /Integer/i + value.to_i + when /Float/i + value.to_f + else + value + end + end + end + + def valid?(value) + !value || allowable_values.include?(value) + end + end + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'status' => :'status', + :'data' => :'data', + :'warnings' => :'warnings' + } + end + + # Returns attribute mapping this model knows about + def self.acceptable_attribute_map + attribute_map + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + acceptable_attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'status' => :'String', + :'data' => :'GetAtsApplicationsApplicationIdAttachmentsPositiveResponseData', + :'warnings' => :'Array' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Kombo::GetAtsApplicationsApplicationIdAttachmentsPositiveResponse` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + acceptable_attribute_map = self.class.acceptable_attribute_map + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!acceptable_attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Kombo::GetAtsApplicationsApplicationIdAttachmentsPositiveResponse`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'status') + self.status = attributes[:'status'] + else + self.status = nil + end + + if attributes.key?(:'data') + self.data = attributes[:'data'] + else + self.data = nil + end + + if attributes.key?(:'warnings') + if (value = attributes[:'warnings']).is_a?(Array) + self.warnings = value + end + else + self.warnings = nil + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + warn '[DEPRECATED] the `list_invalid_properties` method is obsolete' + invalid_properties = Array.new + if @status.nil? + invalid_properties.push('invalid value for "status", status cannot be nil.') + end + + if @data.nil? + invalid_properties.push('invalid value for "data", data cannot be nil.') + end + + if @warnings.nil? + invalid_properties.push('invalid value for "warnings", warnings cannot be nil.') + end + + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + warn '[DEPRECATED] the `valid?` method is obsolete' + return false if @status.nil? + status_validator = EnumAttributeValidator.new('String', ["success"]) + return false unless status_validator.valid?(@status) + return false if @data.nil? + return false if @warnings.nil? + true + end + + # Custom attribute writer method checking allowed values (enum). + # @param [Object] status Object to be assigned + def status=(status) + validator = EnumAttributeValidator.new('String', ["success"]) + unless validator.valid?(status) + fail ArgumentError, "invalid value for \"status\", must be one of #{validator.allowable_values}." + end + @status = status + end + + # Custom attribute writer method with validation + # @param [Object] data Value to be assigned + def data=(data) + if data.nil? + fail ArgumentError, 'data cannot be nil' + end + + @data = data + end + + # Custom attribute writer method with validation + # @param [Object] warnings Value to be assigned + def warnings=(warnings) + if warnings.nil? + fail ArgumentError, 'warnings cannot be nil' + end + + @warnings = warnings + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + status == o.status && + data == o.data && + warnings == o.warnings + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [status, data, warnings].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + transformed_hash = {} + openapi_types.each_pair do |key, type| + if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = nil + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[attribute_map[key]].is_a?(Array) + transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) } + end + elsif !attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]]) + end + end + new(transformed_hash) + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + end + +end diff --git a/lib/kombo_client/models/get_ats_applications_application_id_attachments_positive_response_data.rb b/lib/kombo_client/models/get_ats_applications_application_id_attachments_positive_response_data.rb new file mode 100644 index 0000000..0646aee --- /dev/null +++ b/lib/kombo_client/models/get_ats_applications_application_id_attachments_positive_response_data.rb @@ -0,0 +1,166 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.17.0 + +=end + +require 'date' +require 'time' + +module Kombo + class GetAtsApplicationsApplicationIdAttachmentsPositiveResponseData < ApiModelBase + attr_accessor :results + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'results' => :'results' + } + end + + # Returns attribute mapping this model knows about + def self.acceptable_attribute_map + attribute_map + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + acceptable_attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'results' => :'Array' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Kombo::GetAtsApplicationsApplicationIdAttachmentsPositiveResponseData` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + acceptable_attribute_map = self.class.acceptable_attribute_map + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!acceptable_attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Kombo::GetAtsApplicationsApplicationIdAttachmentsPositiveResponseData`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'results') + if (value = attributes[:'results']).is_a?(Array) + self.results = value + end + else + self.results = nil + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + warn '[DEPRECATED] the `list_invalid_properties` method is obsolete' + invalid_properties = Array.new + if @results.nil? + invalid_properties.push('invalid value for "results", results cannot be nil.') + end + + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + warn '[DEPRECATED] the `valid?` method is obsolete' + return false if @results.nil? + true + end + + # Custom attribute writer method with validation + # @param [Object] results Value to be assigned + def results=(results) + if results.nil? + fail ArgumentError, 'results cannot be nil' + end + + @results = results + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + results == o.results + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [results].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + transformed_hash = {} + openapi_types.each_pair do |key, type| + if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = nil + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[attribute_map[key]].is_a?(Array) + transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) } + end + elsif !attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]]) + end + end + new(transformed_hash) + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + end + +end diff --git a/lib/kombo_client/models/get_ats_applications_application_id_attachments_positive_response_data_results_inner.rb b/lib/kombo_client/models/get_ats_applications_application_id_attachments_positive_response_data_results_inner.rb new file mode 100644 index 0000000..ef019ed --- /dev/null +++ b/lib/kombo_client/models/get_ats_applications_application_id_attachments_positive_response_data_results_inner.rb @@ -0,0 +1,344 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.17.0 + +=end + +require 'date' +require 'time' + +module Kombo + class GetAtsApplicationsApplicationIdAttachmentsPositiveResponseDataResultsInner < ApiModelBase + attr_accessor :type + + attr_accessor :id + + attr_accessor :remote_id + + attr_accessor :data_url + + attr_accessor :file_name + + attr_accessor :content_type + + # The date when the attachment was created. + attr_accessor :remote_created_at + + # The date when the attachment was last updated. + attr_accessor :remote_updated_at + + class EnumAttributeValidator + attr_reader :datatype + attr_reader :allowable_values + + def initialize(datatype, allowable_values) + @allowable_values = allowable_values.map do |value| + case datatype.to_s + when /Integer/i + value.to_i + when /Float/i + value.to_f + else + value + end + end + end + + def valid?(value) + !value || allowable_values.include?(value) + end + end + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'type' => :'type', + :'id' => :'id', + :'remote_id' => :'remote_id', + :'data_url' => :'data_url', + :'file_name' => :'file_name', + :'content_type' => :'content_type', + :'remote_created_at' => :'remote_created_at', + :'remote_updated_at' => :'remote_updated_at' + } + end + + # Returns attribute mapping this model knows about + def self.acceptable_attribute_map + attribute_map + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + acceptable_attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'type' => :'String', + :'id' => :'String', + :'remote_id' => :'String', + :'data_url' => :'String', + :'file_name' => :'String', + :'content_type' => :'String', + :'remote_created_at' => :'Time', + :'remote_updated_at' => :'Time' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + :'remote_created_at', + :'remote_updated_at' + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Kombo::GetAtsApplicationsApplicationIdAttachmentsPositiveResponseDataResultsInner` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + acceptable_attribute_map = self.class.acceptable_attribute_map + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!acceptable_attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Kombo::GetAtsApplicationsApplicationIdAttachmentsPositiveResponseDataResultsInner`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'type') + self.type = attributes[:'type'] + else + self.type = nil + end + + if attributes.key?(:'id') + self.id = attributes[:'id'] + else + self.id = nil + end + + if attributes.key?(:'remote_id') + self.remote_id = attributes[:'remote_id'] + else + self.remote_id = nil + end + + if attributes.key?(:'data_url') + self.data_url = attributes[:'data_url'] + else + self.data_url = nil + end + + if attributes.key?(:'file_name') + self.file_name = attributes[:'file_name'] + else + self.file_name = nil + end + + if attributes.key?(:'content_type') + self.content_type = attributes[:'content_type'] + else + self.content_type = nil + end + + if attributes.key?(:'remote_created_at') + self.remote_created_at = attributes[:'remote_created_at'] + else + self.remote_created_at = nil + end + + if attributes.key?(:'remote_updated_at') + self.remote_updated_at = attributes[:'remote_updated_at'] + else + self.remote_updated_at = nil + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + warn '[DEPRECATED] the `list_invalid_properties` method is obsolete' + invalid_properties = Array.new + if @type.nil? + invalid_properties.push('invalid value for "type", type cannot be nil.') + end + + if @id.nil? + invalid_properties.push('invalid value for "id", id cannot be nil.') + end + + if @remote_id.nil? + invalid_properties.push('invalid value for "remote_id", remote_id cannot be nil.') + end + + if @data_url.nil? + invalid_properties.push('invalid value for "data_url", data_url cannot be nil.') + end + + if @file_name.nil? + invalid_properties.push('invalid value for "file_name", file_name cannot be nil.') + end + + if @content_type.nil? + invalid_properties.push('invalid value for "content_type", content_type cannot be nil.') + end + + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + warn '[DEPRECATED] the `valid?` method is obsolete' + return false if @type.nil? + type_validator = EnumAttributeValidator.new('String', ["CV", "COVER_LETTER", "OTHER"]) + return false unless type_validator.valid?(@type) + return false if @id.nil? + return false if @remote_id.nil? + return false if @data_url.nil? + return false if @file_name.nil? + return false if @content_type.nil? + true + end + + # Custom attribute writer method checking allowed values (enum). + # @param [Object] type Object to be assigned + def type=(type) + validator = EnumAttributeValidator.new('String', ["CV", "COVER_LETTER", "OTHER"]) + unless validator.valid?(type) + fail ArgumentError, "invalid value for \"type\", must be one of #{validator.allowable_values}." + end + @type = type + end + + # Custom attribute writer method with validation + # @param [Object] id Value to be assigned + def id=(id) + if id.nil? + fail ArgumentError, 'id cannot be nil' + end + + @id = id + end + + # Custom attribute writer method with validation + # @param [Object] remote_id Value to be assigned + def remote_id=(remote_id) + if remote_id.nil? + fail ArgumentError, 'remote_id cannot be nil' + end + + @remote_id = remote_id + end + + # Custom attribute writer method with validation + # @param [Object] data_url Value to be assigned + def data_url=(data_url) + if data_url.nil? + fail ArgumentError, 'data_url cannot be nil' + end + + @data_url = data_url + end + + # Custom attribute writer method with validation + # @param [Object] file_name Value to be assigned + def file_name=(file_name) + if file_name.nil? + fail ArgumentError, 'file_name cannot be nil' + end + + @file_name = file_name + end + + # Custom attribute writer method with validation + # @param [Object] content_type Value to be assigned + def content_type=(content_type) + if content_type.nil? + fail ArgumentError, 'content_type cannot be nil' + end + + @content_type = content_type + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + type == o.type && + id == o.id && + remote_id == o.remote_id && + data_url == o.data_url && + file_name == o.file_name && + content_type == o.content_type && + remote_created_at == o.remote_created_at && + remote_updated_at == o.remote_updated_at + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [type, id, remote_id, data_url, file_name, content_type, remote_created_at, remote_updated_at].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + transformed_hash = {} + openapi_types.each_pair do |key, type| + if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = nil + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[attribute_map[key]].is_a?(Array) + transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) } + end + elsif !attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]]) + end + end + new(transformed_hash) + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + end + +end diff --git a/lib/kombo_client/models/get_ats_applications_parameter_include_deleted.rb b/lib/kombo_client/models/get_ats_applications_parameter_include_deleted.rb new file mode 100644 index 0000000..94cc423 --- /dev/null +++ b/lib/kombo_client/models/get_ats_applications_parameter_include_deleted.rb @@ -0,0 +1,40 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.17.0 + +=end + +require 'date' +require 'time' + +module Kombo + class GetAtsApplicationsParameterIncludeDeleted + TRUE = "true".freeze + FALSE = "false".freeze + + def self.all_vars + @all_vars ||= [TRUE, FALSE].freeze + end + + # Builds the enum from string + # @param [String] The enum value in the form of the string + # @return [String] The enum value + def self.build_from_hash(value) + new.build_from_hash(value) + end + + # Builds the enum from string + # @param [String] The enum value in the form of the string + # @return [String] The enum value + def build_from_hash(value) + return value if GetAtsApplicationsParameterIncludeDeleted.all_vars.include?(value) + raise "Invalid ENUM value #{value} for class #GetAtsApplicationsParameterIncludeDeleted" + end + end +end diff --git a/lib/kombo_client/models/get_ats_applications_parameter_outcome.rb b/lib/kombo_client/models/get_ats_applications_parameter_outcome.rb new file mode 100644 index 0000000..e0d577e --- /dev/null +++ b/lib/kombo_client/models/get_ats_applications_parameter_outcome.rb @@ -0,0 +1,41 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.17.0 + +=end + +require 'date' +require 'time' + +module Kombo + class GetAtsApplicationsParameterOutcome + PENDING = "PENDING".freeze + HIRED = "HIRED".freeze + DECLINED = "DECLINED".freeze + + def self.all_vars + @all_vars ||= [PENDING, HIRED, DECLINED].freeze + end + + # Builds the enum from string + # @param [String] The enum value in the form of the string + # @return [String] The enum value + def self.build_from_hash(value) + new.build_from_hash(value) + end + + # Builds the enum from string + # @param [String] The enum value in the form of the string + # @return [String] The enum value + def build_from_hash(value) + return value if GetAtsApplicationsParameterOutcome.all_vars.include?(value) + raise "Invalid ENUM value #{value} for class #GetAtsApplicationsParameterOutcome" + end + end +end diff --git a/lib/kombo_client/models/get_ats_applications_positive_response.rb b/lib/kombo_client/models/get_ats_applications_positive_response.rb new file mode 100644 index 0000000..1eb1370 --- /dev/null +++ b/lib/kombo_client/models/get_ats_applications_positive_response.rb @@ -0,0 +1,214 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.17.0 + +=end + +require 'date' +require 'time' + +module Kombo + class GetAtsApplicationsPositiveResponse < ApiModelBase + attr_accessor :status + + attr_accessor :data + + class EnumAttributeValidator + attr_reader :datatype + attr_reader :allowable_values + + def initialize(datatype, allowable_values) + @allowable_values = allowable_values.map do |value| + case datatype.to_s + when /Integer/i + value.to_i + when /Float/i + value.to_f + else + value + end + end + end + + def valid?(value) + !value || allowable_values.include?(value) + end + end + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'status' => :'status', + :'data' => :'data' + } + end + + # Returns attribute mapping this model knows about + def self.acceptable_attribute_map + attribute_map + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + acceptable_attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'status' => :'String', + :'data' => :'GetAtsApplicationsPositiveResponseData' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Kombo::GetAtsApplicationsPositiveResponse` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + acceptable_attribute_map = self.class.acceptable_attribute_map + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!acceptable_attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Kombo::GetAtsApplicationsPositiveResponse`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'status') + self.status = attributes[:'status'] + else + self.status = nil + end + + if attributes.key?(:'data') + self.data = attributes[:'data'] + else + self.data = nil + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + warn '[DEPRECATED] the `list_invalid_properties` method is obsolete' + invalid_properties = Array.new + if @status.nil? + invalid_properties.push('invalid value for "status", status cannot be nil.') + end + + if @data.nil? + invalid_properties.push('invalid value for "data", data cannot be nil.') + end + + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + warn '[DEPRECATED] the `valid?` method is obsolete' + return false if @status.nil? + status_validator = EnumAttributeValidator.new('String', ["success"]) + return false unless status_validator.valid?(@status) + return false if @data.nil? + true + end + + # Custom attribute writer method checking allowed values (enum). + # @param [Object] status Object to be assigned + def status=(status) + validator = EnumAttributeValidator.new('String', ["success"]) + unless validator.valid?(status) + fail ArgumentError, "invalid value for \"status\", must be one of #{validator.allowable_values}." + end + @status = status + end + + # Custom attribute writer method with validation + # @param [Object] data Value to be assigned + def data=(data) + if data.nil? + fail ArgumentError, 'data cannot be nil' + end + + @data = data + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + status == o.status && + data == o.data + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [status, data].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + transformed_hash = {} + openapi_types.each_pair do |key, type| + if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = nil + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[attribute_map[key]].is_a?(Array) + transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) } + end + elsif !attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]]) + end + end + new(transformed_hash) + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + end + +end diff --git a/lib/kombo_client/models/get_ats_applications_positive_response_data.rb b/lib/kombo_client/models/get_ats_applications_positive_response_data.rb new file mode 100644 index 0000000..692eb0a --- /dev/null +++ b/lib/kombo_client/models/get_ats_applications_positive_response_data.rb @@ -0,0 +1,179 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.17.0 + +=end + +require 'date' +require 'time' + +module Kombo + class GetAtsApplicationsPositiveResponseData < ApiModelBase + # 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. + attr_accessor :_next + + attr_accessor :results + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'_next' => :'next', + :'results' => :'results' + } + end + + # Returns attribute mapping this model knows about + def self.acceptable_attribute_map + attribute_map + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + acceptable_attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'_next' => :'String', + :'results' => :'Array' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + :'_next', + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Kombo::GetAtsApplicationsPositiveResponseData` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + acceptable_attribute_map = self.class.acceptable_attribute_map + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!acceptable_attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Kombo::GetAtsApplicationsPositiveResponseData`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'_next') + self._next = attributes[:'_next'] + else + self._next = nil + end + + if attributes.key?(:'results') + if (value = attributes[:'results']).is_a?(Array) + self.results = value + end + else + self.results = nil + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + warn '[DEPRECATED] the `list_invalid_properties` method is obsolete' + invalid_properties = Array.new + if @results.nil? + invalid_properties.push('invalid value for "results", results cannot be nil.') + end + + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + warn '[DEPRECATED] the `valid?` method is obsolete' + return false if @results.nil? + true + end + + # Custom attribute writer method with validation + # @param [Object] results Value to be assigned + def results=(results) + if results.nil? + fail ArgumentError, 'results cannot be nil' + end + + @results = results + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + _next == o._next && + results == o.results + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [_next, results].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + transformed_hash = {} + openapi_types.each_pair do |key, type| + if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = nil + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[attribute_map[key]].is_a?(Array) + transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) } + end + elsif !attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]]) + end + end + new(transformed_hash) + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + end + +end diff --git a/lib/kombo_client/models/get_ats_applications_positive_response_data_results_inner.rb b/lib/kombo_client/models/get_ats_applications_positive_response_data_results_inner.rb new file mode 100644 index 0000000..d1f9b4e --- /dev/null +++ b/lib/kombo_client/models/get_ats_applications_positive_response_data_results_inner.rb @@ -0,0 +1,575 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.17.0 + +=end + +require 'date' +require 'time' + +module Kombo + class GetAtsApplicationsPositiveResponseDataResultsInner < ApiModelBase + # The globally unique ID of this object generated by Kombo. We recommend using this as a stable primary key for syncing. + attr_accessor :id + + # 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. + attr_accessor :remote_id + + # 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. + attr_accessor :outcome + + # Reason for the rejection of the candidate. + attr_accessor :rejection_reason_name + + # The time that the application was rejected. + attr_accessor :rejected_at + + # ID of the current application stage + attr_accessor :current_stage_id + + # 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. + attr_accessor :job_id + + # 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. + attr_accessor :candidate_id + + # A list of answers to screening questions. The screening answer type `FILE` is currently unsupported. + attr_accessor :screening_question_answers + + # A key-value store of fields not covered by the schema. [Read more](/custom-fields) + attr_accessor :custom_fields + + # An array of selected passthrough integration fields. [Read more](/integration-fields) + attr_accessor :integration_fields + + # 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. + attr_accessor :remote_url + + # 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. + attr_accessor :changed_at + + # 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. + attr_accessor :remote_deleted_at + + # The date and time the object was created in the remote system. + attr_accessor :remote_created_at + + # A timestamp retrieved from the remote system, describing when the resource was last updated. + attr_accessor :remote_updated_at + + # 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. + attr_accessor :remote_data + + attr_accessor :candidate + + attr_accessor :current_stage + + attr_accessor :job + + attr_accessor :interviews + + attr_accessor :offers + + class EnumAttributeValidator + attr_reader :datatype + attr_reader :allowable_values + + def initialize(datatype, allowable_values) + @allowable_values = allowable_values.map do |value| + case datatype.to_s + when /Integer/i + value.to_i + when /Float/i + value.to_f + else + value + end + end + end + + def valid?(value) + !value || allowable_values.include?(value) + end + end + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'id' => :'id', + :'remote_id' => :'remote_id', + :'outcome' => :'outcome', + :'rejection_reason_name' => :'rejection_reason_name', + :'rejected_at' => :'rejected_at', + :'current_stage_id' => :'current_stage_id', + :'job_id' => :'job_id', + :'candidate_id' => :'candidate_id', + :'screening_question_answers' => :'screening_question_answers', + :'custom_fields' => :'custom_fields', + :'integration_fields' => :'integration_fields', + :'remote_url' => :'remote_url', + :'changed_at' => :'changed_at', + :'remote_deleted_at' => :'remote_deleted_at', + :'remote_created_at' => :'remote_created_at', + :'remote_updated_at' => :'remote_updated_at', + :'remote_data' => :'remote_data', + :'candidate' => :'candidate', + :'current_stage' => :'current_stage', + :'job' => :'job', + :'interviews' => :'interviews', + :'offers' => :'offers' + } + end + + # Returns attribute mapping this model knows about + def self.acceptable_attribute_map + attribute_map + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + acceptable_attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'id' => :'String', + :'remote_id' => :'String', + :'outcome' => :'String', + :'rejection_reason_name' => :'String', + :'rejected_at' => :'Time', + :'current_stage_id' => :'String', + :'job_id' => :'String', + :'candidate_id' => :'String', + :'screening_question_answers' => :'Array', + :'custom_fields' => :'Hash', + :'integration_fields' => :'Array', + :'remote_url' => :'String', + :'changed_at' => :'Time', + :'remote_deleted_at' => :'Time', + :'remote_created_at' => :'Time', + :'remote_updated_at' => :'Time', + :'remote_data' => :'Hash', + :'candidate' => :'GetAtsApplicationsPositiveResponseDataResultsInnerCandidate', + :'current_stage' => :'GetAtsApplicationsPositiveResponseDataResultsInnerCurrentStage', + :'job' => :'GetAtsApplicationsPositiveResponseDataResultsInnerJob', + :'interviews' => :'Array', + :'offers' => :'Array' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + :'remote_id', + :'outcome', + :'rejection_reason_name', + :'rejected_at', + :'current_stage_id', + :'job_id', + :'candidate_id', + :'screening_question_answers', + :'custom_fields', + :'remote_url', + :'remote_deleted_at', + :'remote_created_at', + :'remote_updated_at', + :'remote_data', + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Kombo::GetAtsApplicationsPositiveResponseDataResultsInner` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + acceptable_attribute_map = self.class.acceptable_attribute_map + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!acceptable_attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Kombo::GetAtsApplicationsPositiveResponseDataResultsInner`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'id') + self.id = attributes[:'id'] + else + self.id = nil + end + + if attributes.key?(:'remote_id') + self.remote_id = attributes[:'remote_id'] + else + self.remote_id = nil + end + + if attributes.key?(:'outcome') + self.outcome = attributes[:'outcome'] + else + self.outcome = nil + end + + if attributes.key?(:'rejection_reason_name') + self.rejection_reason_name = attributes[:'rejection_reason_name'] + else + self.rejection_reason_name = nil + end + + if attributes.key?(:'rejected_at') + self.rejected_at = attributes[:'rejected_at'] + else + self.rejected_at = nil + end + + if attributes.key?(:'current_stage_id') + self.current_stage_id = attributes[:'current_stage_id'] + else + self.current_stage_id = nil + end + + if attributes.key?(:'job_id') + self.job_id = attributes[:'job_id'] + else + self.job_id = nil + end + + if attributes.key?(:'candidate_id') + self.candidate_id = attributes[:'candidate_id'] + else + self.candidate_id = nil + end + + if attributes.key?(:'screening_question_answers') + if (value = attributes[:'screening_question_answers']).is_a?(Array) + self.screening_question_answers = value + end + end + + if attributes.key?(:'custom_fields') + if (value = attributes[:'custom_fields']).is_a?(Hash) + self.custom_fields = value + end + else + self.custom_fields = nil + end + + if attributes.key?(:'integration_fields') + if (value = attributes[:'integration_fields']).is_a?(Array) + self.integration_fields = value + end + else + self.integration_fields = nil + end + + if attributes.key?(:'remote_url') + self.remote_url = attributes[:'remote_url'] + else + self.remote_url = nil + end + + if attributes.key?(:'changed_at') + self.changed_at = attributes[:'changed_at'] + else + self.changed_at = nil + end + + if attributes.key?(:'remote_deleted_at') + self.remote_deleted_at = attributes[:'remote_deleted_at'] + else + self.remote_deleted_at = nil + end + + if attributes.key?(:'remote_created_at') + self.remote_created_at = attributes[:'remote_created_at'] + else + self.remote_created_at = nil + end + + if attributes.key?(:'remote_updated_at') + self.remote_updated_at = attributes[:'remote_updated_at'] + else + self.remote_updated_at = nil + end + + if attributes.key?(:'remote_data') + if (value = attributes[:'remote_data']).is_a?(Hash) + self.remote_data = value + end + else + self.remote_data = nil + end + + if attributes.key?(:'candidate') + self.candidate = attributes[:'candidate'] + else + self.candidate = nil + end + + if attributes.key?(:'current_stage') + self.current_stage = attributes[:'current_stage'] + else + self.current_stage = nil + end + + if attributes.key?(:'job') + self.job = attributes[:'job'] + else + self.job = nil + end + + if attributes.key?(:'interviews') + if (value = attributes[:'interviews']).is_a?(Array) + self.interviews = value + end + else + self.interviews = nil + end + + if attributes.key?(:'offers') + if (value = attributes[:'offers']).is_a?(Array) + self.offers = value + end + else + self.offers = nil + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + warn '[DEPRECATED] the `list_invalid_properties` method is obsolete' + invalid_properties = Array.new + if @id.nil? + invalid_properties.push('invalid value for "id", id cannot be nil.') + end + + if @integration_fields.nil? + invalid_properties.push('invalid value for "integration_fields", integration_fields cannot be nil.') + end + + if @changed_at.nil? + invalid_properties.push('invalid value for "changed_at", changed_at cannot be nil.') + end + + if @candidate.nil? + invalid_properties.push('invalid value for "candidate", candidate cannot be nil.') + end + + if @current_stage.nil? + invalid_properties.push('invalid value for "current_stage", current_stage cannot be nil.') + end + + if @job.nil? + invalid_properties.push('invalid value for "job", job cannot be nil.') + end + + if @interviews.nil? + invalid_properties.push('invalid value for "interviews", interviews cannot be nil.') + end + + if @offers.nil? + invalid_properties.push('invalid value for "offers", offers cannot be nil.') + end + + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + warn '[DEPRECATED] the `valid?` method is obsolete' + return false if @id.nil? + outcome_validator = EnumAttributeValidator.new('String', ["PENDING", "HIRED", "DECLINED"]) + return false unless outcome_validator.valid?(@outcome) + return false if @integration_fields.nil? + return false if @changed_at.nil? + return false if @candidate.nil? + return false if @current_stage.nil? + return false if @job.nil? + return false if @interviews.nil? + return false if @offers.nil? + true + end + + # Custom attribute writer method with validation + # @param [Object] id Value to be assigned + def id=(id) + if id.nil? + fail ArgumentError, 'id cannot be nil' + end + + @id = id + end + + # Custom attribute writer method checking allowed values (enum). + # @param [Object] outcome Object to be assigned + def outcome=(outcome) + validator = EnumAttributeValidator.new('String', ["PENDING", "HIRED", "DECLINED"]) + unless validator.valid?(outcome) + fail ArgumentError, "invalid value for \"outcome\", must be one of #{validator.allowable_values}." + end + @outcome = outcome + end + + # Custom attribute writer method with validation + # @param [Object] integration_fields Value to be assigned + def integration_fields=(integration_fields) + if integration_fields.nil? + fail ArgumentError, 'integration_fields cannot be nil' + end + + @integration_fields = integration_fields + end + + # Custom attribute writer method with validation + # @param [Object] changed_at Value to be assigned + def changed_at=(changed_at) + if changed_at.nil? + fail ArgumentError, 'changed_at cannot be nil' + end + + @changed_at = changed_at + end + + # Custom attribute writer method with validation + # @param [Object] candidate Value to be assigned + def candidate=(candidate) + if candidate.nil? + fail ArgumentError, 'candidate cannot be nil' + end + + @candidate = candidate + end + + # Custom attribute writer method with validation + # @param [Object] current_stage Value to be assigned + def current_stage=(current_stage) + if current_stage.nil? + fail ArgumentError, 'current_stage cannot be nil' + end + + @current_stage = current_stage + end + + # Custom attribute writer method with validation + # @param [Object] job Value to be assigned + def job=(job) + if job.nil? + fail ArgumentError, 'job cannot be nil' + end + + @job = job + end + + # Custom attribute writer method with validation + # @param [Object] interviews Value to be assigned + def interviews=(interviews) + if interviews.nil? + fail ArgumentError, 'interviews cannot be nil' + end + + @interviews = interviews + end + + # Custom attribute writer method with validation + # @param [Object] offers Value to be assigned + def offers=(offers) + if offers.nil? + fail ArgumentError, 'offers cannot be nil' + end + + @offers = offers + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + id == o.id && + remote_id == o.remote_id && + outcome == o.outcome && + rejection_reason_name == o.rejection_reason_name && + rejected_at == o.rejected_at && + current_stage_id == o.current_stage_id && + job_id == o.job_id && + candidate_id == o.candidate_id && + screening_question_answers == o.screening_question_answers && + custom_fields == o.custom_fields && + integration_fields == o.integration_fields && + remote_url == o.remote_url && + changed_at == o.changed_at && + remote_deleted_at == o.remote_deleted_at && + remote_created_at == o.remote_created_at && + remote_updated_at == o.remote_updated_at && + remote_data == o.remote_data && + candidate == o.candidate && + current_stage == o.current_stage && + job == o.job && + interviews == o.interviews && + offers == o.offers + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [id, remote_id, outcome, rejection_reason_name, rejected_at, current_stage_id, job_id, candidate_id, screening_question_answers, 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].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + transformed_hash = {} + openapi_types.each_pair do |key, type| + if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = nil + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[attribute_map[key]].is_a?(Array) + transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) } + end + elsif !attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]]) + end + end + new(transformed_hash) + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + end + +end diff --git a/lib/kombo_client/models/get_ats_applications_positive_response_data_results_inner_candidate.rb b/lib/kombo_client/models/get_ats_applications_positive_response_data_results_inner_candidate.rb new file mode 100644 index 0000000..f0bbc3f --- /dev/null +++ b/lib/kombo_client/models/get_ats_applications_positive_response_data_results_inner_candidate.rb @@ -0,0 +1,311 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.17.0 + +=end + +require 'date' +require 'time' + +module Kombo + class GetAtsApplicationsPositiveResponseDataResultsInnerCandidate < ApiModelBase + # The globally unique ID of this object generated by Kombo. We recommend using this as a stable primary key for syncing. + attr_accessor :id + + # 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. + attr_accessor :remote_id + + # First name of the candidate. + attr_accessor :first_name + + # Last name of the candidate. + attr_accessor :last_name + + # A list of email addresses of the candidate with an optional type. If an email address is invalid, it will be filtered out. + attr_accessor :email_addresses + + # A list of phone numbers of the candidate. + attr_accessor :phone_numbers + + # List of social media accounts of the candidate. + attr_accessor :social_media + + # 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. + attr_accessor :source + + # 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. + attr_accessor :remote_url + + attr_accessor :tags + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'id' => :'id', + :'remote_id' => :'remote_id', + :'first_name' => :'first_name', + :'last_name' => :'last_name', + :'email_addresses' => :'email_addresses', + :'phone_numbers' => :'phone_numbers', + :'social_media' => :'social_media', + :'source' => :'source', + :'remote_url' => :'remote_url', + :'tags' => :'tags' + } + end + + # Returns attribute mapping this model knows about + def self.acceptable_attribute_map + attribute_map + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + acceptable_attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'id' => :'String', + :'remote_id' => :'String', + :'first_name' => :'String', + :'last_name' => :'String', + :'email_addresses' => :'Array', + :'phone_numbers' => :'Array', + :'social_media' => :'Array', + :'source' => :'String', + :'remote_url' => :'String', + :'tags' => :'Array' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + :'first_name', + :'last_name', + :'email_addresses', + :'phone_numbers', + :'social_media', + :'source', + :'remote_url', + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Kombo::GetAtsApplicationsPositiveResponseDataResultsInnerCandidate` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + acceptable_attribute_map = self.class.acceptable_attribute_map + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!acceptable_attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Kombo::GetAtsApplicationsPositiveResponseDataResultsInnerCandidate`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'id') + self.id = attributes[:'id'] + else + self.id = nil + end + + if attributes.key?(:'remote_id') + self.remote_id = attributes[:'remote_id'] + else + self.remote_id = nil + end + + if attributes.key?(:'first_name') + self.first_name = attributes[:'first_name'] + else + self.first_name = nil + end + + if attributes.key?(:'last_name') + self.last_name = attributes[:'last_name'] + else + self.last_name = nil + end + + if attributes.key?(:'email_addresses') + if (value = attributes[:'email_addresses']).is_a?(Array) + self.email_addresses = value + end + end + + if attributes.key?(:'phone_numbers') + if (value = attributes[:'phone_numbers']).is_a?(Array) + self.phone_numbers = value + end + end + + if attributes.key?(:'social_media') + if (value = attributes[:'social_media']).is_a?(Array) + self.social_media = value + end + end + + if attributes.key?(:'source') + self.source = attributes[:'source'] + else + self.source = nil + end + + if attributes.key?(:'remote_url') + self.remote_url = attributes[:'remote_url'] + else + self.remote_url = nil + end + + if attributes.key?(:'tags') + if (value = attributes[:'tags']).is_a?(Array) + self.tags = value + end + else + self.tags = nil + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + warn '[DEPRECATED] the `list_invalid_properties` method is obsolete' + invalid_properties = Array.new + if @id.nil? + invalid_properties.push('invalid value for "id", id cannot be nil.') + end + + if @remote_id.nil? + invalid_properties.push('invalid value for "remote_id", remote_id cannot be nil.') + end + + if @tags.nil? + invalid_properties.push('invalid value for "tags", tags cannot be nil.') + end + + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + warn '[DEPRECATED] the `valid?` method is obsolete' + return false if @id.nil? + return false if @remote_id.nil? + return false if @tags.nil? + true + end + + # Custom attribute writer method with validation + # @param [Object] id Value to be assigned + def id=(id) + if id.nil? + fail ArgumentError, 'id cannot be nil' + end + + @id = id + end + + # Custom attribute writer method with validation + # @param [Object] remote_id Value to be assigned + def remote_id=(remote_id) + if remote_id.nil? + fail ArgumentError, 'remote_id cannot be nil' + end + + @remote_id = remote_id + end + + # Custom attribute writer method with validation + # @param [Object] tags Value to be assigned + def tags=(tags) + if tags.nil? + fail ArgumentError, 'tags cannot be nil' + end + + @tags = tags + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + id == o.id && + remote_id == o.remote_id && + first_name == o.first_name && + last_name == o.last_name && + email_addresses == o.email_addresses && + phone_numbers == o.phone_numbers && + social_media == o.social_media && + source == o.source && + remote_url == o.remote_url && + tags == o.tags + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [id, remote_id, first_name, last_name, email_addresses, phone_numbers, social_media, source, remote_url, tags].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + transformed_hash = {} + openapi_types.each_pair do |key, type| + if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = nil + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[attribute_map[key]].is_a?(Array) + transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) } + end + elsif !attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]]) + end + end + new(transformed_hash) + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + end + +end diff --git a/lib/kombo_client/models/get_ats_applications_positive_response_data_results_inner_candidate_email_addresses_inner.rb b/lib/kombo_client/models/get_ats_applications_positive_response_data_results_inner_candidate_email_addresses_inner.rb new file mode 100644 index 0000000..9136931 --- /dev/null +++ b/lib/kombo_client/models/get_ats_applications_positive_response_data_results_inner_candidate_email_addresses_inner.rb @@ -0,0 +1,178 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.17.0 + +=end + +require 'date' +require 'time' + +module Kombo + class GetAtsApplicationsPositiveResponseDataResultsInnerCandidateEmailAddressesInner < ApiModelBase + attr_accessor :email_address + + # Kombo exposes type information through this field. If we don't get any information from the tool, we will set this to `null`. + attr_accessor :type + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'email_address' => :'email_address', + :'type' => :'type' + } + end + + # Returns attribute mapping this model knows about + def self.acceptable_attribute_map + attribute_map + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + acceptable_attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'email_address' => :'String', + :'type' => :'String' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + :'email_address', + :'type' + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Kombo::GetAtsApplicationsPositiveResponseDataResultsInnerCandidateEmailAddressesInner` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + acceptable_attribute_map = self.class.acceptable_attribute_map + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!acceptable_attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Kombo::GetAtsApplicationsPositiveResponseDataResultsInnerCandidateEmailAddressesInner`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'email_address') + self.email_address = attributes[:'email_address'] + end + + if attributes.key?(:'type') + self.type = attributes[:'type'] + else + self.type = nil + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + warn '[DEPRECATED] the `list_invalid_properties` method is obsolete' + invalid_properties = Array.new + pattern = Regexp.new(/^(?!\.)(?!.*\.\.)([\w'+-.]*)[\w+-]@([\da-z][\da-z-]*\.)+[a-z]{2,}$/) + if !@email_address.nil? && @email_address !~ pattern + invalid_properties.push("invalid value for \"email_address\", must conform to the pattern #{pattern}.") + end + + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + warn '[DEPRECATED] the `valid?` method is obsolete' + return false if !@email_address.nil? && @email_address !~ Regexp.new(/^(?!\.)(?!.*\.\.)([\w'+-.]*)[\w+-]@([\da-z][\da-z-]*\.)+[a-z]{2,}$/) + true + end + + # Custom attribute writer method with validation + # @param [Object] email_address Value to be assigned + def email_address=(email_address) + pattern = Regexp.new(/^(?!\.)(?!.*\.\.)([\w'+-.]*)[\w+-]@([\da-z][\da-z-]*\.)+[a-z]{2,}$/) + if !email_address.nil? && email_address !~ pattern + fail ArgumentError, "invalid value for \"email_address\", must conform to the pattern #{pattern}." + end + + @email_address = email_address + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + email_address == o.email_address && + type == o.type + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [email_address, type].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + transformed_hash = {} + openapi_types.each_pair do |key, type| + if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = nil + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[attribute_map[key]].is_a?(Array) + transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) } + end + elsif !attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]]) + end + end + new(transformed_hash) + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + end + +end diff --git a/lib/kombo_client/models/get_ats_applications_positive_response_data_results_inner_candidate_phone_numbers_inner.rb b/lib/kombo_client/models/get_ats_applications_positive_response_data_results_inner_candidate_phone_numbers_inner.rb new file mode 100644 index 0000000..1cae0bb --- /dev/null +++ b/lib/kombo_client/models/get_ats_applications_positive_response_data_results_inner_candidate_phone_numbers_inner.rb @@ -0,0 +1,175 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.17.0 + +=end + +require 'date' +require 'time' + +module Kombo + class GetAtsApplicationsPositiveResponseDataResultsInnerCandidatePhoneNumbersInner < ApiModelBase + attr_accessor :phone_number + + # Kombo exposes type information through this field. If we don't get any information from the tool, we will set this to `null`. + attr_accessor :type + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'phone_number' => :'phone_number', + :'type' => :'type' + } + end + + # Returns attribute mapping this model knows about + def self.acceptable_attribute_map + attribute_map + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + acceptable_attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'phone_number' => :'String', + :'type' => :'String' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + :'type' + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Kombo::GetAtsApplicationsPositiveResponseDataResultsInnerCandidatePhoneNumbersInner` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + acceptable_attribute_map = self.class.acceptable_attribute_map + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!acceptable_attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Kombo::GetAtsApplicationsPositiveResponseDataResultsInnerCandidatePhoneNumbersInner`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'phone_number') + self.phone_number = attributes[:'phone_number'] + else + self.phone_number = nil + end + + if attributes.key?(:'type') + self.type = attributes[:'type'] + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + warn '[DEPRECATED] the `list_invalid_properties` method is obsolete' + invalid_properties = Array.new + if @phone_number.nil? + invalid_properties.push('invalid value for "phone_number", phone_number cannot be nil.') + end + + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + warn '[DEPRECATED] the `valid?` method is obsolete' + return false if @phone_number.nil? + true + end + + # Custom attribute writer method with validation + # @param [Object] phone_number Value to be assigned + def phone_number=(phone_number) + if phone_number.nil? + fail ArgumentError, 'phone_number cannot be nil' + end + + @phone_number = phone_number + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + phone_number == o.phone_number && + type == o.type + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [phone_number, type].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + transformed_hash = {} + openapi_types.each_pair do |key, type| + if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = nil + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[attribute_map[key]].is_a?(Array) + transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) } + end + elsif !attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]]) + end + end + new(transformed_hash) + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + end + +end diff --git a/lib/kombo_client/models/get_ats_applications_positive_response_data_results_inner_candidate_social_media_inner.rb b/lib/kombo_client/models/get_ats_applications_positive_response_data_results_inner_candidate_social_media_inner.rb new file mode 100644 index 0000000..128ce2c --- /dev/null +++ b/lib/kombo_client/models/get_ats_applications_positive_response_data_results_inner_candidate_social_media_inner.rb @@ -0,0 +1,168 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.17.0 + +=end + +require 'date' +require 'time' + +module Kombo + class GetAtsApplicationsPositiveResponseDataResultsInnerCandidateSocialMediaInner < ApiModelBase + attr_accessor :link + + attr_accessor :type + + attr_accessor :username + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'link' => :'link', + :'type' => :'type', + :'username' => :'username' + } + end + + # Returns attribute mapping this model knows about + def self.acceptable_attribute_map + attribute_map + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + acceptable_attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'link' => :'String', + :'type' => :'String', + :'username' => :'String' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + :'link', + :'type', + :'username' + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Kombo::GetAtsApplicationsPositiveResponseDataResultsInnerCandidateSocialMediaInner` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + acceptable_attribute_map = self.class.acceptable_attribute_map + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!acceptable_attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Kombo::GetAtsApplicationsPositiveResponseDataResultsInnerCandidateSocialMediaInner`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'link') + self.link = attributes[:'link'] + end + + if attributes.key?(:'type') + self.type = attributes[:'type'] + end + + if attributes.key?(:'username') + self.username = attributes[:'username'] + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + warn '[DEPRECATED] the `list_invalid_properties` method is obsolete' + invalid_properties = Array.new + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + warn '[DEPRECATED] the `valid?` method is obsolete' + true + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + link == o.link && + type == o.type && + username == o.username + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [link, type, username].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + transformed_hash = {} + openapi_types.each_pair do |key, type| + if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = nil + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[attribute_map[key]].is_a?(Array) + transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) } + end + elsif !attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]]) + end + end + new(transformed_hash) + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + end + +end diff --git a/lib/kombo_client/models/get_ats_applications_positive_response_data_results_inner_candidate_tags_inner.rb b/lib/kombo_client/models/get_ats_applications_positive_response_data_results_inner_candidate_tags_inner.rb new file mode 100644 index 0000000..b9672b7 --- /dev/null +++ b/lib/kombo_client/models/get_ats_applications_positive_response_data_results_inner_candidate_tags_inner.rb @@ -0,0 +1,190 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.17.0 + +=end + +require 'date' +require 'time' + +module Kombo + class GetAtsApplicationsPositiveResponseDataResultsInnerCandidateTagsInner < ApiModelBase + # The globally unique ID of this object generated by Kombo. We recommend using this as a stable primary key for syncing. + attr_accessor :id + + # 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. + attr_accessor :remote_id + + attr_accessor :name + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'id' => :'id', + :'remote_id' => :'remote_id', + :'name' => :'name' + } + end + + # Returns attribute mapping this model knows about + def self.acceptable_attribute_map + attribute_map + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + acceptable_attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'id' => :'String', + :'remote_id' => :'String', + :'name' => :'String' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + :'remote_id', + :'name' + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Kombo::GetAtsApplicationsPositiveResponseDataResultsInnerCandidateTagsInner` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + acceptable_attribute_map = self.class.acceptable_attribute_map + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!acceptable_attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Kombo::GetAtsApplicationsPositiveResponseDataResultsInnerCandidateTagsInner`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'id') + self.id = attributes[:'id'] + else + self.id = nil + end + + if attributes.key?(:'remote_id') + self.remote_id = attributes[:'remote_id'] + else + self.remote_id = nil + end + + if attributes.key?(:'name') + self.name = attributes[:'name'] + else + self.name = nil + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + warn '[DEPRECATED] the `list_invalid_properties` method is obsolete' + invalid_properties = Array.new + if @id.nil? + invalid_properties.push('invalid value for "id", id cannot be nil.') + end + + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + warn '[DEPRECATED] the `valid?` method is obsolete' + return false if @id.nil? + true + end + + # Custom attribute writer method with validation + # @param [Object] id Value to be assigned + def id=(id) + if id.nil? + fail ArgumentError, 'id cannot be nil' + end + + @id = id + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + id == o.id && + remote_id == o.remote_id && + name == o.name + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [id, remote_id, name].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + transformed_hash = {} + openapi_types.each_pair do |key, type| + if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = nil + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[attribute_map[key]].is_a?(Array) + transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) } + end + elsif !attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]]) + end + end + new(transformed_hash) + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + end + +end diff --git a/lib/kombo_client/models/get_ats_applications_positive_response_data_results_inner_current_stage.rb b/lib/kombo_client/models/get_ats_applications_positive_response_data_results_inner_current_stage.rb new file mode 100644 index 0000000..6820ca9 --- /dev/null +++ b/lib/kombo_client/models/get_ats_applications_positive_response_data_results_inner_current_stage.rb @@ -0,0 +1,203 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.17.0 + +=end + +require 'date' +require 'time' + +module Kombo + class GetAtsApplicationsPositiveResponseDataResultsInnerCurrentStage < ApiModelBase + # The globally unique ID of this object generated by Kombo. We recommend using this as a stable primary key for syncing. + attr_accessor :id + + # 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. + attr_accessor :remote_id + + # The application stage name. For example, \"Initial Screening\". + attr_accessor :name + + attr_accessor :index + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'id' => :'id', + :'remote_id' => :'remote_id', + :'name' => :'name', + :'index' => :'index' + } + end + + # Returns attribute mapping this model knows about + def self.acceptable_attribute_map + attribute_map + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + acceptable_attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'id' => :'String', + :'remote_id' => :'String', + :'name' => :'String', + :'index' => :'Integer' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + :'remote_id', + :'name', + :'index' + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Kombo::GetAtsApplicationsPositiveResponseDataResultsInnerCurrentStage` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + acceptable_attribute_map = self.class.acceptable_attribute_map + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!acceptable_attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Kombo::GetAtsApplicationsPositiveResponseDataResultsInnerCurrentStage`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'id') + self.id = attributes[:'id'] + else + self.id = nil + end + + if attributes.key?(:'remote_id') + self.remote_id = attributes[:'remote_id'] + else + self.remote_id = nil + end + + if attributes.key?(:'name') + self.name = attributes[:'name'] + else + self.name = nil + end + + if attributes.key?(:'index') + self.index = attributes[:'index'] + else + self.index = nil + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + warn '[DEPRECATED] the `list_invalid_properties` method is obsolete' + invalid_properties = Array.new + if @id.nil? + invalid_properties.push('invalid value for "id", id cannot be nil.') + end + + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + warn '[DEPRECATED] the `valid?` method is obsolete' + return false if @id.nil? + true + end + + # Custom attribute writer method with validation + # @param [Object] id Value to be assigned + def id=(id) + if id.nil? + fail ArgumentError, 'id cannot be nil' + end + + @id = id + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + id == o.id && + remote_id == o.remote_id && + name == o.name && + index == o.index + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [id, remote_id, name, index].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + transformed_hash = {} + openapi_types.each_pair do |key, type| + if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = nil + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[attribute_map[key]].is_a?(Array) + transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) } + end + elsif !attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]]) + end + end + new(transformed_hash) + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + end + +end diff --git a/lib/kombo_client/models/get_ats_applications_positive_response_data_results_inner_interviews_inner.rb b/lib/kombo_client/models/get_ats_applications_positive_response_data_results_inner_interviews_inner.rb new file mode 100644 index 0000000..7641130 --- /dev/null +++ b/lib/kombo_client/models/get_ats_applications_positive_response_data_results_inner_interviews_inner.rb @@ -0,0 +1,239 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.17.0 + +=end + +require 'date' +require 'time' + +module Kombo + class GetAtsApplicationsPositiveResponseDataResultsInnerInterviewsInner < ApiModelBase + # The globally unique ID of this object generated by Kombo. We recommend using this as a stable primary key for syncing. + attr_accessor :id + + # 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. + attr_accessor :remote_id + + # The title of the interview. + attr_accessor :title + + # The start time of the interview. + attr_accessor :starting_at + + # The end time of the interview. + attr_accessor :ending_at + + attr_accessor :location + + # Whether the interview was canceled or not. If we have no information, this field will be `null`. + attr_accessor :canceled + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'id' => :'id', + :'remote_id' => :'remote_id', + :'title' => :'title', + :'starting_at' => :'starting_at', + :'ending_at' => :'ending_at', + :'location' => :'location', + :'canceled' => :'canceled' + } + end + + # Returns attribute mapping this model knows about + def self.acceptable_attribute_map + attribute_map + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + acceptable_attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'id' => :'String', + :'remote_id' => :'String', + :'title' => :'String', + :'starting_at' => :'Time', + :'ending_at' => :'Time', + :'location' => :'GetAtsApplicationsPositiveResponseDataResultsInnerInterviewsInnerLocation', + :'canceled' => :'Boolean' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + :'remote_id', + :'title', + :'starting_at', + :'ending_at', + :'canceled' + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Kombo::GetAtsApplicationsPositiveResponseDataResultsInnerInterviewsInner` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + acceptable_attribute_map = self.class.acceptable_attribute_map + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!acceptable_attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Kombo::GetAtsApplicationsPositiveResponseDataResultsInnerInterviewsInner`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'id') + self.id = attributes[:'id'] + else + self.id = nil + end + + if attributes.key?(:'remote_id') + self.remote_id = attributes[:'remote_id'] + else + self.remote_id = nil + end + + if attributes.key?(:'title') + self.title = attributes[:'title'] + else + self.title = nil + end + + if attributes.key?(:'starting_at') + self.starting_at = attributes[:'starting_at'] + else + self.starting_at = nil + end + + if attributes.key?(:'ending_at') + self.ending_at = attributes[:'ending_at'] + else + self.ending_at = nil + end + + if attributes.key?(:'location') + self.location = attributes[:'location'] + end + + if attributes.key?(:'canceled') + self.canceled = attributes[:'canceled'] + else + self.canceled = nil + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + warn '[DEPRECATED] the `list_invalid_properties` method is obsolete' + invalid_properties = Array.new + if @id.nil? + invalid_properties.push('invalid value for "id", id cannot be nil.') + end + + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + warn '[DEPRECATED] the `valid?` method is obsolete' + return false if @id.nil? + true + end + + # Custom attribute writer method with validation + # @param [Object] id Value to be assigned + def id=(id) + if id.nil? + fail ArgumentError, 'id cannot be nil' + end + + @id = id + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + id == o.id && + remote_id == o.remote_id && + title == o.title && + starting_at == o.starting_at && + ending_at == o.ending_at && + location == o.location && + canceled == o.canceled + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [id, remote_id, title, starting_at, ending_at, location, canceled].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + transformed_hash = {} + openapi_types.each_pair do |key, type| + if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = nil + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[attribute_map[key]].is_a?(Array) + transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) } + end + elsif !attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]]) + end + end + new(transformed_hash) + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + end + +end diff --git a/lib/kombo_client/models/get_ats_applications_positive_response_data_results_inner_interviews_inner_location.rb b/lib/kombo_client/models/get_ats_applications_positive_response_data_results_inner_interviews_inner_location.rb new file mode 100644 index 0000000..1df85b1 --- /dev/null +++ b/lib/kombo_client/models/get_ats_applications_positive_response_data_results_inner_interviews_inner_location.rb @@ -0,0 +1,212 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.17.0 + +=end + +require 'date' +require 'time' + +module Kombo + # Location of the interview. + class GetAtsApplicationsPositiveResponseDataResultsInnerInterviewsInnerLocation < ApiModelBase + attr_accessor :city + + # Contains the ISO2 country code if possible. If not, it contains the original value. + attr_accessor :country + + # If we have address data, this is filled with the raw address string. + attr_accessor :raw + + attr_accessor :state + + # If we can parse the address data, this field contains the first part of the street information. + attr_accessor :street_1 + + attr_accessor :street_2 + + attr_accessor :zip_code + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'city' => :'city', + :'country' => :'country', + :'raw' => :'raw', + :'state' => :'state', + :'street_1' => :'street_1', + :'street_2' => :'street_2', + :'zip_code' => :'zip_code' + } + end + + # Returns attribute mapping this model knows about + def self.acceptable_attribute_map + attribute_map + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + acceptable_attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'city' => :'String', + :'country' => :'String', + :'raw' => :'String', + :'state' => :'String', + :'street_1' => :'String', + :'street_2' => :'String', + :'zip_code' => :'String' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + :'city', + :'country', + :'raw', + :'state', + :'street_1', + :'street_2', + :'zip_code' + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Kombo::GetAtsApplicationsPositiveResponseDataResultsInnerInterviewsInnerLocation` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + acceptable_attribute_map = self.class.acceptable_attribute_map + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!acceptable_attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Kombo::GetAtsApplicationsPositiveResponseDataResultsInnerInterviewsInnerLocation`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'city') + self.city = attributes[:'city'] + end + + if attributes.key?(:'country') + self.country = attributes[:'country'] + end + + if attributes.key?(:'raw') + self.raw = attributes[:'raw'] + end + + if attributes.key?(:'state') + self.state = attributes[:'state'] + end + + if attributes.key?(:'street_1') + self.street_1 = attributes[:'street_1'] + end + + if attributes.key?(:'street_2') + self.street_2 = attributes[:'street_2'] + end + + if attributes.key?(:'zip_code') + self.zip_code = attributes[:'zip_code'] + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + warn '[DEPRECATED] the `list_invalid_properties` method is obsolete' + invalid_properties = Array.new + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + warn '[DEPRECATED] the `valid?` method is obsolete' + true + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + city == o.city && + country == o.country && + raw == o.raw && + state == o.state && + street_1 == o.street_1 && + street_2 == o.street_2 && + zip_code == o.zip_code + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [city, country, raw, state, street_1, street_2, zip_code].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + transformed_hash = {} + openapi_types.each_pair do |key, type| + if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = nil + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[attribute_map[key]].is_a?(Array) + transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) } + end + elsif !attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]]) + end + end + new(transformed_hash) + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + end + +end diff --git a/lib/kombo_client/models/get_ats_applications_positive_response_data_results_inner_job.rb b/lib/kombo_client/models/get_ats_applications_positive_response_data_results_inner_job.rb new file mode 100644 index 0000000..3a47bb3 --- /dev/null +++ b/lib/kombo_client/models/get_ats_applications_positive_response_data_results_inner_job.rb @@ -0,0 +1,205 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.17.0 + +=end + +require 'date' +require 'time' + +module Kombo + class GetAtsApplicationsPositiveResponseDataResultsInnerJob < ApiModelBase + # The globally unique ID of this object generated by Kombo. We recommend using this as a stable primary key for syncing. + attr_accessor :id + + # 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. + attr_accessor :remote_id + + # Title of the job. + attr_accessor :name + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'id' => :'id', + :'remote_id' => :'remote_id', + :'name' => :'name' + } + end + + # Returns attribute mapping this model knows about + def self.acceptable_attribute_map + attribute_map + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + acceptable_attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'id' => :'String', + :'remote_id' => :'String', + :'name' => :'String' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + :'name' + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Kombo::GetAtsApplicationsPositiveResponseDataResultsInnerJob` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + acceptable_attribute_map = self.class.acceptable_attribute_map + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!acceptable_attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Kombo::GetAtsApplicationsPositiveResponseDataResultsInnerJob`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'id') + self.id = attributes[:'id'] + else + self.id = nil + end + + if attributes.key?(:'remote_id') + self.remote_id = attributes[:'remote_id'] + else + self.remote_id = nil + end + + if attributes.key?(:'name') + self.name = attributes[:'name'] + else + self.name = nil + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + warn '[DEPRECATED] the `list_invalid_properties` method is obsolete' + invalid_properties = Array.new + if @id.nil? + invalid_properties.push('invalid value for "id", id cannot be nil.') + end + + if @remote_id.nil? + invalid_properties.push('invalid value for "remote_id", remote_id cannot be nil.') + end + + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + warn '[DEPRECATED] the `valid?` method is obsolete' + return false if @id.nil? + return false if @remote_id.nil? + true + end + + # Custom attribute writer method with validation + # @param [Object] id Value to be assigned + def id=(id) + if id.nil? + fail ArgumentError, 'id cannot be nil' + end + + @id = id + end + + # Custom attribute writer method with validation + # @param [Object] remote_id Value to be assigned + def remote_id=(remote_id) + if remote_id.nil? + fail ArgumentError, 'remote_id cannot be nil' + end + + @remote_id = remote_id + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + id == o.id && + remote_id == o.remote_id && + name == o.name + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [id, remote_id, name].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + transformed_hash = {} + openapi_types.each_pair do |key, type| + if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = nil + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[attribute_map[key]].is_a?(Array) + transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) } + end + elsif !attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]]) + end + end + new(transformed_hash) + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + end + +end diff --git a/lib/kombo_client/models/get_ats_applications_positive_response_data_results_inner_offers_inner.rb b/lib/kombo_client/models/get_ats_applications_positive_response_data_results_inner_offers_inner.rb new file mode 100644 index 0000000..3b84856 --- /dev/null +++ b/lib/kombo_client/models/get_ats_applications_positive_response_data_results_inner_offers_inner.rb @@ -0,0 +1,225 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.17.0 + +=end + +require 'date' +require 'time' + +module Kombo + class GetAtsApplicationsPositiveResponseDataResultsInnerOffersInner < ApiModelBase + # The globally unique ID of this object generated by Kombo. We recommend using this as a stable primary key for syncing. + attr_accessor :id + + # 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. + attr_accessor :remote_id + + # 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. + attr_accessor :status + + class EnumAttributeValidator + attr_reader :datatype + attr_reader :allowable_values + + def initialize(datatype, allowable_values) + @allowable_values = allowable_values.map do |value| + case datatype.to_s + when /Integer/i + value.to_i + when /Float/i + value.to_f + else + value + end + end + end + + def valid?(value) + !value || allowable_values.include?(value) + end + end + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'id' => :'id', + :'remote_id' => :'remote_id', + :'status' => :'status' + } + end + + # Returns attribute mapping this model knows about + def self.acceptable_attribute_map + attribute_map + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + acceptable_attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'id' => :'String', + :'remote_id' => :'String', + :'status' => :'String' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + :'remote_id', + :'status' + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Kombo::GetAtsApplicationsPositiveResponseDataResultsInnerOffersInner` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + acceptable_attribute_map = self.class.acceptable_attribute_map + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!acceptable_attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Kombo::GetAtsApplicationsPositiveResponseDataResultsInnerOffersInner`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'id') + self.id = attributes[:'id'] + else + self.id = nil + end + + if attributes.key?(:'remote_id') + self.remote_id = attributes[:'remote_id'] + else + self.remote_id = nil + end + + if attributes.key?(:'status') + self.status = attributes[:'status'] + else + self.status = nil + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + warn '[DEPRECATED] the `list_invalid_properties` method is obsolete' + invalid_properties = Array.new + if @id.nil? + invalid_properties.push('invalid value for "id", id cannot be nil.') + end + + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + warn '[DEPRECATED] the `valid?` method is obsolete' + return false if @id.nil? + status_validator = EnumAttributeValidator.new('String', ["ACCEPTED", "DECLINED", "SENT", "APPROVED", "DRAFT", "ABANDONED"]) + return false unless status_validator.valid?(@status) + true + end + + # Custom attribute writer method with validation + # @param [Object] id Value to be assigned + def id=(id) + if id.nil? + fail ArgumentError, 'id cannot be nil' + end + + @id = id + end + + # Custom attribute writer method checking allowed values (enum). + # @param [Object] status Object to be assigned + def status=(status) + validator = EnumAttributeValidator.new('String', ["ACCEPTED", "DECLINED", "SENT", "APPROVED", "DRAFT", "ABANDONED"]) + unless validator.valid?(status) + fail ArgumentError, "invalid value for \"status\", must be one of #{validator.allowable_values}." + end + @status = status + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + id == o.id && + remote_id == o.remote_id && + status == o.status + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [id, remote_id, status].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + transformed_hash = {} + openapi_types.each_pair do |key, type| + if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = nil + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[attribute_map[key]].is_a?(Array) + transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) } + end + elsif !attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]]) + end + end + new(transformed_hash) + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + end + +end diff --git a/lib/kombo_client/models/get_ats_applications_positive_response_data_results_inner_screening_question_answers_inner.rb b/lib/kombo_client/models/get_ats_applications_positive_response_data_results_inner_screening_question_answers_inner.rb new file mode 100644 index 0000000..44b424a --- /dev/null +++ b/lib/kombo_client/models/get_ats_applications_positive_response_data_results_inner_screening_question_answers_inner.rb @@ -0,0 +1,108 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.17.0 + +=end + +require 'date' +require 'time' + +module Kombo + module GetAtsApplicationsPositiveResponseDataResultsInnerScreeningQuestionAnswersInner + class << self + # List of class defined in anyOf (OpenAPI v3) + def openapi_any_of + [ + :'GetAtsApplicationsPositiveResponseDataResultsInnerScreeningQuestionAnswersInnerAnyOf', + :'GetAtsApplicationsPositiveResponseDataResultsInnerScreeningQuestionAnswersInnerAnyOf1', + :'GetAtsApplicationsPositiveResponseDataResultsInnerScreeningQuestionAnswersInnerAnyOf2', + :'GetAtsApplicationsPositiveResponseDataResultsInnerScreeningQuestionAnswersInnerAnyOf3', + :'GetAtsApplicationsPositiveResponseDataResultsInnerScreeningQuestionAnswersInnerAnyOf4', + :'GetAtsApplicationsPositiveResponseDataResultsInnerScreeningQuestionAnswersInnerAnyOf5', + :'GetAtsApplicationsPositiveResponseDataResultsInnerScreeningQuestionAnswersInnerAnyOf6' + ] + end + + # Builds the object + # @param [Mixed] Data to be matched against the list of anyOf items + # @return [Object] Returns the model or the data itself + def build(data) + # Go through the list of anyOf items and attempt to identify the appropriate one. + # Note: + # - No advanced validation of types in some cases (e.g. "x: { type: string }" will happily match { x: 123 }) + # due to the way the deserialization is made in the base_object template (it just casts without verifying). + # - TODO: scalar values are de facto behaving as if they were nullable. + # - TODO: logging when debugging is set. + openapi_any_of.each do |klass| + begin + next if klass == :AnyType # "nullable: true" + return find_and_cast_into_type(klass, data) + rescue # rescue all errors so we keep iterating even if the current item lookup raises + end + end + + openapi_any_of.include?(:AnyType) ? data : nil + end + + private + + SchemaMismatchError = Class.new(StandardError) + + # Note: 'File' is missing here because in the regular case we get the data _after_ a call to JSON.parse. + def find_and_cast_into_type(klass, data) + return if data.nil? + + case klass.to_s + when 'Boolean' + return data if data.instance_of?(TrueClass) || data.instance_of?(FalseClass) + when 'Float' + return data if data.instance_of?(Float) + when 'Integer' + return data if data.instance_of?(Integer) + when 'Time' + return Time.parse(data) + when 'Date' + return Date.iso8601(data) + when 'String' + return data if data.instance_of?(String) + when 'Object' # "type: object" + return data if data.instance_of?(Hash) + when /\AArray<(?.+)>\z/ # "type: array" + if data.instance_of?(Array) + sub_type = Regexp.last_match[:sub_type] + return data.map { |item| find_and_cast_into_type(sub_type, item) } + end + when /\AHash.+)>\z/ # "type: object" with "additionalProperties: { ... }" + if data.instance_of?(Hash) && data.keys.all? { |k| k.instance_of?(Symbol) || k.instance_of?(String) } + sub_type = Regexp.last_match[:sub_type] + return data.each_with_object({}) { |(k, v), hsh| hsh[k] = find_and_cast_into_type(sub_type, v) } + end + else # model + const = Kombo.const_get(klass) + if const + if const.respond_to?(:openapi_any_of) # nested anyOf model + model = const.build(data) + return model if model + else + # raise if data contains keys that are not known to the model + raise if const.respond_to?(:acceptable_attributes) && !(data.keys - const.acceptable_attributes).empty? + model = const.build_from_hash(data) + return model if model + end + end + end + + raise # if no match by now, raise + rescue + raise SchemaMismatchError, "#{data} doesn't match the #{klass} type" + end + end + end + +end diff --git a/lib/kombo_client/models/get_ats_applications_positive_response_data_results_inner_screening_question_answers_inner_any_of.rb b/lib/kombo_client/models/get_ats_applications_positive_response_data_results_inner_screening_question_answers_inner_any_of.rb new file mode 100644 index 0000000..5895f8b --- /dev/null +++ b/lib/kombo_client/models/get_ats_applications_positive_response_data_results_inner_screening_question_answers_inner_any_of.rb @@ -0,0 +1,190 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.17.0 + +=end + +require 'date' +require 'time' + +module Kombo + class GetAtsApplicationsPositiveResponseDataResultsInnerScreeningQuestionAnswersInnerAnyOf < ApiModelBase + attr_accessor :answer + + attr_accessor :question + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'answer' => :'answer', + :'question' => :'question' + } + end + + # Returns attribute mapping this model knows about + def self.acceptable_attribute_map + attribute_map + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + acceptable_attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'answer' => :'GetAtsApplicationsPositiveResponseDataResultsInnerScreeningQuestionAnswersInnerAnyOfAnswer', + :'question' => :'GetAtsApplicationsPositiveResponseDataResultsInnerScreeningQuestionAnswersInnerAnyOfQuestion' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Kombo::GetAtsApplicationsPositiveResponseDataResultsInnerScreeningQuestionAnswersInnerAnyOf` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + acceptable_attribute_map = self.class.acceptable_attribute_map + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!acceptable_attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Kombo::GetAtsApplicationsPositiveResponseDataResultsInnerScreeningQuestionAnswersInnerAnyOf`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'answer') + self.answer = attributes[:'answer'] + else + self.answer = nil + end + + if attributes.key?(:'question') + self.question = attributes[:'question'] + else + self.question = nil + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + warn '[DEPRECATED] the `list_invalid_properties` method is obsolete' + invalid_properties = Array.new + if @answer.nil? + invalid_properties.push('invalid value for "answer", answer cannot be nil.') + end + + if @question.nil? + invalid_properties.push('invalid value for "question", question cannot be nil.') + end + + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + warn '[DEPRECATED] the `valid?` method is obsolete' + return false if @answer.nil? + return false if @question.nil? + true + end + + # Custom attribute writer method with validation + # @param [Object] answer Value to be assigned + def answer=(answer) + if answer.nil? + fail ArgumentError, 'answer cannot be nil' + end + + @answer = answer + end + + # Custom attribute writer method with validation + # @param [Object] question Value to be assigned + def question=(question) + if question.nil? + fail ArgumentError, 'question cannot be nil' + end + + @question = question + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + answer == o.answer && + question == o.question + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [answer, question].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + transformed_hash = {} + openapi_types.each_pair do |key, type| + if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = nil + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[attribute_map[key]].is_a?(Array) + transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) } + end + elsif !attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]]) + end + end + new(transformed_hash) + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + end + +end diff --git a/lib/kombo_client/models/get_ats_applications_positive_response_data_results_inner_screening_question_answers_inner_any_of1.rb b/lib/kombo_client/models/get_ats_applications_positive_response_data_results_inner_screening_question_answers_inner_any_of1.rb new file mode 100644 index 0000000..bb91533 --- /dev/null +++ b/lib/kombo_client/models/get_ats_applications_positive_response_data_results_inner_screening_question_answers_inner_any_of1.rb @@ -0,0 +1,190 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.17.0 + +=end + +require 'date' +require 'time' + +module Kombo + class GetAtsApplicationsPositiveResponseDataResultsInnerScreeningQuestionAnswersInnerAnyOf1 < ApiModelBase + attr_accessor :answer + + attr_accessor :question + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'answer' => :'answer', + :'question' => :'question' + } + end + + # Returns attribute mapping this model knows about + def self.acceptable_attribute_map + attribute_map + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + acceptable_attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'answer' => :'GetAtsApplicationsPositiveResponseDataResultsInnerScreeningQuestionAnswersInnerAnyOf1Answer', + :'question' => :'GetAtsApplicationsPositiveResponseDataResultsInnerScreeningQuestionAnswersInnerAnyOf1Question' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Kombo::GetAtsApplicationsPositiveResponseDataResultsInnerScreeningQuestionAnswersInnerAnyOf1` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + acceptable_attribute_map = self.class.acceptable_attribute_map + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!acceptable_attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Kombo::GetAtsApplicationsPositiveResponseDataResultsInnerScreeningQuestionAnswersInnerAnyOf1`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'answer') + self.answer = attributes[:'answer'] + else + self.answer = nil + end + + if attributes.key?(:'question') + self.question = attributes[:'question'] + else + self.question = nil + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + warn '[DEPRECATED] the `list_invalid_properties` method is obsolete' + invalid_properties = Array.new + if @answer.nil? + invalid_properties.push('invalid value for "answer", answer cannot be nil.') + end + + if @question.nil? + invalid_properties.push('invalid value for "question", question cannot be nil.') + end + + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + warn '[DEPRECATED] the `valid?` method is obsolete' + return false if @answer.nil? + return false if @question.nil? + true + end + + # Custom attribute writer method with validation + # @param [Object] answer Value to be assigned + def answer=(answer) + if answer.nil? + fail ArgumentError, 'answer cannot be nil' + end + + @answer = answer + end + + # Custom attribute writer method with validation + # @param [Object] question Value to be assigned + def question=(question) + if question.nil? + fail ArgumentError, 'question cannot be nil' + end + + @question = question + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + answer == o.answer && + question == o.question + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [answer, question].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + transformed_hash = {} + openapi_types.each_pair do |key, type| + if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = nil + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[attribute_map[key]].is_a?(Array) + transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) } + end + elsif !attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]]) + end + end + new(transformed_hash) + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + end + +end diff --git a/lib/kombo_client/models/get_ats_applications_positive_response_data_results_inner_screening_question_answers_inner_any_of1_answer.rb b/lib/kombo_client/models/get_ats_applications_positive_response_data_results_inner_screening_question_answers_inner_any_of1_answer.rb new file mode 100644 index 0000000..48c2336 --- /dev/null +++ b/lib/kombo_client/models/get_ats_applications_positive_response_data_results_inner_screening_question_answers_inner_any_of1_answer.rb @@ -0,0 +1,150 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.17.0 + +=end + +require 'date' +require 'time' + +module Kombo + class GetAtsApplicationsPositiveResponseDataResultsInnerScreeningQuestionAnswersInnerAnyOf1Answer < ApiModelBase + attr_accessor :choice + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'choice' => :'choice' + } + end + + # Returns attribute mapping this model knows about + def self.acceptable_attribute_map + attribute_map + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + acceptable_attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'choice' => :'String' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + :'choice' + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Kombo::GetAtsApplicationsPositiveResponseDataResultsInnerScreeningQuestionAnswersInnerAnyOf1Answer` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + acceptable_attribute_map = self.class.acceptable_attribute_map + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!acceptable_attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Kombo::GetAtsApplicationsPositiveResponseDataResultsInnerScreeningQuestionAnswersInnerAnyOf1Answer`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'choice') + self.choice = attributes[:'choice'] + else + self.choice = nil + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + warn '[DEPRECATED] the `list_invalid_properties` method is obsolete' + invalid_properties = Array.new + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + warn '[DEPRECATED] the `valid?` method is obsolete' + true + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + choice == o.choice + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [choice].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + transformed_hash = {} + openapi_types.each_pair do |key, type| + if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = nil + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[attribute_map[key]].is_a?(Array) + transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) } + end + elsif !attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]]) + end + end + new(transformed_hash) + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + end + +end diff --git a/lib/kombo_client/models/get_ats_applications_positive_response_data_results_inner_screening_question_answers_inner_any_of1_question.rb b/lib/kombo_client/models/get_ats_applications_positive_response_data_results_inner_screening_question_answers_inner_any_of1_question.rb new file mode 100644 index 0000000..d228e27 --- /dev/null +++ b/lib/kombo_client/models/get_ats_applications_positive_response_data_results_inner_screening_question_answers_inner_any_of1_question.rb @@ -0,0 +1,226 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.17.0 + +=end + +require 'date' +require 'time' + +module Kombo + class GetAtsApplicationsPositiveResponseDataResultsInnerScreeningQuestionAnswersInnerAnyOf1Question < ApiModelBase + attr_accessor :remote_id + + attr_accessor :title + + attr_accessor :type + + class EnumAttributeValidator + attr_reader :datatype + attr_reader :allowable_values + + def initialize(datatype, allowable_values) + @allowable_values = allowable_values.map do |value| + case datatype.to_s + when /Integer/i + value.to_i + when /Float/i + value.to_f + else + value + end + end + end + + def valid?(value) + !value || allowable_values.include?(value) + end + end + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'remote_id' => :'remote_id', + :'title' => :'title', + :'type' => :'type' + } + end + + # Returns attribute mapping this model knows about + def self.acceptable_attribute_map + attribute_map + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + acceptable_attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'remote_id' => :'String', + :'title' => :'String', + :'type' => :'String' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + :'remote_id', + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Kombo::GetAtsApplicationsPositiveResponseDataResultsInnerScreeningQuestionAnswersInnerAnyOf1Question` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + acceptable_attribute_map = self.class.acceptable_attribute_map + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!acceptable_attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Kombo::GetAtsApplicationsPositiveResponseDataResultsInnerScreeningQuestionAnswersInnerAnyOf1Question`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'remote_id') + self.remote_id = attributes[:'remote_id'] + else + self.remote_id = nil + end + + if attributes.key?(:'title') + self.title = attributes[:'title'] + else + self.title = nil + end + + if attributes.key?(:'type') + self.type = attributes[:'type'] + else + self.type = nil + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + warn '[DEPRECATED] the `list_invalid_properties` method is obsolete' + invalid_properties = Array.new + if @title.nil? + invalid_properties.push('invalid value for "title", title cannot be nil.') + end + + if @type.nil? + invalid_properties.push('invalid value for "type", type cannot be nil.') + end + + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + warn '[DEPRECATED] the `valid?` method is obsolete' + return false if @title.nil? + return false if @type.nil? + type_validator = EnumAttributeValidator.new('String', ["SINGLE_SELECT"]) + return false unless type_validator.valid?(@type) + true + end + + # Custom attribute writer method with validation + # @param [Object] title Value to be assigned + def title=(title) + if title.nil? + fail ArgumentError, 'title cannot be nil' + end + + @title = title + end + + # Custom attribute writer method checking allowed values (enum). + # @param [Object] type Object to be assigned + def type=(type) + validator = EnumAttributeValidator.new('String', ["SINGLE_SELECT"]) + unless validator.valid?(type) + fail ArgumentError, "invalid value for \"type\", must be one of #{validator.allowable_values}." + end + @type = type + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + remote_id == o.remote_id && + title == o.title && + type == o.type + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [remote_id, title, type].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + transformed_hash = {} + openapi_types.each_pair do |key, type| + if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = nil + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[attribute_map[key]].is_a?(Array) + transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) } + end + elsif !attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]]) + end + end + new(transformed_hash) + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + end + +end diff --git a/lib/kombo_client/models/get_ats_applications_positive_response_data_results_inner_screening_question_answers_inner_any_of2.rb b/lib/kombo_client/models/get_ats_applications_positive_response_data_results_inner_screening_question_answers_inner_any_of2.rb new file mode 100644 index 0000000..8e242a1 --- /dev/null +++ b/lib/kombo_client/models/get_ats_applications_positive_response_data_results_inner_screening_question_answers_inner_any_of2.rb @@ -0,0 +1,190 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.17.0 + +=end + +require 'date' +require 'time' + +module Kombo + class GetAtsApplicationsPositiveResponseDataResultsInnerScreeningQuestionAnswersInnerAnyOf2 < ApiModelBase + attr_accessor :answer + + attr_accessor :question + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'answer' => :'answer', + :'question' => :'question' + } + end + + # Returns attribute mapping this model knows about + def self.acceptable_attribute_map + attribute_map + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + acceptable_attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'answer' => :'GetAtsApplicationsPositiveResponseDataResultsInnerScreeningQuestionAnswersInnerAnyOf2Answer', + :'question' => :'GetAtsApplicationsPositiveResponseDataResultsInnerScreeningQuestionAnswersInnerAnyOf2Question' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Kombo::GetAtsApplicationsPositiveResponseDataResultsInnerScreeningQuestionAnswersInnerAnyOf2` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + acceptable_attribute_map = self.class.acceptable_attribute_map + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!acceptable_attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Kombo::GetAtsApplicationsPositiveResponseDataResultsInnerScreeningQuestionAnswersInnerAnyOf2`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'answer') + self.answer = attributes[:'answer'] + else + self.answer = nil + end + + if attributes.key?(:'question') + self.question = attributes[:'question'] + else + self.question = nil + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + warn '[DEPRECATED] the `list_invalid_properties` method is obsolete' + invalid_properties = Array.new + if @answer.nil? + invalid_properties.push('invalid value for "answer", answer cannot be nil.') + end + + if @question.nil? + invalid_properties.push('invalid value for "question", question cannot be nil.') + end + + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + warn '[DEPRECATED] the `valid?` method is obsolete' + return false if @answer.nil? + return false if @question.nil? + true + end + + # Custom attribute writer method with validation + # @param [Object] answer Value to be assigned + def answer=(answer) + if answer.nil? + fail ArgumentError, 'answer cannot be nil' + end + + @answer = answer + end + + # Custom attribute writer method with validation + # @param [Object] question Value to be assigned + def question=(question) + if question.nil? + fail ArgumentError, 'question cannot be nil' + end + + @question = question + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + answer == o.answer && + question == o.question + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [answer, question].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + transformed_hash = {} + openapi_types.each_pair do |key, type| + if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = nil + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[attribute_map[key]].is_a?(Array) + transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) } + end + elsif !attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]]) + end + end + new(transformed_hash) + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + end + +end diff --git a/lib/kombo_client/models/get_ats_applications_positive_response_data_results_inner_screening_question_answers_inner_any_of2_answer.rb b/lib/kombo_client/models/get_ats_applications_positive_response_data_results_inner_screening_question_answers_inner_any_of2_answer.rb new file mode 100644 index 0000000..975f7da --- /dev/null +++ b/lib/kombo_client/models/get_ats_applications_positive_response_data_results_inner_screening_question_answers_inner_any_of2_answer.rb @@ -0,0 +1,149 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.17.0 + +=end + +require 'date' +require 'time' + +module Kombo + class GetAtsApplicationsPositiveResponseDataResultsInnerScreeningQuestionAnswersInnerAnyOf2Answer < ApiModelBase + attr_accessor :choices + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'choices' => :'choices' + } + end + + # Returns attribute mapping this model knows about + def self.acceptable_attribute_map + attribute_map + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + acceptable_attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'choices' => :'Array' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Kombo::GetAtsApplicationsPositiveResponseDataResultsInnerScreeningQuestionAnswersInnerAnyOf2Answer` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + acceptable_attribute_map = self.class.acceptable_attribute_map + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!acceptable_attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Kombo::GetAtsApplicationsPositiveResponseDataResultsInnerScreeningQuestionAnswersInnerAnyOf2Answer`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'choices') + if (value = attributes[:'choices']).is_a?(Array) + self.choices = value + end + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + warn '[DEPRECATED] the `list_invalid_properties` method is obsolete' + invalid_properties = Array.new + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + warn '[DEPRECATED] the `valid?` method is obsolete' + true + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + choices == o.choices + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [choices].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + transformed_hash = {} + openapi_types.each_pair do |key, type| + if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = nil + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[attribute_map[key]].is_a?(Array) + transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) } + end + elsif !attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]]) + end + end + new(transformed_hash) + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + end + +end diff --git a/lib/kombo_client/models/get_ats_applications_positive_response_data_results_inner_screening_question_answers_inner_any_of2_question.rb b/lib/kombo_client/models/get_ats_applications_positive_response_data_results_inner_screening_question_answers_inner_any_of2_question.rb new file mode 100644 index 0000000..52fdf91 --- /dev/null +++ b/lib/kombo_client/models/get_ats_applications_positive_response_data_results_inner_screening_question_answers_inner_any_of2_question.rb @@ -0,0 +1,226 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.17.0 + +=end + +require 'date' +require 'time' + +module Kombo + class GetAtsApplicationsPositiveResponseDataResultsInnerScreeningQuestionAnswersInnerAnyOf2Question < ApiModelBase + attr_accessor :remote_id + + attr_accessor :title + + attr_accessor :type + + class EnumAttributeValidator + attr_reader :datatype + attr_reader :allowable_values + + def initialize(datatype, allowable_values) + @allowable_values = allowable_values.map do |value| + case datatype.to_s + when /Integer/i + value.to_i + when /Float/i + value.to_f + else + value + end + end + end + + def valid?(value) + !value || allowable_values.include?(value) + end + end + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'remote_id' => :'remote_id', + :'title' => :'title', + :'type' => :'type' + } + end + + # Returns attribute mapping this model knows about + def self.acceptable_attribute_map + attribute_map + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + acceptable_attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'remote_id' => :'String', + :'title' => :'String', + :'type' => :'String' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + :'remote_id', + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Kombo::GetAtsApplicationsPositiveResponseDataResultsInnerScreeningQuestionAnswersInnerAnyOf2Question` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + acceptable_attribute_map = self.class.acceptable_attribute_map + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!acceptable_attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Kombo::GetAtsApplicationsPositiveResponseDataResultsInnerScreeningQuestionAnswersInnerAnyOf2Question`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'remote_id') + self.remote_id = attributes[:'remote_id'] + else + self.remote_id = nil + end + + if attributes.key?(:'title') + self.title = attributes[:'title'] + else + self.title = nil + end + + if attributes.key?(:'type') + self.type = attributes[:'type'] + else + self.type = nil + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + warn '[DEPRECATED] the `list_invalid_properties` method is obsolete' + invalid_properties = Array.new + if @title.nil? + invalid_properties.push('invalid value for "title", title cannot be nil.') + end + + if @type.nil? + invalid_properties.push('invalid value for "type", type cannot be nil.') + end + + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + warn '[DEPRECATED] the `valid?` method is obsolete' + return false if @title.nil? + return false if @type.nil? + type_validator = EnumAttributeValidator.new('String', ["MULTI_SELECT"]) + return false unless type_validator.valid?(@type) + true + end + + # Custom attribute writer method with validation + # @param [Object] title Value to be assigned + def title=(title) + if title.nil? + fail ArgumentError, 'title cannot be nil' + end + + @title = title + end + + # Custom attribute writer method checking allowed values (enum). + # @param [Object] type Object to be assigned + def type=(type) + validator = EnumAttributeValidator.new('String', ["MULTI_SELECT"]) + unless validator.valid?(type) + fail ArgumentError, "invalid value for \"type\", must be one of #{validator.allowable_values}." + end + @type = type + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + remote_id == o.remote_id && + title == o.title && + type == o.type + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [remote_id, title, type].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + transformed_hash = {} + openapi_types.each_pair do |key, type| + if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = nil + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[attribute_map[key]].is_a?(Array) + transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) } + end + elsif !attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]]) + end + end + new(transformed_hash) + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + end + +end diff --git a/lib/kombo_client/models/get_ats_applications_positive_response_data_results_inner_screening_question_answers_inner_any_of3.rb b/lib/kombo_client/models/get_ats_applications_positive_response_data_results_inner_screening_question_answers_inner_any_of3.rb new file mode 100644 index 0000000..b78b507 --- /dev/null +++ b/lib/kombo_client/models/get_ats_applications_positive_response_data_results_inner_screening_question_answers_inner_any_of3.rb @@ -0,0 +1,190 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.17.0 + +=end + +require 'date' +require 'time' + +module Kombo + class GetAtsApplicationsPositiveResponseDataResultsInnerScreeningQuestionAnswersInnerAnyOf3 < ApiModelBase + attr_accessor :answer + + attr_accessor :question + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'answer' => :'answer', + :'question' => :'question' + } + end + + # Returns attribute mapping this model knows about + def self.acceptable_attribute_map + attribute_map + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + acceptable_attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'answer' => :'GetAtsApplicationsPositiveResponseDataResultsInnerScreeningQuestionAnswersInnerAnyOf3Answer', + :'question' => :'GetAtsApplicationsPositiveResponseDataResultsInnerScreeningQuestionAnswersInnerAnyOf3Question' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Kombo::GetAtsApplicationsPositiveResponseDataResultsInnerScreeningQuestionAnswersInnerAnyOf3` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + acceptable_attribute_map = self.class.acceptable_attribute_map + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!acceptable_attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Kombo::GetAtsApplicationsPositiveResponseDataResultsInnerScreeningQuestionAnswersInnerAnyOf3`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'answer') + self.answer = attributes[:'answer'] + else + self.answer = nil + end + + if attributes.key?(:'question') + self.question = attributes[:'question'] + else + self.question = nil + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + warn '[DEPRECATED] the `list_invalid_properties` method is obsolete' + invalid_properties = Array.new + if @answer.nil? + invalid_properties.push('invalid value for "answer", answer cannot be nil.') + end + + if @question.nil? + invalid_properties.push('invalid value for "question", question cannot be nil.') + end + + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + warn '[DEPRECATED] the `valid?` method is obsolete' + return false if @answer.nil? + return false if @question.nil? + true + end + + # Custom attribute writer method with validation + # @param [Object] answer Value to be assigned + def answer=(answer) + if answer.nil? + fail ArgumentError, 'answer cannot be nil' + end + + @answer = answer + end + + # Custom attribute writer method with validation + # @param [Object] question Value to be assigned + def question=(question) + if question.nil? + fail ArgumentError, 'question cannot be nil' + end + + @question = question + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + answer == o.answer && + question == o.question + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [answer, question].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + transformed_hash = {} + openapi_types.each_pair do |key, type| + if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = nil + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[attribute_map[key]].is_a?(Array) + transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) } + end + elsif !attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]]) + end + end + new(transformed_hash) + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + end + +end diff --git a/lib/kombo_client/models/get_ats_applications_positive_response_data_results_inner_screening_question_answers_inner_any_of3_answer.rb b/lib/kombo_client/models/get_ats_applications_positive_response_data_results_inner_screening_question_answers_inner_any_of3_answer.rb new file mode 100644 index 0000000..b7a9a4e --- /dev/null +++ b/lib/kombo_client/models/get_ats_applications_positive_response_data_results_inner_screening_question_answers_inner_any_of3_answer.rb @@ -0,0 +1,150 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.17.0 + +=end + +require 'date' +require 'time' + +module Kombo + class GetAtsApplicationsPositiveResponseDataResultsInnerScreeningQuestionAnswersInnerAnyOf3Answer < ApiModelBase + attr_accessor :checked + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'checked' => :'checked' + } + end + + # Returns attribute mapping this model knows about + def self.acceptable_attribute_map + attribute_map + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + acceptable_attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'checked' => :'Boolean' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + :'checked' + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Kombo::GetAtsApplicationsPositiveResponseDataResultsInnerScreeningQuestionAnswersInnerAnyOf3Answer` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + acceptable_attribute_map = self.class.acceptable_attribute_map + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!acceptable_attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Kombo::GetAtsApplicationsPositiveResponseDataResultsInnerScreeningQuestionAnswersInnerAnyOf3Answer`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'checked') + self.checked = attributes[:'checked'] + else + self.checked = nil + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + warn '[DEPRECATED] the `list_invalid_properties` method is obsolete' + invalid_properties = Array.new + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + warn '[DEPRECATED] the `valid?` method is obsolete' + true + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + checked == o.checked + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [checked].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + transformed_hash = {} + openapi_types.each_pair do |key, type| + if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = nil + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[attribute_map[key]].is_a?(Array) + transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) } + end + elsif !attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]]) + end + end + new(transformed_hash) + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + end + +end diff --git a/lib/kombo_client/models/get_ats_applications_positive_response_data_results_inner_screening_question_answers_inner_any_of3_question.rb b/lib/kombo_client/models/get_ats_applications_positive_response_data_results_inner_screening_question_answers_inner_any_of3_question.rb new file mode 100644 index 0000000..ef9777a --- /dev/null +++ b/lib/kombo_client/models/get_ats_applications_positive_response_data_results_inner_screening_question_answers_inner_any_of3_question.rb @@ -0,0 +1,226 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.17.0 + +=end + +require 'date' +require 'time' + +module Kombo + class GetAtsApplicationsPositiveResponseDataResultsInnerScreeningQuestionAnswersInnerAnyOf3Question < ApiModelBase + attr_accessor :remote_id + + attr_accessor :title + + attr_accessor :type + + class EnumAttributeValidator + attr_reader :datatype + attr_reader :allowable_values + + def initialize(datatype, allowable_values) + @allowable_values = allowable_values.map do |value| + case datatype.to_s + when /Integer/i + value.to_i + when /Float/i + value.to_f + else + value + end + end + end + + def valid?(value) + !value || allowable_values.include?(value) + end + end + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'remote_id' => :'remote_id', + :'title' => :'title', + :'type' => :'type' + } + end + + # Returns attribute mapping this model knows about + def self.acceptable_attribute_map + attribute_map + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + acceptable_attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'remote_id' => :'String', + :'title' => :'String', + :'type' => :'String' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + :'remote_id', + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Kombo::GetAtsApplicationsPositiveResponseDataResultsInnerScreeningQuestionAnswersInnerAnyOf3Question` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + acceptable_attribute_map = self.class.acceptable_attribute_map + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!acceptable_attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Kombo::GetAtsApplicationsPositiveResponseDataResultsInnerScreeningQuestionAnswersInnerAnyOf3Question`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'remote_id') + self.remote_id = attributes[:'remote_id'] + else + self.remote_id = nil + end + + if attributes.key?(:'title') + self.title = attributes[:'title'] + else + self.title = nil + end + + if attributes.key?(:'type') + self.type = attributes[:'type'] + else + self.type = nil + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + warn '[DEPRECATED] the `list_invalid_properties` method is obsolete' + invalid_properties = Array.new + if @title.nil? + invalid_properties.push('invalid value for "title", title cannot be nil.') + end + + if @type.nil? + invalid_properties.push('invalid value for "type", type cannot be nil.') + end + + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + warn '[DEPRECATED] the `valid?` method is obsolete' + return false if @title.nil? + return false if @type.nil? + type_validator = EnumAttributeValidator.new('String', ["BOOLEAN"]) + return false unless type_validator.valid?(@type) + true + end + + # Custom attribute writer method with validation + # @param [Object] title Value to be assigned + def title=(title) + if title.nil? + fail ArgumentError, 'title cannot be nil' + end + + @title = title + end + + # Custom attribute writer method checking allowed values (enum). + # @param [Object] type Object to be assigned + def type=(type) + validator = EnumAttributeValidator.new('String', ["BOOLEAN"]) + unless validator.valid?(type) + fail ArgumentError, "invalid value for \"type\", must be one of #{validator.allowable_values}." + end + @type = type + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + remote_id == o.remote_id && + title == o.title && + type == o.type + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [remote_id, title, type].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + transformed_hash = {} + openapi_types.each_pair do |key, type| + if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = nil + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[attribute_map[key]].is_a?(Array) + transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) } + end + elsif !attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]]) + end + end + new(transformed_hash) + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + end + +end diff --git a/lib/kombo_client/models/get_ats_applications_positive_response_data_results_inner_screening_question_answers_inner_any_of4.rb b/lib/kombo_client/models/get_ats_applications_positive_response_data_results_inner_screening_question_answers_inner_any_of4.rb new file mode 100644 index 0000000..3da9b8c --- /dev/null +++ b/lib/kombo_client/models/get_ats_applications_positive_response_data_results_inner_screening_question_answers_inner_any_of4.rb @@ -0,0 +1,190 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.17.0 + +=end + +require 'date' +require 'time' + +module Kombo + class GetAtsApplicationsPositiveResponseDataResultsInnerScreeningQuestionAnswersInnerAnyOf4 < ApiModelBase + attr_accessor :answer + + attr_accessor :question + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'answer' => :'answer', + :'question' => :'question' + } + end + + # Returns attribute mapping this model knows about + def self.acceptable_attribute_map + attribute_map + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + acceptable_attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'answer' => :'GetAtsApplicationsPositiveResponseDataResultsInnerScreeningQuestionAnswersInnerAnyOf4Answer', + :'question' => :'GetAtsApplicationsPositiveResponseDataResultsInnerScreeningQuestionAnswersInnerAnyOf4Question' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Kombo::GetAtsApplicationsPositiveResponseDataResultsInnerScreeningQuestionAnswersInnerAnyOf4` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + acceptable_attribute_map = self.class.acceptable_attribute_map + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!acceptable_attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Kombo::GetAtsApplicationsPositiveResponseDataResultsInnerScreeningQuestionAnswersInnerAnyOf4`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'answer') + self.answer = attributes[:'answer'] + else + self.answer = nil + end + + if attributes.key?(:'question') + self.question = attributes[:'question'] + else + self.question = nil + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + warn '[DEPRECATED] the `list_invalid_properties` method is obsolete' + invalid_properties = Array.new + if @answer.nil? + invalid_properties.push('invalid value for "answer", answer cannot be nil.') + end + + if @question.nil? + invalid_properties.push('invalid value for "question", question cannot be nil.') + end + + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + warn '[DEPRECATED] the `valid?` method is obsolete' + return false if @answer.nil? + return false if @question.nil? + true + end + + # Custom attribute writer method with validation + # @param [Object] answer Value to be assigned + def answer=(answer) + if answer.nil? + fail ArgumentError, 'answer cannot be nil' + end + + @answer = answer + end + + # Custom attribute writer method with validation + # @param [Object] question Value to be assigned + def question=(question) + if question.nil? + fail ArgumentError, 'question cannot be nil' + end + + @question = question + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + answer == o.answer && + question == o.question + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [answer, question].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + transformed_hash = {} + openapi_types.each_pair do |key, type| + if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = nil + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[attribute_map[key]].is_a?(Array) + transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) } + end + elsif !attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]]) + end + end + new(transformed_hash) + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + end + +end diff --git a/lib/kombo_client/models/get_ats_applications_positive_response_data_results_inner_screening_question_answers_inner_any_of4_answer.rb b/lib/kombo_client/models/get_ats_applications_positive_response_data_results_inner_screening_question_answers_inner_any_of4_answer.rb new file mode 100644 index 0000000..a142f40 --- /dev/null +++ b/lib/kombo_client/models/get_ats_applications_positive_response_data_results_inner_screening_question_answers_inner_any_of4_answer.rb @@ -0,0 +1,165 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.17.0 + +=end + +require 'date' +require 'time' + +module Kombo + class GetAtsApplicationsPositiveResponseDataResultsInnerScreeningQuestionAnswersInnerAnyOf4Answer < ApiModelBase + attr_accessor :number + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'number' => :'number' + } + end + + # Returns attribute mapping this model knows about + def self.acceptable_attribute_map + attribute_map + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + acceptable_attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'number' => :'Float' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + :'number' + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Kombo::GetAtsApplicationsPositiveResponseDataResultsInnerScreeningQuestionAnswersInnerAnyOf4Answer` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + acceptable_attribute_map = self.class.acceptable_attribute_map + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!acceptable_attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Kombo::GetAtsApplicationsPositiveResponseDataResultsInnerScreeningQuestionAnswersInnerAnyOf4Answer`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'number') + self.number = attributes[:'number'] + else + self.number = nil + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + warn '[DEPRECATED] the `list_invalid_properties` method is obsolete' + invalid_properties = Array.new + if @number < -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + invalid_properties.push('invalid value for "number", must be greater than or equal to -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.') + end + + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + warn '[DEPRECATED] the `valid?` method is obsolete' + return false if @number < -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + true + end + + # Custom attribute writer method with validation + # @param [Object] number Value to be assigned + def number=(number) + if !number.nil? && number < -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + fail ArgumentError, 'invalid value for "number", must be greater than or equal to -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.' + end + + @number = number + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + number == o.number + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [number].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + transformed_hash = {} + openapi_types.each_pair do |key, type| + if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = nil + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[attribute_map[key]].is_a?(Array) + transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) } + end + elsif !attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]]) + end + end + new(transformed_hash) + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + end + +end diff --git a/lib/kombo_client/models/get_ats_applications_positive_response_data_results_inner_screening_question_answers_inner_any_of4_question.rb b/lib/kombo_client/models/get_ats_applications_positive_response_data_results_inner_screening_question_answers_inner_any_of4_question.rb new file mode 100644 index 0000000..be4bfe2 --- /dev/null +++ b/lib/kombo_client/models/get_ats_applications_positive_response_data_results_inner_screening_question_answers_inner_any_of4_question.rb @@ -0,0 +1,226 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.17.0 + +=end + +require 'date' +require 'time' + +module Kombo + class GetAtsApplicationsPositiveResponseDataResultsInnerScreeningQuestionAnswersInnerAnyOf4Question < ApiModelBase + attr_accessor :remote_id + + attr_accessor :title + + attr_accessor :type + + class EnumAttributeValidator + attr_reader :datatype + attr_reader :allowable_values + + def initialize(datatype, allowable_values) + @allowable_values = allowable_values.map do |value| + case datatype.to_s + when /Integer/i + value.to_i + when /Float/i + value.to_f + else + value + end + end + end + + def valid?(value) + !value || allowable_values.include?(value) + end + end + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'remote_id' => :'remote_id', + :'title' => :'title', + :'type' => :'type' + } + end + + # Returns attribute mapping this model knows about + def self.acceptable_attribute_map + attribute_map + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + acceptable_attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'remote_id' => :'String', + :'title' => :'String', + :'type' => :'String' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + :'remote_id', + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Kombo::GetAtsApplicationsPositiveResponseDataResultsInnerScreeningQuestionAnswersInnerAnyOf4Question` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + acceptable_attribute_map = self.class.acceptable_attribute_map + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!acceptable_attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Kombo::GetAtsApplicationsPositiveResponseDataResultsInnerScreeningQuestionAnswersInnerAnyOf4Question`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'remote_id') + self.remote_id = attributes[:'remote_id'] + else + self.remote_id = nil + end + + if attributes.key?(:'title') + self.title = attributes[:'title'] + else + self.title = nil + end + + if attributes.key?(:'type') + self.type = attributes[:'type'] + else + self.type = nil + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + warn '[DEPRECATED] the `list_invalid_properties` method is obsolete' + invalid_properties = Array.new + if @title.nil? + invalid_properties.push('invalid value for "title", title cannot be nil.') + end + + if @type.nil? + invalid_properties.push('invalid value for "type", type cannot be nil.') + end + + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + warn '[DEPRECATED] the `valid?` method is obsolete' + return false if @title.nil? + return false if @type.nil? + type_validator = EnumAttributeValidator.new('String', ["NUMBER"]) + return false unless type_validator.valid?(@type) + true + end + + # Custom attribute writer method with validation + # @param [Object] title Value to be assigned + def title=(title) + if title.nil? + fail ArgumentError, 'title cannot be nil' + end + + @title = title + end + + # Custom attribute writer method checking allowed values (enum). + # @param [Object] type Object to be assigned + def type=(type) + validator = EnumAttributeValidator.new('String', ["NUMBER"]) + unless validator.valid?(type) + fail ArgumentError, "invalid value for \"type\", must be one of #{validator.allowable_values}." + end + @type = type + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + remote_id == o.remote_id && + title == o.title && + type == o.type + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [remote_id, title, type].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + transformed_hash = {} + openapi_types.each_pair do |key, type| + if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = nil + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[attribute_map[key]].is_a?(Array) + transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) } + end + elsif !attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]]) + end + end + new(transformed_hash) + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + end + +end diff --git a/lib/kombo_client/models/get_ats_applications_positive_response_data_results_inner_screening_question_answers_inner_any_of5.rb b/lib/kombo_client/models/get_ats_applications_positive_response_data_results_inner_screening_question_answers_inner_any_of5.rb new file mode 100644 index 0000000..5e08183 --- /dev/null +++ b/lib/kombo_client/models/get_ats_applications_positive_response_data_results_inner_screening_question_answers_inner_any_of5.rb @@ -0,0 +1,190 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.17.0 + +=end + +require 'date' +require 'time' + +module Kombo + class GetAtsApplicationsPositiveResponseDataResultsInnerScreeningQuestionAnswersInnerAnyOf5 < ApiModelBase + attr_accessor :answer + + attr_accessor :question + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'answer' => :'answer', + :'question' => :'question' + } + end + + # Returns attribute mapping this model knows about + def self.acceptable_attribute_map + attribute_map + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + acceptable_attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'answer' => :'GetAtsApplicationsPositiveResponseDataResultsInnerScreeningQuestionAnswersInnerAnyOf5Answer', + :'question' => :'GetAtsApplicationsPositiveResponseDataResultsInnerScreeningQuestionAnswersInnerAnyOf5Question' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Kombo::GetAtsApplicationsPositiveResponseDataResultsInnerScreeningQuestionAnswersInnerAnyOf5` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + acceptable_attribute_map = self.class.acceptable_attribute_map + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!acceptable_attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Kombo::GetAtsApplicationsPositiveResponseDataResultsInnerScreeningQuestionAnswersInnerAnyOf5`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'answer') + self.answer = attributes[:'answer'] + else + self.answer = nil + end + + if attributes.key?(:'question') + self.question = attributes[:'question'] + else + self.question = nil + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + warn '[DEPRECATED] the `list_invalid_properties` method is obsolete' + invalid_properties = Array.new + if @answer.nil? + invalid_properties.push('invalid value for "answer", answer cannot be nil.') + end + + if @question.nil? + invalid_properties.push('invalid value for "question", question cannot be nil.') + end + + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + warn '[DEPRECATED] the `valid?` method is obsolete' + return false if @answer.nil? + return false if @question.nil? + true + end + + # Custom attribute writer method with validation + # @param [Object] answer Value to be assigned + def answer=(answer) + if answer.nil? + fail ArgumentError, 'answer cannot be nil' + end + + @answer = answer + end + + # Custom attribute writer method with validation + # @param [Object] question Value to be assigned + def question=(question) + if question.nil? + fail ArgumentError, 'question cannot be nil' + end + + @question = question + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + answer == o.answer && + question == o.question + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [answer, question].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + transformed_hash = {} + openapi_types.each_pair do |key, type| + if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = nil + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[attribute_map[key]].is_a?(Array) + transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) } + end + elsif !attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]]) + end + end + new(transformed_hash) + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + end + +end diff --git a/lib/kombo_client/models/get_ats_applications_positive_response_data_results_inner_screening_question_answers_inner_any_of5_answer.rb b/lib/kombo_client/models/get_ats_applications_positive_response_data_results_inner_screening_question_answers_inner_any_of5_answer.rb new file mode 100644 index 0000000..1ebb629 --- /dev/null +++ b/lib/kombo_client/models/get_ats_applications_positive_response_data_results_inner_screening_question_answers_inner_any_of5_answer.rb @@ -0,0 +1,167 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.17.0 + +=end + +require 'date' +require 'time' + +module Kombo + class GetAtsApplicationsPositiveResponseDataResultsInnerScreeningQuestionAnswersInnerAnyOf5Answer < ApiModelBase + attr_accessor :date + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'date' => :'date' + } + end + + # Returns attribute mapping this model knows about + def self.acceptable_attribute_map + attribute_map + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + acceptable_attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'date' => :'Time' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + :'date' + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Kombo::GetAtsApplicationsPositiveResponseDataResultsInnerScreeningQuestionAnswersInnerAnyOf5Answer` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + acceptable_attribute_map = self.class.acceptable_attribute_map + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!acceptable_attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Kombo::GetAtsApplicationsPositiveResponseDataResultsInnerScreeningQuestionAnswersInnerAnyOf5Answer`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'date') + self.date = attributes[:'date'] + else + self.date = nil + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + warn '[DEPRECATED] the `list_invalid_properties` method is obsolete' + invalid_properties = Array.new + pattern = Regexp.new(/^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}(\.\d+)?Z$/) + if @date !~ pattern + invalid_properties.push("invalid value for \"date\", must conform to the pattern #{pattern}.") + end + + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + warn '[DEPRECATED] the `valid?` method is obsolete' + return false if @date !~ Regexp.new(/^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}(\.\d+)?Z$/) + true + end + + # Custom attribute writer method with validation + # @param [Object] date Value to be assigned + def date=(date) + pattern = Regexp.new(/^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}(\.\d+)?Z$/) + if !date.nil? && date !~ pattern + fail ArgumentError, "invalid value for \"date\", must conform to the pattern #{pattern}." + end + + @date = date + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + date == o.date + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [date].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + transformed_hash = {} + openapi_types.each_pair do |key, type| + if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = nil + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[attribute_map[key]].is_a?(Array) + transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) } + end + elsif !attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]]) + end + end + new(transformed_hash) + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + end + +end diff --git a/lib/kombo_client/models/get_ats_applications_positive_response_data_results_inner_screening_question_answers_inner_any_of5_question.rb b/lib/kombo_client/models/get_ats_applications_positive_response_data_results_inner_screening_question_answers_inner_any_of5_question.rb new file mode 100644 index 0000000..fa8030f --- /dev/null +++ b/lib/kombo_client/models/get_ats_applications_positive_response_data_results_inner_screening_question_answers_inner_any_of5_question.rb @@ -0,0 +1,226 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.17.0 + +=end + +require 'date' +require 'time' + +module Kombo + class GetAtsApplicationsPositiveResponseDataResultsInnerScreeningQuestionAnswersInnerAnyOf5Question < ApiModelBase + attr_accessor :remote_id + + attr_accessor :title + + attr_accessor :type + + class EnumAttributeValidator + attr_reader :datatype + attr_reader :allowable_values + + def initialize(datatype, allowable_values) + @allowable_values = allowable_values.map do |value| + case datatype.to_s + when /Integer/i + value.to_i + when /Float/i + value.to_f + else + value + end + end + end + + def valid?(value) + !value || allowable_values.include?(value) + end + end + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'remote_id' => :'remote_id', + :'title' => :'title', + :'type' => :'type' + } + end + + # Returns attribute mapping this model knows about + def self.acceptable_attribute_map + attribute_map + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + acceptable_attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'remote_id' => :'String', + :'title' => :'String', + :'type' => :'String' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + :'remote_id', + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Kombo::GetAtsApplicationsPositiveResponseDataResultsInnerScreeningQuestionAnswersInnerAnyOf5Question` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + acceptable_attribute_map = self.class.acceptable_attribute_map + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!acceptable_attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Kombo::GetAtsApplicationsPositiveResponseDataResultsInnerScreeningQuestionAnswersInnerAnyOf5Question`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'remote_id') + self.remote_id = attributes[:'remote_id'] + else + self.remote_id = nil + end + + if attributes.key?(:'title') + self.title = attributes[:'title'] + else + self.title = nil + end + + if attributes.key?(:'type') + self.type = attributes[:'type'] + else + self.type = nil + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + warn '[DEPRECATED] the `list_invalid_properties` method is obsolete' + invalid_properties = Array.new + if @title.nil? + invalid_properties.push('invalid value for "title", title cannot be nil.') + end + + if @type.nil? + invalid_properties.push('invalid value for "type", type cannot be nil.') + end + + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + warn '[DEPRECATED] the `valid?` method is obsolete' + return false if @title.nil? + return false if @type.nil? + type_validator = EnumAttributeValidator.new('String', ["DATE"]) + return false unless type_validator.valid?(@type) + true + end + + # Custom attribute writer method with validation + # @param [Object] title Value to be assigned + def title=(title) + if title.nil? + fail ArgumentError, 'title cannot be nil' + end + + @title = title + end + + # Custom attribute writer method checking allowed values (enum). + # @param [Object] type Object to be assigned + def type=(type) + validator = EnumAttributeValidator.new('String', ["DATE"]) + unless validator.valid?(type) + fail ArgumentError, "invalid value for \"type\", must be one of #{validator.allowable_values}." + end + @type = type + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + remote_id == o.remote_id && + title == o.title && + type == o.type + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [remote_id, title, type].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + transformed_hash = {} + openapi_types.each_pair do |key, type| + if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = nil + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[attribute_map[key]].is_a?(Array) + transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) } + end + elsif !attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]]) + end + end + new(transformed_hash) + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + end + +end diff --git a/lib/kombo_client/models/get_ats_applications_positive_response_data_results_inner_screening_question_answers_inner_any_of6.rb b/lib/kombo_client/models/get_ats_applications_positive_response_data_results_inner_screening_question_answers_inner_any_of6.rb new file mode 100644 index 0000000..e56f9a7 --- /dev/null +++ b/lib/kombo_client/models/get_ats_applications_positive_response_data_results_inner_screening_question_answers_inner_any_of6.rb @@ -0,0 +1,190 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.17.0 + +=end + +require 'date' +require 'time' + +module Kombo + class GetAtsApplicationsPositiveResponseDataResultsInnerScreeningQuestionAnswersInnerAnyOf6 < ApiModelBase + attr_accessor :answer + + attr_accessor :question + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'answer' => :'answer', + :'question' => :'question' + } + end + + # Returns attribute mapping this model knows about + def self.acceptable_attribute_map + attribute_map + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + acceptable_attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'answer' => :'GetAtsApplicationsPositiveResponseDataResultsInnerScreeningQuestionAnswersInnerAnyOf6Answer', + :'question' => :'GetAtsApplicationsPositiveResponseDataResultsInnerScreeningQuestionAnswersInnerAnyOf6Question' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Kombo::GetAtsApplicationsPositiveResponseDataResultsInnerScreeningQuestionAnswersInnerAnyOf6` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + acceptable_attribute_map = self.class.acceptable_attribute_map + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!acceptable_attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Kombo::GetAtsApplicationsPositiveResponseDataResultsInnerScreeningQuestionAnswersInnerAnyOf6`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'answer') + self.answer = attributes[:'answer'] + else + self.answer = nil + end + + if attributes.key?(:'question') + self.question = attributes[:'question'] + else + self.question = nil + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + warn '[DEPRECATED] the `list_invalid_properties` method is obsolete' + invalid_properties = Array.new + if @answer.nil? + invalid_properties.push('invalid value for "answer", answer cannot be nil.') + end + + if @question.nil? + invalid_properties.push('invalid value for "question", question cannot be nil.') + end + + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + warn '[DEPRECATED] the `valid?` method is obsolete' + return false if @answer.nil? + return false if @question.nil? + true + end + + # Custom attribute writer method with validation + # @param [Object] answer Value to be assigned + def answer=(answer) + if answer.nil? + fail ArgumentError, 'answer cannot be nil' + end + + @answer = answer + end + + # Custom attribute writer method with validation + # @param [Object] question Value to be assigned + def question=(question) + if question.nil? + fail ArgumentError, 'question cannot be nil' + end + + @question = question + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + answer == o.answer && + question == o.question + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [answer, question].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + transformed_hash = {} + openapi_types.each_pair do |key, type| + if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = nil + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[attribute_map[key]].is_a?(Array) + transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) } + end + elsif !attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]]) + end + end + new(transformed_hash) + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + end + +end diff --git a/lib/kombo_client/models/get_ats_applications_positive_response_data_results_inner_screening_question_answers_inner_any_of6_answer.rb b/lib/kombo_client/models/get_ats_applications_positive_response_data_results_inner_screening_question_answers_inner_any_of6_answer.rb new file mode 100644 index 0000000..d250e31 --- /dev/null +++ b/lib/kombo_client/models/get_ats_applications_positive_response_data_results_inner_screening_question_answers_inner_any_of6_answer.rb @@ -0,0 +1,148 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.17.0 + +=end + +require 'date' +require 'time' + +module Kombo + class GetAtsApplicationsPositiveResponseDataResultsInnerScreeningQuestionAnswersInnerAnyOf6Answer < ApiModelBase + # We pass the original question data along so you can handle it. + attr_accessor :raw + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'raw' => :'raw' + } + end + + # Returns attribute mapping this model knows about + def self.acceptable_attribute_map + attribute_map + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + acceptable_attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'raw' => :'Null' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Kombo::GetAtsApplicationsPositiveResponseDataResultsInnerScreeningQuestionAnswersInnerAnyOf6Answer` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + acceptable_attribute_map = self.class.acceptable_attribute_map + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!acceptable_attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Kombo::GetAtsApplicationsPositiveResponseDataResultsInnerScreeningQuestionAnswersInnerAnyOf6Answer`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'raw') + self.raw = attributes[:'raw'] + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + warn '[DEPRECATED] the `list_invalid_properties` method is obsolete' + invalid_properties = Array.new + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + warn '[DEPRECATED] the `valid?` method is obsolete' + true + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + raw == o.raw + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [raw].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + transformed_hash = {} + openapi_types.each_pair do |key, type| + if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = nil + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[attribute_map[key]].is_a?(Array) + transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) } + end + elsif !attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]]) + end + end + new(transformed_hash) + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + end + +end diff --git a/lib/kombo_client/models/get_ats_applications_positive_response_data_results_inner_screening_question_answers_inner_any_of6_question.rb b/lib/kombo_client/models/get_ats_applications_positive_response_data_results_inner_screening_question_answers_inner_any_of6_question.rb new file mode 100644 index 0000000..262fdac --- /dev/null +++ b/lib/kombo_client/models/get_ats_applications_positive_response_data_results_inner_screening_question_answers_inner_any_of6_question.rb @@ -0,0 +1,227 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.17.0 + +=end + +require 'date' +require 'time' + +module Kombo + class GetAtsApplicationsPositiveResponseDataResultsInnerScreeningQuestionAnswersInnerAnyOf6Question < ApiModelBase + attr_accessor :remote_id + + attr_accessor :title + + # 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. + attr_accessor :type + + class EnumAttributeValidator + attr_reader :datatype + attr_reader :allowable_values + + def initialize(datatype, allowable_values) + @allowable_values = allowable_values.map do |value| + case datatype.to_s + when /Integer/i + value.to_i + when /Float/i + value.to_f + else + value + end + end + end + + def valid?(value) + !value || allowable_values.include?(value) + end + end + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'remote_id' => :'remote_id', + :'title' => :'title', + :'type' => :'type' + } + end + + # Returns attribute mapping this model knows about + def self.acceptable_attribute_map + attribute_map + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + acceptable_attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'remote_id' => :'String', + :'title' => :'String', + :'type' => :'String' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + :'remote_id', + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Kombo::GetAtsApplicationsPositiveResponseDataResultsInnerScreeningQuestionAnswersInnerAnyOf6Question` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + acceptable_attribute_map = self.class.acceptable_attribute_map + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!acceptable_attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Kombo::GetAtsApplicationsPositiveResponseDataResultsInnerScreeningQuestionAnswersInnerAnyOf6Question`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'remote_id') + self.remote_id = attributes[:'remote_id'] + else + self.remote_id = nil + end + + if attributes.key?(:'title') + self.title = attributes[:'title'] + else + self.title = nil + end + + if attributes.key?(:'type') + self.type = attributes[:'type'] + else + self.type = nil + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + warn '[DEPRECATED] the `list_invalid_properties` method is obsolete' + invalid_properties = Array.new + if @title.nil? + invalid_properties.push('invalid value for "title", title cannot be nil.') + end + + if @type.nil? + invalid_properties.push('invalid value for "type", type cannot be nil.') + end + + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + warn '[DEPRECATED] the `valid?` method is obsolete' + return false if @title.nil? + return false if @type.nil? + type_validator = EnumAttributeValidator.new('String', ["UNKNOWN"]) + return false unless type_validator.valid?(@type) + true + end + + # Custom attribute writer method with validation + # @param [Object] title Value to be assigned + def title=(title) + if title.nil? + fail ArgumentError, 'title cannot be nil' + end + + @title = title + end + + # Custom attribute writer method checking allowed values (enum). + # @param [Object] type Object to be assigned + def type=(type) + validator = EnumAttributeValidator.new('String', ["UNKNOWN"]) + unless validator.valid?(type) + fail ArgumentError, "invalid value for \"type\", must be one of #{validator.allowable_values}." + end + @type = type + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + remote_id == o.remote_id && + title == o.title && + type == o.type + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [remote_id, title, type].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + transformed_hash = {} + openapi_types.each_pair do |key, type| + if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = nil + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[attribute_map[key]].is_a?(Array) + transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) } + end + elsif !attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]]) + end + end + new(transformed_hash) + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + end + +end diff --git a/lib/kombo_client/models/get_ats_applications_positive_response_data_results_inner_screening_question_answers_inner_any_of_answer.rb b/lib/kombo_client/models/get_ats_applications_positive_response_data_results_inner_screening_question_answers_inner_any_of_answer.rb new file mode 100644 index 0000000..5f976fe --- /dev/null +++ b/lib/kombo_client/models/get_ats_applications_positive_response_data_results_inner_screening_question_answers_inner_any_of_answer.rb @@ -0,0 +1,150 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.17.0 + +=end + +require 'date' +require 'time' + +module Kombo + class GetAtsApplicationsPositiveResponseDataResultsInnerScreeningQuestionAnswersInnerAnyOfAnswer < ApiModelBase + attr_accessor :content + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'content' => :'content' + } + end + + # Returns attribute mapping this model knows about + def self.acceptable_attribute_map + attribute_map + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + acceptable_attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'content' => :'String' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + :'content' + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Kombo::GetAtsApplicationsPositiveResponseDataResultsInnerScreeningQuestionAnswersInnerAnyOfAnswer` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + acceptable_attribute_map = self.class.acceptable_attribute_map + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!acceptable_attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Kombo::GetAtsApplicationsPositiveResponseDataResultsInnerScreeningQuestionAnswersInnerAnyOfAnswer`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'content') + self.content = attributes[:'content'] + else + self.content = nil + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + warn '[DEPRECATED] the `list_invalid_properties` method is obsolete' + invalid_properties = Array.new + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + warn '[DEPRECATED] the `valid?` method is obsolete' + true + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + content == o.content + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [content].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + transformed_hash = {} + openapi_types.each_pair do |key, type| + if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = nil + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[attribute_map[key]].is_a?(Array) + transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) } + end + elsif !attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]]) + end + end + new(transformed_hash) + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + end + +end diff --git a/lib/kombo_client/models/get_ats_applications_positive_response_data_results_inner_screening_question_answers_inner_any_of_question.rb b/lib/kombo_client/models/get_ats_applications_positive_response_data_results_inner_screening_question_answers_inner_any_of_question.rb new file mode 100644 index 0000000..bdee7e6 --- /dev/null +++ b/lib/kombo_client/models/get_ats_applications_positive_response_data_results_inner_screening_question_answers_inner_any_of_question.rb @@ -0,0 +1,226 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.17.0 + +=end + +require 'date' +require 'time' + +module Kombo + class GetAtsApplicationsPositiveResponseDataResultsInnerScreeningQuestionAnswersInnerAnyOfQuestion < ApiModelBase + attr_accessor :remote_id + + attr_accessor :title + + attr_accessor :type + + class EnumAttributeValidator + attr_reader :datatype + attr_reader :allowable_values + + def initialize(datatype, allowable_values) + @allowable_values = allowable_values.map do |value| + case datatype.to_s + when /Integer/i + value.to_i + when /Float/i + value.to_f + else + value + end + end + end + + def valid?(value) + !value || allowable_values.include?(value) + end + end + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'remote_id' => :'remote_id', + :'title' => :'title', + :'type' => :'type' + } + end + + # Returns attribute mapping this model knows about + def self.acceptable_attribute_map + attribute_map + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + acceptable_attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'remote_id' => :'String', + :'title' => :'String', + :'type' => :'String' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + :'remote_id', + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Kombo::GetAtsApplicationsPositiveResponseDataResultsInnerScreeningQuestionAnswersInnerAnyOfQuestion` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + acceptable_attribute_map = self.class.acceptable_attribute_map + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!acceptable_attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Kombo::GetAtsApplicationsPositiveResponseDataResultsInnerScreeningQuestionAnswersInnerAnyOfQuestion`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'remote_id') + self.remote_id = attributes[:'remote_id'] + else + self.remote_id = nil + end + + if attributes.key?(:'title') + self.title = attributes[:'title'] + else + self.title = nil + end + + if attributes.key?(:'type') + self.type = attributes[:'type'] + else + self.type = nil + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + warn '[DEPRECATED] the `list_invalid_properties` method is obsolete' + invalid_properties = Array.new + if @title.nil? + invalid_properties.push('invalid value for "title", title cannot be nil.') + end + + if @type.nil? + invalid_properties.push('invalid value for "type", type cannot be nil.') + end + + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + warn '[DEPRECATED] the `valid?` method is obsolete' + return false if @title.nil? + return false if @type.nil? + type_validator = EnumAttributeValidator.new('String', ["TEXT"]) + return false unless type_validator.valid?(@type) + true + end + + # Custom attribute writer method with validation + # @param [Object] title Value to be assigned + def title=(title) + if title.nil? + fail ArgumentError, 'title cannot be nil' + end + + @title = title + end + + # Custom attribute writer method checking allowed values (enum). + # @param [Object] type Object to be assigned + def type=(type) + validator = EnumAttributeValidator.new('String', ["TEXT"]) + unless validator.valid?(type) + fail ArgumentError, "invalid value for \"type\", must be one of #{validator.allowable_values}." + end + @type = type + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + remote_id == o.remote_id && + title == o.title && + type == o.type + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [remote_id, title, type].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + transformed_hash = {} + openapi_types.each_pair do |key, type| + if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = nil + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[attribute_map[key]].is_a?(Array) + transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) } + end + elsif !attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]]) + end + end + new(transformed_hash) + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + end + +end diff --git a/lib/kombo_client/models/get_ats_candidates_candidate_id_attachments_positive_response.rb b/lib/kombo_client/models/get_ats_candidates_candidate_id_attachments_positive_response.rb new file mode 100644 index 0000000..947f300 --- /dev/null +++ b/lib/kombo_client/models/get_ats_candidates_candidate_id_attachments_positive_response.rb @@ -0,0 +1,243 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.17.0 + +=end + +require 'date' +require 'time' + +module Kombo + class GetAtsCandidatesCandidateIdAttachmentsPositiveResponse < ApiModelBase + attr_accessor :status + + attr_accessor :data + + # 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. + attr_accessor :warnings + + class EnumAttributeValidator + attr_reader :datatype + attr_reader :allowable_values + + def initialize(datatype, allowable_values) + @allowable_values = allowable_values.map do |value| + case datatype.to_s + when /Integer/i + value.to_i + when /Float/i + value.to_f + else + value + end + end + end + + def valid?(value) + !value || allowable_values.include?(value) + end + end + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'status' => :'status', + :'data' => :'data', + :'warnings' => :'warnings' + } + end + + # Returns attribute mapping this model knows about + def self.acceptable_attribute_map + attribute_map + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + acceptable_attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'status' => :'String', + :'data' => :'GetAtsCandidatesCandidateIdAttachmentsPositiveResponseData', + :'warnings' => :'Array' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Kombo::GetAtsCandidatesCandidateIdAttachmentsPositiveResponse` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + acceptable_attribute_map = self.class.acceptable_attribute_map + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!acceptable_attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Kombo::GetAtsCandidatesCandidateIdAttachmentsPositiveResponse`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'status') + self.status = attributes[:'status'] + else + self.status = nil + end + + if attributes.key?(:'data') + self.data = attributes[:'data'] + else + self.data = nil + end + + if attributes.key?(:'warnings') + if (value = attributes[:'warnings']).is_a?(Array) + self.warnings = value + end + else + self.warnings = nil + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + warn '[DEPRECATED] the `list_invalid_properties` method is obsolete' + invalid_properties = Array.new + if @status.nil? + invalid_properties.push('invalid value for "status", status cannot be nil.') + end + + if @data.nil? + invalid_properties.push('invalid value for "data", data cannot be nil.') + end + + if @warnings.nil? + invalid_properties.push('invalid value for "warnings", warnings cannot be nil.') + end + + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + warn '[DEPRECATED] the `valid?` method is obsolete' + return false if @status.nil? + status_validator = EnumAttributeValidator.new('String', ["success"]) + return false unless status_validator.valid?(@status) + return false if @data.nil? + return false if @warnings.nil? + true + end + + # Custom attribute writer method checking allowed values (enum). + # @param [Object] status Object to be assigned + def status=(status) + validator = EnumAttributeValidator.new('String', ["success"]) + unless validator.valid?(status) + fail ArgumentError, "invalid value for \"status\", must be one of #{validator.allowable_values}." + end + @status = status + end + + # Custom attribute writer method with validation + # @param [Object] data Value to be assigned + def data=(data) + if data.nil? + fail ArgumentError, 'data cannot be nil' + end + + @data = data + end + + # Custom attribute writer method with validation + # @param [Object] warnings Value to be assigned + def warnings=(warnings) + if warnings.nil? + fail ArgumentError, 'warnings cannot be nil' + end + + @warnings = warnings + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + status == o.status && + data == o.data && + warnings == o.warnings + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [status, data, warnings].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + transformed_hash = {} + openapi_types.each_pair do |key, type| + if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = nil + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[attribute_map[key]].is_a?(Array) + transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) } + end + elsif !attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]]) + end + end + new(transformed_hash) + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + end + +end diff --git a/lib/kombo_client/models/get_ats_candidates_candidate_id_attachments_positive_response_data.rb b/lib/kombo_client/models/get_ats_candidates_candidate_id_attachments_positive_response_data.rb new file mode 100644 index 0000000..d51b4bc --- /dev/null +++ b/lib/kombo_client/models/get_ats_candidates_candidate_id_attachments_positive_response_data.rb @@ -0,0 +1,166 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.17.0 + +=end + +require 'date' +require 'time' + +module Kombo + class GetAtsCandidatesCandidateIdAttachmentsPositiveResponseData < ApiModelBase + attr_accessor :results + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'results' => :'results' + } + end + + # Returns attribute mapping this model knows about + def self.acceptable_attribute_map + attribute_map + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + acceptable_attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'results' => :'Array' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Kombo::GetAtsCandidatesCandidateIdAttachmentsPositiveResponseData` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + acceptable_attribute_map = self.class.acceptable_attribute_map + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!acceptable_attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Kombo::GetAtsCandidatesCandidateIdAttachmentsPositiveResponseData`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'results') + if (value = attributes[:'results']).is_a?(Array) + self.results = value + end + else + self.results = nil + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + warn '[DEPRECATED] the `list_invalid_properties` method is obsolete' + invalid_properties = Array.new + if @results.nil? + invalid_properties.push('invalid value for "results", results cannot be nil.') + end + + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + warn '[DEPRECATED] the `valid?` method is obsolete' + return false if @results.nil? + true + end + + # Custom attribute writer method with validation + # @param [Object] results Value to be assigned + def results=(results) + if results.nil? + fail ArgumentError, 'results cannot be nil' + end + + @results = results + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + results == o.results + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [results].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + transformed_hash = {} + openapi_types.each_pair do |key, type| + if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = nil + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[attribute_map[key]].is_a?(Array) + transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) } + end + elsif !attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]]) + end + end + new(transformed_hash) + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + end + +end diff --git a/lib/kombo_client/models/get_ats_candidates_candidate_id_attachments_positive_response_data_results_inner.rb b/lib/kombo_client/models/get_ats_candidates_candidate_id_attachments_positive_response_data_results_inner.rb new file mode 100644 index 0000000..5e639b1 --- /dev/null +++ b/lib/kombo_client/models/get_ats_candidates_candidate_id_attachments_positive_response_data_results_inner.rb @@ -0,0 +1,478 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.17.0 + +=end + +require 'date' +require 'time' + +module Kombo + class GetAtsCandidatesCandidateIdAttachmentsPositiveResponseDataResultsInner < ApiModelBase + attr_accessor :id + + # 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. + attr_accessor :application_id + + # The Kombo ID of the candidate this attachment belongs to. + attr_accessor :candidate_id + + attr_accessor :type + + attr_accessor :remote_id + + attr_accessor :data_url + + attr_accessor :file_name + + # The MIME type of the attachment. + attr_accessor :content_type + + # The date when the attachment was created. + attr_accessor :remote_created_at + + # The date when the attachment was last updated. + attr_accessor :remote_updated_at + + class EnumAttributeValidator + attr_reader :datatype + attr_reader :allowable_values + + def initialize(datatype, allowable_values) + @allowable_values = allowable_values.map do |value| + case datatype.to_s + when /Integer/i + value.to_i + when /Float/i + value.to_f + else + value + end + end + end + + def valid?(value) + !value || allowable_values.include?(value) + end + end + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'id' => :'id', + :'application_id' => :'application_id', + :'candidate_id' => :'candidate_id', + :'type' => :'type', + :'remote_id' => :'remote_id', + :'data_url' => :'data_url', + :'file_name' => :'file_name', + :'content_type' => :'content_type', + :'remote_created_at' => :'remote_created_at', + :'remote_updated_at' => :'remote_updated_at' + } + end + + # Returns attribute mapping this model knows about + def self.acceptable_attribute_map + attribute_map + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + acceptable_attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'id' => :'String', + :'application_id' => :'String', + :'candidate_id' => :'String', + :'type' => :'String', + :'remote_id' => :'String', + :'data_url' => :'String', + :'file_name' => :'String', + :'content_type' => :'String', + :'remote_created_at' => :'Time', + :'remote_updated_at' => :'Time' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + :'application_id', + :'remote_created_at', + :'remote_updated_at' + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Kombo::GetAtsCandidatesCandidateIdAttachmentsPositiveResponseDataResultsInner` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + acceptable_attribute_map = self.class.acceptable_attribute_map + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!acceptable_attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Kombo::GetAtsCandidatesCandidateIdAttachmentsPositiveResponseDataResultsInner`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'id') + self.id = attributes[:'id'] + else + self.id = nil + end + + if attributes.key?(:'application_id') + self.application_id = attributes[:'application_id'] + else + self.application_id = nil + end + + if attributes.key?(:'candidate_id') + self.candidate_id = attributes[:'candidate_id'] + else + self.candidate_id = nil + end + + if attributes.key?(:'type') + self.type = attributes[:'type'] + else + self.type = nil + end + + if attributes.key?(:'remote_id') + self.remote_id = attributes[:'remote_id'] + else + self.remote_id = nil + end + + if attributes.key?(:'data_url') + self.data_url = attributes[:'data_url'] + else + self.data_url = nil + end + + if attributes.key?(:'file_name') + self.file_name = attributes[:'file_name'] + else + self.file_name = nil + end + + if attributes.key?(:'content_type') + self.content_type = attributes[:'content_type'] + else + self.content_type = nil + end + + if attributes.key?(:'remote_created_at') + self.remote_created_at = attributes[:'remote_created_at'] + else + self.remote_created_at = nil + end + + if attributes.key?(:'remote_updated_at') + self.remote_updated_at = attributes[:'remote_updated_at'] + else + self.remote_updated_at = nil + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + warn '[DEPRECATED] the `list_invalid_properties` method is obsolete' + invalid_properties = Array.new + if @id.nil? + invalid_properties.push('invalid value for "id", id cannot be nil.') + end + + if @id.to_s.length > 24 + invalid_properties.push('invalid value for "id", the character length must be smaller than or equal to 24.') + end + + if @id.to_s.length < 24 + invalid_properties.push('invalid value for "id", the character length must be greater than or equal to 24.') + end + + pattern = Regexp.new(/^[1-9A-HJ-NP-Za-km-z]+$/) + if @id !~ pattern + invalid_properties.push("invalid value for \"id\", must conform to the pattern #{pattern}.") + end + + if @application_id.to_s.length > 24 + invalid_properties.push('invalid value for "application_id", the character length must be smaller than or equal to 24.') + end + + if @application_id.to_s.length < 24 + invalid_properties.push('invalid value for "application_id", the character length must be greater than or equal to 24.') + end + + pattern = Regexp.new(/^[1-9A-HJ-NP-Za-km-z]+$/) + if @application_id !~ pattern + invalid_properties.push("invalid value for \"application_id\", must conform to the pattern #{pattern}.") + end + + if @candidate_id.nil? + invalid_properties.push('invalid value for "candidate_id", candidate_id cannot be nil.') + end + + if @candidate_id.to_s.length > 24 + invalid_properties.push('invalid value for "candidate_id", the character length must be smaller than or equal to 24.') + end + + if @candidate_id.to_s.length < 24 + invalid_properties.push('invalid value for "candidate_id", the character length must be greater than or equal to 24.') + end + + pattern = Regexp.new(/^[1-9A-HJ-NP-Za-km-z]+$/) + if @candidate_id !~ pattern + invalid_properties.push("invalid value for \"candidate_id\", must conform to the pattern #{pattern}.") + end + + if @type.nil? + invalid_properties.push('invalid value for "type", type cannot be nil.') + end + + if @remote_id.nil? + invalid_properties.push('invalid value for "remote_id", remote_id cannot be nil.') + end + + if @data_url.nil? + invalid_properties.push('invalid value for "data_url", data_url cannot be nil.') + end + + if @file_name.nil? + invalid_properties.push('invalid value for "file_name", file_name cannot be nil.') + end + + if @content_type.nil? + invalid_properties.push('invalid value for "content_type", content_type cannot be nil.') + end + + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + warn '[DEPRECATED] the `valid?` method is obsolete' + return false if @id.nil? + return false if @id.to_s.length > 24 + return false if @id.to_s.length < 24 + return false if @id !~ Regexp.new(/^[1-9A-HJ-NP-Za-km-z]+$/) + return false if @application_id.to_s.length > 24 + return false if @application_id.to_s.length < 24 + return false if @application_id !~ Regexp.new(/^[1-9A-HJ-NP-Za-km-z]+$/) + return false if @candidate_id.nil? + return false if @candidate_id.to_s.length > 24 + return false if @candidate_id.to_s.length < 24 + return false if @candidate_id !~ Regexp.new(/^[1-9A-HJ-NP-Za-km-z]+$/) + return false if @type.nil? + type_validator = EnumAttributeValidator.new('String', ["CV", "COVER_LETTER", "OTHER"]) + return false unless type_validator.valid?(@type) + return false if @remote_id.nil? + return false if @data_url.nil? + return false if @file_name.nil? + return false if @content_type.nil? + true + end + + # Custom attribute writer method with validation + # @param [Object] id Value to be assigned + def id=(id) + if id.nil? + fail ArgumentError, 'id cannot be nil' + end + + if id.to_s.length > 24 + fail ArgumentError, 'invalid value for "id", the character length must be smaller than or equal to 24.' + end + + if id.to_s.length < 24 + fail ArgumentError, 'invalid value for "id", the character length must be greater than or equal to 24.' + end + + pattern = Regexp.new(/^[1-9A-HJ-NP-Za-km-z]+$/) + if id !~ pattern + fail ArgumentError, "invalid value for \"id\", must conform to the pattern #{pattern}." + end + + @id = id + end + + # Custom attribute writer method with validation + # @param [Object] application_id Value to be assigned + def application_id=(application_id) + if !application_id.nil? && application_id.to_s.length > 24 + fail ArgumentError, 'invalid value for "application_id", the character length must be smaller than or equal to 24.' + end + + if !application_id.nil? && application_id.to_s.length < 24 + fail ArgumentError, 'invalid value for "application_id", the character length must be greater than or equal to 24.' + end + + pattern = Regexp.new(/^[1-9A-HJ-NP-Za-km-z]+$/) + if !application_id.nil? && application_id !~ pattern + fail ArgumentError, "invalid value for \"application_id\", must conform to the pattern #{pattern}." + end + + @application_id = application_id + end + + # Custom attribute writer method with validation + # @param [Object] candidate_id Value to be assigned + def candidate_id=(candidate_id) + if candidate_id.nil? + fail ArgumentError, 'candidate_id cannot be nil' + end + + if candidate_id.to_s.length > 24 + fail ArgumentError, 'invalid value for "candidate_id", the character length must be smaller than or equal to 24.' + end + + if candidate_id.to_s.length < 24 + fail ArgumentError, 'invalid value for "candidate_id", the character length must be greater than or equal to 24.' + end + + pattern = Regexp.new(/^[1-9A-HJ-NP-Za-km-z]+$/) + if candidate_id !~ pattern + fail ArgumentError, "invalid value for \"candidate_id\", must conform to the pattern #{pattern}." + end + + @candidate_id = candidate_id + end + + # Custom attribute writer method checking allowed values (enum). + # @param [Object] type Object to be assigned + def type=(type) + validator = EnumAttributeValidator.new('String', ["CV", "COVER_LETTER", "OTHER"]) + unless validator.valid?(type) + fail ArgumentError, "invalid value for \"type\", must be one of #{validator.allowable_values}." + end + @type = type + end + + # Custom attribute writer method with validation + # @param [Object] remote_id Value to be assigned + def remote_id=(remote_id) + if remote_id.nil? + fail ArgumentError, 'remote_id cannot be nil' + end + + @remote_id = remote_id + end + + # Custom attribute writer method with validation + # @param [Object] data_url Value to be assigned + def data_url=(data_url) + if data_url.nil? + fail ArgumentError, 'data_url cannot be nil' + end + + @data_url = data_url + end + + # Custom attribute writer method with validation + # @param [Object] file_name Value to be assigned + def file_name=(file_name) + if file_name.nil? + fail ArgumentError, 'file_name cannot be nil' + end + + @file_name = file_name + end + + # Custom attribute writer method with validation + # @param [Object] content_type Value to be assigned + def content_type=(content_type) + if content_type.nil? + fail ArgumentError, 'content_type cannot be nil' + end + + @content_type = content_type + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + id == o.id && + application_id == o.application_id && + candidate_id == o.candidate_id && + type == o.type && + remote_id == o.remote_id && + data_url == o.data_url && + file_name == o.file_name && + content_type == o.content_type && + remote_created_at == o.remote_created_at && + remote_updated_at == o.remote_updated_at + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [id, application_id, candidate_id, type, remote_id, data_url, file_name, content_type, remote_created_at, remote_updated_at].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + transformed_hash = {} + openapi_types.each_pair do |key, type| + if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = nil + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[attribute_map[key]].is_a?(Array) + transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) } + end + elsif !attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]]) + end + end + new(transformed_hash) + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + end + +end diff --git a/lib/kombo_client/models/get_ats_candidates_parameter_include_deleted.rb b/lib/kombo_client/models/get_ats_candidates_parameter_include_deleted.rb new file mode 100644 index 0000000..044b6e1 --- /dev/null +++ b/lib/kombo_client/models/get_ats_candidates_parameter_include_deleted.rb @@ -0,0 +1,40 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.17.0 + +=end + +require 'date' +require 'time' + +module Kombo + class GetAtsCandidatesParameterIncludeDeleted + TRUE = "true".freeze + FALSE = "false".freeze + + def self.all_vars + @all_vars ||= [TRUE, FALSE].freeze + end + + # Builds the enum from string + # @param [String] The enum value in the form of the string + # @return [String] The enum value + def self.build_from_hash(value) + new.build_from_hash(value) + end + + # Builds the enum from string + # @param [String] The enum value in the form of the string + # @return [String] The enum value + def build_from_hash(value) + return value if GetAtsCandidatesParameterIncludeDeleted.all_vars.include?(value) + raise "Invalid ENUM value #{value} for class #GetAtsCandidatesParameterIncludeDeleted" + end + end +end diff --git a/lib/kombo_client/models/get_ats_candidates_positive_response.rb b/lib/kombo_client/models/get_ats_candidates_positive_response.rb new file mode 100644 index 0000000..340f991 --- /dev/null +++ b/lib/kombo_client/models/get_ats_candidates_positive_response.rb @@ -0,0 +1,214 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.17.0 + +=end + +require 'date' +require 'time' + +module Kombo + class GetAtsCandidatesPositiveResponse < ApiModelBase + attr_accessor :status + + attr_accessor :data + + class EnumAttributeValidator + attr_reader :datatype + attr_reader :allowable_values + + def initialize(datatype, allowable_values) + @allowable_values = allowable_values.map do |value| + case datatype.to_s + when /Integer/i + value.to_i + when /Float/i + value.to_f + else + value + end + end + end + + def valid?(value) + !value || allowable_values.include?(value) + end + end + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'status' => :'status', + :'data' => :'data' + } + end + + # Returns attribute mapping this model knows about + def self.acceptable_attribute_map + attribute_map + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + acceptable_attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'status' => :'String', + :'data' => :'GetAtsCandidatesPositiveResponseData' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Kombo::GetAtsCandidatesPositiveResponse` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + acceptable_attribute_map = self.class.acceptable_attribute_map + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!acceptable_attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Kombo::GetAtsCandidatesPositiveResponse`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'status') + self.status = attributes[:'status'] + else + self.status = nil + end + + if attributes.key?(:'data') + self.data = attributes[:'data'] + else + self.data = nil + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + warn '[DEPRECATED] the `list_invalid_properties` method is obsolete' + invalid_properties = Array.new + if @status.nil? + invalid_properties.push('invalid value for "status", status cannot be nil.') + end + + if @data.nil? + invalid_properties.push('invalid value for "data", data cannot be nil.') + end + + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + warn '[DEPRECATED] the `valid?` method is obsolete' + return false if @status.nil? + status_validator = EnumAttributeValidator.new('String', ["success"]) + return false unless status_validator.valid?(@status) + return false if @data.nil? + true + end + + # Custom attribute writer method checking allowed values (enum). + # @param [Object] status Object to be assigned + def status=(status) + validator = EnumAttributeValidator.new('String', ["success"]) + unless validator.valid?(status) + fail ArgumentError, "invalid value for \"status\", must be one of #{validator.allowable_values}." + end + @status = status + end + + # Custom attribute writer method with validation + # @param [Object] data Value to be assigned + def data=(data) + if data.nil? + fail ArgumentError, 'data cannot be nil' + end + + @data = data + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + status == o.status && + data == o.data + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [status, data].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + transformed_hash = {} + openapi_types.each_pair do |key, type| + if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = nil + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[attribute_map[key]].is_a?(Array) + transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) } + end + elsif !attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]]) + end + end + new(transformed_hash) + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + end + +end diff --git a/lib/kombo_client/models/get_ats_candidates_positive_response_data.rb b/lib/kombo_client/models/get_ats_candidates_positive_response_data.rb new file mode 100644 index 0000000..a0724c5 --- /dev/null +++ b/lib/kombo_client/models/get_ats_candidates_positive_response_data.rb @@ -0,0 +1,179 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.17.0 + +=end + +require 'date' +require 'time' + +module Kombo + class GetAtsCandidatesPositiveResponseData < ApiModelBase + # 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. + attr_accessor :_next + + attr_accessor :results + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'_next' => :'next', + :'results' => :'results' + } + end + + # Returns attribute mapping this model knows about + def self.acceptable_attribute_map + attribute_map + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + acceptable_attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'_next' => :'String', + :'results' => :'Array' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + :'_next', + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Kombo::GetAtsCandidatesPositiveResponseData` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + acceptable_attribute_map = self.class.acceptable_attribute_map + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!acceptable_attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Kombo::GetAtsCandidatesPositiveResponseData`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'_next') + self._next = attributes[:'_next'] + else + self._next = nil + end + + if attributes.key?(:'results') + if (value = attributes[:'results']).is_a?(Array) + self.results = value + end + else + self.results = nil + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + warn '[DEPRECATED] the `list_invalid_properties` method is obsolete' + invalid_properties = Array.new + if @results.nil? + invalid_properties.push('invalid value for "results", results cannot be nil.') + end + + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + warn '[DEPRECATED] the `valid?` method is obsolete' + return false if @results.nil? + true + end + + # Custom attribute writer method with validation + # @param [Object] results Value to be assigned + def results=(results) + if results.nil? + fail ArgumentError, 'results cannot be nil' + end + + @results = results + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + _next == o._next && + results == o.results + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [_next, results].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + transformed_hash = {} + openapi_types.each_pair do |key, type| + if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = nil + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[attribute_map[key]].is_a?(Array) + transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) } + end + elsif !attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]]) + end + end + new(transformed_hash) + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + end + +end diff --git a/lib/kombo_client/models/get_ats_candidates_positive_response_data_results_inner.rb b/lib/kombo_client/models/get_ats_candidates_positive_response_data_results_inner.rb new file mode 100644 index 0000000..1dea157 --- /dev/null +++ b/lib/kombo_client/models/get_ats_candidates_positive_response_data_results_inner.rb @@ -0,0 +1,512 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.17.0 + +=end + +require 'date' +require 'time' + +module Kombo + class GetAtsCandidatesPositiveResponseDataResultsInner < ApiModelBase + # The globally unique ID of this object generated by Kombo. We recommend using this as a stable primary key for syncing. + attr_accessor :id + + # 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. + attr_accessor :remote_id + + # First name of the candidate. + attr_accessor :first_name + + # Last name of the candidate. + attr_accessor :last_name + + # The current company of the candidate. + attr_accessor :company + + # The current job title of the candidate. + attr_accessor :title + + # Whether the candidate’s profile is confidential in the ATS. + attr_accessor :confidential + + # 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. + attr_accessor :source + + # A list of phone numbers of the candidate. + attr_accessor :phone_numbers + + # A list of email addresses of the candidate with an optional type. If an email address is invalid, it will be filtered out. + attr_accessor :email_addresses + + # List of social media accounts of the candidate. + attr_accessor :social_media + + attr_accessor :location + + # A key-value store of fields not covered by the schema. [Read more](/custom-fields) + attr_accessor :custom_fields + + # An array of selected passthrough integration fields. [Read more](/integration-fields) + attr_accessor :integration_fields + + # 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. + attr_accessor :remote_url + + # The date and time the object was created in the remote system. + attr_accessor :remote_created_at + + # A timestamp retrieved from the remote system, describing when the resource was last updated. + attr_accessor :remote_updated_at + + # 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. + attr_accessor :remote_data + + # 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. + attr_accessor :changed_at + + # 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. + attr_accessor :remote_deleted_at + + attr_accessor :applications + + attr_accessor :tags + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'id' => :'id', + :'remote_id' => :'remote_id', + :'first_name' => :'first_name', + :'last_name' => :'last_name', + :'company' => :'company', + :'title' => :'title', + :'confidential' => :'confidential', + :'source' => :'source', + :'phone_numbers' => :'phone_numbers', + :'email_addresses' => :'email_addresses', + :'social_media' => :'social_media', + :'location' => :'location', + :'custom_fields' => :'custom_fields', + :'integration_fields' => :'integration_fields', + :'remote_url' => :'remote_url', + :'remote_created_at' => :'remote_created_at', + :'remote_updated_at' => :'remote_updated_at', + :'remote_data' => :'remote_data', + :'changed_at' => :'changed_at', + :'remote_deleted_at' => :'remote_deleted_at', + :'applications' => :'applications', + :'tags' => :'tags' + } + end + + # Returns attribute mapping this model knows about + def self.acceptable_attribute_map + attribute_map + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + acceptable_attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'id' => :'String', + :'remote_id' => :'String', + :'first_name' => :'String', + :'last_name' => :'String', + :'company' => :'String', + :'title' => :'String', + :'confidential' => :'Boolean', + :'source' => :'String', + :'phone_numbers' => :'Array', + :'email_addresses' => :'Array', + :'social_media' => :'Array', + :'location' => :'GetAtsCandidatesPositiveResponseDataResultsInnerLocation', + :'custom_fields' => :'Hash', + :'integration_fields' => :'Array', + :'remote_url' => :'String', + :'remote_created_at' => :'Time', + :'remote_updated_at' => :'Time', + :'remote_data' => :'Hash', + :'changed_at' => :'Time', + :'remote_deleted_at' => :'Time', + :'applications' => :'Array', + :'tags' => :'Array' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + :'first_name', + :'last_name', + :'company', + :'title', + :'confidential', + :'source', + :'phone_numbers', + :'email_addresses', + :'social_media', + :'custom_fields', + :'remote_url', + :'remote_created_at', + :'remote_updated_at', + :'remote_data', + :'remote_deleted_at', + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Kombo::GetAtsCandidatesPositiveResponseDataResultsInner` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + acceptable_attribute_map = self.class.acceptable_attribute_map + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!acceptable_attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Kombo::GetAtsCandidatesPositiveResponseDataResultsInner`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'id') + self.id = attributes[:'id'] + else + self.id = nil + end + + if attributes.key?(:'remote_id') + self.remote_id = attributes[:'remote_id'] + else + self.remote_id = nil + end + + if attributes.key?(:'first_name') + self.first_name = attributes[:'first_name'] + else + self.first_name = nil + end + + if attributes.key?(:'last_name') + self.last_name = attributes[:'last_name'] + else + self.last_name = nil + end + + if attributes.key?(:'company') + self.company = attributes[:'company'] + else + self.company = nil + end + + if attributes.key?(:'title') + self.title = attributes[:'title'] + else + self.title = nil + end + + if attributes.key?(:'confidential') + self.confidential = attributes[:'confidential'] + else + self.confidential = nil + end + + if attributes.key?(:'source') + self.source = attributes[:'source'] + else + self.source = nil + end + + if attributes.key?(:'phone_numbers') + if (value = attributes[:'phone_numbers']).is_a?(Array) + self.phone_numbers = value + end + end + + if attributes.key?(:'email_addresses') + if (value = attributes[:'email_addresses']).is_a?(Array) + self.email_addresses = value + end + end + + if attributes.key?(:'social_media') + if (value = attributes[:'social_media']).is_a?(Array) + self.social_media = value + end + end + + if attributes.key?(:'location') + self.location = attributes[:'location'] + end + + if attributes.key?(:'custom_fields') + if (value = attributes[:'custom_fields']).is_a?(Hash) + self.custom_fields = value + end + else + self.custom_fields = nil + end + + if attributes.key?(:'integration_fields') + if (value = attributes[:'integration_fields']).is_a?(Array) + self.integration_fields = value + end + else + self.integration_fields = nil + end + + if attributes.key?(:'remote_url') + self.remote_url = attributes[:'remote_url'] + else + self.remote_url = nil + end + + if attributes.key?(:'remote_created_at') + self.remote_created_at = attributes[:'remote_created_at'] + else + self.remote_created_at = nil + end + + if attributes.key?(:'remote_updated_at') + self.remote_updated_at = attributes[:'remote_updated_at'] + else + self.remote_updated_at = nil + end + + if attributes.key?(:'remote_data') + if (value = attributes[:'remote_data']).is_a?(Hash) + self.remote_data = value + end + else + self.remote_data = nil + end + + if attributes.key?(:'changed_at') + self.changed_at = attributes[:'changed_at'] + else + self.changed_at = nil + end + + if attributes.key?(:'remote_deleted_at') + self.remote_deleted_at = attributes[:'remote_deleted_at'] + else + self.remote_deleted_at = nil + end + + if attributes.key?(:'applications') + if (value = attributes[:'applications']).is_a?(Array) + self.applications = value + end + else + self.applications = nil + end + + if attributes.key?(:'tags') + if (value = attributes[:'tags']).is_a?(Array) + self.tags = value + end + else + self.tags = nil + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + warn '[DEPRECATED] the `list_invalid_properties` method is obsolete' + invalid_properties = Array.new + if @id.nil? + invalid_properties.push('invalid value for "id", id cannot be nil.') + end + + if @remote_id.nil? + invalid_properties.push('invalid value for "remote_id", remote_id cannot be nil.') + end + + if @integration_fields.nil? + invalid_properties.push('invalid value for "integration_fields", integration_fields cannot be nil.') + end + + if @changed_at.nil? + invalid_properties.push('invalid value for "changed_at", changed_at cannot be nil.') + end + + if @applications.nil? + invalid_properties.push('invalid value for "applications", applications cannot be nil.') + end + + if @tags.nil? + invalid_properties.push('invalid value for "tags", tags cannot be nil.') + end + + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + warn '[DEPRECATED] the `valid?` method is obsolete' + return false if @id.nil? + return false if @remote_id.nil? + return false if @integration_fields.nil? + return false if @changed_at.nil? + return false if @applications.nil? + return false if @tags.nil? + true + end + + # Custom attribute writer method with validation + # @param [Object] id Value to be assigned + def id=(id) + if id.nil? + fail ArgumentError, 'id cannot be nil' + end + + @id = id + end + + # Custom attribute writer method with validation + # @param [Object] remote_id Value to be assigned + def remote_id=(remote_id) + if remote_id.nil? + fail ArgumentError, 'remote_id cannot be nil' + end + + @remote_id = remote_id + end + + # Custom attribute writer method with validation + # @param [Object] integration_fields Value to be assigned + def integration_fields=(integration_fields) + if integration_fields.nil? + fail ArgumentError, 'integration_fields cannot be nil' + end + + @integration_fields = integration_fields + end + + # Custom attribute writer method with validation + # @param [Object] changed_at Value to be assigned + def changed_at=(changed_at) + if changed_at.nil? + fail ArgumentError, 'changed_at cannot be nil' + end + + @changed_at = changed_at + end + + # Custom attribute writer method with validation + # @param [Object] applications Value to be assigned + def applications=(applications) + if applications.nil? + fail ArgumentError, 'applications cannot be nil' + end + + @applications = applications + end + + # Custom attribute writer method with validation + # @param [Object] tags Value to be assigned + def tags=(tags) + if tags.nil? + fail ArgumentError, 'tags cannot be nil' + end + + @tags = tags + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + id == o.id && + remote_id == o.remote_id && + first_name == o.first_name && + last_name == o.last_name && + company == o.company && + title == o.title && + confidential == o.confidential && + source == o.source && + phone_numbers == o.phone_numbers && + email_addresses == o.email_addresses && + social_media == o.social_media && + location == o.location && + custom_fields == o.custom_fields && + integration_fields == o.integration_fields && + remote_url == o.remote_url && + remote_created_at == o.remote_created_at && + remote_updated_at == o.remote_updated_at && + remote_data == o.remote_data && + changed_at == o.changed_at && + remote_deleted_at == o.remote_deleted_at && + applications == o.applications && + tags == o.tags + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [id, remote_id, first_name, last_name, company, title, confidential, source, phone_numbers, email_addresses, social_media, location, custom_fields, integration_fields, remote_url, remote_created_at, remote_updated_at, remote_data, changed_at, remote_deleted_at, applications, tags].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + transformed_hash = {} + openapi_types.each_pair do |key, type| + if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = nil + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[attribute_map[key]].is_a?(Array) + transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) } + end + elsif !attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]]) + end + end + new(transformed_hash) + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + end + +end diff --git a/lib/kombo_client/models/get_ats_candidates_positive_response_data_results_inner_applications_inner.rb b/lib/kombo_client/models/get_ats_candidates_positive_response_data_results_inner_applications_inner.rb new file mode 100644 index 0000000..c189beb --- /dev/null +++ b/lib/kombo_client/models/get_ats_candidates_positive_response_data_results_inner_applications_inner.rb @@ -0,0 +1,369 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.17.0 + +=end + +require 'date' +require 'time' + +module Kombo + class GetAtsCandidatesPositiveResponseDataResultsInnerApplicationsInner < ApiModelBase + # The globally unique ID of this object generated by Kombo. We recommend using this as a stable primary key for syncing. + attr_accessor :id + + # 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. + attr_accessor :remote_id + + # 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. + attr_accessor :outcome + + # Reason for the rejection of the candidate. + attr_accessor :rejection_reason_name + + # The time that the application was rejected. + attr_accessor :rejected_at + + # 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. + attr_accessor :remote_url + + # 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. + attr_accessor :changed_at + + # The date and time the object was created in the remote system. + attr_accessor :remote_created_at + + # A timestamp retrieved from the remote system, describing when the resource was last updated. + attr_accessor :remote_updated_at + + attr_accessor :current_stage + + attr_accessor :job + + class EnumAttributeValidator + attr_reader :datatype + attr_reader :allowable_values + + def initialize(datatype, allowable_values) + @allowable_values = allowable_values.map do |value| + case datatype.to_s + when /Integer/i + value.to_i + when /Float/i + value.to_f + else + value + end + end + end + + def valid?(value) + !value || allowable_values.include?(value) + end + end + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'id' => :'id', + :'remote_id' => :'remote_id', + :'outcome' => :'outcome', + :'rejection_reason_name' => :'rejection_reason_name', + :'rejected_at' => :'rejected_at', + :'remote_url' => :'remote_url', + :'changed_at' => :'changed_at', + :'remote_created_at' => :'remote_created_at', + :'remote_updated_at' => :'remote_updated_at', + :'current_stage' => :'current_stage', + :'job' => :'job' + } + end + + # Returns attribute mapping this model knows about + def self.acceptable_attribute_map + attribute_map + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + acceptable_attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'id' => :'String', + :'remote_id' => :'String', + :'outcome' => :'String', + :'rejection_reason_name' => :'String', + :'rejected_at' => :'Time', + :'remote_url' => :'String', + :'changed_at' => :'Time', + :'remote_created_at' => :'Time', + :'remote_updated_at' => :'Time', + :'current_stage' => :'GetAtsApplicationsPositiveResponseDataResultsInnerCurrentStage', + :'job' => :'GetAtsApplicationsPositiveResponseDataResultsInnerJob' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + :'remote_id', + :'outcome', + :'rejection_reason_name', + :'rejected_at', + :'remote_url', + :'remote_created_at', + :'remote_updated_at', + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Kombo::GetAtsCandidatesPositiveResponseDataResultsInnerApplicationsInner` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + acceptable_attribute_map = self.class.acceptable_attribute_map + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!acceptable_attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Kombo::GetAtsCandidatesPositiveResponseDataResultsInnerApplicationsInner`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'id') + self.id = attributes[:'id'] + else + self.id = nil + end + + if attributes.key?(:'remote_id') + self.remote_id = attributes[:'remote_id'] + else + self.remote_id = nil + end + + if attributes.key?(:'outcome') + self.outcome = attributes[:'outcome'] + else + self.outcome = nil + end + + if attributes.key?(:'rejection_reason_name') + self.rejection_reason_name = attributes[:'rejection_reason_name'] + else + self.rejection_reason_name = nil + end + + if attributes.key?(:'rejected_at') + self.rejected_at = attributes[:'rejected_at'] + else + self.rejected_at = nil + end + + if attributes.key?(:'remote_url') + self.remote_url = attributes[:'remote_url'] + else + self.remote_url = nil + end + + if attributes.key?(:'changed_at') + self.changed_at = attributes[:'changed_at'] + else + self.changed_at = nil + end + + if attributes.key?(:'remote_created_at') + self.remote_created_at = attributes[:'remote_created_at'] + else + self.remote_created_at = nil + end + + if attributes.key?(:'remote_updated_at') + self.remote_updated_at = attributes[:'remote_updated_at'] + else + self.remote_updated_at = nil + end + + if attributes.key?(:'current_stage') + self.current_stage = attributes[:'current_stage'] + else + self.current_stage = nil + end + + if attributes.key?(:'job') + self.job = attributes[:'job'] + else + self.job = nil + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + warn '[DEPRECATED] the `list_invalid_properties` method is obsolete' + invalid_properties = Array.new + if @id.nil? + invalid_properties.push('invalid value for "id", id cannot be nil.') + end + + if @changed_at.nil? + invalid_properties.push('invalid value for "changed_at", changed_at cannot be nil.') + end + + if @current_stage.nil? + invalid_properties.push('invalid value for "current_stage", current_stage cannot be nil.') + end + + if @job.nil? + invalid_properties.push('invalid value for "job", job cannot be nil.') + end + + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + warn '[DEPRECATED] the `valid?` method is obsolete' + return false if @id.nil? + outcome_validator = EnumAttributeValidator.new('String', ["PENDING", "HIRED", "DECLINED"]) + return false unless outcome_validator.valid?(@outcome) + return false if @changed_at.nil? + return false if @current_stage.nil? + return false if @job.nil? + true + end + + # Custom attribute writer method with validation + # @param [Object] id Value to be assigned + def id=(id) + if id.nil? + fail ArgumentError, 'id cannot be nil' + end + + @id = id + end + + # Custom attribute writer method checking allowed values (enum). + # @param [Object] outcome Object to be assigned + def outcome=(outcome) + validator = EnumAttributeValidator.new('String', ["PENDING", "HIRED", "DECLINED"]) + unless validator.valid?(outcome) + fail ArgumentError, "invalid value for \"outcome\", must be one of #{validator.allowable_values}." + end + @outcome = outcome + end + + # Custom attribute writer method with validation + # @param [Object] changed_at Value to be assigned + def changed_at=(changed_at) + if changed_at.nil? + fail ArgumentError, 'changed_at cannot be nil' + end + + @changed_at = changed_at + end + + # Custom attribute writer method with validation + # @param [Object] current_stage Value to be assigned + def current_stage=(current_stage) + if current_stage.nil? + fail ArgumentError, 'current_stage cannot be nil' + end + + @current_stage = current_stage + end + + # Custom attribute writer method with validation + # @param [Object] job Value to be assigned + def job=(job) + if job.nil? + fail ArgumentError, 'job cannot be nil' + end + + @job = job + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + id == o.id && + remote_id == o.remote_id && + outcome == o.outcome && + rejection_reason_name == o.rejection_reason_name && + rejected_at == o.rejected_at && + remote_url == o.remote_url && + changed_at == o.changed_at && + remote_created_at == o.remote_created_at && + remote_updated_at == o.remote_updated_at && + current_stage == o.current_stage && + job == o.job + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [id, remote_id, outcome, rejection_reason_name, rejected_at, remote_url, changed_at, remote_created_at, remote_updated_at, current_stage, job].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + transformed_hash = {} + openapi_types.each_pair do |key, type| + if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = nil + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[attribute_map[key]].is_a?(Array) + transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) } + end + elsif !attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]]) + end + end + new(transformed_hash) + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + end + +end diff --git a/lib/kombo_client/models/get_ats_candidates_positive_response_data_results_inner_location.rb b/lib/kombo_client/models/get_ats_candidates_positive_response_data_results_inner_location.rb new file mode 100644 index 0000000..09c8f4e --- /dev/null +++ b/lib/kombo_client/models/get_ats_candidates_positive_response_data_results_inner_location.rb @@ -0,0 +1,212 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.17.0 + +=end + +require 'date' +require 'time' + +module Kombo + # Location of the candidate. + class GetAtsCandidatesPositiveResponseDataResultsInnerLocation < ApiModelBase + attr_accessor :city + + # Contains the ISO2 country code if possible. If not, it contains the original value. + attr_accessor :country + + # If we have address data, this is filled with the raw address string. + attr_accessor :raw + + attr_accessor :state + + # If we can parse the address data, this field contains the first part of the street information. + attr_accessor :street_1 + + attr_accessor :street_2 + + attr_accessor :zip_code + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'city' => :'city', + :'country' => :'country', + :'raw' => :'raw', + :'state' => :'state', + :'street_1' => :'street_1', + :'street_2' => :'street_2', + :'zip_code' => :'zip_code' + } + end + + # Returns attribute mapping this model knows about + def self.acceptable_attribute_map + attribute_map + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + acceptable_attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'city' => :'String', + :'country' => :'String', + :'raw' => :'String', + :'state' => :'String', + :'street_1' => :'String', + :'street_2' => :'String', + :'zip_code' => :'String' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + :'city', + :'country', + :'raw', + :'state', + :'street_1', + :'street_2', + :'zip_code' + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Kombo::GetAtsCandidatesPositiveResponseDataResultsInnerLocation` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + acceptable_attribute_map = self.class.acceptable_attribute_map + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!acceptable_attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Kombo::GetAtsCandidatesPositiveResponseDataResultsInnerLocation`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'city') + self.city = attributes[:'city'] + end + + if attributes.key?(:'country') + self.country = attributes[:'country'] + end + + if attributes.key?(:'raw') + self.raw = attributes[:'raw'] + end + + if attributes.key?(:'state') + self.state = attributes[:'state'] + end + + if attributes.key?(:'street_1') + self.street_1 = attributes[:'street_1'] + end + + if attributes.key?(:'street_2') + self.street_2 = attributes[:'street_2'] + end + + if attributes.key?(:'zip_code') + self.zip_code = attributes[:'zip_code'] + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + warn '[DEPRECATED] the `list_invalid_properties` method is obsolete' + invalid_properties = Array.new + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + warn '[DEPRECATED] the `valid?` method is obsolete' + true + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + city == o.city && + country == o.country && + raw == o.raw && + state == o.state && + street_1 == o.street_1 && + street_2 == o.street_2 && + zip_code == o.zip_code + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [city, country, raw, state, street_1, street_2, zip_code].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + transformed_hash = {} + openapi_types.each_pair do |key, type| + if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = nil + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[attribute_map[key]].is_a?(Array) + transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) } + end + elsif !attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]]) + end + end + new(transformed_hash) + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + end + +end diff --git a/lib/kombo_client/models/get_ats_interviews_parameter_include_deleted.rb b/lib/kombo_client/models/get_ats_interviews_parameter_include_deleted.rb new file mode 100644 index 0000000..5a9ef4b --- /dev/null +++ b/lib/kombo_client/models/get_ats_interviews_parameter_include_deleted.rb @@ -0,0 +1,40 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.17.0 + +=end + +require 'date' +require 'time' + +module Kombo + class GetAtsInterviewsParameterIncludeDeleted + TRUE = "true".freeze + FALSE = "false".freeze + + def self.all_vars + @all_vars ||= [TRUE, FALSE].freeze + end + + # Builds the enum from string + # @param [String] The enum value in the form of the string + # @return [String] The enum value + def self.build_from_hash(value) + new.build_from_hash(value) + end + + # Builds the enum from string + # @param [String] The enum value in the form of the string + # @return [String] The enum value + def build_from_hash(value) + return value if GetAtsInterviewsParameterIncludeDeleted.all_vars.include?(value) + raise "Invalid ENUM value #{value} for class #GetAtsInterviewsParameterIncludeDeleted" + end + end +end diff --git a/lib/kombo_client/models/get_ats_interviews_positive_response.rb b/lib/kombo_client/models/get_ats_interviews_positive_response.rb new file mode 100644 index 0000000..873d77c --- /dev/null +++ b/lib/kombo_client/models/get_ats_interviews_positive_response.rb @@ -0,0 +1,214 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.17.0 + +=end + +require 'date' +require 'time' + +module Kombo + class GetAtsInterviewsPositiveResponse < ApiModelBase + attr_accessor :status + + attr_accessor :data + + class EnumAttributeValidator + attr_reader :datatype + attr_reader :allowable_values + + def initialize(datatype, allowable_values) + @allowable_values = allowable_values.map do |value| + case datatype.to_s + when /Integer/i + value.to_i + when /Float/i + value.to_f + else + value + end + end + end + + def valid?(value) + !value || allowable_values.include?(value) + end + end + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'status' => :'status', + :'data' => :'data' + } + end + + # Returns attribute mapping this model knows about + def self.acceptable_attribute_map + attribute_map + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + acceptable_attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'status' => :'String', + :'data' => :'GetAtsInterviewsPositiveResponseData' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Kombo::GetAtsInterviewsPositiveResponse` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + acceptable_attribute_map = self.class.acceptable_attribute_map + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!acceptable_attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Kombo::GetAtsInterviewsPositiveResponse`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'status') + self.status = attributes[:'status'] + else + self.status = nil + end + + if attributes.key?(:'data') + self.data = attributes[:'data'] + else + self.data = nil + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + warn '[DEPRECATED] the `list_invalid_properties` method is obsolete' + invalid_properties = Array.new + if @status.nil? + invalid_properties.push('invalid value for "status", status cannot be nil.') + end + + if @data.nil? + invalid_properties.push('invalid value for "data", data cannot be nil.') + end + + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + warn '[DEPRECATED] the `valid?` method is obsolete' + return false if @status.nil? + status_validator = EnumAttributeValidator.new('String', ["success"]) + return false unless status_validator.valid?(@status) + return false if @data.nil? + true + end + + # Custom attribute writer method checking allowed values (enum). + # @param [Object] status Object to be assigned + def status=(status) + validator = EnumAttributeValidator.new('String', ["success"]) + unless validator.valid?(status) + fail ArgumentError, "invalid value for \"status\", must be one of #{validator.allowable_values}." + end + @status = status + end + + # Custom attribute writer method with validation + # @param [Object] data Value to be assigned + def data=(data) + if data.nil? + fail ArgumentError, 'data cannot be nil' + end + + @data = data + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + status == o.status && + data == o.data + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [status, data].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + transformed_hash = {} + openapi_types.each_pair do |key, type| + if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = nil + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[attribute_map[key]].is_a?(Array) + transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) } + end + elsif !attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]]) + end + end + new(transformed_hash) + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + end + +end diff --git a/lib/kombo_client/models/get_ats_interviews_positive_response_data.rb b/lib/kombo_client/models/get_ats_interviews_positive_response_data.rb new file mode 100644 index 0000000..2f921e6 --- /dev/null +++ b/lib/kombo_client/models/get_ats_interviews_positive_response_data.rb @@ -0,0 +1,179 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.17.0 + +=end + +require 'date' +require 'time' + +module Kombo + class GetAtsInterviewsPositiveResponseData < ApiModelBase + # 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. + attr_accessor :_next + + attr_accessor :results + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'_next' => :'next', + :'results' => :'results' + } + end + + # Returns attribute mapping this model knows about + def self.acceptable_attribute_map + attribute_map + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + acceptable_attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'_next' => :'String', + :'results' => :'Array' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + :'_next', + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Kombo::GetAtsInterviewsPositiveResponseData` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + acceptable_attribute_map = self.class.acceptable_attribute_map + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!acceptable_attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Kombo::GetAtsInterviewsPositiveResponseData`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'_next') + self._next = attributes[:'_next'] + else + self._next = nil + end + + if attributes.key?(:'results') + if (value = attributes[:'results']).is_a?(Array) + self.results = value + end + else + self.results = nil + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + warn '[DEPRECATED] the `list_invalid_properties` method is obsolete' + invalid_properties = Array.new + if @results.nil? + invalid_properties.push('invalid value for "results", results cannot be nil.') + end + + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + warn '[DEPRECATED] the `valid?` method is obsolete' + return false if @results.nil? + true + end + + # Custom attribute writer method with validation + # @param [Object] results Value to be assigned + def results=(results) + if results.nil? + fail ArgumentError, 'results cannot be nil' + end + + @results = results + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + _next == o._next && + results == o.results + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [_next, results].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + transformed_hash = {} + openapi_types.each_pair do |key, type| + if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = nil + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[attribute_map[key]].is_a?(Array) + transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) } + end + elsif !attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]]) + end + end + new(transformed_hash) + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + end + +end diff --git a/lib/kombo_client/models/get_ats_interviews_positive_response_data_results_inner.rb b/lib/kombo_client/models/get_ats_interviews_positive_response_data_results_inner.rb new file mode 100644 index 0000000..d34b86e --- /dev/null +++ b/lib/kombo_client/models/get_ats_interviews_positive_response_data_results_inner.rb @@ -0,0 +1,400 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.17.0 + +=end + +require 'date' +require 'time' + +module Kombo + class GetAtsInterviewsPositiveResponseDataResultsInner < ApiModelBase + # The globally unique ID of this object generated by Kombo. We recommend using this as a stable primary key for syncing. + attr_accessor :id + + # 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. + attr_accessor :remote_id + + # The title of the interview. + attr_accessor :title + + # The start time of the interview. + attr_accessor :starting_at + + # The end time of the interview. + attr_accessor :ending_at + + attr_accessor :location + + # The Kombo ID of the application this interview belongs to. The ID can be used to retrieve the application from the `get applications` endpoint. + attr_accessor :application_id + + # 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. + attr_accessor :stage_id + + # Whether the interview was canceled or not. If we have no information, this field will be `null`. + attr_accessor :canceled + + # The date and time the object was created in the remote system. + attr_accessor :remote_created_at + + # A timestamp retrieved from the remote system, describing when the resource was last updated. + attr_accessor :remote_updated_at + + # 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. + attr_accessor :remote_data + + # 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. + attr_accessor :changed_at + + # 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. + attr_accessor :remote_deleted_at + + attr_accessor :users + + attr_accessor :application + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'id' => :'id', + :'remote_id' => :'remote_id', + :'title' => :'title', + :'starting_at' => :'starting_at', + :'ending_at' => :'ending_at', + :'location' => :'location', + :'application_id' => :'application_id', + :'stage_id' => :'stage_id', + :'canceled' => :'canceled', + :'remote_created_at' => :'remote_created_at', + :'remote_updated_at' => :'remote_updated_at', + :'remote_data' => :'remote_data', + :'changed_at' => :'changed_at', + :'remote_deleted_at' => :'remote_deleted_at', + :'users' => :'users', + :'application' => :'application' + } + end + + # Returns attribute mapping this model knows about + def self.acceptable_attribute_map + attribute_map + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + acceptable_attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'id' => :'String', + :'remote_id' => :'String', + :'title' => :'String', + :'starting_at' => :'Time', + :'ending_at' => :'Time', + :'location' => :'GetAtsApplicationsPositiveResponseDataResultsInnerInterviewsInnerLocation', + :'application_id' => :'String', + :'stage_id' => :'String', + :'canceled' => :'Boolean', + :'remote_created_at' => :'Time', + :'remote_updated_at' => :'Time', + :'remote_data' => :'Hash', + :'changed_at' => :'Time', + :'remote_deleted_at' => :'Time', + :'users' => :'Array', + :'application' => :'GetAtsInterviewsPositiveResponseDataResultsInnerApplication' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + :'remote_id', + :'title', + :'starting_at', + :'ending_at', + :'application_id', + :'stage_id', + :'canceled', + :'remote_created_at', + :'remote_updated_at', + :'remote_data', + :'remote_deleted_at', + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Kombo::GetAtsInterviewsPositiveResponseDataResultsInner` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + acceptable_attribute_map = self.class.acceptable_attribute_map + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!acceptable_attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Kombo::GetAtsInterviewsPositiveResponseDataResultsInner`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'id') + self.id = attributes[:'id'] + else + self.id = nil + end + + if attributes.key?(:'remote_id') + self.remote_id = attributes[:'remote_id'] + else + self.remote_id = nil + end + + if attributes.key?(:'title') + self.title = attributes[:'title'] + else + self.title = nil + end + + if attributes.key?(:'starting_at') + self.starting_at = attributes[:'starting_at'] + else + self.starting_at = nil + end + + if attributes.key?(:'ending_at') + self.ending_at = attributes[:'ending_at'] + else + self.ending_at = nil + end + + if attributes.key?(:'location') + self.location = attributes[:'location'] + end + + if attributes.key?(:'application_id') + self.application_id = attributes[:'application_id'] + else + self.application_id = nil + end + + if attributes.key?(:'stage_id') + self.stage_id = attributes[:'stage_id'] + else + self.stage_id = nil + end + + if attributes.key?(:'canceled') + self.canceled = attributes[:'canceled'] + else + self.canceled = nil + end + + if attributes.key?(:'remote_created_at') + self.remote_created_at = attributes[:'remote_created_at'] + else + self.remote_created_at = nil + end + + if attributes.key?(:'remote_updated_at') + self.remote_updated_at = attributes[:'remote_updated_at'] + else + self.remote_updated_at = nil + end + + if attributes.key?(:'remote_data') + if (value = attributes[:'remote_data']).is_a?(Hash) + self.remote_data = value + end + else + self.remote_data = nil + end + + if attributes.key?(:'changed_at') + self.changed_at = attributes[:'changed_at'] + else + self.changed_at = nil + end + + if attributes.key?(:'remote_deleted_at') + self.remote_deleted_at = attributes[:'remote_deleted_at'] + else + self.remote_deleted_at = nil + end + + if attributes.key?(:'users') + if (value = attributes[:'users']).is_a?(Array) + self.users = value + end + else + self.users = nil + end + + if attributes.key?(:'application') + self.application = attributes[:'application'] + else + self.application = nil + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + warn '[DEPRECATED] the `list_invalid_properties` method is obsolete' + invalid_properties = Array.new + if @id.nil? + invalid_properties.push('invalid value for "id", id cannot be nil.') + end + + if @changed_at.nil? + invalid_properties.push('invalid value for "changed_at", changed_at cannot be nil.') + end + + if @users.nil? + invalid_properties.push('invalid value for "users", users cannot be nil.') + end + + if @application.nil? + invalid_properties.push('invalid value for "application", application cannot be nil.') + end + + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + warn '[DEPRECATED] the `valid?` method is obsolete' + return false if @id.nil? + return false if @changed_at.nil? + return false if @users.nil? + return false if @application.nil? + true + end + + # Custom attribute writer method with validation + # @param [Object] id Value to be assigned + def id=(id) + if id.nil? + fail ArgumentError, 'id cannot be nil' + end + + @id = id + end + + # Custom attribute writer method with validation + # @param [Object] changed_at Value to be assigned + def changed_at=(changed_at) + if changed_at.nil? + fail ArgumentError, 'changed_at cannot be nil' + end + + @changed_at = changed_at + end + + # Custom attribute writer method with validation + # @param [Object] users Value to be assigned + def users=(users) + if users.nil? + fail ArgumentError, 'users cannot be nil' + end + + @users = users + end + + # Custom attribute writer method with validation + # @param [Object] application Value to be assigned + def application=(application) + if application.nil? + fail ArgumentError, 'application cannot be nil' + end + + @application = application + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + id == o.id && + remote_id == o.remote_id && + title == o.title && + starting_at == o.starting_at && + ending_at == o.ending_at && + location == o.location && + application_id == o.application_id && + stage_id == o.stage_id && + canceled == o.canceled && + remote_created_at == o.remote_created_at && + remote_updated_at == o.remote_updated_at && + remote_data == o.remote_data && + changed_at == o.changed_at && + remote_deleted_at == o.remote_deleted_at && + users == o.users && + application == o.application + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [id, remote_id, title, starting_at, ending_at, location, application_id, stage_id, canceled, remote_created_at, remote_updated_at, remote_data, changed_at, remote_deleted_at, users, application].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + transformed_hash = {} + openapi_types.each_pair do |key, type| + if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = nil + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[attribute_map[key]].is_a?(Array) + transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) } + end + elsif !attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]]) + end + end + new(transformed_hash) + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + end + +end diff --git a/lib/kombo_client/models/get_ats_interviews_positive_response_data_results_inner_application.rb b/lib/kombo_client/models/get_ats_interviews_positive_response_data_results_inner_application.rb new file mode 100644 index 0000000..d89957b --- /dev/null +++ b/lib/kombo_client/models/get_ats_interviews_positive_response_data_results_inner_application.rb @@ -0,0 +1,290 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.17.0 + +=end + +require 'date' +require 'time' + +module Kombo + class GetAtsInterviewsPositiveResponseDataResultsInnerApplication < ApiModelBase + # The globally unique ID of this object generated by Kombo. We recommend using this as a stable primary key for syncing. + attr_accessor :id + + # 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. + attr_accessor :remote_id + + # 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. + attr_accessor :outcome + + # Reason for the rejection of the candidate. + attr_accessor :rejection_reason_name + + attr_accessor :candidate + + attr_accessor :job + + class EnumAttributeValidator + attr_reader :datatype + attr_reader :allowable_values + + def initialize(datatype, allowable_values) + @allowable_values = allowable_values.map do |value| + case datatype.to_s + when /Integer/i + value.to_i + when /Float/i + value.to_f + else + value + end + end + end + + def valid?(value) + !value || allowable_values.include?(value) + end + end + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'id' => :'id', + :'remote_id' => :'remote_id', + :'outcome' => :'outcome', + :'rejection_reason_name' => :'rejection_reason_name', + :'candidate' => :'candidate', + :'job' => :'job' + } + end + + # Returns attribute mapping this model knows about + def self.acceptable_attribute_map + attribute_map + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + acceptable_attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'id' => :'String', + :'remote_id' => :'String', + :'outcome' => :'String', + :'rejection_reason_name' => :'String', + :'candidate' => :'GetAtsOffersPositiveResponseDataResultsInnerApplicationCandidate', + :'job' => :'GetAtsApplicationsPositiveResponseDataResultsInnerJob' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + :'remote_id', + :'outcome', + :'rejection_reason_name', + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Kombo::GetAtsInterviewsPositiveResponseDataResultsInnerApplication` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + acceptable_attribute_map = self.class.acceptable_attribute_map + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!acceptable_attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Kombo::GetAtsInterviewsPositiveResponseDataResultsInnerApplication`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'id') + self.id = attributes[:'id'] + else + self.id = nil + end + + if attributes.key?(:'remote_id') + self.remote_id = attributes[:'remote_id'] + else + self.remote_id = nil + end + + if attributes.key?(:'outcome') + self.outcome = attributes[:'outcome'] + else + self.outcome = nil + end + + if attributes.key?(:'rejection_reason_name') + self.rejection_reason_name = attributes[:'rejection_reason_name'] + else + self.rejection_reason_name = nil + end + + if attributes.key?(:'candidate') + self.candidate = attributes[:'candidate'] + else + self.candidate = nil + end + + if attributes.key?(:'job') + self.job = attributes[:'job'] + else + self.job = nil + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + warn '[DEPRECATED] the `list_invalid_properties` method is obsolete' + invalid_properties = Array.new + if @id.nil? + invalid_properties.push('invalid value for "id", id cannot be nil.') + end + + if @candidate.nil? + invalid_properties.push('invalid value for "candidate", candidate cannot be nil.') + end + + if @job.nil? + invalid_properties.push('invalid value for "job", job cannot be nil.') + end + + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + warn '[DEPRECATED] the `valid?` method is obsolete' + return false if @id.nil? + outcome_validator = EnumAttributeValidator.new('String', ["PENDING", "HIRED", "DECLINED"]) + return false unless outcome_validator.valid?(@outcome) + return false if @candidate.nil? + return false if @job.nil? + true + end + + # Custom attribute writer method with validation + # @param [Object] id Value to be assigned + def id=(id) + if id.nil? + fail ArgumentError, 'id cannot be nil' + end + + @id = id + end + + # Custom attribute writer method checking allowed values (enum). + # @param [Object] outcome Object to be assigned + def outcome=(outcome) + validator = EnumAttributeValidator.new('String', ["PENDING", "HIRED", "DECLINED"]) + unless validator.valid?(outcome) + fail ArgumentError, "invalid value for \"outcome\", must be one of #{validator.allowable_values}." + end + @outcome = outcome + end + + # Custom attribute writer method with validation + # @param [Object] candidate Value to be assigned + def candidate=(candidate) + if candidate.nil? + fail ArgumentError, 'candidate cannot be nil' + end + + @candidate = candidate + end + + # Custom attribute writer method with validation + # @param [Object] job Value to be assigned + def job=(job) + if job.nil? + fail ArgumentError, 'job cannot be nil' + end + + @job = job + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + id == o.id && + remote_id == o.remote_id && + outcome == o.outcome && + rejection_reason_name == o.rejection_reason_name && + candidate == o.candidate && + job == o.job + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [id, remote_id, outcome, rejection_reason_name, candidate, job].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + transformed_hash = {} + openapi_types.each_pair do |key, type| + if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = nil + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[attribute_map[key]].is_a?(Array) + transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) } + end + elsif !attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]]) + end + end + new(transformed_hash) + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + end + +end diff --git a/lib/kombo_client/models/get_ats_interviews_positive_response_data_results_inner_users_inner.rb b/lib/kombo_client/models/get_ats_interviews_positive_response_data_results_inner_users_inner.rb new file mode 100644 index 0000000..31b4d28 --- /dev/null +++ b/lib/kombo_client/models/get_ats_interviews_positive_response_data_results_inner_users_inner.rb @@ -0,0 +1,232 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.17.0 + +=end + +require 'date' +require 'time' + +module Kombo + class GetAtsInterviewsPositiveResponseDataResultsInnerUsersInner < ApiModelBase + # The globally unique ID of this object generated by Kombo. We recommend using this as a stable primary key for syncing. + attr_accessor :id + + # 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. + attr_accessor :remote_id + + # First name of the user. + attr_accessor :first_name + + # Last name of the user. + attr_accessor :last_name + + # Email of the user. If the email address is invalid, it will be set to null. + attr_accessor :email + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'id' => :'id', + :'remote_id' => :'remote_id', + :'first_name' => :'first_name', + :'last_name' => :'last_name', + :'email' => :'email' + } + end + + # Returns attribute mapping this model knows about + def self.acceptable_attribute_map + attribute_map + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + acceptable_attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'id' => :'String', + :'remote_id' => :'String', + :'first_name' => :'String', + :'last_name' => :'String', + :'email' => :'String' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + :'remote_id', + :'first_name', + :'last_name', + :'email' + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Kombo::GetAtsInterviewsPositiveResponseDataResultsInnerUsersInner` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + acceptable_attribute_map = self.class.acceptable_attribute_map + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!acceptable_attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Kombo::GetAtsInterviewsPositiveResponseDataResultsInnerUsersInner`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'id') + self.id = attributes[:'id'] + else + self.id = nil + end + + if attributes.key?(:'remote_id') + self.remote_id = attributes[:'remote_id'] + else + self.remote_id = nil + end + + if attributes.key?(:'first_name') + self.first_name = attributes[:'first_name'] + else + self.first_name = nil + end + + if attributes.key?(:'last_name') + self.last_name = attributes[:'last_name'] + else + self.last_name = nil + end + + if attributes.key?(:'email') + self.email = attributes[:'email'] + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + warn '[DEPRECATED] the `list_invalid_properties` method is obsolete' + invalid_properties = Array.new + if @id.nil? + invalid_properties.push('invalid value for "id", id cannot be nil.') + end + + pattern = Regexp.new(/^(?!\.)(?!.*\.\.)([\w'+-.]*)[\w+-]@([\da-z][\da-z-]*\.)+[a-z]{2,}$/) + if !@email.nil? && @email !~ pattern + invalid_properties.push("invalid value for \"email\", must conform to the pattern #{pattern}.") + end + + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + warn '[DEPRECATED] the `valid?` method is obsolete' + return false if @id.nil? + return false if !@email.nil? && @email !~ Regexp.new(/^(?!\.)(?!.*\.\.)([\w'+-.]*)[\w+-]@([\da-z][\da-z-]*\.)+[a-z]{2,}$/) + true + end + + # Custom attribute writer method with validation + # @param [Object] id Value to be assigned + def id=(id) + if id.nil? + fail ArgumentError, 'id cannot be nil' + end + + @id = id + end + + # Custom attribute writer method with validation + # @param [Object] email Value to be assigned + def email=(email) + pattern = Regexp.new(/^(?!\.)(?!.*\.\.)([\w'+-.]*)[\w+-]@([\da-z][\da-z-]*\.)+[a-z]{2,}$/) + if !email.nil? && email !~ pattern + fail ArgumentError, "invalid value for \"email\", must conform to the pattern #{pattern}." + end + + @email = email + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + id == o.id && + remote_id == o.remote_id && + first_name == o.first_name && + last_name == o.last_name && + email == o.email + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [id, remote_id, first_name, last_name, email].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + transformed_hash = {} + openapi_types.each_pair do |key, type| + if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = nil + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[attribute_map[key]].is_a?(Array) + transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) } + end + elsif !attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]]) + end + end + new(transformed_hash) + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + end + +end diff --git a/lib/kombo_client/models/get_ats_jobs_parameter_include_deleted.rb b/lib/kombo_client/models/get_ats_jobs_parameter_include_deleted.rb new file mode 100644 index 0000000..0f53a67 --- /dev/null +++ b/lib/kombo_client/models/get_ats_jobs_parameter_include_deleted.rb @@ -0,0 +1,40 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.17.0 + +=end + +require 'date' +require 'time' + +module Kombo + class GetAtsJobsParameterIncludeDeleted + TRUE = "true".freeze + FALSE = "false".freeze + + def self.all_vars + @all_vars ||= [TRUE, FALSE].freeze + end + + # Builds the enum from string + # @param [String] The enum value in the form of the string + # @return [String] The enum value + def self.build_from_hash(value) + new.build_from_hash(value) + end + + # Builds the enum from string + # @param [String] The enum value in the form of the string + # @return [String] The enum value + def build_from_hash(value) + return value if GetAtsJobsParameterIncludeDeleted.all_vars.include?(value) + raise "Invalid ENUM value #{value} for class #GetAtsJobsParameterIncludeDeleted" + end + end +end diff --git a/lib/kombo_client/models/get_ats_jobs_parameter_status.rb b/lib/kombo_client/models/get_ats_jobs_parameter_status.rb new file mode 100644 index 0000000..e3b0c9b --- /dev/null +++ b/lib/kombo_client/models/get_ats_jobs_parameter_status.rb @@ -0,0 +1,42 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.17.0 + +=end + +require 'date' +require 'time' + +module Kombo + class GetAtsJobsParameterStatus + OPEN = "OPEN".freeze + CLOSED = "CLOSED".freeze + DRAFT = "DRAFT".freeze + ARCHIVED = "ARCHIVED".freeze + + def self.all_vars + @all_vars ||= [OPEN, CLOSED, DRAFT, ARCHIVED].freeze + end + + # Builds the enum from string + # @param [String] The enum value in the form of the string + # @return [String] The enum value + def self.build_from_hash(value) + new.build_from_hash(value) + end + + # Builds the enum from string + # @param [String] The enum value in the form of the string + # @return [String] The enum value + def build_from_hash(value) + return value if GetAtsJobsParameterStatus.all_vars.include?(value) + raise "Invalid ENUM value #{value} for class #GetAtsJobsParameterStatus" + end + end +end diff --git a/lib/kombo_client/models/get_ats_jobs_positive_response.rb b/lib/kombo_client/models/get_ats_jobs_positive_response.rb new file mode 100644 index 0000000..4eb8c5e --- /dev/null +++ b/lib/kombo_client/models/get_ats_jobs_positive_response.rb @@ -0,0 +1,214 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.17.0 + +=end + +require 'date' +require 'time' + +module Kombo + class GetAtsJobsPositiveResponse < ApiModelBase + attr_accessor :status + + attr_accessor :data + + class EnumAttributeValidator + attr_reader :datatype + attr_reader :allowable_values + + def initialize(datatype, allowable_values) + @allowable_values = allowable_values.map do |value| + case datatype.to_s + when /Integer/i + value.to_i + when /Float/i + value.to_f + else + value + end + end + end + + def valid?(value) + !value || allowable_values.include?(value) + end + end + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'status' => :'status', + :'data' => :'data' + } + end + + # Returns attribute mapping this model knows about + def self.acceptable_attribute_map + attribute_map + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + acceptable_attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'status' => :'String', + :'data' => :'GetAtsJobsPositiveResponseData' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Kombo::GetAtsJobsPositiveResponse` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + acceptable_attribute_map = self.class.acceptable_attribute_map + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!acceptable_attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Kombo::GetAtsJobsPositiveResponse`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'status') + self.status = attributes[:'status'] + else + self.status = nil + end + + if attributes.key?(:'data') + self.data = attributes[:'data'] + else + self.data = nil + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + warn '[DEPRECATED] the `list_invalid_properties` method is obsolete' + invalid_properties = Array.new + if @status.nil? + invalid_properties.push('invalid value for "status", status cannot be nil.') + end + + if @data.nil? + invalid_properties.push('invalid value for "data", data cannot be nil.') + end + + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + warn '[DEPRECATED] the `valid?` method is obsolete' + return false if @status.nil? + status_validator = EnumAttributeValidator.new('String', ["success"]) + return false unless status_validator.valid?(@status) + return false if @data.nil? + true + end + + # Custom attribute writer method checking allowed values (enum). + # @param [Object] status Object to be assigned + def status=(status) + validator = EnumAttributeValidator.new('String', ["success"]) + unless validator.valid?(status) + fail ArgumentError, "invalid value for \"status\", must be one of #{validator.allowable_values}." + end + @status = status + end + + # Custom attribute writer method with validation + # @param [Object] data Value to be assigned + def data=(data) + if data.nil? + fail ArgumentError, 'data cannot be nil' + end + + @data = data + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + status == o.status && + data == o.data + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [status, data].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + transformed_hash = {} + openapi_types.each_pair do |key, type| + if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = nil + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[attribute_map[key]].is_a?(Array) + transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) } + end + elsif !attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]]) + end + end + new(transformed_hash) + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + end + +end diff --git a/lib/kombo_client/models/get_ats_jobs_positive_response_data.rb b/lib/kombo_client/models/get_ats_jobs_positive_response_data.rb new file mode 100644 index 0000000..3387477 --- /dev/null +++ b/lib/kombo_client/models/get_ats_jobs_positive_response_data.rb @@ -0,0 +1,179 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.17.0 + +=end + +require 'date' +require 'time' + +module Kombo + class GetAtsJobsPositiveResponseData < ApiModelBase + # 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. + attr_accessor :_next + + attr_accessor :results + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'_next' => :'next', + :'results' => :'results' + } + end + + # Returns attribute mapping this model knows about + def self.acceptable_attribute_map + attribute_map + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + acceptable_attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'_next' => :'String', + :'results' => :'Array' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + :'_next', + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Kombo::GetAtsJobsPositiveResponseData` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + acceptable_attribute_map = self.class.acceptable_attribute_map + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!acceptable_attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Kombo::GetAtsJobsPositiveResponseData`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'_next') + self._next = attributes[:'_next'] + else + self._next = nil + end + + if attributes.key?(:'results') + if (value = attributes[:'results']).is_a?(Array) + self.results = value + end + else + self.results = nil + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + warn '[DEPRECATED] the `list_invalid_properties` method is obsolete' + invalid_properties = Array.new + if @results.nil? + invalid_properties.push('invalid value for "results", results cannot be nil.') + end + + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + warn '[DEPRECATED] the `valid?` method is obsolete' + return false if @results.nil? + true + end + + # Custom attribute writer method with validation + # @param [Object] results Value to be assigned + def results=(results) + if results.nil? + fail ArgumentError, 'results cannot be nil' + end + + @results = results + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + _next == o._next && + results == o.results + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [_next, results].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + transformed_hash = {} + openapi_types.each_pair do |key, type| + if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = nil + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[attribute_map[key]].is_a?(Array) + transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) } + end + elsif !attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]]) + end + end + new(transformed_hash) + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + end + +end diff --git a/lib/kombo_client/models/get_ats_jobs_positive_response_data_results_inner.rb b/lib/kombo_client/models/get_ats_jobs_positive_response_data_results_inner.rb new file mode 100644 index 0000000..14ee081 --- /dev/null +++ b/lib/kombo_client/models/get_ats_jobs_positive_response_data_results_inner.rb @@ -0,0 +1,771 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.17.0 + +=end + +require 'date' +require 'time' + +module Kombo + class GetAtsJobsPositiveResponseDataResultsInner < ApiModelBase + # The globally unique ID of this object generated by Kombo. We recommend using this as a stable primary key for syncing. + attr_accessor :id + + # 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. + attr_accessor :remote_id + + # Title of the job. + attr_accessor :name + + # The human readable job code. Some systems expose this as the Requisition Code/ID. + attr_accessor :job_code + + # Description of the job. This field is usually returned as HTML. + attr_accessor :description + + # **(⚠️ Deprecated)** It makes more sense to store the visibility of a job in an enum. Therefore, we introduced the `visibility` enum on jobs. + attr_accessor :confidential + + # The number of hours per week an employee is expected to work. + attr_accessor :weekly_hours + + attr_accessor :employment_type + + attr_accessor :status + + attr_accessor :visibility + + # The category of the job (often the job industry). The original string is passed through, for example \"Information Technology\", \"Quality Assurance\", \"Marketing\". + attr_accessor :category + + # The internal department or team the job belongs to. The original string is passed through, for example \"IT/Operations\", \"Engineering - Platform\", \"Customer Success\". + attr_accessor :department + + # The public job posting URL of the ATS itself. This can be used by external job boards to redirect applicants. + attr_accessor :post_url + + # The role's seniority or experience level. The original string is passed through, for example \"Mid-Senior Level\", \"5+ years\", \"Associate\", \"IC3\". + attr_accessor :experience_level + + attr_accessor :remote_work_status + + # The salary amount in the given currency. + attr_accessor :salary_amount + + # The lower bound of the salary range. + attr_accessor :salary_amount_from + + # The upper bound of the salary range. + attr_accessor :salary_amount_to + + # Salary currency usually returned in [ISO 4217 currency codes](https://www.iso.org/iso-4217-currency-codes.html). + attr_accessor :salary_currency + + attr_accessor :salary_period + + attr_accessor :location + + # A key-value store of fields not covered by the schema. [Read more](/custom-fields) + attr_accessor :custom_fields + + # An array of selected passthrough integration fields. [Read more](/integration-fields) + attr_accessor :integration_fields + + # URL to the job posting in the source ATS system. + attr_accessor :remote_url + + # YYYY-MM-DDTHH:mm:ss.sssZ + attr_accessor :opened_at + + # 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. + attr_accessor :closed_at + + # The date and time the object was created in the remote system. + attr_accessor :remote_created_at + + # A timestamp retrieved from the remote system, describing when the resource was last updated. + attr_accessor :remote_updated_at + + # **(⚠️ 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. + attr_accessor :contact_id + + # 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. + attr_accessor :remote_data + + # 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. + attr_accessor :changed_at + + # 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. + attr_accessor :remote_deleted_at + + # Application stages a candidate can be in for this particular job. + attr_accessor :stages + + attr_accessor :screening_questions + + attr_accessor :job_postings + + # The hiring team allows you to sync users into your system who can access the job and its applications. + attr_accessor :hiring_team + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'id' => :'id', + :'remote_id' => :'remote_id', + :'name' => :'name', + :'job_code' => :'job_code', + :'description' => :'description', + :'confidential' => :'confidential', + :'weekly_hours' => :'weekly_hours', + :'employment_type' => :'employment_type', + :'status' => :'status', + :'visibility' => :'visibility', + :'category' => :'category', + :'department' => :'department', + :'post_url' => :'post_url', + :'experience_level' => :'experience_level', + :'remote_work_status' => :'remote_work_status', + :'salary_amount' => :'salary_amount', + :'salary_amount_from' => :'salary_amount_from', + :'salary_amount_to' => :'salary_amount_to', + :'salary_currency' => :'salary_currency', + :'salary_period' => :'salary_period', + :'location' => :'location', + :'custom_fields' => :'custom_fields', + :'integration_fields' => :'integration_fields', + :'remote_url' => :'remote_url', + :'opened_at' => :'opened_at', + :'closed_at' => :'closed_at', + :'remote_created_at' => :'remote_created_at', + :'remote_updated_at' => :'remote_updated_at', + :'contact_id' => :'contact_id', + :'remote_data' => :'remote_data', + :'changed_at' => :'changed_at', + :'remote_deleted_at' => :'remote_deleted_at', + :'stages' => :'stages', + :'screening_questions' => :'screening_questions', + :'job_postings' => :'job_postings', + :'hiring_team' => :'hiring_team' + } + end + + # Returns attribute mapping this model knows about + def self.acceptable_attribute_map + attribute_map + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + acceptable_attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'id' => :'String', + :'remote_id' => :'String', + :'name' => :'String', + :'job_code' => :'String', + :'description' => :'String', + :'confidential' => :'Boolean', + :'weekly_hours' => :'Float', + :'employment_type' => :'GetAtsJobsPositiveResponseDataResultsInnerEmploymentType', + :'status' => :'GetAtsJobsPositiveResponseDataResultsInnerStatus', + :'visibility' => :'GetAtsJobsPositiveResponseDataResultsInnerVisibility', + :'category' => :'String', + :'department' => :'String', + :'post_url' => :'String', + :'experience_level' => :'String', + :'remote_work_status' => :'GetAtsJobsPositiveResponseDataResultsInnerRemoteWorkStatus', + :'salary_amount' => :'Float', + :'salary_amount_from' => :'Float', + :'salary_amount_to' => :'Float', + :'salary_currency' => :'String', + :'salary_period' => :'GetAtsJobsPositiveResponseDataResultsInnerSalaryPeriod', + :'location' => :'GetAtsJobsPositiveResponseDataResultsInnerLocation', + :'custom_fields' => :'Hash', + :'integration_fields' => :'Array', + :'remote_url' => :'String', + :'opened_at' => :'Time', + :'closed_at' => :'Time', + :'remote_created_at' => :'Time', + :'remote_updated_at' => :'Time', + :'contact_id' => :'String', + :'remote_data' => :'Hash', + :'changed_at' => :'Time', + :'remote_deleted_at' => :'Time', + :'stages' => :'Array', + :'screening_questions' => :'Array', + :'job_postings' => :'Array', + :'hiring_team' => :'Array' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + :'name', + :'job_code', + :'description', + :'confidential', + :'weekly_hours', + :'employment_type', + :'status', + :'visibility', + :'category', + :'department', + :'post_url', + :'experience_level', + :'remote_work_status', + :'salary_amount', + :'salary_amount_from', + :'salary_amount_to', + :'salary_currency', + :'salary_period', + :'custom_fields', + :'remote_url', + :'opened_at', + :'closed_at', + :'remote_created_at', + :'remote_updated_at', + :'contact_id', + :'remote_data', + :'remote_deleted_at', + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Kombo::GetAtsJobsPositiveResponseDataResultsInner` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + acceptable_attribute_map = self.class.acceptable_attribute_map + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!acceptable_attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Kombo::GetAtsJobsPositiveResponseDataResultsInner`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'id') + self.id = attributes[:'id'] + else + self.id = nil + end + + if attributes.key?(:'remote_id') + self.remote_id = attributes[:'remote_id'] + else + self.remote_id = nil + end + + if attributes.key?(:'name') + self.name = attributes[:'name'] + else + self.name = nil + end + + if attributes.key?(:'job_code') + self.job_code = attributes[:'job_code'] + else + self.job_code = nil + end + + if attributes.key?(:'description') + self.description = attributes[:'description'] + else + self.description = nil + end + + if attributes.key?(:'confidential') + self.confidential = attributes[:'confidential'] + else + self.confidential = nil + end + + if attributes.key?(:'weekly_hours') + self.weekly_hours = attributes[:'weekly_hours'] + else + self.weekly_hours = nil + end + + if attributes.key?(:'employment_type') + self.employment_type = attributes[:'employment_type'] + end + + if attributes.key?(:'status') + self.status = attributes[:'status'] + end + + if attributes.key?(:'visibility') + self.visibility = attributes[:'visibility'] + end + + if attributes.key?(:'category') + self.category = attributes[:'category'] + else + self.category = nil + end + + if attributes.key?(:'department') + self.department = attributes[:'department'] + else + self.department = nil + end + + if attributes.key?(:'post_url') + self.post_url = attributes[:'post_url'] + else + self.post_url = nil + end + + if attributes.key?(:'experience_level') + self.experience_level = attributes[:'experience_level'] + else + self.experience_level = nil + end + + if attributes.key?(:'remote_work_status') + self.remote_work_status = attributes[:'remote_work_status'] + end + + if attributes.key?(:'salary_amount') + self.salary_amount = attributes[:'salary_amount'] + else + self.salary_amount = nil + end + + if attributes.key?(:'salary_amount_from') + self.salary_amount_from = attributes[:'salary_amount_from'] + else + self.salary_amount_from = nil + end + + if attributes.key?(:'salary_amount_to') + self.salary_amount_to = attributes[:'salary_amount_to'] + else + self.salary_amount_to = nil + end + + if attributes.key?(:'salary_currency') + self.salary_currency = attributes[:'salary_currency'] + else + self.salary_currency = nil + end + + if attributes.key?(:'salary_period') + self.salary_period = attributes[:'salary_period'] + end + + if attributes.key?(:'location') + self.location = attributes[:'location'] + end + + if attributes.key?(:'custom_fields') + if (value = attributes[:'custom_fields']).is_a?(Hash) + self.custom_fields = value + end + else + self.custom_fields = nil + end + + if attributes.key?(:'integration_fields') + if (value = attributes[:'integration_fields']).is_a?(Array) + self.integration_fields = value + end + else + self.integration_fields = nil + end + + if attributes.key?(:'remote_url') + self.remote_url = attributes[:'remote_url'] + else + self.remote_url = nil + end + + if attributes.key?(:'opened_at') + self.opened_at = attributes[:'opened_at'] + else + self.opened_at = nil + end + + if attributes.key?(:'closed_at') + self.closed_at = attributes[:'closed_at'] + else + self.closed_at = nil + end + + if attributes.key?(:'remote_created_at') + self.remote_created_at = attributes[:'remote_created_at'] + else + self.remote_created_at = nil + end + + if attributes.key?(:'remote_updated_at') + self.remote_updated_at = attributes[:'remote_updated_at'] + else + self.remote_updated_at = nil + end + + if attributes.key?(:'contact_id') + self.contact_id = attributes[:'contact_id'] + else + self.contact_id = nil + end + + if attributes.key?(:'remote_data') + if (value = attributes[:'remote_data']).is_a?(Hash) + self.remote_data = value + end + else + self.remote_data = nil + end + + if attributes.key?(:'changed_at') + self.changed_at = attributes[:'changed_at'] + else + self.changed_at = nil + end + + if attributes.key?(:'remote_deleted_at') + self.remote_deleted_at = attributes[:'remote_deleted_at'] + else + self.remote_deleted_at = nil + end + + if attributes.key?(:'stages') + if (value = attributes[:'stages']).is_a?(Array) + self.stages = value + end + else + self.stages = nil + end + + if attributes.key?(:'screening_questions') + if (value = attributes[:'screening_questions']).is_a?(Array) + self.screening_questions = value + end + else + self.screening_questions = nil + end + + if attributes.key?(:'job_postings') + if (value = attributes[:'job_postings']).is_a?(Array) + self.job_postings = value + end + else + self.job_postings = nil + end + + if attributes.key?(:'hiring_team') + if (value = attributes[:'hiring_team']).is_a?(Array) + self.hiring_team = value + end + else + self.hiring_team = nil + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + warn '[DEPRECATED] the `list_invalid_properties` method is obsolete' + invalid_properties = Array.new + if @id.nil? + invalid_properties.push('invalid value for "id", id cannot be nil.') + end + + if @remote_id.nil? + invalid_properties.push('invalid value for "remote_id", remote_id cannot be nil.') + end + + if @weekly_hours < -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + invalid_properties.push('invalid value for "weekly_hours", must be greater than or equal to -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.') + end + + if @salary_amount < -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + invalid_properties.push('invalid value for "salary_amount", must be greater than or equal to -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.') + end + + if @salary_amount_from < -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + invalid_properties.push('invalid value for "salary_amount_from", must be greater than or equal to -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.') + end + + if @salary_amount_to < -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + invalid_properties.push('invalid value for "salary_amount_to", must be greater than or equal to -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.') + end + + if @integration_fields.nil? + invalid_properties.push('invalid value for "integration_fields", integration_fields cannot be nil.') + end + + if @changed_at.nil? + invalid_properties.push('invalid value for "changed_at", changed_at cannot be nil.') + end + + if @stages.nil? + invalid_properties.push('invalid value for "stages", stages cannot be nil.') + end + + if @screening_questions.nil? + invalid_properties.push('invalid value for "screening_questions", screening_questions cannot be nil.') + end + + if @job_postings.nil? + invalid_properties.push('invalid value for "job_postings", job_postings cannot be nil.') + end + + if @hiring_team.nil? + invalid_properties.push('invalid value for "hiring_team", hiring_team cannot be nil.') + end + + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + warn '[DEPRECATED] the `valid?` method is obsolete' + return false if @id.nil? + return false if @remote_id.nil? + return false if @weekly_hours < -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + return false if @salary_amount < -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + return false if @salary_amount_from < -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + return false if @salary_amount_to < -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + return false if @integration_fields.nil? + return false if @changed_at.nil? + return false if @stages.nil? + return false if @screening_questions.nil? + return false if @job_postings.nil? + return false if @hiring_team.nil? + true + end + + # Custom attribute writer method with validation + # @param [Object] id Value to be assigned + def id=(id) + if id.nil? + fail ArgumentError, 'id cannot be nil' + end + + @id = id + end + + # Custom attribute writer method with validation + # @param [Object] remote_id Value to be assigned + def remote_id=(remote_id) + if remote_id.nil? + fail ArgumentError, 'remote_id cannot be nil' + end + + @remote_id = remote_id + end + + # Custom attribute writer method with validation + # @param [Object] weekly_hours Value to be assigned + def weekly_hours=(weekly_hours) + if !weekly_hours.nil? && weekly_hours < -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + fail ArgumentError, 'invalid value for "weekly_hours", must be greater than or equal to -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.' + end + + @weekly_hours = weekly_hours + end + + # Custom attribute writer method with validation + # @param [Object] salary_amount Value to be assigned + def salary_amount=(salary_amount) + if !salary_amount.nil? && salary_amount < -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + fail ArgumentError, 'invalid value for "salary_amount", must be greater than or equal to -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.' + end + + @salary_amount = salary_amount + end + + # Custom attribute writer method with validation + # @param [Object] salary_amount_from Value to be assigned + def salary_amount_from=(salary_amount_from) + if !salary_amount_from.nil? && salary_amount_from < -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + fail ArgumentError, 'invalid value for "salary_amount_from", must be greater than or equal to -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.' + end + + @salary_amount_from = salary_amount_from + end + + # Custom attribute writer method with validation + # @param [Object] salary_amount_to Value to be assigned + def salary_amount_to=(salary_amount_to) + if !salary_amount_to.nil? && salary_amount_to < -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + fail ArgumentError, 'invalid value for "salary_amount_to", must be greater than or equal to -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.' + end + + @salary_amount_to = salary_amount_to + end + + # Custom attribute writer method with validation + # @param [Object] integration_fields Value to be assigned + def integration_fields=(integration_fields) + if integration_fields.nil? + fail ArgumentError, 'integration_fields cannot be nil' + end + + @integration_fields = integration_fields + end + + # Custom attribute writer method with validation + # @param [Object] changed_at Value to be assigned + def changed_at=(changed_at) + if changed_at.nil? + fail ArgumentError, 'changed_at cannot be nil' + end + + @changed_at = changed_at + end + + # Custom attribute writer method with validation + # @param [Object] stages Value to be assigned + def stages=(stages) + if stages.nil? + fail ArgumentError, 'stages cannot be nil' + end + + @stages = stages + end + + # Custom attribute writer method with validation + # @param [Object] screening_questions Value to be assigned + def screening_questions=(screening_questions) + if screening_questions.nil? + fail ArgumentError, 'screening_questions cannot be nil' + end + + @screening_questions = screening_questions + end + + # Custom attribute writer method with validation + # @param [Object] job_postings Value to be assigned + def job_postings=(job_postings) + if job_postings.nil? + fail ArgumentError, 'job_postings cannot be nil' + end + + @job_postings = job_postings + end + + # Custom attribute writer method with validation + # @param [Object] hiring_team Value to be assigned + def hiring_team=(hiring_team) + if hiring_team.nil? + fail ArgumentError, 'hiring_team cannot be nil' + end + + @hiring_team = hiring_team + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + id == o.id && + remote_id == o.remote_id && + name == o.name && + job_code == o.job_code && + description == o.description && + confidential == o.confidential && + weekly_hours == o.weekly_hours && + employment_type == o.employment_type && + status == o.status && + visibility == o.visibility && + category == o.category && + department == o.department && + post_url == o.post_url && + experience_level == o.experience_level && + remote_work_status == o.remote_work_status && + salary_amount == o.salary_amount && + salary_amount_from == o.salary_amount_from && + salary_amount_to == o.salary_amount_to && + salary_currency == o.salary_currency && + salary_period == o.salary_period && + location == o.location && + custom_fields == o.custom_fields && + integration_fields == o.integration_fields && + remote_url == o.remote_url && + opened_at == o.opened_at && + closed_at == o.closed_at && + remote_created_at == o.remote_created_at && + remote_updated_at == o.remote_updated_at && + contact_id == o.contact_id && + remote_data == o.remote_data && + changed_at == o.changed_at && + remote_deleted_at == o.remote_deleted_at && + stages == o.stages && + screening_questions == o.screening_questions && + job_postings == o.job_postings && + hiring_team == o.hiring_team + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [id, remote_id, name, job_code, description, confidential, weekly_hours, employment_type, status, visibility, category, department, post_url, experience_level, remote_work_status, salary_amount, salary_amount_from, salary_amount_to, salary_currency, salary_period, location, 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].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + transformed_hash = {} + openapi_types.each_pair do |key, type| + if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = nil + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[attribute_map[key]].is_a?(Array) + transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) } + end + elsif !attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]]) + end + end + new(transformed_hash) + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + end + +end diff --git a/lib/kombo_client/models/get_ats_jobs_positive_response_data_results_inner_employment_type.rb b/lib/kombo_client/models/get_ats_jobs_positive_response_data_results_inner_employment_type.rb new file mode 100644 index 0000000..7abc912 --- /dev/null +++ b/lib/kombo_client/models/get_ats_jobs_positive_response_data_results_inner_employment_type.rb @@ -0,0 +1,103 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.17.0 + +=end + +require 'date' +require 'time' + +module Kombo + # The type of employment contract. In rare cases where can't find a clear mapping, the original string is passed through. + module GetAtsJobsPositiveResponseDataResultsInnerEmploymentType + class << self + # List of class defined in anyOf (OpenAPI v3) + def openapi_any_of + [ + :'String' + ] + end + + # Builds the object + # @param [Mixed] Data to be matched against the list of anyOf items + # @return [Object] Returns the model or the data itself + def build(data) + # Go through the list of anyOf items and attempt to identify the appropriate one. + # Note: + # - No advanced validation of types in some cases (e.g. "x: { type: string }" will happily match { x: 123 }) + # due to the way the deserialization is made in the base_object template (it just casts without verifying). + # - TODO: scalar values are de facto behaving as if they were nullable. + # - TODO: logging when debugging is set. + openapi_any_of.each do |klass| + begin + next if klass == :AnyType # "nullable: true" + return find_and_cast_into_type(klass, data) + rescue # rescue all errors so we keep iterating even if the current item lookup raises + end + end + + openapi_any_of.include?(:AnyType) ? data : nil + end + + private + + SchemaMismatchError = Class.new(StandardError) + + # Note: 'File' is missing here because in the regular case we get the data _after_ a call to JSON.parse. + def find_and_cast_into_type(klass, data) + return if data.nil? + + case klass.to_s + when 'Boolean' + return data if data.instance_of?(TrueClass) || data.instance_of?(FalseClass) + when 'Float' + return data if data.instance_of?(Float) + when 'Integer' + return data if data.instance_of?(Integer) + when 'Time' + return Time.parse(data) + when 'Date' + return Date.iso8601(data) + when 'String' + return data if data.instance_of?(String) + when 'Object' # "type: object" + return data if data.instance_of?(Hash) + when /\AArray<(?.+)>\z/ # "type: array" + if data.instance_of?(Array) + sub_type = Regexp.last_match[:sub_type] + return data.map { |item| find_and_cast_into_type(sub_type, item) } + end + when /\AHash.+)>\z/ # "type: object" with "additionalProperties: { ... }" + if data.instance_of?(Hash) && data.keys.all? { |k| k.instance_of?(Symbol) || k.instance_of?(String) } + sub_type = Regexp.last_match[:sub_type] + return data.each_with_object({}) { |(k, v), hsh| hsh[k] = find_and_cast_into_type(sub_type, v) } + end + else # model + const = Kombo.const_get(klass) + if const + if const.respond_to?(:openapi_any_of) # nested anyOf model + model = const.build(data) + return model if model + else + # raise if data contains keys that are not known to the model + raise if const.respond_to?(:acceptable_attributes) && !(data.keys - const.acceptable_attributes).empty? + model = const.build_from_hash(data) + return model if model + end + end + end + + raise # if no match by now, raise + rescue + raise SchemaMismatchError, "#{data} doesn't match the #{klass} type" + end + end + end + +end diff --git a/lib/kombo_client/models/get_ats_jobs_positive_response_data_results_inner_hiring_team_inner.rb b/lib/kombo_client/models/get_ats_jobs_positive_response_data_results_inner_hiring_team_inner.rb new file mode 100644 index 0000000..ec8ea52 --- /dev/null +++ b/lib/kombo_client/models/get_ats_jobs_positive_response_data_results_inner_hiring_team_inner.rb @@ -0,0 +1,273 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.17.0 + +=end + +require 'date' +require 'time' + +module Kombo + class GetAtsJobsPositiveResponseDataResultsInnerHiringTeamInner < ApiModelBase + # The globally unique ID of this object generated by Kombo. We recommend using this as a stable primary key for syncing. + attr_accessor :id + + # 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. + attr_accessor :remote_id + + # First name of the user. + attr_accessor :first_name + + # Last name of the user. + attr_accessor :last_name + + # Email of the user. If the email address is invalid, it will be set to null. + attr_accessor :email + + # Array of the roles of the user for this specific job. Currently only `RECRUITER` and `HIRING_MANAGER` are mapped into our unified schema. + attr_accessor :hiring_team_roles + + class EnumAttributeValidator + attr_reader :datatype + attr_reader :allowable_values + + def initialize(datatype, allowable_values) + @allowable_values = allowable_values.map do |value| + case datatype.to_s + when /Integer/i + value.to_i + when /Float/i + value.to_f + else + value + end + end + end + + def valid?(value) + !value || allowable_values.include?(value) + end + end + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'id' => :'id', + :'remote_id' => :'remote_id', + :'first_name' => :'first_name', + :'last_name' => :'last_name', + :'email' => :'email', + :'hiring_team_roles' => :'hiring_team_roles' + } + end + + # Returns attribute mapping this model knows about + def self.acceptable_attribute_map + attribute_map + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + acceptable_attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'id' => :'String', + :'remote_id' => :'String', + :'first_name' => :'String', + :'last_name' => :'String', + :'email' => :'String', + :'hiring_team_roles' => :'Array' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + :'remote_id', + :'first_name', + :'last_name', + :'email', + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Kombo::GetAtsJobsPositiveResponseDataResultsInnerHiringTeamInner` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + acceptable_attribute_map = self.class.acceptable_attribute_map + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!acceptable_attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Kombo::GetAtsJobsPositiveResponseDataResultsInnerHiringTeamInner`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'id') + self.id = attributes[:'id'] + else + self.id = nil + end + + if attributes.key?(:'remote_id') + self.remote_id = attributes[:'remote_id'] + else + self.remote_id = nil + end + + if attributes.key?(:'first_name') + self.first_name = attributes[:'first_name'] + else + self.first_name = nil + end + + if attributes.key?(:'last_name') + self.last_name = attributes[:'last_name'] + else + self.last_name = nil + end + + if attributes.key?(:'email') + self.email = attributes[:'email'] + end + + if attributes.key?(:'hiring_team_roles') + if (value = attributes[:'hiring_team_roles']).is_a?(Array) + self.hiring_team_roles = value + end + else + self.hiring_team_roles = nil + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + warn '[DEPRECATED] the `list_invalid_properties` method is obsolete' + invalid_properties = Array.new + if @id.nil? + invalid_properties.push('invalid value for "id", id cannot be nil.') + end + + pattern = Regexp.new(/^(?!\.)(?!.*\.\.)([\w'+-.]*)[\w+-]@([\da-z][\da-z-]*\.)+[a-z]{2,}$/) + if !@email.nil? && @email !~ pattern + invalid_properties.push("invalid value for \"email\", must conform to the pattern #{pattern}.") + end + + if @hiring_team_roles.nil? + invalid_properties.push('invalid value for "hiring_team_roles", hiring_team_roles cannot be nil.') + end + + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + warn '[DEPRECATED] the `valid?` method is obsolete' + return false if @id.nil? + return false if !@email.nil? && @email !~ Regexp.new(/^(?!\.)(?!.*\.\.)([\w'+-.]*)[\w+-]@([\da-z][\da-z-]*\.)+[a-z]{2,}$/) + return false if @hiring_team_roles.nil? + true + end + + # Custom attribute writer method with validation + # @param [Object] id Value to be assigned + def id=(id) + if id.nil? + fail ArgumentError, 'id cannot be nil' + end + + @id = id + end + + # Custom attribute writer method with validation + # @param [Object] email Value to be assigned + def email=(email) + pattern = Regexp.new(/^(?!\.)(?!.*\.\.)([\w'+-.]*)[\w+-]@([\da-z][\da-z-]*\.)+[a-z]{2,}$/) + if !email.nil? && email !~ pattern + fail ArgumentError, "invalid value for \"email\", must conform to the pattern #{pattern}." + end + + @email = email + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + id == o.id && + remote_id == o.remote_id && + first_name == o.first_name && + last_name == o.last_name && + email == o.email && + hiring_team_roles == o.hiring_team_roles + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [id, remote_id, first_name, last_name, email, hiring_team_roles].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + transformed_hash = {} + openapi_types.each_pair do |key, type| + if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = nil + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[attribute_map[key]].is_a?(Array) + transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) } + end + elsif !attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]]) + end + end + new(transformed_hash) + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + end + +end diff --git a/lib/kombo_client/models/get_ats_jobs_positive_response_data_results_inner_job_postings_inner.rb b/lib/kombo_client/models/get_ats_jobs_positive_response_data_results_inner_job_postings_inner.rb new file mode 100644 index 0000000..09fd93c --- /dev/null +++ b/lib/kombo_client/models/get_ats_jobs_positive_response_data_results_inner_job_postings_inner.rb @@ -0,0 +1,303 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.17.0 + +=end + +require 'date' +require 'time' + +module Kombo + class GetAtsJobsPositiveResponseDataResultsInnerJobPostingsInner < ApiModelBase + # The globally unique ID of this object generated by Kombo. We recommend using this as a stable primary key for syncing. + attr_accessor :id + + # 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. + attr_accessor :remote_id + + # The job posting’s title. + attr_accessor :title + + # The job posting’s description in HTML format. + attr_accessor :description_html + + # The job posting’s current status. + attr_accessor :status + + attr_accessor :visibility + + # The public URL to the job posting on the ATS platform. + attr_accessor :url + + # 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. + attr_accessor :remote_data + + class EnumAttributeValidator + attr_reader :datatype + attr_reader :allowable_values + + def initialize(datatype, allowable_values) + @allowable_values = allowable_values.map do |value| + case datatype.to_s + when /Integer/i + value.to_i + when /Float/i + value.to_f + else + value + end + end + end + + def valid?(value) + !value || allowable_values.include?(value) + end + end + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'id' => :'id', + :'remote_id' => :'remote_id', + :'title' => :'title', + :'description_html' => :'description_html', + :'status' => :'status', + :'visibility' => :'visibility', + :'url' => :'url', + :'remote_data' => :'remote_data' + } + end + + # Returns attribute mapping this model knows about + def self.acceptable_attribute_map + attribute_map + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + acceptable_attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'id' => :'String', + :'remote_id' => :'String', + :'title' => :'String', + :'description_html' => :'String', + :'status' => :'String', + :'visibility' => :'String', + :'url' => :'String', + :'remote_data' => :'Hash' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + :'remote_id', + :'title', + :'description_html', + :'status', + :'visibility', + :'url', + :'remote_data' + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Kombo::GetAtsJobsPositiveResponseDataResultsInnerJobPostingsInner` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + acceptable_attribute_map = self.class.acceptable_attribute_map + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!acceptable_attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Kombo::GetAtsJobsPositiveResponseDataResultsInnerJobPostingsInner`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'id') + self.id = attributes[:'id'] + else + self.id = nil + end + + if attributes.key?(:'remote_id') + self.remote_id = attributes[:'remote_id'] + else + self.remote_id = nil + end + + if attributes.key?(:'title') + self.title = attributes[:'title'] + else + self.title = nil + end + + if attributes.key?(:'description_html') + self.description_html = attributes[:'description_html'] + else + self.description_html = nil + end + + if attributes.key?(:'status') + self.status = attributes[:'status'] + else + self.status = nil + end + + if attributes.key?(:'visibility') + self.visibility = attributes[:'visibility'] + else + self.visibility = nil + end + + if attributes.key?(:'url') + self.url = attributes[:'url'] + else + self.url = nil + end + + if attributes.key?(:'remote_data') + if (value = attributes[:'remote_data']).is_a?(Hash) + self.remote_data = value + end + else + self.remote_data = nil + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + warn '[DEPRECATED] the `list_invalid_properties` method is obsolete' + invalid_properties = Array.new + if @id.nil? + invalid_properties.push('invalid value for "id", id cannot be nil.') + end + + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + warn '[DEPRECATED] the `valid?` method is obsolete' + return false if @id.nil? + status_validator = EnumAttributeValidator.new('String', ["ACTIVE", "INACTIVE", "DRAFT"]) + return false unless status_validator.valid?(@status) + visibility_validator = EnumAttributeValidator.new('String', ["PUBLIC", "INTERNAL", "UNLISTED"]) + return false unless visibility_validator.valid?(@visibility) + true + end + + # Custom attribute writer method with validation + # @param [Object] id Value to be assigned + def id=(id) + if id.nil? + fail ArgumentError, 'id cannot be nil' + end + + @id = id + end + + # Custom attribute writer method checking allowed values (enum). + # @param [Object] status Object to be assigned + def status=(status) + validator = EnumAttributeValidator.new('String', ["ACTIVE", "INACTIVE", "DRAFT"]) + unless validator.valid?(status) + fail ArgumentError, "invalid value for \"status\", must be one of #{validator.allowable_values}." + end + @status = status + end + + # Custom attribute writer method checking allowed values (enum). + # @param [Object] visibility Object to be assigned + def visibility=(visibility) + validator = EnumAttributeValidator.new('String', ["PUBLIC", "INTERNAL", "UNLISTED"]) + unless validator.valid?(visibility) + fail ArgumentError, "invalid value for \"visibility\", must be one of #{validator.allowable_values}." + end + @visibility = visibility + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + id == o.id && + remote_id == o.remote_id && + title == o.title && + description_html == o.description_html && + status == o.status && + visibility == o.visibility && + url == o.url && + remote_data == o.remote_data + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [id, remote_id, title, description_html, status, visibility, url, remote_data].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + transformed_hash = {} + openapi_types.each_pair do |key, type| + if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = nil + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[attribute_map[key]].is_a?(Array) + transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) } + end + elsif !attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]]) + end + end + new(transformed_hash) + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + end + +end diff --git a/lib/kombo_client/models/get_ats_jobs_positive_response_data_results_inner_location.rb b/lib/kombo_client/models/get_ats_jobs_positive_response_data_results_inner_location.rb new file mode 100644 index 0000000..f1e161b --- /dev/null +++ b/lib/kombo_client/models/get_ats_jobs_positive_response_data_results_inner_location.rb @@ -0,0 +1,212 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.17.0 + +=end + +require 'date' +require 'time' + +module Kombo + # The location of the listed job. + class GetAtsJobsPositiveResponseDataResultsInnerLocation < ApiModelBase + attr_accessor :city + + # Contains the ISO2 country code if possible. If not, it contains the original value. + attr_accessor :country + + # If we have address data, this is filled with the raw address string. + attr_accessor :raw + + attr_accessor :state + + # If we can parse the address data, this field contains the first part of the street information. + attr_accessor :street_1 + + attr_accessor :street_2 + + attr_accessor :zip_code + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'city' => :'city', + :'country' => :'country', + :'raw' => :'raw', + :'state' => :'state', + :'street_1' => :'street_1', + :'street_2' => :'street_2', + :'zip_code' => :'zip_code' + } + end + + # Returns attribute mapping this model knows about + def self.acceptable_attribute_map + attribute_map + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + acceptable_attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'city' => :'String', + :'country' => :'String', + :'raw' => :'String', + :'state' => :'String', + :'street_1' => :'String', + :'street_2' => :'String', + :'zip_code' => :'String' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + :'city', + :'country', + :'raw', + :'state', + :'street_1', + :'street_2', + :'zip_code' + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Kombo::GetAtsJobsPositiveResponseDataResultsInnerLocation` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + acceptable_attribute_map = self.class.acceptable_attribute_map + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!acceptable_attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Kombo::GetAtsJobsPositiveResponseDataResultsInnerLocation`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'city') + self.city = attributes[:'city'] + end + + if attributes.key?(:'country') + self.country = attributes[:'country'] + end + + if attributes.key?(:'raw') + self.raw = attributes[:'raw'] + end + + if attributes.key?(:'state') + self.state = attributes[:'state'] + end + + if attributes.key?(:'street_1') + self.street_1 = attributes[:'street_1'] + end + + if attributes.key?(:'street_2') + self.street_2 = attributes[:'street_2'] + end + + if attributes.key?(:'zip_code') + self.zip_code = attributes[:'zip_code'] + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + warn '[DEPRECATED] the `list_invalid_properties` method is obsolete' + invalid_properties = Array.new + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + warn '[DEPRECATED] the `valid?` method is obsolete' + true + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + city == o.city && + country == o.country && + raw == o.raw && + state == o.state && + street_1 == o.street_1 && + street_2 == o.street_2 && + zip_code == o.zip_code + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [city, country, raw, state, street_1, street_2, zip_code].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + transformed_hash = {} + openapi_types.each_pair do |key, type| + if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = nil + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[attribute_map[key]].is_a?(Array) + transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) } + end + elsif !attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]]) + end + end + new(transformed_hash) + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + end + +end diff --git a/lib/kombo_client/models/get_ats_jobs_positive_response_data_results_inner_remote_work_status.rb b/lib/kombo_client/models/get_ats_jobs_positive_response_data_results_inner_remote_work_status.rb new file mode 100644 index 0000000..5bc1507 --- /dev/null +++ b/lib/kombo_client/models/get_ats_jobs_positive_response_data_results_inner_remote_work_status.rb @@ -0,0 +1,103 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.17.0 + +=end + +require 'date' +require 'time' + +module Kombo + # Defines if the job supports remote work and if so, to what extent. + module GetAtsJobsPositiveResponseDataResultsInnerRemoteWorkStatus + class << self + # List of class defined in anyOf (OpenAPI v3) + def openapi_any_of + [ + :'String' + ] + end + + # Builds the object + # @param [Mixed] Data to be matched against the list of anyOf items + # @return [Object] Returns the model or the data itself + def build(data) + # Go through the list of anyOf items and attempt to identify the appropriate one. + # Note: + # - No advanced validation of types in some cases (e.g. "x: { type: string }" will happily match { x: 123 }) + # due to the way the deserialization is made in the base_object template (it just casts without verifying). + # - TODO: scalar values are de facto behaving as if they were nullable. + # - TODO: logging when debugging is set. + openapi_any_of.each do |klass| + begin + next if klass == :AnyType # "nullable: true" + return find_and_cast_into_type(klass, data) + rescue # rescue all errors so we keep iterating even if the current item lookup raises + end + end + + openapi_any_of.include?(:AnyType) ? data : nil + end + + private + + SchemaMismatchError = Class.new(StandardError) + + # Note: 'File' is missing here because in the regular case we get the data _after_ a call to JSON.parse. + def find_and_cast_into_type(klass, data) + return if data.nil? + + case klass.to_s + when 'Boolean' + return data if data.instance_of?(TrueClass) || data.instance_of?(FalseClass) + when 'Float' + return data if data.instance_of?(Float) + when 'Integer' + return data if data.instance_of?(Integer) + when 'Time' + return Time.parse(data) + when 'Date' + return Date.iso8601(data) + when 'String' + return data if data.instance_of?(String) + when 'Object' # "type: object" + return data if data.instance_of?(Hash) + when /\AArray<(?.+)>\z/ # "type: array" + if data.instance_of?(Array) + sub_type = Regexp.last_match[:sub_type] + return data.map { |item| find_and_cast_into_type(sub_type, item) } + end + when /\AHash.+)>\z/ # "type: object" with "additionalProperties: { ... }" + if data.instance_of?(Hash) && data.keys.all? { |k| k.instance_of?(Symbol) || k.instance_of?(String) } + sub_type = Regexp.last_match[:sub_type] + return data.each_with_object({}) { |(k, v), hsh| hsh[k] = find_and_cast_into_type(sub_type, v) } + end + else # model + const = Kombo.const_get(klass) + if const + if const.respond_to?(:openapi_any_of) # nested anyOf model + model = const.build(data) + return model if model + else + # raise if data contains keys that are not known to the model + raise if const.respond_to?(:acceptable_attributes) && !(data.keys - const.acceptable_attributes).empty? + model = const.build_from_hash(data) + return model if model + end + end + end + + raise # if no match by now, raise + rescue + raise SchemaMismatchError, "#{data} doesn't match the #{klass} type" + end + end + end + +end diff --git a/lib/kombo_client/models/get_ats_jobs_positive_response_data_results_inner_salary_period.rb b/lib/kombo_client/models/get_ats_jobs_positive_response_data_results_inner_salary_period.rb new file mode 100644 index 0000000..212d37c --- /dev/null +++ b/lib/kombo_client/models/get_ats_jobs_positive_response_data_results_inner_salary_period.rb @@ -0,0 +1,103 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.17.0 + +=end + +require 'date' +require 'time' + +module Kombo + # 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. + module GetAtsJobsPositiveResponseDataResultsInnerSalaryPeriod + class << self + # List of class defined in anyOf (OpenAPI v3) + def openapi_any_of + [ + :'String' + ] + end + + # Builds the object + # @param [Mixed] Data to be matched against the list of anyOf items + # @return [Object] Returns the model or the data itself + def build(data) + # Go through the list of anyOf items and attempt to identify the appropriate one. + # Note: + # - No advanced validation of types in some cases (e.g. "x: { type: string }" will happily match { x: 123 }) + # due to the way the deserialization is made in the base_object template (it just casts without verifying). + # - TODO: scalar values are de facto behaving as if they were nullable. + # - TODO: logging when debugging is set. + openapi_any_of.each do |klass| + begin + next if klass == :AnyType # "nullable: true" + return find_and_cast_into_type(klass, data) + rescue # rescue all errors so we keep iterating even if the current item lookup raises + end + end + + openapi_any_of.include?(:AnyType) ? data : nil + end + + private + + SchemaMismatchError = Class.new(StandardError) + + # Note: 'File' is missing here because in the regular case we get the data _after_ a call to JSON.parse. + def find_and_cast_into_type(klass, data) + return if data.nil? + + case klass.to_s + when 'Boolean' + return data if data.instance_of?(TrueClass) || data.instance_of?(FalseClass) + when 'Float' + return data if data.instance_of?(Float) + when 'Integer' + return data if data.instance_of?(Integer) + when 'Time' + return Time.parse(data) + when 'Date' + return Date.iso8601(data) + when 'String' + return data if data.instance_of?(String) + when 'Object' # "type: object" + return data if data.instance_of?(Hash) + when /\AArray<(?.+)>\z/ # "type: array" + if data.instance_of?(Array) + sub_type = Regexp.last_match[:sub_type] + return data.map { |item| find_and_cast_into_type(sub_type, item) } + end + when /\AHash.+)>\z/ # "type: object" with "additionalProperties: { ... }" + if data.instance_of?(Hash) && data.keys.all? { |k| k.instance_of?(Symbol) || k.instance_of?(String) } + sub_type = Regexp.last_match[:sub_type] + return data.each_with_object({}) { |(k, v), hsh| hsh[k] = find_and_cast_into_type(sub_type, v) } + end + else # model + const = Kombo.const_get(klass) + if const + if const.respond_to?(:openapi_any_of) # nested anyOf model + model = const.build(data) + return model if model + else + # raise if data contains keys that are not known to the model + raise if const.respond_to?(:acceptable_attributes) && !(data.keys - const.acceptable_attributes).empty? + model = const.build_from_hash(data) + return model if model + end + end + end + + raise # if no match by now, raise + rescue + raise SchemaMismatchError, "#{data} doesn't match the #{klass} type" + end + end + end + +end diff --git a/lib/kombo_client/models/get_ats_jobs_positive_response_data_results_inner_screening_questions_inner.rb b/lib/kombo_client/models/get_ats_jobs_positive_response_data_results_inner_screening_questions_inner.rb new file mode 100644 index 0000000..432c85b --- /dev/null +++ b/lib/kombo_client/models/get_ats_jobs_positive_response_data_results_inner_screening_questions_inner.rb @@ -0,0 +1,338 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.17.0 + +=end + +require 'date' +require 'time' + +module Kombo + class GetAtsJobsPositiveResponseDataResultsInnerScreeningQuestionsInner < ApiModelBase + # The globally unique ID of this object generated by Kombo. We recommend using this as a stable primary key for syncing. + attr_accessor :id + + # 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. + attr_accessor :remote_id + + attr_accessor :title + + # 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. + attr_accessor :description + + attr_accessor :format + + # 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. + attr_accessor :category + + attr_accessor :index + + attr_accessor :required + + # 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`. + attr_accessor :precondition_question_id + + attr_accessor :precondition_options + + class EnumAttributeValidator + attr_reader :datatype + attr_reader :allowable_values + + def initialize(datatype, allowable_values) + @allowable_values = allowable_values.map do |value| + case datatype.to_s + when /Integer/i + value.to_i + when /Float/i + value.to_f + else + value + end + end + end + + def valid?(value) + !value || allowable_values.include?(value) + end + end + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'id' => :'id', + :'remote_id' => :'remote_id', + :'title' => :'title', + :'description' => :'description', + :'format' => :'format', + :'category' => :'category', + :'index' => :'index', + :'required' => :'required', + :'precondition_question_id' => :'precondition_question_id', + :'precondition_options' => :'precondition_options' + } + end + + # Returns attribute mapping this model knows about + def self.acceptable_attribute_map + attribute_map + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + acceptable_attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'id' => :'String', + :'remote_id' => :'String', + :'title' => :'String', + :'description' => :'String', + :'format' => :'GetAtsJobsPositiveResponseDataResultsInnerScreeningQuestionsInnerFormat', + :'category' => :'String', + :'index' => :'Integer', + :'required' => :'Boolean', + :'precondition_question_id' => :'String', + :'precondition_options' => :'GetAtsJobsPositiveResponseDataResultsInnerScreeningQuestionsInnerPreconditionOptions' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + :'remote_id', + :'title', + :'description', + :'format', + :'category', + :'index', + :'required', + :'precondition_question_id', + :'precondition_options' + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Kombo::GetAtsJobsPositiveResponseDataResultsInnerScreeningQuestionsInner` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + acceptable_attribute_map = self.class.acceptable_attribute_map + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!acceptable_attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Kombo::GetAtsJobsPositiveResponseDataResultsInnerScreeningQuestionsInner`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'id') + self.id = attributes[:'id'] + else + self.id = nil + end + + if attributes.key?(:'remote_id') + self.remote_id = attributes[:'remote_id'] + else + self.remote_id = nil + end + + if attributes.key?(:'title') + self.title = attributes[:'title'] + else + self.title = nil + end + + if attributes.key?(:'description') + self.description = attributes[:'description'] + else + self.description = nil + end + + if attributes.key?(:'format') + self.format = attributes[:'format'] + end + + if attributes.key?(:'category') + self.category = attributes[:'category'] + else + self.category = nil + end + + if attributes.key?(:'index') + self.index = attributes[:'index'] + end + + if attributes.key?(:'required') + self.required = attributes[:'required'] + else + self.required = nil + end + + if attributes.key?(:'precondition_question_id') + self.precondition_question_id = attributes[:'precondition_question_id'] + end + + if attributes.key?(:'precondition_options') + self.precondition_options = attributes[:'precondition_options'] + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + warn '[DEPRECATED] the `list_invalid_properties` method is obsolete' + invalid_properties = Array.new + if @id.nil? + invalid_properties.push('invalid value for "id", id cannot be nil.') + end + + if !@precondition_question_id.nil? && @precondition_question_id.to_s.length > 24 + invalid_properties.push('invalid value for "precondition_question_id", the character length must be smaller than or equal to 24.') + end + + if !@precondition_question_id.nil? && @precondition_question_id.to_s.length < 24 + invalid_properties.push('invalid value for "precondition_question_id", the character length must be greater than or equal to 24.') + end + + pattern = Regexp.new(/^[1-9A-HJ-NP-Za-km-z]+$/) + if !@precondition_question_id.nil? && @precondition_question_id !~ pattern + invalid_properties.push("invalid value for \"precondition_question_id\", must conform to the pattern #{pattern}.") + end + + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + warn '[DEPRECATED] the `valid?` method is obsolete' + return false if @id.nil? + category_validator = EnumAttributeValidator.new('String', ["EEO", "DEMOGRAPHIC"]) + return false unless category_validator.valid?(@category) + return false if !@precondition_question_id.nil? && @precondition_question_id.to_s.length > 24 + return false if !@precondition_question_id.nil? && @precondition_question_id.to_s.length < 24 + return false if !@precondition_question_id.nil? && @precondition_question_id !~ Regexp.new(/^[1-9A-HJ-NP-Za-km-z]+$/) + true + end + + # Custom attribute writer method with validation + # @param [Object] id Value to be assigned + def id=(id) + if id.nil? + fail ArgumentError, 'id cannot be nil' + end + + @id = id + end + + # Custom attribute writer method checking allowed values (enum). + # @param [Object] category Object to be assigned + def category=(category) + validator = EnumAttributeValidator.new('String', ["EEO", "DEMOGRAPHIC"]) + unless validator.valid?(category) + fail ArgumentError, "invalid value for \"category\", must be one of #{validator.allowable_values}." + end + @category = category + end + + # Custom attribute writer method with validation + # @param [Object] precondition_question_id Value to be assigned + def precondition_question_id=(precondition_question_id) + if !precondition_question_id.nil? && precondition_question_id.to_s.length > 24 + fail ArgumentError, 'invalid value for "precondition_question_id", the character length must be smaller than or equal to 24.' + end + + if !precondition_question_id.nil? && precondition_question_id.to_s.length < 24 + fail ArgumentError, 'invalid value for "precondition_question_id", the character length must be greater than or equal to 24.' + end + + pattern = Regexp.new(/^[1-9A-HJ-NP-Za-km-z]+$/) + if !precondition_question_id.nil? && precondition_question_id !~ pattern + fail ArgumentError, "invalid value for \"precondition_question_id\", must conform to the pattern #{pattern}." + end + + @precondition_question_id = precondition_question_id + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + id == o.id && + remote_id == o.remote_id && + title == o.title && + description == o.description && + format == o.format && + category == o.category && + index == o.index && + required == o.required && + precondition_question_id == o.precondition_question_id && + precondition_options == o.precondition_options + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [id, remote_id, title, description, format, category, index, required, precondition_question_id, precondition_options].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + transformed_hash = {} + openapi_types.each_pair do |key, type| + if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = nil + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[attribute_map[key]].is_a?(Array) + transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) } + end + elsif !attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]]) + end + end + new(transformed_hash) + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + end + +end diff --git a/lib/kombo_client/models/get_ats_jobs_positive_response_data_results_inner_screening_questions_inner_format.rb b/lib/kombo_client/models/get_ats_jobs_positive_response_data_results_inner_screening_questions_inner_format.rb new file mode 100644 index 0000000..f8104d8 --- /dev/null +++ b/lib/kombo_client/models/get_ats_jobs_positive_response_data_results_inner_screening_questions_inner_format.rb @@ -0,0 +1,110 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.17.0 + +=end + +require 'date' +require 'time' + +module Kombo + module GetAtsJobsPositiveResponseDataResultsInnerScreeningQuestionsInnerFormat + class << self + # List of class defined in anyOf (OpenAPI v3) + def openapi_any_of + [ + :'GetAtsJobsPositiveResponseDataResultsInnerScreeningQuestionsInnerFormatAnyOf', + :'GetAtsJobsPositiveResponseDataResultsInnerScreeningQuestionsInnerFormatAnyOf1', + :'GetAtsJobsPositiveResponseDataResultsInnerScreeningQuestionsInnerFormatAnyOf2', + :'GetAtsJobsPositiveResponseDataResultsInnerScreeningQuestionsInnerFormatAnyOf3', + :'GetAtsJobsPositiveResponseDataResultsInnerScreeningQuestionsInnerFormatAnyOf4', + :'GetAtsJobsPositiveResponseDataResultsInnerScreeningQuestionsInnerFormatAnyOf5', + :'GetAtsJobsPositiveResponseDataResultsInnerScreeningQuestionsInnerFormatAnyOf6', + :'GetAtsJobsPositiveResponseDataResultsInnerScreeningQuestionsInnerFormatAnyOf7', + :'GetAtsJobsPositiveResponseDataResultsInnerScreeningQuestionsInnerFormatAnyOf8' + ] + end + + # Builds the object + # @param [Mixed] Data to be matched against the list of anyOf items + # @return [Object] Returns the model or the data itself + def build(data) + # Go through the list of anyOf items and attempt to identify the appropriate one. + # Note: + # - No advanced validation of types in some cases (e.g. "x: { type: string }" will happily match { x: 123 }) + # due to the way the deserialization is made in the base_object template (it just casts without verifying). + # - TODO: scalar values are de facto behaving as if they were nullable. + # - TODO: logging when debugging is set. + openapi_any_of.each do |klass| + begin + next if klass == :AnyType # "nullable: true" + return find_and_cast_into_type(klass, data) + rescue # rescue all errors so we keep iterating even if the current item lookup raises + end + end + + openapi_any_of.include?(:AnyType) ? data : nil + end + + private + + SchemaMismatchError = Class.new(StandardError) + + # Note: 'File' is missing here because in the regular case we get the data _after_ a call to JSON.parse. + def find_and_cast_into_type(klass, data) + return if data.nil? + + case klass.to_s + when 'Boolean' + return data if data.instance_of?(TrueClass) || data.instance_of?(FalseClass) + when 'Float' + return data if data.instance_of?(Float) + when 'Integer' + return data if data.instance_of?(Integer) + when 'Time' + return Time.parse(data) + when 'Date' + return Date.iso8601(data) + when 'String' + return data if data.instance_of?(String) + when 'Object' # "type: object" + return data if data.instance_of?(Hash) + when /\AArray<(?.+)>\z/ # "type: array" + if data.instance_of?(Array) + sub_type = Regexp.last_match[:sub_type] + return data.map { |item| find_and_cast_into_type(sub_type, item) } + end + when /\AHash.+)>\z/ # "type: object" with "additionalProperties: { ... }" + if data.instance_of?(Hash) && data.keys.all? { |k| k.instance_of?(Symbol) || k.instance_of?(String) } + sub_type = Regexp.last_match[:sub_type] + return data.each_with_object({}) { |(k, v), hsh| hsh[k] = find_and_cast_into_type(sub_type, v) } + end + else # model + const = Kombo.const_get(klass) + if const + if const.respond_to?(:openapi_any_of) # nested anyOf model + model = const.build(data) + return model if model + else + # raise if data contains keys that are not known to the model + raise if const.respond_to?(:acceptable_attributes) && !(data.keys - const.acceptable_attributes).empty? + model = const.build_from_hash(data) + return model if model + end + end + end + + raise # if no match by now, raise + rescue + raise SchemaMismatchError, "#{data} doesn't match the #{klass} type" + end + end + end + +end diff --git a/lib/kombo_client/models/get_ats_jobs_positive_response_data_results_inner_screening_questions_inner_format_any_of.rb b/lib/kombo_client/models/get_ats_jobs_positive_response_data_results_inner_screening_questions_inner_format_any_of.rb new file mode 100644 index 0000000..55da031 --- /dev/null +++ b/lib/kombo_client/models/get_ats_jobs_positive_response_data_results_inner_screening_questions_inner_format_any_of.rb @@ -0,0 +1,221 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.17.0 + +=end + +require 'date' +require 'time' + +module Kombo + class GetAtsJobsPositiveResponseDataResultsInnerScreeningQuestionsInnerFormatAnyOf < ApiModelBase + # If unavailable, we recommend displaying a single-line input. + attr_accessor :display_type + + attr_accessor :max_length + + attr_accessor :type + + class EnumAttributeValidator + attr_reader :datatype + attr_reader :allowable_values + + def initialize(datatype, allowable_values) + @allowable_values = allowable_values.map do |value| + case datatype.to_s + when /Integer/i + value.to_i + when /Float/i + value.to_f + else + value + end + end + end + + def valid?(value) + !value || allowable_values.include?(value) + end + end + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'display_type' => :'display_type', + :'max_length' => :'max_length', + :'type' => :'type' + } + end + + # Returns attribute mapping this model knows about + def self.acceptable_attribute_map + attribute_map + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + acceptable_attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'display_type' => :'String', + :'max_length' => :'Integer', + :'type' => :'String' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + :'display_type', + :'max_length', + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Kombo::GetAtsJobsPositiveResponseDataResultsInnerScreeningQuestionsInnerFormatAnyOf` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + acceptable_attribute_map = self.class.acceptable_attribute_map + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!acceptable_attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Kombo::GetAtsJobsPositiveResponseDataResultsInnerScreeningQuestionsInnerFormatAnyOf`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'display_type') + self.display_type = attributes[:'display_type'] + end + + if attributes.key?(:'max_length') + self.max_length = attributes[:'max_length'] + end + + if attributes.key?(:'type') + self.type = attributes[:'type'] + else + self.type = nil + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + warn '[DEPRECATED] the `list_invalid_properties` method is obsolete' + invalid_properties = Array.new + if @type.nil? + invalid_properties.push('invalid value for "type", type cannot be nil.') + end + + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + warn '[DEPRECATED] the `valid?` method is obsolete' + display_type_validator = EnumAttributeValidator.new('String', ["SINGLE_LINE", "MULTI_LINE", "EMAIL", "URL"]) + return false unless display_type_validator.valid?(@display_type) + return false if @type.nil? + type_validator = EnumAttributeValidator.new('String', ["TEXT"]) + return false unless type_validator.valid?(@type) + true + end + + # Custom attribute writer method checking allowed values (enum). + # @param [Object] display_type Object to be assigned + def display_type=(display_type) + validator = EnumAttributeValidator.new('String', ["SINGLE_LINE", "MULTI_LINE", "EMAIL", "URL"]) + unless validator.valid?(display_type) + fail ArgumentError, "invalid value for \"display_type\", must be one of #{validator.allowable_values}." + end + @display_type = display_type + end + + # Custom attribute writer method checking allowed values (enum). + # @param [Object] type Object to be assigned + def type=(type) + validator = EnumAttributeValidator.new('String', ["TEXT"]) + unless validator.valid?(type) + fail ArgumentError, "invalid value for \"type\", must be one of #{validator.allowable_values}." + end + @type = type + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + display_type == o.display_type && + max_length == o.max_length && + type == o.type + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [display_type, max_length, type].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + transformed_hash = {} + openapi_types.each_pair do |key, type| + if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = nil + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[attribute_map[key]].is_a?(Array) + transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) } + end + elsif !attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]]) + end + end + new(transformed_hash) + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + end + +end diff --git a/lib/kombo_client/models/get_ats_jobs_positive_response_data_results_inner_screening_questions_inner_format_any_of1.rb b/lib/kombo_client/models/get_ats_jobs_positive_response_data_results_inner_screening_questions_inner_format_any_of1.rb new file mode 100644 index 0000000..ea44a63 --- /dev/null +++ b/lib/kombo_client/models/get_ats_jobs_positive_response_data_results_inner_screening_questions_inner_format_any_of1.rb @@ -0,0 +1,262 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.17.0 + +=end + +require 'date' +require 'time' + +module Kombo + class GetAtsJobsPositiveResponseDataResultsInnerScreeningQuestionsInnerFormatAnyOf1 < ApiModelBase + attr_accessor :display_type + + attr_accessor :max + + attr_accessor :min + + attr_accessor :type + + class EnumAttributeValidator + attr_reader :datatype + attr_reader :allowable_values + + def initialize(datatype, allowable_values) + @allowable_values = allowable_values.map do |value| + case datatype.to_s + when /Integer/i + value.to_i + when /Float/i + value.to_f + else + value + end + end + end + + def valid?(value) + !value || allowable_values.include?(value) + end + end + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'display_type' => :'display_type', + :'max' => :'max', + :'min' => :'min', + :'type' => :'type' + } + end + + # Returns attribute mapping this model knows about + def self.acceptable_attribute_map + attribute_map + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + acceptable_attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'display_type' => :'String', + :'max' => :'Float', + :'min' => :'Float', + :'type' => :'String' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + :'display_type', + :'max', + :'min', + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Kombo::GetAtsJobsPositiveResponseDataResultsInnerScreeningQuestionsInnerFormatAnyOf1` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + acceptable_attribute_map = self.class.acceptable_attribute_map + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!acceptable_attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Kombo::GetAtsJobsPositiveResponseDataResultsInnerScreeningQuestionsInnerFormatAnyOf1`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'display_type') + self.display_type = attributes[:'display_type'] + else + self.display_type = 'FIELD' + end + + if attributes.key?(:'max') + self.max = attributes[:'max'] + end + + if attributes.key?(:'min') + self.min = attributes[:'min'] + end + + if attributes.key?(:'type') + self.type = attributes[:'type'] + else + self.type = nil + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + warn '[DEPRECATED] the `list_invalid_properties` method is obsolete' + invalid_properties = Array.new + if !@max.nil? && @max < -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + invalid_properties.push('invalid value for "max", must be greater than or equal to -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.') + end + + if !@min.nil? && @min < -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + invalid_properties.push('invalid value for "min", must be greater than or equal to -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.') + end + + if @type.nil? + invalid_properties.push('invalid value for "type", type cannot be nil.') + end + + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + warn '[DEPRECATED] the `valid?` method is obsolete' + display_type_validator = EnumAttributeValidator.new('String', ["SLIDER", "FIELD"]) + return false unless display_type_validator.valid?(@display_type) + return false if !@max.nil? && @max < -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + return false if !@min.nil? && @min < -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + return false if @type.nil? + type_validator = EnumAttributeValidator.new('String', ["NUMBER"]) + return false unless type_validator.valid?(@type) + true + end + + # Custom attribute writer method checking allowed values (enum). + # @param [Object] display_type Object to be assigned + def display_type=(display_type) + validator = EnumAttributeValidator.new('String', ["SLIDER", "FIELD"]) + unless validator.valid?(display_type) + fail ArgumentError, "invalid value for \"display_type\", must be one of #{validator.allowable_values}." + end + @display_type = display_type + end + + # Custom attribute writer method with validation + # @param [Object] max Value to be assigned + def max=(max) + if !max.nil? && max < -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + fail ArgumentError, 'invalid value for "max", must be greater than or equal to -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.' + end + + @max = max + end + + # Custom attribute writer method with validation + # @param [Object] min Value to be assigned + def min=(min) + if !min.nil? && min < -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + fail ArgumentError, 'invalid value for "min", must be greater than or equal to -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.' + end + + @min = min + end + + # Custom attribute writer method checking allowed values (enum). + # @param [Object] type Object to be assigned + def type=(type) + validator = EnumAttributeValidator.new('String', ["NUMBER"]) + unless validator.valid?(type) + fail ArgumentError, "invalid value for \"type\", must be one of #{validator.allowable_values}." + end + @type = type + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + display_type == o.display_type && + max == o.max && + min == o.min && + type == o.type + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [display_type, max, min, type].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + transformed_hash = {} + openapi_types.each_pair do |key, type| + if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = nil + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[attribute_map[key]].is_a?(Array) + transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) } + end + elsif !attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]]) + end + end + new(transformed_hash) + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + end + +end diff --git a/lib/kombo_client/models/get_ats_jobs_positive_response_data_results_inner_screening_questions_inner_format_any_of2.rb b/lib/kombo_client/models/get_ats_jobs_positive_response_data_results_inner_screening_questions_inner_format_any_of2.rb new file mode 100644 index 0000000..116340d --- /dev/null +++ b/lib/kombo_client/models/get_ats_jobs_positive_response_data_results_inner_screening_questions_inner_format_any_of2.rb @@ -0,0 +1,210 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.17.0 + +=end + +require 'date' +require 'time' + +module Kombo + class GetAtsJobsPositiveResponseDataResultsInnerScreeningQuestionsInnerFormatAnyOf2 < ApiModelBase + attr_accessor :accepted_mime_types + + attr_accessor :max_file_size_bytes + + attr_accessor :type + + class EnumAttributeValidator + attr_reader :datatype + attr_reader :allowable_values + + def initialize(datatype, allowable_values) + @allowable_values = allowable_values.map do |value| + case datatype.to_s + when /Integer/i + value.to_i + when /Float/i + value.to_f + else + value + end + end + end + + def valid?(value) + !value || allowable_values.include?(value) + end + end + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'accepted_mime_types' => :'accepted_mime_types', + :'max_file_size_bytes' => :'max_file_size_bytes', + :'type' => :'type' + } + end + + # Returns attribute mapping this model knows about + def self.acceptable_attribute_map + attribute_map + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + acceptable_attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'accepted_mime_types' => :'Array', + :'max_file_size_bytes' => :'Integer', + :'type' => :'String' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + :'accepted_mime_types', + :'max_file_size_bytes', + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Kombo::GetAtsJobsPositiveResponseDataResultsInnerScreeningQuestionsInnerFormatAnyOf2` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + acceptable_attribute_map = self.class.acceptable_attribute_map + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!acceptable_attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Kombo::GetAtsJobsPositiveResponseDataResultsInnerScreeningQuestionsInnerFormatAnyOf2`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'accepted_mime_types') + if (value = attributes[:'accepted_mime_types']).is_a?(Array) + self.accepted_mime_types = value + end + end + + if attributes.key?(:'max_file_size_bytes') + self.max_file_size_bytes = attributes[:'max_file_size_bytes'] + end + + if attributes.key?(:'type') + self.type = attributes[:'type'] + else + self.type = nil + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + warn '[DEPRECATED] the `list_invalid_properties` method is obsolete' + invalid_properties = Array.new + if @type.nil? + invalid_properties.push('invalid value for "type", type cannot be nil.') + end + + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + warn '[DEPRECATED] the `valid?` method is obsolete' + return false if @type.nil? + type_validator = EnumAttributeValidator.new('String', ["FILE"]) + return false unless type_validator.valid?(@type) + true + end + + # Custom attribute writer method checking allowed values (enum). + # @param [Object] type Object to be assigned + def type=(type) + validator = EnumAttributeValidator.new('String', ["FILE"]) + unless validator.valid?(type) + fail ArgumentError, "invalid value for \"type\", must be one of #{validator.allowable_values}." + end + @type = type + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + accepted_mime_types == o.accepted_mime_types && + max_file_size_bytes == o.max_file_size_bytes && + type == o.type + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [accepted_mime_types, max_file_size_bytes, type].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + transformed_hash = {} + openapi_types.each_pair do |key, type| + if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = nil + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[attribute_map[key]].is_a?(Array) + transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) } + end + elsif !attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]]) + end + end + new(transformed_hash) + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + end + +end diff --git a/lib/kombo_client/models/get_ats_jobs_positive_response_data_results_inner_screening_questions_inner_format_any_of3.rb b/lib/kombo_client/models/get_ats_jobs_positive_response_data_results_inner_screening_questions_inner_format_any_of3.rb new file mode 100644 index 0000000..4990f7b --- /dev/null +++ b/lib/kombo_client/models/get_ats_jobs_positive_response_data_results_inner_screening_questions_inner_format_any_of3.rb @@ -0,0 +1,238 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.17.0 + +=end + +require 'date' +require 'time' + +module Kombo + class GetAtsJobsPositiveResponseDataResultsInnerScreeningQuestionsInnerFormatAnyOf3 < ApiModelBase + attr_accessor :display_type + + attr_accessor :options + + attr_accessor :type + + class EnumAttributeValidator + attr_reader :datatype + attr_reader :allowable_values + + def initialize(datatype, allowable_values) + @allowable_values = allowable_values.map do |value| + case datatype.to_s + when /Integer/i + value.to_i + when /Float/i + value.to_f + else + value + end + end + end + + def valid?(value) + !value || allowable_values.include?(value) + end + end + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'display_type' => :'display_type', + :'options' => :'options', + :'type' => :'type' + } + end + + # Returns attribute mapping this model knows about + def self.acceptable_attribute_map + attribute_map + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + acceptable_attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'display_type' => :'String', + :'options' => :'Array', + :'type' => :'String' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + :'display_type', + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Kombo::GetAtsJobsPositiveResponseDataResultsInnerScreeningQuestionsInnerFormatAnyOf3` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + acceptable_attribute_map = self.class.acceptable_attribute_map + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!acceptable_attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Kombo::GetAtsJobsPositiveResponseDataResultsInnerScreeningQuestionsInnerFormatAnyOf3`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'display_type') + self.display_type = attributes[:'display_type'] + end + + if attributes.key?(:'options') + if (value = attributes[:'options']).is_a?(Array) + self.options = value + end + else + self.options = nil + end + + if attributes.key?(:'type') + self.type = attributes[:'type'] + else + self.type = nil + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + warn '[DEPRECATED] the `list_invalid_properties` method is obsolete' + invalid_properties = Array.new + if @options.nil? + invalid_properties.push('invalid value for "options", options cannot be nil.') + end + + if @type.nil? + invalid_properties.push('invalid value for "type", type cannot be nil.') + end + + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + warn '[DEPRECATED] the `valid?` method is obsolete' + display_type_validator = EnumAttributeValidator.new('String', ["DROPDOWN", "RADIO"]) + return false unless display_type_validator.valid?(@display_type) + return false if @options.nil? + return false if @type.nil? + type_validator = EnumAttributeValidator.new('String', ["SINGLE_SELECT"]) + return false unless type_validator.valid?(@type) + true + end + + # Custom attribute writer method checking allowed values (enum). + # @param [Object] display_type Object to be assigned + def display_type=(display_type) + validator = EnumAttributeValidator.new('String', ["DROPDOWN", "RADIO"]) + unless validator.valid?(display_type) + fail ArgumentError, "invalid value for \"display_type\", must be one of #{validator.allowable_values}." + end + @display_type = display_type + end + + # Custom attribute writer method with validation + # @param [Object] options Value to be assigned + def options=(options) + if options.nil? + fail ArgumentError, 'options cannot be nil' + end + + @options = options + end + + # Custom attribute writer method checking allowed values (enum). + # @param [Object] type Object to be assigned + def type=(type) + validator = EnumAttributeValidator.new('String', ["SINGLE_SELECT"]) + unless validator.valid?(type) + fail ArgumentError, "invalid value for \"type\", must be one of #{validator.allowable_values}." + end + @type = type + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + display_type == o.display_type && + options == o.options && + type == o.type + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [display_type, options, type].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + transformed_hash = {} + openapi_types.each_pair do |key, type| + if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = nil + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[attribute_map[key]].is_a?(Array) + transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) } + end + elsif !attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]]) + end + end + new(transformed_hash) + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + end + +end diff --git a/lib/kombo_client/models/get_ats_jobs_positive_response_data_results_inner_screening_questions_inner_format_any_of3_options_inner.rb b/lib/kombo_client/models/get_ats_jobs_positive_response_data_results_inner_screening_questions_inner_format_any_of3_options_inner.rb new file mode 100644 index 0000000..bf06654 --- /dev/null +++ b/lib/kombo_client/models/get_ats_jobs_positive_response_data_results_inner_screening_questions_inner_format_any_of3_options_inner.rb @@ -0,0 +1,203 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.17.0 + +=end + +require 'date' +require 'time' + +module Kombo + class GetAtsJobsPositiveResponseDataResultsInnerScreeningQuestionsInnerFormatAnyOf3OptionsInner < ApiModelBase + # The Kombo ID of this question option. Use this ID to specify the answer to this question. + attr_accessor :id + + # ID in the connected ATS. This might be null as some systems only use the name to identify the option. + attr_accessor :remote_id + + # Content of the question option. + attr_accessor :name + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'id' => :'id', + :'remote_id' => :'remote_id', + :'name' => :'name' + } + end + + # Returns attribute mapping this model knows about + def self.acceptable_attribute_map + attribute_map + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + acceptable_attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'id' => :'String', + :'remote_id' => :'String', + :'name' => :'String' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + :'remote_id', + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Kombo::GetAtsJobsPositiveResponseDataResultsInnerScreeningQuestionsInnerFormatAnyOf3OptionsInner` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + acceptable_attribute_map = self.class.acceptable_attribute_map + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!acceptable_attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Kombo::GetAtsJobsPositiveResponseDataResultsInnerScreeningQuestionsInnerFormatAnyOf3OptionsInner`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'id') + self.id = attributes[:'id'] + else + self.id = nil + end + + if attributes.key?(:'remote_id') + self.remote_id = attributes[:'remote_id'] + end + + if attributes.key?(:'name') + self.name = attributes[:'name'] + else + self.name = nil + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + warn '[DEPRECATED] the `list_invalid_properties` method is obsolete' + invalid_properties = Array.new + if @id.nil? + invalid_properties.push('invalid value for "id", id cannot be nil.') + end + + if @name.nil? + invalid_properties.push('invalid value for "name", name cannot be nil.') + end + + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + warn '[DEPRECATED] the `valid?` method is obsolete' + return false if @id.nil? + return false if @name.nil? + true + end + + # Custom attribute writer method with validation + # @param [Object] id Value to be assigned + def id=(id) + if id.nil? + fail ArgumentError, 'id cannot be nil' + end + + @id = id + end + + # Custom attribute writer method with validation + # @param [Object] name Value to be assigned + def name=(name) + if name.nil? + fail ArgumentError, 'name cannot be nil' + end + + @name = name + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + id == o.id && + remote_id == o.remote_id && + name == o.name + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [id, remote_id, name].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + transformed_hash = {} + openapi_types.each_pair do |key, type| + if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = nil + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[attribute_map[key]].is_a?(Array) + transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) } + end + elsif !attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]]) + end + end + new(transformed_hash) + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + end + +end diff --git a/lib/kombo_client/models/get_ats_jobs_positive_response_data_results_inner_screening_questions_inner_format_any_of4.rb b/lib/kombo_client/models/get_ats_jobs_positive_response_data_results_inner_screening_questions_inner_format_any_of4.rb new file mode 100644 index 0000000..8512fb1 --- /dev/null +++ b/lib/kombo_client/models/get_ats_jobs_positive_response_data_results_inner_screening_questions_inner_format_any_of4.rb @@ -0,0 +1,188 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.17.0 + +=end + +require 'date' +require 'time' + +module Kombo + class GetAtsJobsPositiveResponseDataResultsInnerScreeningQuestionsInnerFormatAnyOf4 < ApiModelBase + attr_accessor :type + + class EnumAttributeValidator + attr_reader :datatype + attr_reader :allowable_values + + def initialize(datatype, allowable_values) + @allowable_values = allowable_values.map do |value| + case datatype.to_s + when /Integer/i + value.to_i + when /Float/i + value.to_f + else + value + end + end + end + + def valid?(value) + !value || allowable_values.include?(value) + end + end + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'type' => :'type' + } + end + + # Returns attribute mapping this model knows about + def self.acceptable_attribute_map + attribute_map + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + acceptable_attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'type' => :'String' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Kombo::GetAtsJobsPositiveResponseDataResultsInnerScreeningQuestionsInnerFormatAnyOf4` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + acceptable_attribute_map = self.class.acceptable_attribute_map + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!acceptable_attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Kombo::GetAtsJobsPositiveResponseDataResultsInnerScreeningQuestionsInnerFormatAnyOf4`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'type') + self.type = attributes[:'type'] + else + self.type = nil + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + warn '[DEPRECATED] the `list_invalid_properties` method is obsolete' + invalid_properties = Array.new + if @type.nil? + invalid_properties.push('invalid value for "type", type cannot be nil.') + end + + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + warn '[DEPRECATED] the `valid?` method is obsolete' + return false if @type.nil? + type_validator = EnumAttributeValidator.new('String', ["BOOLEAN"]) + return false unless type_validator.valid?(@type) + true + end + + # Custom attribute writer method checking allowed values (enum). + # @param [Object] type Object to be assigned + def type=(type) + validator = EnumAttributeValidator.new('String', ["BOOLEAN"]) + unless validator.valid?(type) + fail ArgumentError, "invalid value for \"type\", must be one of #{validator.allowable_values}." + end + @type = type + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + type == o.type + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [type].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + transformed_hash = {} + openapi_types.each_pair do |key, type| + if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = nil + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[attribute_map[key]].is_a?(Array) + transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) } + end + elsif !attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]]) + end + end + new(transformed_hash) + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + end + +end diff --git a/lib/kombo_client/models/get_ats_jobs_positive_response_data_results_inner_screening_questions_inner_format_any_of5.rb b/lib/kombo_client/models/get_ats_jobs_positive_response_data_results_inner_screening_questions_inner_format_any_of5.rb new file mode 100644 index 0000000..cfa480e --- /dev/null +++ b/lib/kombo_client/models/get_ats_jobs_positive_response_data_results_inner_screening_questions_inner_format_any_of5.rb @@ -0,0 +1,188 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.17.0 + +=end + +require 'date' +require 'time' + +module Kombo + class GetAtsJobsPositiveResponseDataResultsInnerScreeningQuestionsInnerFormatAnyOf5 < ApiModelBase + attr_accessor :type + + class EnumAttributeValidator + attr_reader :datatype + attr_reader :allowable_values + + def initialize(datatype, allowable_values) + @allowable_values = allowable_values.map do |value| + case datatype.to_s + when /Integer/i + value.to_i + when /Float/i + value.to_f + else + value + end + end + end + + def valid?(value) + !value || allowable_values.include?(value) + end + end + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'type' => :'type' + } + end + + # Returns attribute mapping this model knows about + def self.acceptable_attribute_map + attribute_map + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + acceptable_attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'type' => :'String' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Kombo::GetAtsJobsPositiveResponseDataResultsInnerScreeningQuestionsInnerFormatAnyOf5` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + acceptable_attribute_map = self.class.acceptable_attribute_map + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!acceptable_attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Kombo::GetAtsJobsPositiveResponseDataResultsInnerScreeningQuestionsInnerFormatAnyOf5`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'type') + self.type = attributes[:'type'] + else + self.type = nil + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + warn '[DEPRECATED] the `list_invalid_properties` method is obsolete' + invalid_properties = Array.new + if @type.nil? + invalid_properties.push('invalid value for "type", type cannot be nil.') + end + + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + warn '[DEPRECATED] the `valid?` method is obsolete' + return false if @type.nil? + type_validator = EnumAttributeValidator.new('String', ["DATE"]) + return false unless type_validator.valid?(@type) + true + end + + # Custom attribute writer method checking allowed values (enum). + # @param [Object] type Object to be assigned + def type=(type) + validator = EnumAttributeValidator.new('String', ["DATE"]) + unless validator.valid?(type) + fail ArgumentError, "invalid value for \"type\", must be one of #{validator.allowable_values}." + end + @type = type + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + type == o.type + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [type].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + transformed_hash = {} + openapi_types.each_pair do |key, type| + if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = nil + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[attribute_map[key]].is_a?(Array) + transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) } + end + elsif !attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]]) + end + end + new(transformed_hash) + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + end + +end diff --git a/lib/kombo_client/models/get_ats_jobs_positive_response_data_results_inner_screening_questions_inner_format_any_of6.rb b/lib/kombo_client/models/get_ats_jobs_positive_response_data_results_inner_screening_questions_inner_format_any_of6.rb new file mode 100644 index 0000000..835428f --- /dev/null +++ b/lib/kombo_client/models/get_ats_jobs_positive_response_data_results_inner_screening_questions_inner_format_any_of6.rb @@ -0,0 +1,216 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.17.0 + +=end + +require 'date' +require 'time' + +module Kombo + class GetAtsJobsPositiveResponseDataResultsInnerScreeningQuestionsInnerFormatAnyOf6 < ApiModelBase + attr_accessor :options + + attr_accessor :type + + class EnumAttributeValidator + attr_reader :datatype + attr_reader :allowable_values + + def initialize(datatype, allowable_values) + @allowable_values = allowable_values.map do |value| + case datatype.to_s + when /Integer/i + value.to_i + when /Float/i + value.to_f + else + value + end + end + end + + def valid?(value) + !value || allowable_values.include?(value) + end + end + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'options' => :'options', + :'type' => :'type' + } + end + + # Returns attribute mapping this model knows about + def self.acceptable_attribute_map + attribute_map + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + acceptable_attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'options' => :'Array', + :'type' => :'String' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Kombo::GetAtsJobsPositiveResponseDataResultsInnerScreeningQuestionsInnerFormatAnyOf6` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + acceptable_attribute_map = self.class.acceptable_attribute_map + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!acceptable_attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Kombo::GetAtsJobsPositiveResponseDataResultsInnerScreeningQuestionsInnerFormatAnyOf6`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'options') + if (value = attributes[:'options']).is_a?(Array) + self.options = value + end + else + self.options = nil + end + + if attributes.key?(:'type') + self.type = attributes[:'type'] + else + self.type = nil + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + warn '[DEPRECATED] the `list_invalid_properties` method is obsolete' + invalid_properties = Array.new + if @options.nil? + invalid_properties.push('invalid value for "options", options cannot be nil.') + end + + if @type.nil? + invalid_properties.push('invalid value for "type", type cannot be nil.') + end + + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + warn '[DEPRECATED] the `valid?` method is obsolete' + return false if @options.nil? + return false if @type.nil? + type_validator = EnumAttributeValidator.new('String', ["MULTI_SELECT"]) + return false unless type_validator.valid?(@type) + true + end + + # Custom attribute writer method with validation + # @param [Object] options Value to be assigned + def options=(options) + if options.nil? + fail ArgumentError, 'options cannot be nil' + end + + @options = options + end + + # Custom attribute writer method checking allowed values (enum). + # @param [Object] type Object to be assigned + def type=(type) + validator = EnumAttributeValidator.new('String', ["MULTI_SELECT"]) + unless validator.valid?(type) + fail ArgumentError, "invalid value for \"type\", must be one of #{validator.allowable_values}." + end + @type = type + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + options == o.options && + type == o.type + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [options, type].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + transformed_hash = {} + openapi_types.each_pair do |key, type| + if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = nil + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[attribute_map[key]].is_a?(Array) + transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) } + end + elsif !attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]]) + end + end + new(transformed_hash) + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + end + +end diff --git a/lib/kombo_client/models/get_ats_jobs_positive_response_data_results_inner_screening_questions_inner_format_any_of7.rb b/lib/kombo_client/models/get_ats_jobs_positive_response_data_results_inner_screening_questions_inner_format_any_of7.rb new file mode 100644 index 0000000..b6d4d0d --- /dev/null +++ b/lib/kombo_client/models/get_ats_jobs_positive_response_data_results_inner_screening_questions_inner_format_any_of7.rb @@ -0,0 +1,189 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.17.0 + +=end + +require 'date' +require 'time' + +module Kombo + class GetAtsJobsPositiveResponseDataResultsInnerScreeningQuestionsInnerFormatAnyOf7 < ApiModelBase + # This is just a text block. + attr_accessor :type + + class EnumAttributeValidator + attr_reader :datatype + attr_reader :allowable_values + + def initialize(datatype, allowable_values) + @allowable_values = allowable_values.map do |value| + case datatype.to_s + when /Integer/i + value.to_i + when /Float/i + value.to_f + else + value + end + end + end + + def valid?(value) + !value || allowable_values.include?(value) + end + end + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'type' => :'type' + } + end + + # Returns attribute mapping this model knows about + def self.acceptable_attribute_map + attribute_map + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + acceptable_attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'type' => :'String' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Kombo::GetAtsJobsPositiveResponseDataResultsInnerScreeningQuestionsInnerFormatAnyOf7` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + acceptable_attribute_map = self.class.acceptable_attribute_map + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!acceptable_attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Kombo::GetAtsJobsPositiveResponseDataResultsInnerScreeningQuestionsInnerFormatAnyOf7`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'type') + self.type = attributes[:'type'] + else + self.type = nil + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + warn '[DEPRECATED] the `list_invalid_properties` method is obsolete' + invalid_properties = Array.new + if @type.nil? + invalid_properties.push('invalid value for "type", type cannot be nil.') + end + + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + warn '[DEPRECATED] the `valid?` method is obsolete' + return false if @type.nil? + type_validator = EnumAttributeValidator.new('String', ["INFORMATION"]) + return false unless type_validator.valid?(@type) + true + end + + # Custom attribute writer method checking allowed values (enum). + # @param [Object] type Object to be assigned + def type=(type) + validator = EnumAttributeValidator.new('String', ["INFORMATION"]) + unless validator.valid?(type) + fail ArgumentError, "invalid value for \"type\", must be one of #{validator.allowable_values}." + end + @type = type + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + type == o.type + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [type].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + transformed_hash = {} + openapi_types.each_pair do |key, type| + if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = nil + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[attribute_map[key]].is_a?(Array) + transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) } + end + elsif !attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]]) + end + end + new(transformed_hash) + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + end + +end diff --git a/lib/kombo_client/models/get_ats_jobs_positive_response_data_results_inner_screening_questions_inner_format_any_of8.rb b/lib/kombo_client/models/get_ats_jobs_positive_response_data_results_inner_screening_questions_inner_format_any_of8.rb new file mode 100644 index 0000000..521e095 --- /dev/null +++ b/lib/kombo_client/models/get_ats_jobs_positive_response_data_results_inner_screening_questions_inner_format_any_of8.rb @@ -0,0 +1,199 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.17.0 + +=end + +require 'date' +require 'time' + +module Kombo + class GetAtsJobsPositiveResponseDataResultsInnerScreeningQuestionsInnerFormatAnyOf8 < ApiModelBase + attr_accessor :raw_question + + # 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. + attr_accessor :type + + class EnumAttributeValidator + attr_reader :datatype + attr_reader :allowable_values + + def initialize(datatype, allowable_values) + @allowable_values = allowable_values.map do |value| + case datatype.to_s + when /Integer/i + value.to_i + when /Float/i + value.to_f + else + value + end + end + end + + def valid?(value) + !value || allowable_values.include?(value) + end + end + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'raw_question' => :'raw_question', + :'type' => :'type' + } + end + + # Returns attribute mapping this model knows about + def self.acceptable_attribute_map + attribute_map + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + acceptable_attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'raw_question' => :'Object', + :'type' => :'String' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + :'raw_question', + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Kombo::GetAtsJobsPositiveResponseDataResultsInnerScreeningQuestionsInnerFormatAnyOf8` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + acceptable_attribute_map = self.class.acceptable_attribute_map + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!acceptable_attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Kombo::GetAtsJobsPositiveResponseDataResultsInnerScreeningQuestionsInnerFormatAnyOf8`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'raw_question') + self.raw_question = attributes[:'raw_question'] + end + + if attributes.key?(:'type') + self.type = attributes[:'type'] + else + self.type = nil + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + warn '[DEPRECATED] the `list_invalid_properties` method is obsolete' + invalid_properties = Array.new + if @type.nil? + invalid_properties.push('invalid value for "type", type cannot be nil.') + end + + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + warn '[DEPRECATED] the `valid?` method is obsolete' + return false if @type.nil? + type_validator = EnumAttributeValidator.new('String', ["UNKNOWN"]) + return false unless type_validator.valid?(@type) + true + end + + # Custom attribute writer method checking allowed values (enum). + # @param [Object] type Object to be assigned + def type=(type) + validator = EnumAttributeValidator.new('String', ["UNKNOWN"]) + unless validator.valid?(type) + fail ArgumentError, "invalid value for \"type\", must be one of #{validator.allowable_values}." + end + @type = type + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + raw_question == o.raw_question && + type == o.type + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [raw_question, type].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + transformed_hash = {} + openapi_types.each_pair do |key, type| + if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = nil + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[attribute_map[key]].is_a?(Array) + transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) } + end + elsif !attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]]) + end + end + new(transformed_hash) + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + end + +end diff --git a/lib/kombo_client/models/get_ats_jobs_positive_response_data_results_inner_screening_questions_inner_precondition_options.rb b/lib/kombo_client/models/get_ats_jobs_positive_response_data_results_inner_screening_questions_inner_precondition_options.rb new file mode 100644 index 0000000..0c1f561 --- /dev/null +++ b/lib/kombo_client/models/get_ats_jobs_positive_response_data_results_inner_screening_questions_inner_precondition_options.rb @@ -0,0 +1,104 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.17.0 + +=end + +require 'date' +require 'time' + +module Kombo + # 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`. + module GetAtsJobsPositiveResponseDataResultsInnerScreeningQuestionsInnerPreconditionOptions + class << self + # List of class defined in anyOf (OpenAPI v3) + def openapi_any_of + [ + :'Array', + :'Array' + ] + end + + # Builds the object + # @param [Mixed] Data to be matched against the list of anyOf items + # @return [Object] Returns the model or the data itself + def build(data) + # Go through the list of anyOf items and attempt to identify the appropriate one. + # Note: + # - No advanced validation of types in some cases (e.g. "x: { type: string }" will happily match { x: 123 }) + # due to the way the deserialization is made in the base_object template (it just casts without verifying). + # - TODO: scalar values are de facto behaving as if they were nullable. + # - TODO: logging when debugging is set. + openapi_any_of.each do |klass| + begin + next if klass == :AnyType # "nullable: true" + return find_and_cast_into_type(klass, data) + rescue # rescue all errors so we keep iterating even if the current item lookup raises + end + end + + openapi_any_of.include?(:AnyType) ? data : nil + end + + private + + SchemaMismatchError = Class.new(StandardError) + + # Note: 'File' is missing here because in the regular case we get the data _after_ a call to JSON.parse. + def find_and_cast_into_type(klass, data) + return if data.nil? + + case klass.to_s + when 'Boolean' + return data if data.instance_of?(TrueClass) || data.instance_of?(FalseClass) + when 'Float' + return data if data.instance_of?(Float) + when 'Integer' + return data if data.instance_of?(Integer) + when 'Time' + return Time.parse(data) + when 'Date' + return Date.iso8601(data) + when 'String' + return data if data.instance_of?(String) + when 'Object' # "type: object" + return data if data.instance_of?(Hash) + when /\AArray<(?.+)>\z/ # "type: array" + if data.instance_of?(Array) + sub_type = Regexp.last_match[:sub_type] + return data.map { |item| find_and_cast_into_type(sub_type, item) } + end + when /\AHash.+)>\z/ # "type: object" with "additionalProperties: { ... }" + if data.instance_of?(Hash) && data.keys.all? { |k| k.instance_of?(Symbol) || k.instance_of?(String) } + sub_type = Regexp.last_match[:sub_type] + return data.each_with_object({}) { |(k, v), hsh| hsh[k] = find_and_cast_into_type(sub_type, v) } + end + else # model + const = Kombo.const_get(klass) + if const + if const.respond_to?(:openapi_any_of) # nested anyOf model + model = const.build(data) + return model if model + else + # raise if data contains keys that are not known to the model + raise if const.respond_to?(:acceptable_attributes) && !(data.keys - const.acceptable_attributes).empty? + model = const.build_from_hash(data) + return model if model + end + end + end + + raise # if no match by now, raise + rescue + raise SchemaMismatchError, "#{data} doesn't match the #{klass} type" + end + end + end + +end diff --git a/lib/kombo_client/models/get_ats_jobs_positive_response_data_results_inner_stages_inner.rb b/lib/kombo_client/models/get_ats_jobs_positive_response_data_results_inner_stages_inner.rb new file mode 100644 index 0000000..0b43237 --- /dev/null +++ b/lib/kombo_client/models/get_ats_jobs_positive_response_data_results_inner_stages_inner.rb @@ -0,0 +1,217 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.17.0 + +=end + +require 'date' +require 'time' + +module Kombo + class GetAtsJobsPositiveResponseDataResultsInnerStagesInner < ApiModelBase + # The globally unique ID of this object generated by Kombo. We recommend using this as a stable primary key for syncing. + attr_accessor :id + + # 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. + attr_accessor :remote_id + + # The application stage name. For example, \"Initial Screening\". + attr_accessor :name + + # 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. + attr_accessor :remote_data + + # Numeric index following the order of the stages if they are ordered in the underlying tool. + attr_accessor :index + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'id' => :'id', + :'remote_id' => :'remote_id', + :'name' => :'name', + :'remote_data' => :'remote_data', + :'index' => :'index' + } + end + + # Returns attribute mapping this model knows about + def self.acceptable_attribute_map + attribute_map + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + acceptable_attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'id' => :'String', + :'remote_id' => :'String', + :'name' => :'String', + :'remote_data' => :'Hash', + :'index' => :'Integer' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + :'remote_id', + :'name', + :'remote_data', + :'index' + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Kombo::GetAtsJobsPositiveResponseDataResultsInnerStagesInner` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + acceptable_attribute_map = self.class.acceptable_attribute_map + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!acceptable_attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Kombo::GetAtsJobsPositiveResponseDataResultsInnerStagesInner`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'id') + self.id = attributes[:'id'] + else + self.id = nil + end + + if attributes.key?(:'remote_id') + self.remote_id = attributes[:'remote_id'] + else + self.remote_id = nil + end + + if attributes.key?(:'name') + self.name = attributes[:'name'] + else + self.name = nil + end + + if attributes.key?(:'remote_data') + if (value = attributes[:'remote_data']).is_a?(Hash) + self.remote_data = value + end + else + self.remote_data = nil + end + + if attributes.key?(:'index') + self.index = attributes[:'index'] + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + warn '[DEPRECATED] the `list_invalid_properties` method is obsolete' + invalid_properties = Array.new + if @id.nil? + invalid_properties.push('invalid value for "id", id cannot be nil.') + end + + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + warn '[DEPRECATED] the `valid?` method is obsolete' + return false if @id.nil? + true + end + + # Custom attribute writer method with validation + # @param [Object] id Value to be assigned + def id=(id) + if id.nil? + fail ArgumentError, 'id cannot be nil' + end + + @id = id + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + id == o.id && + remote_id == o.remote_id && + name == o.name && + remote_data == o.remote_data && + index == o.index + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [id, remote_id, name, remote_data, index].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + transformed_hash = {} + openapi_types.each_pair do |key, type| + if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = nil + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[attribute_map[key]].is_a?(Array) + transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) } + end + elsif !attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]]) + end + end + new(transformed_hash) + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + end + +end diff --git a/lib/kombo_client/models/get_ats_jobs_positive_response_data_results_inner_status.rb b/lib/kombo_client/models/get_ats_jobs_positive_response_data_results_inner_status.rb new file mode 100644 index 0000000..f52de1f --- /dev/null +++ b/lib/kombo_client/models/get_ats_jobs_positive_response_data_results_inner_status.rb @@ -0,0 +1,103 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.17.0 + +=end + +require 'date' +require 'time' + +module Kombo + # The job's current status. *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.* In rare cases where we can’t find a clear mapping, the original string is passed through. + module GetAtsJobsPositiveResponseDataResultsInnerStatus + class << self + # List of class defined in anyOf (OpenAPI v3) + def openapi_any_of + [ + :'String' + ] + end + + # Builds the object + # @param [Mixed] Data to be matched against the list of anyOf items + # @return [Object] Returns the model or the data itself + def build(data) + # Go through the list of anyOf items and attempt to identify the appropriate one. + # Note: + # - No advanced validation of types in some cases (e.g. "x: { type: string }" will happily match { x: 123 }) + # due to the way the deserialization is made in the base_object template (it just casts without verifying). + # - TODO: scalar values are de facto behaving as if they were nullable. + # - TODO: logging when debugging is set. + openapi_any_of.each do |klass| + begin + next if klass == :AnyType # "nullable: true" + return find_and_cast_into_type(klass, data) + rescue # rescue all errors so we keep iterating even if the current item lookup raises + end + end + + openapi_any_of.include?(:AnyType) ? data : nil + end + + private + + SchemaMismatchError = Class.new(StandardError) + + # Note: 'File' is missing here because in the regular case we get the data _after_ a call to JSON.parse. + def find_and_cast_into_type(klass, data) + return if data.nil? + + case klass.to_s + when 'Boolean' + return data if data.instance_of?(TrueClass) || data.instance_of?(FalseClass) + when 'Float' + return data if data.instance_of?(Float) + when 'Integer' + return data if data.instance_of?(Integer) + when 'Time' + return Time.parse(data) + when 'Date' + return Date.iso8601(data) + when 'String' + return data if data.instance_of?(String) + when 'Object' # "type: object" + return data if data.instance_of?(Hash) + when /\AArray<(?.+)>\z/ # "type: array" + if data.instance_of?(Array) + sub_type = Regexp.last_match[:sub_type] + return data.map { |item| find_and_cast_into_type(sub_type, item) } + end + when /\AHash.+)>\z/ # "type: object" with "additionalProperties: { ... }" + if data.instance_of?(Hash) && data.keys.all? { |k| k.instance_of?(Symbol) || k.instance_of?(String) } + sub_type = Regexp.last_match[:sub_type] + return data.each_with_object({}) { |(k, v), hsh| hsh[k] = find_and_cast_into_type(sub_type, v) } + end + else # model + const = Kombo.const_get(klass) + if const + if const.respond_to?(:openapi_any_of) # nested anyOf model + model = const.build(data) + return model if model + else + # raise if data contains keys that are not known to the model + raise if const.respond_to?(:acceptable_attributes) && !(data.keys - const.acceptable_attributes).empty? + model = const.build_from_hash(data) + return model if model + end + end + end + + raise # if no match by now, raise + rescue + raise SchemaMismatchError, "#{data} doesn't match the #{klass} type" + end + end + end + +end diff --git a/lib/kombo_client/models/get_ats_jobs_positive_response_data_results_inner_visibility.rb b/lib/kombo_client/models/get_ats_jobs_positive_response_data_results_inner_visibility.rb new file mode 100644 index 0000000..8f96912 --- /dev/null +++ b/lib/kombo_client/models/get_ats_jobs_positive_response_data_results_inner_visibility.rb @@ -0,0 +1,103 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.17.0 + +=end + +require 'date' +require 'time' + +module Kombo + # Describes the visibility of the job: - `PUBLIC`: visible to everyone, published on a job board - `INTERNAL`: only visible to employees of the company itself - `UNLISTED`: anyone can apply but only if they have the link to it - `CONFIDENTIAL`: nobody can apply and it's only visible in the ATS to people who were invited to it *Note: For any checks (e.g., \"can we publish this job?\"), always evaluate both `status` and `visibility`.* In rare cases where we can’t find a clear mapping, the original string is passed through. + module GetAtsJobsPositiveResponseDataResultsInnerVisibility + class << self + # List of class defined in anyOf (OpenAPI v3) + def openapi_any_of + [ + :'String' + ] + end + + # Builds the object + # @param [Mixed] Data to be matched against the list of anyOf items + # @return [Object] Returns the model or the data itself + def build(data) + # Go through the list of anyOf items and attempt to identify the appropriate one. + # Note: + # - No advanced validation of types in some cases (e.g. "x: { type: string }" will happily match { x: 123 }) + # due to the way the deserialization is made in the base_object template (it just casts without verifying). + # - TODO: scalar values are de facto behaving as if they were nullable. + # - TODO: logging when debugging is set. + openapi_any_of.each do |klass| + begin + next if klass == :AnyType # "nullable: true" + return find_and_cast_into_type(klass, data) + rescue # rescue all errors so we keep iterating even if the current item lookup raises + end + end + + openapi_any_of.include?(:AnyType) ? data : nil + end + + private + + SchemaMismatchError = Class.new(StandardError) + + # Note: 'File' is missing here because in the regular case we get the data _after_ a call to JSON.parse. + def find_and_cast_into_type(klass, data) + return if data.nil? + + case klass.to_s + when 'Boolean' + return data if data.instance_of?(TrueClass) || data.instance_of?(FalseClass) + when 'Float' + return data if data.instance_of?(Float) + when 'Integer' + return data if data.instance_of?(Integer) + when 'Time' + return Time.parse(data) + when 'Date' + return Date.iso8601(data) + when 'String' + return data if data.instance_of?(String) + when 'Object' # "type: object" + return data if data.instance_of?(Hash) + when /\AArray<(?.+)>\z/ # "type: array" + if data.instance_of?(Array) + sub_type = Regexp.last_match[:sub_type] + return data.map { |item| find_and_cast_into_type(sub_type, item) } + end + when /\AHash.+)>\z/ # "type: object" with "additionalProperties: { ... }" + if data.instance_of?(Hash) && data.keys.all? { |k| k.instance_of?(Symbol) || k.instance_of?(String) } + sub_type = Regexp.last_match[:sub_type] + return data.each_with_object({}) { |(k, v), hsh| hsh[k] = find_and_cast_into_type(sub_type, v) } + end + else # model + const = Kombo.const_get(klass) + if const + if const.respond_to?(:openapi_any_of) # nested anyOf model + model = const.build(data) + return model if model + else + # raise if data contains keys that are not known to the model + raise if const.respond_to?(:acceptable_attributes) && !(data.keys - const.acceptable_attributes).empty? + model = const.build_from_hash(data) + return model if model + end + end + end + + raise # if no match by now, raise + rescue + raise SchemaMismatchError, "#{data} doesn't match the #{klass} type" + end + end + end + +end diff --git a/lib/kombo_client/models/get_ats_offers_parameter_include_deleted.rb b/lib/kombo_client/models/get_ats_offers_parameter_include_deleted.rb new file mode 100644 index 0000000..5e96ee1 --- /dev/null +++ b/lib/kombo_client/models/get_ats_offers_parameter_include_deleted.rb @@ -0,0 +1,40 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.17.0 + +=end + +require 'date' +require 'time' + +module Kombo + class GetAtsOffersParameterIncludeDeleted + TRUE = "true".freeze + FALSE = "false".freeze + + def self.all_vars + @all_vars ||= [TRUE, FALSE].freeze + end + + # Builds the enum from string + # @param [String] The enum value in the form of the string + # @return [String] The enum value + def self.build_from_hash(value) + new.build_from_hash(value) + end + + # Builds the enum from string + # @param [String] The enum value in the form of the string + # @return [String] The enum value + def build_from_hash(value) + return value if GetAtsOffersParameterIncludeDeleted.all_vars.include?(value) + raise "Invalid ENUM value #{value} for class #GetAtsOffersParameterIncludeDeleted" + end + end +end diff --git a/lib/kombo_client/models/get_ats_offers_positive_response.rb b/lib/kombo_client/models/get_ats_offers_positive_response.rb new file mode 100644 index 0000000..bfb31bd --- /dev/null +++ b/lib/kombo_client/models/get_ats_offers_positive_response.rb @@ -0,0 +1,214 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.17.0 + +=end + +require 'date' +require 'time' + +module Kombo + class GetAtsOffersPositiveResponse < ApiModelBase + attr_accessor :status + + attr_accessor :data + + class EnumAttributeValidator + attr_reader :datatype + attr_reader :allowable_values + + def initialize(datatype, allowable_values) + @allowable_values = allowable_values.map do |value| + case datatype.to_s + when /Integer/i + value.to_i + when /Float/i + value.to_f + else + value + end + end + end + + def valid?(value) + !value || allowable_values.include?(value) + end + end + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'status' => :'status', + :'data' => :'data' + } + end + + # Returns attribute mapping this model knows about + def self.acceptable_attribute_map + attribute_map + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + acceptable_attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'status' => :'String', + :'data' => :'GetAtsOffersPositiveResponseData' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Kombo::GetAtsOffersPositiveResponse` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + acceptable_attribute_map = self.class.acceptable_attribute_map + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!acceptable_attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Kombo::GetAtsOffersPositiveResponse`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'status') + self.status = attributes[:'status'] + else + self.status = nil + end + + if attributes.key?(:'data') + self.data = attributes[:'data'] + else + self.data = nil + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + warn '[DEPRECATED] the `list_invalid_properties` method is obsolete' + invalid_properties = Array.new + if @status.nil? + invalid_properties.push('invalid value for "status", status cannot be nil.') + end + + if @data.nil? + invalid_properties.push('invalid value for "data", data cannot be nil.') + end + + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + warn '[DEPRECATED] the `valid?` method is obsolete' + return false if @status.nil? + status_validator = EnumAttributeValidator.new('String', ["success"]) + return false unless status_validator.valid?(@status) + return false if @data.nil? + true + end + + # Custom attribute writer method checking allowed values (enum). + # @param [Object] status Object to be assigned + def status=(status) + validator = EnumAttributeValidator.new('String', ["success"]) + unless validator.valid?(status) + fail ArgumentError, "invalid value for \"status\", must be one of #{validator.allowable_values}." + end + @status = status + end + + # Custom attribute writer method with validation + # @param [Object] data Value to be assigned + def data=(data) + if data.nil? + fail ArgumentError, 'data cannot be nil' + end + + @data = data + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + status == o.status && + data == o.data + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [status, data].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + transformed_hash = {} + openapi_types.each_pair do |key, type| + if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = nil + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[attribute_map[key]].is_a?(Array) + transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) } + end + elsif !attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]]) + end + end + new(transformed_hash) + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + end + +end diff --git a/lib/kombo_client/models/get_ats_offers_positive_response_data.rb b/lib/kombo_client/models/get_ats_offers_positive_response_data.rb new file mode 100644 index 0000000..68fbbcd --- /dev/null +++ b/lib/kombo_client/models/get_ats_offers_positive_response_data.rb @@ -0,0 +1,179 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.17.0 + +=end + +require 'date' +require 'time' + +module Kombo + class GetAtsOffersPositiveResponseData < ApiModelBase + # 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. + attr_accessor :_next + + attr_accessor :results + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'_next' => :'next', + :'results' => :'results' + } + end + + # Returns attribute mapping this model knows about + def self.acceptable_attribute_map + attribute_map + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + acceptable_attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'_next' => :'String', + :'results' => :'Array' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + :'_next', + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Kombo::GetAtsOffersPositiveResponseData` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + acceptable_attribute_map = self.class.acceptable_attribute_map + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!acceptable_attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Kombo::GetAtsOffersPositiveResponseData`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'_next') + self._next = attributes[:'_next'] + else + self._next = nil + end + + if attributes.key?(:'results') + if (value = attributes[:'results']).is_a?(Array) + self.results = value + end + else + self.results = nil + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + warn '[DEPRECATED] the `list_invalid_properties` method is obsolete' + invalid_properties = Array.new + if @results.nil? + invalid_properties.push('invalid value for "results", results cannot be nil.') + end + + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + warn '[DEPRECATED] the `valid?` method is obsolete' + return false if @results.nil? + true + end + + # Custom attribute writer method with validation + # @param [Object] results Value to be assigned + def results=(results) + if results.nil? + fail ArgumentError, 'results cannot be nil' + end + + @results = results + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + _next == o._next && + results == o.results + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [_next, results].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + transformed_hash = {} + openapi_types.each_pair do |key, type| + if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = nil + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[attribute_map[key]].is_a?(Array) + transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) } + end + elsif !attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]]) + end + end + new(transformed_hash) + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + end + +end diff --git a/lib/kombo_client/models/get_ats_offers_positive_response_data_results_inner.rb b/lib/kombo_client/models/get_ats_offers_positive_response_data_results_inner.rb new file mode 100644 index 0000000..e95b5c7 --- /dev/null +++ b/lib/kombo_client/models/get_ats_offers_positive_response_data_results_inner.rb @@ -0,0 +1,402 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.17.0 + +=end + +require 'date' +require 'time' + +module Kombo + class GetAtsOffersPositiveResponseDataResultsInner < ApiModelBase + # The globally unique ID of this object generated by Kombo. We recommend using this as a stable primary key for syncing. + attr_accessor :id + + # 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. + attr_accessor :remote_id + + # 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. + attr_accessor :status + + # The date when the employment described by the offer starts. Can be in the past or future. + attr_accessor :employment_start_date + + # The Kombo ID of the application this interview belongs to. The ID can be used to retrieve the application from the `get applications` endpoint. + attr_accessor :application_id + + # A key-value store of fields not covered by the schema. [Read more](/custom-fields) + attr_accessor :custom_fields + + # An array of selected passthrough integration fields. [Read more](/integration-fields) + attr_accessor :integration_fields + + # 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. + attr_accessor :changed_at + + # 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. + attr_accessor :remote_deleted_at + + # The date and time the object was created in the remote system. + attr_accessor :remote_created_at + + # A timestamp retrieved from the remote system, describing when the resource was last updated. + attr_accessor :remote_updated_at + + # 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. + attr_accessor :remote_data + + attr_accessor :application + + class EnumAttributeValidator + attr_reader :datatype + attr_reader :allowable_values + + def initialize(datatype, allowable_values) + @allowable_values = allowable_values.map do |value| + case datatype.to_s + when /Integer/i + value.to_i + when /Float/i + value.to_f + else + value + end + end + end + + def valid?(value) + !value || allowable_values.include?(value) + end + end + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'id' => :'id', + :'remote_id' => :'remote_id', + :'status' => :'status', + :'employment_start_date' => :'employment_start_date', + :'application_id' => :'application_id', + :'custom_fields' => :'custom_fields', + :'integration_fields' => :'integration_fields', + :'changed_at' => :'changed_at', + :'remote_deleted_at' => :'remote_deleted_at', + :'remote_created_at' => :'remote_created_at', + :'remote_updated_at' => :'remote_updated_at', + :'remote_data' => :'remote_data', + :'application' => :'application' + } + end + + # Returns attribute mapping this model knows about + def self.acceptable_attribute_map + attribute_map + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + acceptable_attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'id' => :'String', + :'remote_id' => :'String', + :'status' => :'String', + :'employment_start_date' => :'Time', + :'application_id' => :'String', + :'custom_fields' => :'Hash', + :'integration_fields' => :'Array', + :'changed_at' => :'Time', + :'remote_deleted_at' => :'Time', + :'remote_created_at' => :'Time', + :'remote_updated_at' => :'Time', + :'remote_data' => :'Hash', + :'application' => :'GetAtsOffersPositiveResponseDataResultsInnerApplication' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + :'remote_id', + :'status', + :'employment_start_date', + :'application_id', + :'custom_fields', + :'remote_deleted_at', + :'remote_created_at', + :'remote_updated_at', + :'remote_data', + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Kombo::GetAtsOffersPositiveResponseDataResultsInner` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + acceptable_attribute_map = self.class.acceptable_attribute_map + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!acceptable_attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Kombo::GetAtsOffersPositiveResponseDataResultsInner`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'id') + self.id = attributes[:'id'] + else + self.id = nil + end + + if attributes.key?(:'remote_id') + self.remote_id = attributes[:'remote_id'] + else + self.remote_id = nil + end + + if attributes.key?(:'status') + self.status = attributes[:'status'] + else + self.status = nil + end + + if attributes.key?(:'employment_start_date') + self.employment_start_date = attributes[:'employment_start_date'] + else + self.employment_start_date = nil + end + + if attributes.key?(:'application_id') + self.application_id = attributes[:'application_id'] + else + self.application_id = nil + end + + if attributes.key?(:'custom_fields') + if (value = attributes[:'custom_fields']).is_a?(Hash) + self.custom_fields = value + end + else + self.custom_fields = nil + end + + if attributes.key?(:'integration_fields') + if (value = attributes[:'integration_fields']).is_a?(Array) + self.integration_fields = value + end + else + self.integration_fields = nil + end + + if attributes.key?(:'changed_at') + self.changed_at = attributes[:'changed_at'] + else + self.changed_at = nil + end + + if attributes.key?(:'remote_deleted_at') + self.remote_deleted_at = attributes[:'remote_deleted_at'] + else + self.remote_deleted_at = nil + end + + if attributes.key?(:'remote_created_at') + self.remote_created_at = attributes[:'remote_created_at'] + else + self.remote_created_at = nil + end + + if attributes.key?(:'remote_updated_at') + self.remote_updated_at = attributes[:'remote_updated_at'] + else + self.remote_updated_at = nil + end + + if attributes.key?(:'remote_data') + if (value = attributes[:'remote_data']).is_a?(Hash) + self.remote_data = value + end + else + self.remote_data = nil + end + + if attributes.key?(:'application') + self.application = attributes[:'application'] + else + self.application = nil + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + warn '[DEPRECATED] the `list_invalid_properties` method is obsolete' + invalid_properties = Array.new + if @id.nil? + invalid_properties.push('invalid value for "id", id cannot be nil.') + end + + if @integration_fields.nil? + invalid_properties.push('invalid value for "integration_fields", integration_fields cannot be nil.') + end + + if @changed_at.nil? + invalid_properties.push('invalid value for "changed_at", changed_at cannot be nil.') + end + + if @application.nil? + invalid_properties.push('invalid value for "application", application cannot be nil.') + end + + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + warn '[DEPRECATED] the `valid?` method is obsolete' + return false if @id.nil? + status_validator = EnumAttributeValidator.new('String', ["ACCEPTED", "DECLINED", "SENT", "APPROVED", "DRAFT", "ABANDONED"]) + return false unless status_validator.valid?(@status) + return false if @integration_fields.nil? + return false if @changed_at.nil? + return false if @application.nil? + true + end + + # Custom attribute writer method with validation + # @param [Object] id Value to be assigned + def id=(id) + if id.nil? + fail ArgumentError, 'id cannot be nil' + end + + @id = id + end + + # Custom attribute writer method checking allowed values (enum). + # @param [Object] status Object to be assigned + def status=(status) + validator = EnumAttributeValidator.new('String', ["ACCEPTED", "DECLINED", "SENT", "APPROVED", "DRAFT", "ABANDONED"]) + unless validator.valid?(status) + fail ArgumentError, "invalid value for \"status\", must be one of #{validator.allowable_values}." + end + @status = status + end + + # Custom attribute writer method with validation + # @param [Object] integration_fields Value to be assigned + def integration_fields=(integration_fields) + if integration_fields.nil? + fail ArgumentError, 'integration_fields cannot be nil' + end + + @integration_fields = integration_fields + end + + # Custom attribute writer method with validation + # @param [Object] changed_at Value to be assigned + def changed_at=(changed_at) + if changed_at.nil? + fail ArgumentError, 'changed_at cannot be nil' + end + + @changed_at = changed_at + end + + # Custom attribute writer method with validation + # @param [Object] application Value to be assigned + def application=(application) + if application.nil? + fail ArgumentError, 'application cannot be nil' + end + + @application = application + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + id == o.id && + remote_id == o.remote_id && + status == o.status && + employment_start_date == o.employment_start_date && + application_id == o.application_id && + custom_fields == o.custom_fields && + integration_fields == o.integration_fields && + changed_at == o.changed_at && + remote_deleted_at == o.remote_deleted_at && + remote_created_at == o.remote_created_at && + remote_updated_at == o.remote_updated_at && + remote_data == o.remote_data && + application == o.application + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [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].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + transformed_hash = {} + openapi_types.each_pair do |key, type| + if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = nil + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[attribute_map[key]].is_a?(Array) + transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) } + end + elsif !attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]]) + end + end + new(transformed_hash) + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + end + +end diff --git a/lib/kombo_client/models/get_ats_offers_positive_response_data_results_inner_application.rb b/lib/kombo_client/models/get_ats_offers_positive_response_data_results_inner_application.rb new file mode 100644 index 0000000..c78d33c --- /dev/null +++ b/lib/kombo_client/models/get_ats_offers_positive_response_data_results_inner_application.rb @@ -0,0 +1,190 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.17.0 + +=end + +require 'date' +require 'time' + +module Kombo + class GetAtsOffersPositiveResponseDataResultsInnerApplication < ApiModelBase + attr_accessor :candidate + + attr_accessor :job + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'candidate' => :'candidate', + :'job' => :'job' + } + end + + # Returns attribute mapping this model knows about + def self.acceptable_attribute_map + attribute_map + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + acceptable_attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'candidate' => :'GetAtsOffersPositiveResponseDataResultsInnerApplicationCandidate', + :'job' => :'GetAtsApplicationsPositiveResponseDataResultsInnerJob' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Kombo::GetAtsOffersPositiveResponseDataResultsInnerApplication` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + acceptable_attribute_map = self.class.acceptable_attribute_map + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!acceptable_attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Kombo::GetAtsOffersPositiveResponseDataResultsInnerApplication`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'candidate') + self.candidate = attributes[:'candidate'] + else + self.candidate = nil + end + + if attributes.key?(:'job') + self.job = attributes[:'job'] + else + self.job = nil + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + warn '[DEPRECATED] the `list_invalid_properties` method is obsolete' + invalid_properties = Array.new + if @candidate.nil? + invalid_properties.push('invalid value for "candidate", candidate cannot be nil.') + end + + if @job.nil? + invalid_properties.push('invalid value for "job", job cannot be nil.') + end + + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + warn '[DEPRECATED] the `valid?` method is obsolete' + return false if @candidate.nil? + return false if @job.nil? + true + end + + # Custom attribute writer method with validation + # @param [Object] candidate Value to be assigned + def candidate=(candidate) + if candidate.nil? + fail ArgumentError, 'candidate cannot be nil' + end + + @candidate = candidate + end + + # Custom attribute writer method with validation + # @param [Object] job Value to be assigned + def job=(job) + if job.nil? + fail ArgumentError, 'job cannot be nil' + end + + @job = job + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + candidate == o.candidate && + job == o.job + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [candidate, job].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + transformed_hash = {} + openapi_types.each_pair do |key, type| + if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = nil + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[attribute_map[key]].is_a?(Array) + transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) } + end + elsif !attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]]) + end + end + new(transformed_hash) + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + end + +end diff --git a/lib/kombo_client/models/get_ats_offers_positive_response_data_results_inner_application_candidate.rb b/lib/kombo_client/models/get_ats_offers_positive_response_data_results_inner_application_candidate.rb new file mode 100644 index 0000000..2b4e4a8 --- /dev/null +++ b/lib/kombo_client/models/get_ats_offers_positive_response_data_results_inner_application_candidate.rb @@ -0,0 +1,231 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.17.0 + +=end + +require 'date' +require 'time' + +module Kombo + class GetAtsOffersPositiveResponseDataResultsInnerApplicationCandidate < ApiModelBase + # The globally unique ID of this object generated by Kombo. We recommend using this as a stable primary key for syncing. + attr_accessor :id + + # 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. + attr_accessor :remote_id + + # First name of the candidate. + attr_accessor :first_name + + # Last name of the candidate. + attr_accessor :last_name + + # A list of email addresses of the candidate with an optional type. If an email address is invalid, it will be filtered out. + attr_accessor :email_addresses + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'id' => :'id', + :'remote_id' => :'remote_id', + :'first_name' => :'first_name', + :'last_name' => :'last_name', + :'email_addresses' => :'email_addresses' + } + end + + # Returns attribute mapping this model knows about + def self.acceptable_attribute_map + attribute_map + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + acceptable_attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'id' => :'String', + :'remote_id' => :'String', + :'first_name' => :'String', + :'last_name' => :'String', + :'email_addresses' => :'Array' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + :'first_name', + :'last_name', + :'email_addresses' + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Kombo::GetAtsOffersPositiveResponseDataResultsInnerApplicationCandidate` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + acceptable_attribute_map = self.class.acceptable_attribute_map + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!acceptable_attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Kombo::GetAtsOffersPositiveResponseDataResultsInnerApplicationCandidate`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'id') + self.id = attributes[:'id'] + else + self.id = nil + end + + if attributes.key?(:'remote_id') + self.remote_id = attributes[:'remote_id'] + else + self.remote_id = nil + end + + if attributes.key?(:'first_name') + self.first_name = attributes[:'first_name'] + else + self.first_name = nil + end + + if attributes.key?(:'last_name') + self.last_name = attributes[:'last_name'] + else + self.last_name = nil + end + + if attributes.key?(:'email_addresses') + if (value = attributes[:'email_addresses']).is_a?(Array) + self.email_addresses = value + end + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + warn '[DEPRECATED] the `list_invalid_properties` method is obsolete' + invalid_properties = Array.new + if @id.nil? + invalid_properties.push('invalid value for "id", id cannot be nil.') + end + + if @remote_id.nil? + invalid_properties.push('invalid value for "remote_id", remote_id cannot be nil.') + end + + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + warn '[DEPRECATED] the `valid?` method is obsolete' + return false if @id.nil? + return false if @remote_id.nil? + true + end + + # Custom attribute writer method with validation + # @param [Object] id Value to be assigned + def id=(id) + if id.nil? + fail ArgumentError, 'id cannot be nil' + end + + @id = id + end + + # Custom attribute writer method with validation + # @param [Object] remote_id Value to be assigned + def remote_id=(remote_id) + if remote_id.nil? + fail ArgumentError, 'remote_id cannot be nil' + end + + @remote_id = remote_id + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + id == o.id && + remote_id == o.remote_id && + first_name == o.first_name && + last_name == o.last_name && + email_addresses == o.email_addresses + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [id, remote_id, first_name, last_name, email_addresses].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + transformed_hash = {} + openapi_types.each_pair do |key, type| + if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = nil + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[attribute_map[key]].is_a?(Array) + transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) } + end + elsif !attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]]) + end + end + new(transformed_hash) + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + end + +end diff --git a/lib/kombo_client/models/get_ats_rejection_reasons_parameter_include_deleted.rb b/lib/kombo_client/models/get_ats_rejection_reasons_parameter_include_deleted.rb new file mode 100644 index 0000000..dd7dd2e --- /dev/null +++ b/lib/kombo_client/models/get_ats_rejection_reasons_parameter_include_deleted.rb @@ -0,0 +1,40 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.17.0 + +=end + +require 'date' +require 'time' + +module Kombo + class GetAtsRejectionReasonsParameterIncludeDeleted + TRUE = "true".freeze + FALSE = "false".freeze + + def self.all_vars + @all_vars ||= [TRUE, FALSE].freeze + end + + # Builds the enum from string + # @param [String] The enum value in the form of the string + # @return [String] The enum value + def self.build_from_hash(value) + new.build_from_hash(value) + end + + # Builds the enum from string + # @param [String] The enum value in the form of the string + # @return [String] The enum value + def build_from_hash(value) + return value if GetAtsRejectionReasonsParameterIncludeDeleted.all_vars.include?(value) + raise "Invalid ENUM value #{value} for class #GetAtsRejectionReasonsParameterIncludeDeleted" + end + end +end diff --git a/lib/kombo_client/models/get_ats_rejection_reasons_positive_response.rb b/lib/kombo_client/models/get_ats_rejection_reasons_positive_response.rb new file mode 100644 index 0000000..b0ecc5e --- /dev/null +++ b/lib/kombo_client/models/get_ats_rejection_reasons_positive_response.rb @@ -0,0 +1,214 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.17.0 + +=end + +require 'date' +require 'time' + +module Kombo + class GetAtsRejectionReasonsPositiveResponse < ApiModelBase + attr_accessor :status + + attr_accessor :data + + class EnumAttributeValidator + attr_reader :datatype + attr_reader :allowable_values + + def initialize(datatype, allowable_values) + @allowable_values = allowable_values.map do |value| + case datatype.to_s + when /Integer/i + value.to_i + when /Float/i + value.to_f + else + value + end + end + end + + def valid?(value) + !value || allowable_values.include?(value) + end + end + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'status' => :'status', + :'data' => :'data' + } + end + + # Returns attribute mapping this model knows about + def self.acceptable_attribute_map + attribute_map + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + acceptable_attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'status' => :'String', + :'data' => :'GetAtsRejectionReasonsPositiveResponseData' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Kombo::GetAtsRejectionReasonsPositiveResponse` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + acceptable_attribute_map = self.class.acceptable_attribute_map + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!acceptable_attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Kombo::GetAtsRejectionReasonsPositiveResponse`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'status') + self.status = attributes[:'status'] + else + self.status = nil + end + + if attributes.key?(:'data') + self.data = attributes[:'data'] + else + self.data = nil + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + warn '[DEPRECATED] the `list_invalid_properties` method is obsolete' + invalid_properties = Array.new + if @status.nil? + invalid_properties.push('invalid value for "status", status cannot be nil.') + end + + if @data.nil? + invalid_properties.push('invalid value for "data", data cannot be nil.') + end + + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + warn '[DEPRECATED] the `valid?` method is obsolete' + return false if @status.nil? + status_validator = EnumAttributeValidator.new('String', ["success"]) + return false unless status_validator.valid?(@status) + return false if @data.nil? + true + end + + # Custom attribute writer method checking allowed values (enum). + # @param [Object] status Object to be assigned + def status=(status) + validator = EnumAttributeValidator.new('String', ["success"]) + unless validator.valid?(status) + fail ArgumentError, "invalid value for \"status\", must be one of #{validator.allowable_values}." + end + @status = status + end + + # Custom attribute writer method with validation + # @param [Object] data Value to be assigned + def data=(data) + if data.nil? + fail ArgumentError, 'data cannot be nil' + end + + @data = data + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + status == o.status && + data == o.data + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [status, data].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + transformed_hash = {} + openapi_types.each_pair do |key, type| + if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = nil + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[attribute_map[key]].is_a?(Array) + transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) } + end + elsif !attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]]) + end + end + new(transformed_hash) + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + end + +end diff --git a/lib/kombo_client/models/get_ats_rejection_reasons_positive_response_data.rb b/lib/kombo_client/models/get_ats_rejection_reasons_positive_response_data.rb new file mode 100644 index 0000000..f240198 --- /dev/null +++ b/lib/kombo_client/models/get_ats_rejection_reasons_positive_response_data.rb @@ -0,0 +1,179 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.17.0 + +=end + +require 'date' +require 'time' + +module Kombo + class GetAtsRejectionReasonsPositiveResponseData < ApiModelBase + # 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. + attr_accessor :_next + + attr_accessor :results + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'_next' => :'next', + :'results' => :'results' + } + end + + # Returns attribute mapping this model knows about + def self.acceptable_attribute_map + attribute_map + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + acceptable_attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'_next' => :'String', + :'results' => :'Array' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + :'_next', + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Kombo::GetAtsRejectionReasonsPositiveResponseData` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + acceptable_attribute_map = self.class.acceptable_attribute_map + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!acceptable_attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Kombo::GetAtsRejectionReasonsPositiveResponseData`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'_next') + self._next = attributes[:'_next'] + else + self._next = nil + end + + if attributes.key?(:'results') + if (value = attributes[:'results']).is_a?(Array) + self.results = value + end + else + self.results = nil + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + warn '[DEPRECATED] the `list_invalid_properties` method is obsolete' + invalid_properties = Array.new + if @results.nil? + invalid_properties.push('invalid value for "results", results cannot be nil.') + end + + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + warn '[DEPRECATED] the `valid?` method is obsolete' + return false if @results.nil? + true + end + + # Custom attribute writer method with validation + # @param [Object] results Value to be assigned + def results=(results) + if results.nil? + fail ArgumentError, 'results cannot be nil' + end + + @results = results + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + _next == o._next && + results == o.results + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [_next, results].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + transformed_hash = {} + openapi_types.each_pair do |key, type| + if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = nil + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[attribute_map[key]].is_a?(Array) + transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) } + end + elsif !attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]]) + end + end + new(transformed_hash) + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + end + +end diff --git a/lib/kombo_client/models/get_ats_rejection_reasons_positive_response_data_results_inner.rb b/lib/kombo_client/models/get_ats_rejection_reasons_positive_response_data_results_inner.rb new file mode 100644 index 0000000..9ae2956 --- /dev/null +++ b/lib/kombo_client/models/get_ats_rejection_reasons_positive_response_data_results_inner.rb @@ -0,0 +1,260 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.17.0 + +=end + +require 'date' +require 'time' + +module Kombo + class GetAtsRejectionReasonsPositiveResponseDataResultsInner < ApiModelBase + # The globally unique ID of this object generated by Kombo. We recommend using this as a stable primary key for syncing. + attr_accessor :id + + # 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. + attr_accessor :remote_id + + # The title of the rejection reason. + attr_accessor :name + + # 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. + attr_accessor :changed_at + + # 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. + attr_accessor :remote_deleted_at + + # 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. + attr_accessor :remote_data + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'id' => :'id', + :'remote_id' => :'remote_id', + :'name' => :'name', + :'changed_at' => :'changed_at', + :'remote_deleted_at' => :'remote_deleted_at', + :'remote_data' => :'remote_data' + } + end + + # Returns attribute mapping this model knows about + def self.acceptable_attribute_map + attribute_map + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + acceptable_attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'id' => :'String', + :'remote_id' => :'String', + :'name' => :'String', + :'changed_at' => :'Time', + :'remote_deleted_at' => :'Time', + :'remote_data' => :'Hash' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + :'name', + :'remote_deleted_at', + :'remote_data' + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Kombo::GetAtsRejectionReasonsPositiveResponseDataResultsInner` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + acceptable_attribute_map = self.class.acceptable_attribute_map + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!acceptable_attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Kombo::GetAtsRejectionReasonsPositiveResponseDataResultsInner`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'id') + self.id = attributes[:'id'] + else + self.id = nil + end + + if attributes.key?(:'remote_id') + self.remote_id = attributes[:'remote_id'] + else + self.remote_id = nil + end + + if attributes.key?(:'name') + self.name = attributes[:'name'] + else + self.name = nil + end + + if attributes.key?(:'changed_at') + self.changed_at = attributes[:'changed_at'] + else + self.changed_at = nil + end + + if attributes.key?(:'remote_deleted_at') + self.remote_deleted_at = attributes[:'remote_deleted_at'] + else + self.remote_deleted_at = nil + end + + if attributes.key?(:'remote_data') + if (value = attributes[:'remote_data']).is_a?(Hash) + self.remote_data = value + end + else + self.remote_data = nil + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + warn '[DEPRECATED] the `list_invalid_properties` method is obsolete' + invalid_properties = Array.new + if @id.nil? + invalid_properties.push('invalid value for "id", id cannot be nil.') + end + + if @remote_id.nil? + invalid_properties.push('invalid value for "remote_id", remote_id cannot be nil.') + end + + if @changed_at.nil? + invalid_properties.push('invalid value for "changed_at", changed_at cannot be nil.') + end + + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + warn '[DEPRECATED] the `valid?` method is obsolete' + return false if @id.nil? + return false if @remote_id.nil? + return false if @changed_at.nil? + true + end + + # Custom attribute writer method with validation + # @param [Object] id Value to be assigned + def id=(id) + if id.nil? + fail ArgumentError, 'id cannot be nil' + end + + @id = id + end + + # Custom attribute writer method with validation + # @param [Object] remote_id Value to be assigned + def remote_id=(remote_id) + if remote_id.nil? + fail ArgumentError, 'remote_id cannot be nil' + end + + @remote_id = remote_id + end + + # Custom attribute writer method with validation + # @param [Object] changed_at Value to be assigned + def changed_at=(changed_at) + if changed_at.nil? + fail ArgumentError, 'changed_at cannot be nil' + end + + @changed_at = changed_at + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + id == o.id && + remote_id == o.remote_id && + name == o.name && + changed_at == o.changed_at && + remote_deleted_at == o.remote_deleted_at && + remote_data == o.remote_data + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [id, remote_id, name, changed_at, remote_deleted_at, remote_data].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + transformed_hash = {} + openapi_types.each_pair do |key, type| + if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = nil + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[attribute_map[key]].is_a?(Array) + transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) } + end + elsif !attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]]) + end + end + new(transformed_hash) + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + end + +end diff --git a/lib/kombo_client/models/get_ats_tags_parameter_include_deleted.rb b/lib/kombo_client/models/get_ats_tags_parameter_include_deleted.rb new file mode 100644 index 0000000..bd27f9d --- /dev/null +++ b/lib/kombo_client/models/get_ats_tags_parameter_include_deleted.rb @@ -0,0 +1,40 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.17.0 + +=end + +require 'date' +require 'time' + +module Kombo + class GetAtsTagsParameterIncludeDeleted + TRUE = "true".freeze + FALSE = "false".freeze + + def self.all_vars + @all_vars ||= [TRUE, FALSE].freeze + end + + # Builds the enum from string + # @param [String] The enum value in the form of the string + # @return [String] The enum value + def self.build_from_hash(value) + new.build_from_hash(value) + end + + # Builds the enum from string + # @param [String] The enum value in the form of the string + # @return [String] The enum value + def build_from_hash(value) + return value if GetAtsTagsParameterIncludeDeleted.all_vars.include?(value) + raise "Invalid ENUM value #{value} for class #GetAtsTagsParameterIncludeDeleted" + end + end +end diff --git a/lib/kombo_client/models/get_ats_tags_positive_response.rb b/lib/kombo_client/models/get_ats_tags_positive_response.rb new file mode 100644 index 0000000..1d56be4 --- /dev/null +++ b/lib/kombo_client/models/get_ats_tags_positive_response.rb @@ -0,0 +1,214 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.17.0 + +=end + +require 'date' +require 'time' + +module Kombo + class GetAtsTagsPositiveResponse < ApiModelBase + attr_accessor :status + + attr_accessor :data + + class EnumAttributeValidator + attr_reader :datatype + attr_reader :allowable_values + + def initialize(datatype, allowable_values) + @allowable_values = allowable_values.map do |value| + case datatype.to_s + when /Integer/i + value.to_i + when /Float/i + value.to_f + else + value + end + end + end + + def valid?(value) + !value || allowable_values.include?(value) + end + end + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'status' => :'status', + :'data' => :'data' + } + end + + # Returns attribute mapping this model knows about + def self.acceptable_attribute_map + attribute_map + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + acceptable_attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'status' => :'String', + :'data' => :'GetAtsTagsPositiveResponseData' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Kombo::GetAtsTagsPositiveResponse` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + acceptable_attribute_map = self.class.acceptable_attribute_map + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!acceptable_attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Kombo::GetAtsTagsPositiveResponse`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'status') + self.status = attributes[:'status'] + else + self.status = nil + end + + if attributes.key?(:'data') + self.data = attributes[:'data'] + else + self.data = nil + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + warn '[DEPRECATED] the `list_invalid_properties` method is obsolete' + invalid_properties = Array.new + if @status.nil? + invalid_properties.push('invalid value for "status", status cannot be nil.') + end + + if @data.nil? + invalid_properties.push('invalid value for "data", data cannot be nil.') + end + + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + warn '[DEPRECATED] the `valid?` method is obsolete' + return false if @status.nil? + status_validator = EnumAttributeValidator.new('String', ["success"]) + return false unless status_validator.valid?(@status) + return false if @data.nil? + true + end + + # Custom attribute writer method checking allowed values (enum). + # @param [Object] status Object to be assigned + def status=(status) + validator = EnumAttributeValidator.new('String', ["success"]) + unless validator.valid?(status) + fail ArgumentError, "invalid value for \"status\", must be one of #{validator.allowable_values}." + end + @status = status + end + + # Custom attribute writer method with validation + # @param [Object] data Value to be assigned + def data=(data) + if data.nil? + fail ArgumentError, 'data cannot be nil' + end + + @data = data + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + status == o.status && + data == o.data + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [status, data].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + transformed_hash = {} + openapi_types.each_pair do |key, type| + if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = nil + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[attribute_map[key]].is_a?(Array) + transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) } + end + elsif !attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]]) + end + end + new(transformed_hash) + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + end + +end diff --git a/lib/kombo_client/models/get_ats_tags_positive_response_data.rb b/lib/kombo_client/models/get_ats_tags_positive_response_data.rb new file mode 100644 index 0000000..2c3a90e --- /dev/null +++ b/lib/kombo_client/models/get_ats_tags_positive_response_data.rb @@ -0,0 +1,179 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.17.0 + +=end + +require 'date' +require 'time' + +module Kombo + class GetAtsTagsPositiveResponseData < ApiModelBase + # 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. + attr_accessor :_next + + attr_accessor :results + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'_next' => :'next', + :'results' => :'results' + } + end + + # Returns attribute mapping this model knows about + def self.acceptable_attribute_map + attribute_map + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + acceptable_attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'_next' => :'String', + :'results' => :'Array' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + :'_next', + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Kombo::GetAtsTagsPositiveResponseData` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + acceptable_attribute_map = self.class.acceptable_attribute_map + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!acceptable_attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Kombo::GetAtsTagsPositiveResponseData`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'_next') + self._next = attributes[:'_next'] + else + self._next = nil + end + + if attributes.key?(:'results') + if (value = attributes[:'results']).is_a?(Array) + self.results = value + end + else + self.results = nil + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + warn '[DEPRECATED] the `list_invalid_properties` method is obsolete' + invalid_properties = Array.new + if @results.nil? + invalid_properties.push('invalid value for "results", results cannot be nil.') + end + + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + warn '[DEPRECATED] the `valid?` method is obsolete' + return false if @results.nil? + true + end + + # Custom attribute writer method with validation + # @param [Object] results Value to be assigned + def results=(results) + if results.nil? + fail ArgumentError, 'results cannot be nil' + end + + @results = results + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + _next == o._next && + results == o.results + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [_next, results].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + transformed_hash = {} + openapi_types.each_pair do |key, type| + if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = nil + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[attribute_map[key]].is_a?(Array) + transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) } + end + elsif !attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]]) + end + end + new(transformed_hash) + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + end + +end diff --git a/lib/kombo_client/models/get_ats_tags_positive_response_data_results_inner.rb b/lib/kombo_client/models/get_ats_tags_positive_response_data_results_inner.rb new file mode 100644 index 0000000..47eb345 --- /dev/null +++ b/lib/kombo_client/models/get_ats_tags_positive_response_data_results_inner.rb @@ -0,0 +1,245 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.17.0 + +=end + +require 'date' +require 'time' + +module Kombo + class GetAtsTagsPositiveResponseDataResultsInner < ApiModelBase + # The globally unique ID of this object generated by Kombo. We recommend using this as a stable primary key for syncing. + attr_accessor :id + + # 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. + attr_accessor :remote_id + + attr_accessor :name + + # 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. + attr_accessor :remote_data + + # 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. + attr_accessor :changed_at + + # 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. + attr_accessor :remote_deleted_at + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'id' => :'id', + :'remote_id' => :'remote_id', + :'name' => :'name', + :'remote_data' => :'remote_data', + :'changed_at' => :'changed_at', + :'remote_deleted_at' => :'remote_deleted_at' + } + end + + # Returns attribute mapping this model knows about + def self.acceptable_attribute_map + attribute_map + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + acceptable_attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'id' => :'String', + :'remote_id' => :'String', + :'name' => :'String', + :'remote_data' => :'Hash', + :'changed_at' => :'Time', + :'remote_deleted_at' => :'Time' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + :'remote_id', + :'name', + :'remote_data', + :'remote_deleted_at' + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Kombo::GetAtsTagsPositiveResponseDataResultsInner` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + acceptable_attribute_map = self.class.acceptable_attribute_map + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!acceptable_attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Kombo::GetAtsTagsPositiveResponseDataResultsInner`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'id') + self.id = attributes[:'id'] + else + self.id = nil + end + + if attributes.key?(:'remote_id') + self.remote_id = attributes[:'remote_id'] + else + self.remote_id = nil + end + + if attributes.key?(:'name') + self.name = attributes[:'name'] + else + self.name = nil + end + + if attributes.key?(:'remote_data') + if (value = attributes[:'remote_data']).is_a?(Hash) + self.remote_data = value + end + else + self.remote_data = nil + end + + if attributes.key?(:'changed_at') + self.changed_at = attributes[:'changed_at'] + else + self.changed_at = nil + end + + if attributes.key?(:'remote_deleted_at') + self.remote_deleted_at = attributes[:'remote_deleted_at'] + else + self.remote_deleted_at = nil + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + warn '[DEPRECATED] the `list_invalid_properties` method is obsolete' + invalid_properties = Array.new + if @id.nil? + invalid_properties.push('invalid value for "id", id cannot be nil.') + end + + if @changed_at.nil? + invalid_properties.push('invalid value for "changed_at", changed_at cannot be nil.') + end + + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + warn '[DEPRECATED] the `valid?` method is obsolete' + return false if @id.nil? + return false if @changed_at.nil? + true + end + + # Custom attribute writer method with validation + # @param [Object] id Value to be assigned + def id=(id) + if id.nil? + fail ArgumentError, 'id cannot be nil' + end + + @id = id + end + + # Custom attribute writer method with validation + # @param [Object] changed_at Value to be assigned + def changed_at=(changed_at) + if changed_at.nil? + fail ArgumentError, 'changed_at cannot be nil' + end + + @changed_at = changed_at + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + id == o.id && + remote_id == o.remote_id && + name == o.name && + remote_data == o.remote_data && + changed_at == o.changed_at && + remote_deleted_at == o.remote_deleted_at + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [id, remote_id, name, remote_data, changed_at, remote_deleted_at].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + transformed_hash = {} + openapi_types.each_pair do |key, type| + if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = nil + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[attribute_map[key]].is_a?(Array) + transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) } + end + elsif !attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]]) + end + end + new(transformed_hash) + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + end + +end diff --git a/lib/kombo_client/models/get_ats_users_parameter_include_deleted.rb b/lib/kombo_client/models/get_ats_users_parameter_include_deleted.rb new file mode 100644 index 0000000..2844f5e --- /dev/null +++ b/lib/kombo_client/models/get_ats_users_parameter_include_deleted.rb @@ -0,0 +1,40 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.17.0 + +=end + +require 'date' +require 'time' + +module Kombo + class GetAtsUsersParameterIncludeDeleted + TRUE = "true".freeze + FALSE = "false".freeze + + def self.all_vars + @all_vars ||= [TRUE, FALSE].freeze + end + + # Builds the enum from string + # @param [String] The enum value in the form of the string + # @return [String] The enum value + def self.build_from_hash(value) + new.build_from_hash(value) + end + + # Builds the enum from string + # @param [String] The enum value in the form of the string + # @return [String] The enum value + def build_from_hash(value) + return value if GetAtsUsersParameterIncludeDeleted.all_vars.include?(value) + raise "Invalid ENUM value #{value} for class #GetAtsUsersParameterIncludeDeleted" + end + end +end diff --git a/lib/kombo_client/models/get_ats_users_positive_response.rb b/lib/kombo_client/models/get_ats_users_positive_response.rb new file mode 100644 index 0000000..81e95f6 --- /dev/null +++ b/lib/kombo_client/models/get_ats_users_positive_response.rb @@ -0,0 +1,214 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.17.0 + +=end + +require 'date' +require 'time' + +module Kombo + class GetAtsUsersPositiveResponse < ApiModelBase + attr_accessor :status + + attr_accessor :data + + class EnumAttributeValidator + attr_reader :datatype + attr_reader :allowable_values + + def initialize(datatype, allowable_values) + @allowable_values = allowable_values.map do |value| + case datatype.to_s + when /Integer/i + value.to_i + when /Float/i + value.to_f + else + value + end + end + end + + def valid?(value) + !value || allowable_values.include?(value) + end + end + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'status' => :'status', + :'data' => :'data' + } + end + + # Returns attribute mapping this model knows about + def self.acceptable_attribute_map + attribute_map + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + acceptable_attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'status' => :'String', + :'data' => :'GetAtsUsersPositiveResponseData' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Kombo::GetAtsUsersPositiveResponse` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + acceptable_attribute_map = self.class.acceptable_attribute_map + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!acceptable_attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Kombo::GetAtsUsersPositiveResponse`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'status') + self.status = attributes[:'status'] + else + self.status = nil + end + + if attributes.key?(:'data') + self.data = attributes[:'data'] + else + self.data = nil + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + warn '[DEPRECATED] the `list_invalid_properties` method is obsolete' + invalid_properties = Array.new + if @status.nil? + invalid_properties.push('invalid value for "status", status cannot be nil.') + end + + if @data.nil? + invalid_properties.push('invalid value for "data", data cannot be nil.') + end + + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + warn '[DEPRECATED] the `valid?` method is obsolete' + return false if @status.nil? + status_validator = EnumAttributeValidator.new('String', ["success"]) + return false unless status_validator.valid?(@status) + return false if @data.nil? + true + end + + # Custom attribute writer method checking allowed values (enum). + # @param [Object] status Object to be assigned + def status=(status) + validator = EnumAttributeValidator.new('String', ["success"]) + unless validator.valid?(status) + fail ArgumentError, "invalid value for \"status\", must be one of #{validator.allowable_values}." + end + @status = status + end + + # Custom attribute writer method with validation + # @param [Object] data Value to be assigned + def data=(data) + if data.nil? + fail ArgumentError, 'data cannot be nil' + end + + @data = data + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + status == o.status && + data == o.data + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [status, data].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + transformed_hash = {} + openapi_types.each_pair do |key, type| + if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = nil + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[attribute_map[key]].is_a?(Array) + transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) } + end + elsif !attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]]) + end + end + new(transformed_hash) + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + end + +end diff --git a/lib/kombo_client/models/get_ats_users_positive_response_data.rb b/lib/kombo_client/models/get_ats_users_positive_response_data.rb new file mode 100644 index 0000000..70cc5d6 --- /dev/null +++ b/lib/kombo_client/models/get_ats_users_positive_response_data.rb @@ -0,0 +1,179 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.17.0 + +=end + +require 'date' +require 'time' + +module Kombo + class GetAtsUsersPositiveResponseData < ApiModelBase + # 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. + attr_accessor :_next + + attr_accessor :results + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'_next' => :'next', + :'results' => :'results' + } + end + + # Returns attribute mapping this model knows about + def self.acceptable_attribute_map + attribute_map + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + acceptable_attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'_next' => :'String', + :'results' => :'Array' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + :'_next', + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Kombo::GetAtsUsersPositiveResponseData` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + acceptable_attribute_map = self.class.acceptable_attribute_map + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!acceptable_attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Kombo::GetAtsUsersPositiveResponseData`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'_next') + self._next = attributes[:'_next'] + else + self._next = nil + end + + if attributes.key?(:'results') + if (value = attributes[:'results']).is_a?(Array) + self.results = value + end + else + self.results = nil + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + warn '[DEPRECATED] the `list_invalid_properties` method is obsolete' + invalid_properties = Array.new + if @results.nil? + invalid_properties.push('invalid value for "results", results cannot be nil.') + end + + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + warn '[DEPRECATED] the `valid?` method is obsolete' + return false if @results.nil? + true + end + + # Custom attribute writer method with validation + # @param [Object] results Value to be assigned + def results=(results) + if results.nil? + fail ArgumentError, 'results cannot be nil' + end + + @results = results + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + _next == o._next && + results == o.results + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [_next, results].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + transformed_hash = {} + openapi_types.each_pair do |key, type| + if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = nil + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[attribute_map[key]].is_a?(Array) + transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) } + end + elsif !attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]]) + end + end + new(transformed_hash) + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + end + +end diff --git a/lib/kombo_client/models/get_ats_users_positive_response_data_results_inner.rb b/lib/kombo_client/models/get_ats_users_positive_response_data_results_inner.rb new file mode 100644 index 0000000..b1b2b67 --- /dev/null +++ b/lib/kombo_client/models/get_ats_users_positive_response_data_results_inner.rb @@ -0,0 +1,334 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.17.0 + +=end + +require 'date' +require 'time' + +module Kombo + class GetAtsUsersPositiveResponseDataResultsInner < ApiModelBase + # The globally unique ID of this object generated by Kombo. We recommend using this as a stable primary key for syncing. + attr_accessor :id + + # 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. + attr_accessor :remote_id + + # First name of the user. + attr_accessor :first_name + + # Last name of the user. + attr_accessor :last_name + + # Email of the user. If the email address is invalid, it will be set to null. + attr_accessor :email + + # Whether the user is active or inactive. Consider this field when provisioning users from the ATS. + attr_accessor :status + + # 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. + attr_accessor :remote_data + + # 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. + attr_accessor :changed_at + + # 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. + attr_accessor :remote_deleted_at + + class EnumAttributeValidator + attr_reader :datatype + attr_reader :allowable_values + + def initialize(datatype, allowable_values) + @allowable_values = allowable_values.map do |value| + case datatype.to_s + when /Integer/i + value.to_i + when /Float/i + value.to_f + else + value + end + end + end + + def valid?(value) + !value || allowable_values.include?(value) + end + end + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'id' => :'id', + :'remote_id' => :'remote_id', + :'first_name' => :'first_name', + :'last_name' => :'last_name', + :'email' => :'email', + :'status' => :'status', + :'remote_data' => :'remote_data', + :'changed_at' => :'changed_at', + :'remote_deleted_at' => :'remote_deleted_at' + } + end + + # Returns attribute mapping this model knows about + def self.acceptable_attribute_map + attribute_map + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + acceptable_attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'id' => :'String', + :'remote_id' => :'String', + :'first_name' => :'String', + :'last_name' => :'String', + :'email' => :'String', + :'status' => :'String', + :'remote_data' => :'Hash', + :'changed_at' => :'Time', + :'remote_deleted_at' => :'Time' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + :'remote_id', + :'first_name', + :'last_name', + :'email', + :'status', + :'remote_data', + :'remote_deleted_at' + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Kombo::GetAtsUsersPositiveResponseDataResultsInner` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + acceptable_attribute_map = self.class.acceptable_attribute_map + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!acceptable_attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Kombo::GetAtsUsersPositiveResponseDataResultsInner`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'id') + self.id = attributes[:'id'] + else + self.id = nil + end + + if attributes.key?(:'remote_id') + self.remote_id = attributes[:'remote_id'] + else + self.remote_id = nil + end + + if attributes.key?(:'first_name') + self.first_name = attributes[:'first_name'] + else + self.first_name = nil + end + + if attributes.key?(:'last_name') + self.last_name = attributes[:'last_name'] + else + self.last_name = nil + end + + if attributes.key?(:'email') + self.email = attributes[:'email'] + end + + if attributes.key?(:'status') + self.status = attributes[:'status'] + else + self.status = nil + end + + if attributes.key?(:'remote_data') + if (value = attributes[:'remote_data']).is_a?(Hash) + self.remote_data = value + end + else + self.remote_data = nil + end + + if attributes.key?(:'changed_at') + self.changed_at = attributes[:'changed_at'] + else + self.changed_at = nil + end + + if attributes.key?(:'remote_deleted_at') + self.remote_deleted_at = attributes[:'remote_deleted_at'] + else + self.remote_deleted_at = nil + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + warn '[DEPRECATED] the `list_invalid_properties` method is obsolete' + invalid_properties = Array.new + if @id.nil? + invalid_properties.push('invalid value for "id", id cannot be nil.') + end + + pattern = Regexp.new(/^(?!\.)(?!.*\.\.)([\w'+-.]*)[\w+-]@([\da-z][\da-z-]*\.)+[a-z]{2,}$/) + if !@email.nil? && @email !~ pattern + invalid_properties.push("invalid value for \"email\", must conform to the pattern #{pattern}.") + end + + if @changed_at.nil? + invalid_properties.push('invalid value for "changed_at", changed_at cannot be nil.') + end + + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + warn '[DEPRECATED] the `valid?` method is obsolete' + return false if @id.nil? + return false if !@email.nil? && @email !~ Regexp.new(/^(?!\.)(?!.*\.\.)([\w'+-.]*)[\w+-]@([\da-z][\da-z-]*\.)+[a-z]{2,}$/) + status_validator = EnumAttributeValidator.new('String', ["ACTIVE", "INACTIVE"]) + return false unless status_validator.valid?(@status) + return false if @changed_at.nil? + true + end + + # Custom attribute writer method with validation + # @param [Object] id Value to be assigned + def id=(id) + if id.nil? + fail ArgumentError, 'id cannot be nil' + end + + @id = id + end + + # Custom attribute writer method with validation + # @param [Object] email Value to be assigned + def email=(email) + pattern = Regexp.new(/^(?!\.)(?!.*\.\.)([\w'+-.]*)[\w+-]@([\da-z][\da-z-]*\.)+[a-z]{2,}$/) + if !email.nil? && email !~ pattern + fail ArgumentError, "invalid value for \"email\", must conform to the pattern #{pattern}." + end + + @email = email + end + + # Custom attribute writer method checking allowed values (enum). + # @param [Object] status Object to be assigned + def status=(status) + validator = EnumAttributeValidator.new('String', ["ACTIVE", "INACTIVE"]) + unless validator.valid?(status) + fail ArgumentError, "invalid value for \"status\", must be one of #{validator.allowable_values}." + end + @status = status + end + + # Custom attribute writer method with validation + # @param [Object] changed_at Value to be assigned + def changed_at=(changed_at) + if changed_at.nil? + fail ArgumentError, 'changed_at cannot be nil' + end + + @changed_at = changed_at + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + id == o.id && + remote_id == o.remote_id && + first_name == o.first_name && + last_name == o.last_name && + email == o.email && + status == o.status && + remote_data == o.remote_data && + changed_at == o.changed_at && + remote_deleted_at == o.remote_deleted_at + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [id, remote_id, first_name, last_name, email, status, remote_data, changed_at, remote_deleted_at].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + transformed_hash = {} + openapi_types.each_pair do |key, type| + if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = nil + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[attribute_map[key]].is_a?(Array) + transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) } + end + elsif !attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]]) + end + end + new(transformed_hash) + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + end + +end diff --git a/lib/kombo_client/models/get_check_api_key_positive_response.rb b/lib/kombo_client/models/get_check_api_key_positive_response.rb new file mode 100644 index 0000000..1a7436f --- /dev/null +++ b/lib/kombo_client/models/get_check_api_key_positive_response.rb @@ -0,0 +1,214 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.17.0 + +=end + +require 'date' +require 'time' + +module Kombo + class GetCheckApiKeyPositiveResponse < ApiModelBase + attr_accessor :status + + attr_accessor :data + + class EnumAttributeValidator + attr_reader :datatype + attr_reader :allowable_values + + def initialize(datatype, allowable_values) + @allowable_values = allowable_values.map do |value| + case datatype.to_s + when /Integer/i + value.to_i + when /Float/i + value.to_f + else + value + end + end + end + + def valid?(value) + !value || allowable_values.include?(value) + end + end + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'status' => :'status', + :'data' => :'data' + } + end + + # Returns attribute mapping this model knows about + def self.acceptable_attribute_map + attribute_map + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + acceptable_attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'status' => :'String', + :'data' => :'GetCheckApiKeyPositiveResponseData' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Kombo::GetCheckApiKeyPositiveResponse` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + acceptable_attribute_map = self.class.acceptable_attribute_map + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!acceptable_attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Kombo::GetCheckApiKeyPositiveResponse`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'status') + self.status = attributes[:'status'] + else + self.status = nil + end + + if attributes.key?(:'data') + self.data = attributes[:'data'] + else + self.data = nil + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + warn '[DEPRECATED] the `list_invalid_properties` method is obsolete' + invalid_properties = Array.new + if @status.nil? + invalid_properties.push('invalid value for "status", status cannot be nil.') + end + + if @data.nil? + invalid_properties.push('invalid value for "data", data cannot be nil.') + end + + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + warn '[DEPRECATED] the `valid?` method is obsolete' + return false if @status.nil? + status_validator = EnumAttributeValidator.new('String', ["success"]) + return false unless status_validator.valid?(@status) + return false if @data.nil? + true + end + + # Custom attribute writer method checking allowed values (enum). + # @param [Object] status Object to be assigned + def status=(status) + validator = EnumAttributeValidator.new('String', ["success"]) + unless validator.valid?(status) + fail ArgumentError, "invalid value for \"status\", must be one of #{validator.allowable_values}." + end + @status = status + end + + # Custom attribute writer method with validation + # @param [Object] data Value to be assigned + def data=(data) + if data.nil? + fail ArgumentError, 'data cannot be nil' + end + + @data = data + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + status == o.status && + data == o.data + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [status, data].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + transformed_hash = {} + openapi_types.each_pair do |key, type| + if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = nil + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[attribute_map[key]].is_a?(Array) + transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) } + end + elsif !attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]]) + end + end + new(transformed_hash) + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + end + +end diff --git a/lib/kombo_client/models/get_check_api_key_positive_response_data.rb b/lib/kombo_client/models/get_check_api_key_positive_response_data.rb new file mode 100644 index 0000000..1b4fbe2 --- /dev/null +++ b/lib/kombo_client/models/get_check_api_key_positive_response_data.rb @@ -0,0 +1,191 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.17.0 + +=end + +require 'date' +require 'time' + +module Kombo + class GetCheckApiKeyPositiveResponseData < ApiModelBase + attr_accessor :environment_id + + # **(⚠️ Deprecated)** Renamed to `environment_id`. + attr_accessor :customer_id + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'environment_id' => :'environment_id', + :'customer_id' => :'customer_id' + } + end + + # Returns attribute mapping this model knows about + def self.acceptable_attribute_map + attribute_map + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + acceptable_attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'environment_id' => :'String', + :'customer_id' => :'String' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Kombo::GetCheckApiKeyPositiveResponseData` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + acceptable_attribute_map = self.class.acceptable_attribute_map + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!acceptable_attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Kombo::GetCheckApiKeyPositiveResponseData`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'environment_id') + self.environment_id = attributes[:'environment_id'] + else + self.environment_id = nil + end + + if attributes.key?(:'customer_id') + self.customer_id = attributes[:'customer_id'] + else + self.customer_id = nil + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + warn '[DEPRECATED] the `list_invalid_properties` method is obsolete' + invalid_properties = Array.new + if @environment_id.nil? + invalid_properties.push('invalid value for "environment_id", environment_id cannot be nil.') + end + + if @customer_id.nil? + invalid_properties.push('invalid value for "customer_id", customer_id cannot be nil.') + end + + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + warn '[DEPRECATED] the `valid?` method is obsolete' + return false if @environment_id.nil? + return false if @customer_id.nil? + true + end + + # Custom attribute writer method with validation + # @param [Object] environment_id Value to be assigned + def environment_id=(environment_id) + if environment_id.nil? + fail ArgumentError, 'environment_id cannot be nil' + end + + @environment_id = environment_id + end + + # Custom attribute writer method with validation + # @param [Object] customer_id Value to be assigned + def customer_id=(customer_id) + if customer_id.nil? + fail ArgumentError, 'customer_id cannot be nil' + end + + @customer_id = customer_id + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + environment_id == o.environment_id && + customer_id == o.customer_id + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [environment_id, customer_id].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + transformed_hash = {} + openapi_types.each_pair do |key, type| + if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = nil + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[attribute_map[key]].is_a?(Array) + transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) } + end + elsif !attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]]) + end + end + new(transformed_hash) + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + end + +end diff --git a/lib/kombo_client/models/get_connect_integration_by_token_token_positive_response.rb b/lib/kombo_client/models/get_connect_integration_by_token_token_positive_response.rb new file mode 100644 index 0000000..b048a52 --- /dev/null +++ b/lib/kombo_client/models/get_connect_integration_by_token_token_positive_response.rb @@ -0,0 +1,214 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.17.0 + +=end + +require 'date' +require 'time' + +module Kombo + class GetConnectIntegrationByTokenTokenPositiveResponse < ApiModelBase + attr_accessor :status + + attr_accessor :data + + class EnumAttributeValidator + attr_reader :datatype + attr_reader :allowable_values + + def initialize(datatype, allowable_values) + @allowable_values = allowable_values.map do |value| + case datatype.to_s + when /Integer/i + value.to_i + when /Float/i + value.to_f + else + value + end + end + end + + def valid?(value) + !value || allowable_values.include?(value) + end + end + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'status' => :'status', + :'data' => :'data' + } + end + + # Returns attribute mapping this model knows about + def self.acceptable_attribute_map + attribute_map + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + acceptable_attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'status' => :'String', + :'data' => :'GetConnectIntegrationByTokenTokenPositiveResponseData' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Kombo::GetConnectIntegrationByTokenTokenPositiveResponse` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + acceptable_attribute_map = self.class.acceptable_attribute_map + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!acceptable_attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Kombo::GetConnectIntegrationByTokenTokenPositiveResponse`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'status') + self.status = attributes[:'status'] + else + self.status = nil + end + + if attributes.key?(:'data') + self.data = attributes[:'data'] + else + self.data = nil + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + warn '[DEPRECATED] the `list_invalid_properties` method is obsolete' + invalid_properties = Array.new + if @status.nil? + invalid_properties.push('invalid value for "status", status cannot be nil.') + end + + if @data.nil? + invalid_properties.push('invalid value for "data", data cannot be nil.') + end + + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + warn '[DEPRECATED] the `valid?` method is obsolete' + return false if @status.nil? + status_validator = EnumAttributeValidator.new('String', ["success"]) + return false unless status_validator.valid?(@status) + return false if @data.nil? + true + end + + # Custom attribute writer method checking allowed values (enum). + # @param [Object] status Object to be assigned + def status=(status) + validator = EnumAttributeValidator.new('String', ["success"]) + unless validator.valid?(status) + fail ArgumentError, "invalid value for \"status\", must be one of #{validator.allowable_values}." + end + @status = status + end + + # Custom attribute writer method with validation + # @param [Object] data Value to be assigned + def data=(data) + if data.nil? + fail ArgumentError, 'data cannot be nil' + end + + @data = data + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + status == o.status && + data == o.data + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [status, data].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + transformed_hash = {} + openapi_types.each_pair do |key, type| + if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = nil + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[attribute_map[key]].is_a?(Array) + transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) } + end + elsif !attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]]) + end + end + new(transformed_hash) + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + end + +end diff --git a/lib/kombo_client/models/get_connect_integration_by_token_token_positive_response_data.rb b/lib/kombo_client/models/get_connect_integration_by_token_token_positive_response_data.rb new file mode 100644 index 0000000..aac260a --- /dev/null +++ b/lib/kombo_client/models/get_connect_integration_by_token_token_positive_response_data.rb @@ -0,0 +1,308 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.17.0 + +=end + +require 'date' +require 'time' + +module Kombo + class GetConnectIntegrationByTokenTokenPositiveResponseData < ApiModelBase + attr_accessor :tool + + attr_accessor :id + + attr_accessor :end_user_origin_id + + attr_accessor :end_user_organization_name + + attr_accessor :end_user_email + + # 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. + attr_accessor :setup_status + + class EnumAttributeValidator + attr_reader :datatype + attr_reader :allowable_values + + def initialize(datatype, allowable_values) + @allowable_values = allowable_values.map do |value| + case datatype.to_s + when /Integer/i + value.to_i + when /Float/i + value.to_f + else + value + end + end + end + + def valid?(value) + !value || allowable_values.include?(value) + end + end + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'tool' => :'tool', + :'id' => :'id', + :'end_user_origin_id' => :'end_user_origin_id', + :'end_user_organization_name' => :'end_user_organization_name', + :'end_user_email' => :'end_user_email', + :'setup_status' => :'setup_status' + } + end + + # Returns attribute mapping this model knows about + def self.acceptable_attribute_map + attribute_map + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + acceptable_attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'tool' => :'String', + :'id' => :'String', + :'end_user_origin_id' => :'String', + :'end_user_organization_name' => :'String', + :'end_user_email' => :'String', + :'setup_status' => :'String' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + :'end_user_origin_id', + :'end_user_email', + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Kombo::GetConnectIntegrationByTokenTokenPositiveResponseData` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + acceptable_attribute_map = self.class.acceptable_attribute_map + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!acceptable_attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Kombo::GetConnectIntegrationByTokenTokenPositiveResponseData`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'tool') + self.tool = attributes[:'tool'] + else + self.tool = nil + end + + if attributes.key?(:'id') + self.id = attributes[:'id'] + else + self.id = nil + end + + if attributes.key?(:'end_user_origin_id') + self.end_user_origin_id = attributes[:'end_user_origin_id'] + else + self.end_user_origin_id = nil + end + + if attributes.key?(:'end_user_organization_name') + self.end_user_organization_name = attributes[:'end_user_organization_name'] + else + self.end_user_organization_name = nil + end + + if attributes.key?(:'end_user_email') + self.end_user_email = attributes[:'end_user_email'] + else + self.end_user_email = nil + end + + if attributes.key?(:'setup_status') + self.setup_status = attributes[:'setup_status'] + else + self.setup_status = nil + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + warn '[DEPRECATED] the `list_invalid_properties` method is obsolete' + invalid_properties = Array.new + if @tool.nil? + invalid_properties.push('invalid value for "tool", tool cannot be nil.') + end + + if @id.nil? + invalid_properties.push('invalid value for "id", id cannot be nil.') + end + + if @end_user_organization_name.nil? + invalid_properties.push('invalid value for "end_user_organization_name", end_user_organization_name cannot be nil.') + end + + pattern = Regexp.new(/^(?!\.)(?!.*\.\.)([\w'+-.]*)[\w+-]@([\da-z][\da-z-]*\.)+[a-z]{2,}$/) + if @end_user_email !~ pattern + invalid_properties.push("invalid value for \"end_user_email\", must conform to the pattern #{pattern}.") + end + + if @setup_status.nil? + invalid_properties.push('invalid value for "setup_status", setup_status cannot be nil.') + end + + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + warn '[DEPRECATED] the `valid?` method is obsolete' + return false if @tool.nil? + return false if @id.nil? + return false if @end_user_organization_name.nil? + return false if @end_user_email !~ Regexp.new(/^(?!\.)(?!.*\.\.)([\w'+-.]*)[\w+-]@([\da-z][\da-z-]*\.)+[a-z]{2,}$/) + return false if @setup_status.nil? + setup_status_validator = EnumAttributeValidator.new('String', ["INCOMPLETE", "FINAL_SYNC_PENDING", "COMPLETED"]) + return false unless setup_status_validator.valid?(@setup_status) + true + end + + # Custom attribute writer method with validation + # @param [Object] tool Value to be assigned + def tool=(tool) + if tool.nil? + fail ArgumentError, 'tool cannot be nil' + end + + @tool = tool + end + + # Custom attribute writer method with validation + # @param [Object] id Value to be assigned + def id=(id) + if id.nil? + fail ArgumentError, 'id cannot be nil' + end + + @id = id + end + + # Custom attribute writer method with validation + # @param [Object] end_user_organization_name Value to be assigned + def end_user_organization_name=(end_user_organization_name) + if end_user_organization_name.nil? + fail ArgumentError, 'end_user_organization_name cannot be nil' + end + + @end_user_organization_name = end_user_organization_name + end + + # Custom attribute writer method with validation + # @param [Object] end_user_email Value to be assigned + def end_user_email=(end_user_email) + pattern = Regexp.new(/^(?!\.)(?!.*\.\.)([\w'+-.]*)[\w+-]@([\da-z][\da-z-]*\.)+[a-z]{2,}$/) + if !end_user_email.nil? && end_user_email !~ pattern + fail ArgumentError, "invalid value for \"end_user_email\", must conform to the pattern #{pattern}." + end + + @end_user_email = end_user_email + end + + # Custom attribute writer method checking allowed values (enum). + # @param [Object] setup_status Object to be assigned + def setup_status=(setup_status) + validator = EnumAttributeValidator.new('String', ["INCOMPLETE", "FINAL_SYNC_PENDING", "COMPLETED"]) + unless validator.valid?(setup_status) + fail ArgumentError, "invalid value for \"setup_status\", must be one of #{validator.allowable_values}." + end + @setup_status = setup_status + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + tool == o.tool && + id == o.id && + end_user_origin_id == o.end_user_origin_id && + end_user_organization_name == o.end_user_organization_name && + end_user_email == o.end_user_email && + setup_status == o.setup_status + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [tool, id, end_user_origin_id, end_user_organization_name, end_user_email, setup_status].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + transformed_hash = {} + openapi_types.each_pair do |key, type| + if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = nil + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[attribute_map[key]].is_a?(Array) + transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) } + end + elsif !attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]]) + end + end + new(transformed_hash) + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + end + +end diff --git a/lib/kombo_client/models/get_custom_datev_available_documents_positive_response.rb b/lib/kombo_client/models/get_custom_datev_available_documents_positive_response.rb new file mode 100644 index 0000000..e6641d2 --- /dev/null +++ b/lib/kombo_client/models/get_custom_datev_available_documents_positive_response.rb @@ -0,0 +1,243 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.17.0 + +=end + +require 'date' +require 'time' + +module Kombo + class GetCustomDatevAvailableDocumentsPositiveResponse < ApiModelBase + attr_accessor :status + + attr_accessor :data + + # 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. + attr_accessor :warnings + + class EnumAttributeValidator + attr_reader :datatype + attr_reader :allowable_values + + def initialize(datatype, allowable_values) + @allowable_values = allowable_values.map do |value| + case datatype.to_s + when /Integer/i + value.to_i + when /Float/i + value.to_f + else + value + end + end + end + + def valid?(value) + !value || allowable_values.include?(value) + end + end + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'status' => :'status', + :'data' => :'data', + :'warnings' => :'warnings' + } + end + + # Returns attribute mapping this model knows about + def self.acceptable_attribute_map + attribute_map + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + acceptable_attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'status' => :'String', + :'data' => :'GetCustomDatevAvailableDocumentsPositiveResponseData', + :'warnings' => :'Array' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Kombo::GetCustomDatevAvailableDocumentsPositiveResponse` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + acceptable_attribute_map = self.class.acceptable_attribute_map + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!acceptable_attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Kombo::GetCustomDatevAvailableDocumentsPositiveResponse`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'status') + self.status = attributes[:'status'] + else + self.status = nil + end + + if attributes.key?(:'data') + self.data = attributes[:'data'] + else + self.data = nil + end + + if attributes.key?(:'warnings') + if (value = attributes[:'warnings']).is_a?(Array) + self.warnings = value + end + else + self.warnings = nil + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + warn '[DEPRECATED] the `list_invalid_properties` method is obsolete' + invalid_properties = Array.new + if @status.nil? + invalid_properties.push('invalid value for "status", status cannot be nil.') + end + + if @data.nil? + invalid_properties.push('invalid value for "data", data cannot be nil.') + end + + if @warnings.nil? + invalid_properties.push('invalid value for "warnings", warnings cannot be nil.') + end + + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + warn '[DEPRECATED] the `valid?` method is obsolete' + return false if @status.nil? + status_validator = EnumAttributeValidator.new('String', ["success"]) + return false unless status_validator.valid?(@status) + return false if @data.nil? + return false if @warnings.nil? + true + end + + # Custom attribute writer method checking allowed values (enum). + # @param [Object] status Object to be assigned + def status=(status) + validator = EnumAttributeValidator.new('String', ["success"]) + unless validator.valid?(status) + fail ArgumentError, "invalid value for \"status\", must be one of #{validator.allowable_values}." + end + @status = status + end + + # Custom attribute writer method with validation + # @param [Object] data Value to be assigned + def data=(data) + if data.nil? + fail ArgumentError, 'data cannot be nil' + end + + @data = data + end + + # Custom attribute writer method with validation + # @param [Object] warnings Value to be assigned + def warnings=(warnings) + if warnings.nil? + fail ArgumentError, 'warnings cannot be nil' + end + + @warnings = warnings + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + status == o.status && + data == o.data && + warnings == o.warnings + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [status, data, warnings].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + transformed_hash = {} + openapi_types.each_pair do |key, type| + if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = nil + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[attribute_map[key]].is_a?(Array) + transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) } + end + elsif !attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]]) + end + end + new(transformed_hash) + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + end + +end diff --git a/lib/kombo_client/models/get_custom_datev_available_documents_positive_response_data.rb b/lib/kombo_client/models/get_custom_datev_available_documents_positive_response_data.rb new file mode 100644 index 0000000..ffefeb8 --- /dev/null +++ b/lib/kombo_client/models/get_custom_datev_available_documents_positive_response_data.rb @@ -0,0 +1,166 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.17.0 + +=end + +require 'date' +require 'time' + +module Kombo + class GetCustomDatevAvailableDocumentsPositiveResponseData < ApiModelBase + attr_accessor :results + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'results' => :'results' + } + end + + # Returns attribute mapping this model knows about + def self.acceptable_attribute_map + attribute_map + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + acceptable_attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'results' => :'Array' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Kombo::GetCustomDatevAvailableDocumentsPositiveResponseData` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + acceptable_attribute_map = self.class.acceptable_attribute_map + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!acceptable_attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Kombo::GetCustomDatevAvailableDocumentsPositiveResponseData`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'results') + if (value = attributes[:'results']).is_a?(Array) + self.results = value + end + else + self.results = nil + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + warn '[DEPRECATED] the `list_invalid_properties` method is obsolete' + invalid_properties = Array.new + if @results.nil? + invalid_properties.push('invalid value for "results", results cannot be nil.') + end + + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + warn '[DEPRECATED] the `valid?` method is obsolete' + return false if @results.nil? + true + end + + # Custom attribute writer method with validation + # @param [Object] results Value to be assigned + def results=(results) + if results.nil? + fail ArgumentError, 'results cannot be nil' + end + + @results = results + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + results == o.results + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [results].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + transformed_hash = {} + openapi_types.each_pair do |key, type| + if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = nil + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[attribute_map[key]].is_a?(Array) + transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) } + end + elsif !attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]]) + end + end + new(transformed_hash) + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + end + +end diff --git a/lib/kombo_client/models/get_custom_datev_available_documents_positive_response_data_results_inner.rb b/lib/kombo_client/models/get_custom_datev_available_documents_positive_response_data_results_inner.rb new file mode 100644 index 0000000..7fd8194 --- /dev/null +++ b/lib/kombo_client/models/get_custom_datev_available_documents_positive_response_data_results_inner.rb @@ -0,0 +1,221 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.17.0 + +=end + +require 'date' +require 'time' + +module Kombo + class GetCustomDatevAvailableDocumentsPositiveResponseDataResultsInner < ApiModelBase + # The document's type. + attr_accessor :document_type + + # List of employees this document is available for. + attr_accessor :available_for_employees + + # Is true if the document is a company document. + attr_accessor :is_company_document + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'document_type' => :'document_type', + :'available_for_employees' => :'available_for_employees', + :'is_company_document' => :'is_company_document' + } + end + + # Returns attribute mapping this model knows about + def self.acceptable_attribute_map + attribute_map + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + acceptable_attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'document_type' => :'String', + :'available_for_employees' => :'Array', + :'is_company_document' => :'Boolean' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Kombo::GetCustomDatevAvailableDocumentsPositiveResponseDataResultsInner` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + acceptable_attribute_map = self.class.acceptable_attribute_map + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!acceptable_attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Kombo::GetCustomDatevAvailableDocumentsPositiveResponseDataResultsInner`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'document_type') + self.document_type = attributes[:'document_type'] + else + self.document_type = nil + end + + if attributes.key?(:'available_for_employees') + if (value = attributes[:'available_for_employees']).is_a?(Array) + self.available_for_employees = value + end + else + self.available_for_employees = nil + end + + if attributes.key?(:'is_company_document') + self.is_company_document = attributes[:'is_company_document'] + else + self.is_company_document = nil + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + warn '[DEPRECATED] the `list_invalid_properties` method is obsolete' + invalid_properties = Array.new + if @document_type.nil? + invalid_properties.push('invalid value for "document_type", document_type cannot be nil.') + end + + if @available_for_employees.nil? + invalid_properties.push('invalid value for "available_for_employees", available_for_employees cannot be nil.') + end + + if @is_company_document.nil? + invalid_properties.push('invalid value for "is_company_document", is_company_document cannot be nil.') + end + + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + warn '[DEPRECATED] the `valid?` method is obsolete' + return false if @document_type.nil? + return false if @available_for_employees.nil? + return false if @is_company_document.nil? + true + end + + # Custom attribute writer method with validation + # @param [Object] document_type Value to be assigned + def document_type=(document_type) + if document_type.nil? + fail ArgumentError, 'document_type cannot be nil' + end + + @document_type = document_type + end + + # Custom attribute writer method with validation + # @param [Object] available_for_employees Value to be assigned + def available_for_employees=(available_for_employees) + if available_for_employees.nil? + fail ArgumentError, 'available_for_employees cannot be nil' + end + + @available_for_employees = available_for_employees + end + + # Custom attribute writer method with validation + # @param [Object] is_company_document Value to be assigned + def is_company_document=(is_company_document) + if is_company_document.nil? + fail ArgumentError, 'is_company_document cannot be nil' + end + + @is_company_document = is_company_document + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + document_type == o.document_type && + available_for_employees == o.available_for_employees && + is_company_document == o.is_company_document + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [document_type, available_for_employees, is_company_document].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + transformed_hash = {} + openapi_types.each_pair do |key, type| + if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = nil + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[attribute_map[key]].is_a?(Array) + transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) } + end + elsif !attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]]) + end + end + new(transformed_hash) + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + end + +end diff --git a/lib/kombo_client/models/get_custom_datev_available_documents_positive_response_data_results_inner_available_for_employees_inner.rb b/lib/kombo_client/models/get_custom_datev_available_documents_positive_response_data_results_inner_available_for_employees_inner.rb new file mode 100644 index 0000000..1de2945 --- /dev/null +++ b/lib/kombo_client/models/get_custom_datev_available_documents_positive_response_data_results_inner_available_for_employees_inner.rb @@ -0,0 +1,176 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.17.0 + +=end + +require 'date' +require 'time' + +module Kombo + class GetCustomDatevAvailableDocumentsPositiveResponseDataResultsInnerAvailableForEmployeesInner < ApiModelBase + attr_accessor :id + + attr_accessor :remote_id + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'id' => :'id', + :'remote_id' => :'remote_id' + } + end + + # Returns attribute mapping this model knows about + def self.acceptable_attribute_map + attribute_map + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + acceptable_attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'id' => :'String', + :'remote_id' => :'String' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + :'id', + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Kombo::GetCustomDatevAvailableDocumentsPositiveResponseDataResultsInnerAvailableForEmployeesInner` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + acceptable_attribute_map = self.class.acceptable_attribute_map + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!acceptable_attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Kombo::GetCustomDatevAvailableDocumentsPositiveResponseDataResultsInnerAvailableForEmployeesInner`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'id') + self.id = attributes[:'id'] + else + self.id = nil + end + + if attributes.key?(:'remote_id') + self.remote_id = attributes[:'remote_id'] + else + self.remote_id = nil + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + warn '[DEPRECATED] the `list_invalid_properties` method is obsolete' + invalid_properties = Array.new + if @remote_id.nil? + invalid_properties.push('invalid value for "remote_id", remote_id cannot be nil.') + end + + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + warn '[DEPRECATED] the `valid?` method is obsolete' + return false if @remote_id.nil? + true + end + + # Custom attribute writer method with validation + # @param [Object] remote_id Value to be assigned + def remote_id=(remote_id) + if remote_id.nil? + fail ArgumentError, 'remote_id cannot be nil' + end + + @remote_id = remote_id + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + id == o.id && + remote_id == o.remote_id + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [id, remote_id].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + transformed_hash = {} + openapi_types.each_pair do |key, type| + if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = nil + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[attribute_map[key]].is_a?(Array) + transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) } + end + elsif !attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]]) + end + end + new(transformed_hash) + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + end + +end diff --git a/lib/kombo_client/models/get_custom_datev_check_document_permission_positive_response.rb b/lib/kombo_client/models/get_custom_datev_check_document_permission_positive_response.rb new file mode 100644 index 0000000..0752071 --- /dev/null +++ b/lib/kombo_client/models/get_custom_datev_check_document_permission_positive_response.rb @@ -0,0 +1,243 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.17.0 + +=end + +require 'date' +require 'time' + +module Kombo + class GetCustomDatevCheckDocumentPermissionPositiveResponse < ApiModelBase + attr_accessor :status + + attr_accessor :data + + # 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. + attr_accessor :warnings + + class EnumAttributeValidator + attr_reader :datatype + attr_reader :allowable_values + + def initialize(datatype, allowable_values) + @allowable_values = allowable_values.map do |value| + case datatype.to_s + when /Integer/i + value.to_i + when /Float/i + value.to_f + else + value + end + end + end + + def valid?(value) + !value || allowable_values.include?(value) + end + end + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'status' => :'status', + :'data' => :'data', + :'warnings' => :'warnings' + } + end + + # Returns attribute mapping this model knows about + def self.acceptable_attribute_map + attribute_map + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + acceptable_attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'status' => :'String', + :'data' => :'GetCustomDatevCheckDocumentPermissionPositiveResponseData', + :'warnings' => :'Array' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Kombo::GetCustomDatevCheckDocumentPermissionPositiveResponse` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + acceptable_attribute_map = self.class.acceptable_attribute_map + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!acceptable_attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Kombo::GetCustomDatevCheckDocumentPermissionPositiveResponse`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'status') + self.status = attributes[:'status'] + else + self.status = nil + end + + if attributes.key?(:'data') + self.data = attributes[:'data'] + else + self.data = nil + end + + if attributes.key?(:'warnings') + if (value = attributes[:'warnings']).is_a?(Array) + self.warnings = value + end + else + self.warnings = nil + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + warn '[DEPRECATED] the `list_invalid_properties` method is obsolete' + invalid_properties = Array.new + if @status.nil? + invalid_properties.push('invalid value for "status", status cannot be nil.') + end + + if @data.nil? + invalid_properties.push('invalid value for "data", data cannot be nil.') + end + + if @warnings.nil? + invalid_properties.push('invalid value for "warnings", warnings cannot be nil.') + end + + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + warn '[DEPRECATED] the `valid?` method is obsolete' + return false if @status.nil? + status_validator = EnumAttributeValidator.new('String', ["success"]) + return false unless status_validator.valid?(@status) + return false if @data.nil? + return false if @warnings.nil? + true + end + + # Custom attribute writer method checking allowed values (enum). + # @param [Object] status Object to be assigned + def status=(status) + validator = EnumAttributeValidator.new('String', ["success"]) + unless validator.valid?(status) + fail ArgumentError, "invalid value for \"status\", must be one of #{validator.allowable_values}." + end + @status = status + end + + # Custom attribute writer method with validation + # @param [Object] data Value to be assigned + def data=(data) + if data.nil? + fail ArgumentError, 'data cannot be nil' + end + + @data = data + end + + # Custom attribute writer method with validation + # @param [Object] warnings Value to be assigned + def warnings=(warnings) + if warnings.nil? + fail ArgumentError, 'warnings cannot be nil' + end + + @warnings = warnings + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + status == o.status && + data == o.data && + warnings == o.warnings + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [status, data, warnings].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + transformed_hash = {} + openapi_types.each_pair do |key, type| + if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = nil + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[attribute_map[key]].is_a?(Array) + transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) } + end + elsif !attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]]) + end + end + new(transformed_hash) + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + end + +end diff --git a/lib/kombo_client/models/get_custom_datev_check_document_permission_positive_response_data.rb b/lib/kombo_client/models/get_custom_datev_check_document_permission_positive_response_data.rb new file mode 100644 index 0000000..264aee7 --- /dev/null +++ b/lib/kombo_client/models/get_custom_datev_check_document_permission_positive_response_data.rb @@ -0,0 +1,103 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.17.0 + +=end + +require 'date' +require 'time' + +module Kombo + module GetCustomDatevCheckDocumentPermissionPositiveResponseData + class << self + # List of class defined in anyOf (OpenAPI v3) + def openapi_any_of + [ + :'GetCustomDatevCheckDocumentPermissionPositiveResponseDataAnyOf', + :'GetCustomDatevCheckDocumentPermissionPositiveResponseDataAnyOf1' + ] + end + + # Builds the object + # @param [Mixed] Data to be matched against the list of anyOf items + # @return [Object] Returns the model or the data itself + def build(data) + # Go through the list of anyOf items and attempt to identify the appropriate one. + # Note: + # - No advanced validation of types in some cases (e.g. "x: { type: string }" will happily match { x: 123 }) + # due to the way the deserialization is made in the base_object template (it just casts without verifying). + # - TODO: scalar values are de facto behaving as if they were nullable. + # - TODO: logging when debugging is set. + openapi_any_of.each do |klass| + begin + next if klass == :AnyType # "nullable: true" + return find_and_cast_into_type(klass, data) + rescue # rescue all errors so we keep iterating even if the current item lookup raises + end + end + + openapi_any_of.include?(:AnyType) ? data : nil + end + + private + + SchemaMismatchError = Class.new(StandardError) + + # Note: 'File' is missing here because in the regular case we get the data _after_ a call to JSON.parse. + def find_and_cast_into_type(klass, data) + return if data.nil? + + case klass.to_s + when 'Boolean' + return data if data.instance_of?(TrueClass) || data.instance_of?(FalseClass) + when 'Float' + return data if data.instance_of?(Float) + when 'Integer' + return data if data.instance_of?(Integer) + when 'Time' + return Time.parse(data) + when 'Date' + return Date.iso8601(data) + when 'String' + return data if data.instance_of?(String) + when 'Object' # "type: object" + return data if data.instance_of?(Hash) + when /\AArray<(?.+)>\z/ # "type: array" + if data.instance_of?(Array) + sub_type = Regexp.last_match[:sub_type] + return data.map { |item| find_and_cast_into_type(sub_type, item) } + end + when /\AHash.+)>\z/ # "type: object" with "additionalProperties: { ... }" + if data.instance_of?(Hash) && data.keys.all? { |k| k.instance_of?(Symbol) || k.instance_of?(String) } + sub_type = Regexp.last_match[:sub_type] + return data.each_with_object({}) { |(k, v), hsh| hsh[k] = find_and_cast_into_type(sub_type, v) } + end + else # model + const = Kombo.const_get(klass) + if const + if const.respond_to?(:openapi_any_of) # nested anyOf model + model = const.build(data) + return model if model + else + # raise if data contains keys that are not known to the model + raise if const.respond_to?(:acceptable_attributes) && !(data.keys - const.acceptable_attributes).empty? + model = const.build_from_hash(data) + return model if model + end + end + end + + raise # if no match by now, raise + rescue + raise SchemaMismatchError, "#{data} doesn't match the #{klass} type" + end + end + end + +end diff --git a/lib/kombo_client/models/get_custom_datev_check_document_permission_positive_response_data_any_of.rb b/lib/kombo_client/models/get_custom_datev_check_document_permission_positive_response_data_any_of.rb new file mode 100644 index 0000000..87abaf2 --- /dev/null +++ b/lib/kombo_client/models/get_custom_datev_check_document_permission_positive_response_data_any_of.rb @@ -0,0 +1,192 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.17.0 + +=end + +require 'date' +require 'time' + +module Kombo + class GetCustomDatevCheckDocumentPermissionPositiveResponseDataAnyOf < ApiModelBase + attr_accessor :ready + + attr_accessor :documents_granted + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'ready' => :'ready', + :'documents_granted' => :'documents_granted' + } + end + + # Returns attribute mapping this model knows about + def self.acceptable_attribute_map + attribute_map + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + acceptable_attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'ready' => :'Boolean', + :'documents_granted' => :'Array' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Kombo::GetCustomDatevCheckDocumentPermissionPositiveResponseDataAnyOf` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + acceptable_attribute_map = self.class.acceptable_attribute_map + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!acceptable_attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Kombo::GetCustomDatevCheckDocumentPermissionPositiveResponseDataAnyOf`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'ready') + self.ready = attributes[:'ready'] + else + self.ready = nil + end + + if attributes.key?(:'documents_granted') + if (value = attributes[:'documents_granted']).is_a?(Array) + self.documents_granted = value + end + else + self.documents_granted = nil + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + warn '[DEPRECATED] the `list_invalid_properties` method is obsolete' + invalid_properties = Array.new + if @ready.nil? + invalid_properties.push('invalid value for "ready", ready cannot be nil.') + end + + if @documents_granted.nil? + invalid_properties.push('invalid value for "documents_granted", documents_granted cannot be nil.') + end + + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + warn '[DEPRECATED] the `valid?` method is obsolete' + return false if @ready.nil? + return false if @documents_granted.nil? + true + end + + # Custom attribute writer method with validation + # @param [Object] ready Value to be assigned + def ready=(ready) + if ready.nil? + fail ArgumentError, 'ready cannot be nil' + end + + @ready = ready + end + + # Custom attribute writer method with validation + # @param [Object] documents_granted Value to be assigned + def documents_granted=(documents_granted) + if documents_granted.nil? + fail ArgumentError, 'documents_granted cannot be nil' + end + + @documents_granted = documents_granted + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + ready == o.ready && + documents_granted == o.documents_granted + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [ready, documents_granted].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + transformed_hash = {} + openapi_types.each_pair do |key, type| + if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = nil + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[attribute_map[key]].is_a?(Array) + transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) } + end + elsif !attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]]) + end + end + new(transformed_hash) + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + end + +end diff --git a/lib/kombo_client/models/get_custom_datev_check_document_permission_positive_response_data_any_of1.rb b/lib/kombo_client/models/get_custom_datev_check_document_permission_positive_response_data_any_of1.rb new file mode 100644 index 0000000..75b64f5 --- /dev/null +++ b/lib/kombo_client/models/get_custom_datev_check_document_permission_positive_response_data_any_of1.rb @@ -0,0 +1,190 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.17.0 + +=end + +require 'date' +require 'time' + +module Kombo + class GetCustomDatevCheckDocumentPermissionPositiveResponseDataAnyOf1 < ApiModelBase + attr_accessor :ready + + attr_accessor :error + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'ready' => :'ready', + :'error' => :'error' + } + end + + # Returns attribute mapping this model knows about + def self.acceptable_attribute_map + attribute_map + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + acceptable_attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'ready' => :'Boolean', + :'error' => :'String' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Kombo::GetCustomDatevCheckDocumentPermissionPositiveResponseDataAnyOf1` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + acceptable_attribute_map = self.class.acceptable_attribute_map + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!acceptable_attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Kombo::GetCustomDatevCheckDocumentPermissionPositiveResponseDataAnyOf1`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'ready') + self.ready = attributes[:'ready'] + else + self.ready = nil + end + + if attributes.key?(:'error') + self.error = attributes[:'error'] + else + self.error = nil + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + warn '[DEPRECATED] the `list_invalid_properties` method is obsolete' + invalid_properties = Array.new + if @ready.nil? + invalid_properties.push('invalid value for "ready", ready cannot be nil.') + end + + if @error.nil? + invalid_properties.push('invalid value for "error", error cannot be nil.') + end + + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + warn '[DEPRECATED] the `valid?` method is obsolete' + return false if @ready.nil? + return false if @error.nil? + true + end + + # Custom attribute writer method with validation + # @param [Object] ready Value to be assigned + def ready=(ready) + if ready.nil? + fail ArgumentError, 'ready cannot be nil' + end + + @ready = ready + end + + # Custom attribute writer method with validation + # @param [Object] error Value to be assigned + def error=(error) + if error.nil? + fail ArgumentError, 'error cannot be nil' + end + + @error = error + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + ready == o.ready && + error == o.error + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [ready, error].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + transformed_hash = {} + openapi_types.each_pair do |key, type| + if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = nil + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[attribute_map[key]].is_a?(Array) + transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) } + end + elsif !attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]]) + end + end + new(transformed_hash) + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + end + +end diff --git a/lib/kombo_client/models/get_custom_datev_check_eau_permission_positive_response.rb b/lib/kombo_client/models/get_custom_datev_check_eau_permission_positive_response.rb new file mode 100644 index 0000000..095c7ef --- /dev/null +++ b/lib/kombo_client/models/get_custom_datev_check_eau_permission_positive_response.rb @@ -0,0 +1,243 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.17.0 + +=end + +require 'date' +require 'time' + +module Kombo + class GetCustomDatevCheckEauPermissionPositiveResponse < ApiModelBase + attr_accessor :status + + attr_accessor :data + + # 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. + attr_accessor :warnings + + class EnumAttributeValidator + attr_reader :datatype + attr_reader :allowable_values + + def initialize(datatype, allowable_values) + @allowable_values = allowable_values.map do |value| + case datatype.to_s + when /Integer/i + value.to_i + when /Float/i + value.to_f + else + value + end + end + end + + def valid?(value) + !value || allowable_values.include?(value) + end + end + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'status' => :'status', + :'data' => :'data', + :'warnings' => :'warnings' + } + end + + # Returns attribute mapping this model knows about + def self.acceptable_attribute_map + attribute_map + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + acceptable_attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'status' => :'String', + :'data' => :'GetCustomDatevCheckEauPermissionPositiveResponseData', + :'warnings' => :'Array' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Kombo::GetCustomDatevCheckEauPermissionPositiveResponse` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + acceptable_attribute_map = self.class.acceptable_attribute_map + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!acceptable_attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Kombo::GetCustomDatevCheckEauPermissionPositiveResponse`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'status') + self.status = attributes[:'status'] + else + self.status = nil + end + + if attributes.key?(:'data') + self.data = attributes[:'data'] + else + self.data = nil + end + + if attributes.key?(:'warnings') + if (value = attributes[:'warnings']).is_a?(Array) + self.warnings = value + end + else + self.warnings = nil + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + warn '[DEPRECATED] the `list_invalid_properties` method is obsolete' + invalid_properties = Array.new + if @status.nil? + invalid_properties.push('invalid value for "status", status cannot be nil.') + end + + if @data.nil? + invalid_properties.push('invalid value for "data", data cannot be nil.') + end + + if @warnings.nil? + invalid_properties.push('invalid value for "warnings", warnings cannot be nil.') + end + + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + warn '[DEPRECATED] the `valid?` method is obsolete' + return false if @status.nil? + status_validator = EnumAttributeValidator.new('String', ["success"]) + return false unless status_validator.valid?(@status) + return false if @data.nil? + return false if @warnings.nil? + true + end + + # Custom attribute writer method checking allowed values (enum). + # @param [Object] status Object to be assigned + def status=(status) + validator = EnumAttributeValidator.new('String', ["success"]) + unless validator.valid?(status) + fail ArgumentError, "invalid value for \"status\", must be one of #{validator.allowable_values}." + end + @status = status + end + + # Custom attribute writer method with validation + # @param [Object] data Value to be assigned + def data=(data) + if data.nil? + fail ArgumentError, 'data cannot be nil' + end + + @data = data + end + + # Custom attribute writer method with validation + # @param [Object] warnings Value to be assigned + def warnings=(warnings) + if warnings.nil? + fail ArgumentError, 'warnings cannot be nil' + end + + @warnings = warnings + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + status == o.status && + data == o.data && + warnings == o.warnings + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [status, data, warnings].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + transformed_hash = {} + openapi_types.each_pair do |key, type| + if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = nil + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[attribute_map[key]].is_a?(Array) + transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) } + end + elsif !attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]]) + end + end + new(transformed_hash) + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + end + +end diff --git a/lib/kombo_client/models/get_custom_datev_check_eau_permission_positive_response_data.rb b/lib/kombo_client/models/get_custom_datev_check_eau_permission_positive_response_data.rb new file mode 100644 index 0000000..02984d7 --- /dev/null +++ b/lib/kombo_client/models/get_custom_datev_check_eau_permission_positive_response_data.rb @@ -0,0 +1,173 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.17.0 + +=end + +require 'date' +require 'time' + +module Kombo + class GetCustomDatevCheckEauPermissionPositiveResponseData < ApiModelBase + attr_accessor :ready + + attr_accessor :error + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'ready' => :'ready', + :'error' => :'error' + } + end + + # Returns attribute mapping this model knows about + def self.acceptable_attribute_map + attribute_map + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + acceptable_attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'ready' => :'Boolean', + :'error' => :'String' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Kombo::GetCustomDatevCheckEauPermissionPositiveResponseData` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + acceptable_attribute_map = self.class.acceptable_attribute_map + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!acceptable_attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Kombo::GetCustomDatevCheckEauPermissionPositiveResponseData`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'ready') + self.ready = attributes[:'ready'] + else + self.ready = nil + end + + if attributes.key?(:'error') + self.error = attributes[:'error'] + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + warn '[DEPRECATED] the `list_invalid_properties` method is obsolete' + invalid_properties = Array.new + if @ready.nil? + invalid_properties.push('invalid value for "ready", ready cannot be nil.') + end + + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + warn '[DEPRECATED] the `valid?` method is obsolete' + return false if @ready.nil? + true + end + + # Custom attribute writer method with validation + # @param [Object] ready Value to be assigned + def ready=(ready) + if ready.nil? + fail ArgumentError, 'ready cannot be nil' + end + + @ready = ready + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + ready == o.ready && + error == o.error + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [ready, error].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + transformed_hash = {} + openapi_types.each_pair do |key, type| + if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = nil + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[attribute_map[key]].is_a?(Array) + transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) } + end + elsif !attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]]) + end + end + new(transformed_hash) + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + end + +end diff --git a/lib/kombo_client/models/get_custom_datev_check_write_permission_positive_response.rb b/lib/kombo_client/models/get_custom_datev_check_write_permission_positive_response.rb new file mode 100644 index 0000000..47d93b8 --- /dev/null +++ b/lib/kombo_client/models/get_custom_datev_check_write_permission_positive_response.rb @@ -0,0 +1,243 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.17.0 + +=end + +require 'date' +require 'time' + +module Kombo + class GetCustomDatevCheckWritePermissionPositiveResponse < ApiModelBase + attr_accessor :status + + attr_accessor :data + + # 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. + attr_accessor :warnings + + class EnumAttributeValidator + attr_reader :datatype + attr_reader :allowable_values + + def initialize(datatype, allowable_values) + @allowable_values = allowable_values.map do |value| + case datatype.to_s + when /Integer/i + value.to_i + when /Float/i + value.to_f + else + value + end + end + end + + def valid?(value) + !value || allowable_values.include?(value) + end + end + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'status' => :'status', + :'data' => :'data', + :'warnings' => :'warnings' + } + end + + # Returns attribute mapping this model knows about + def self.acceptable_attribute_map + attribute_map + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + acceptable_attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'status' => :'String', + :'data' => :'GetCustomDatevCheckEauPermissionPositiveResponseData', + :'warnings' => :'Array' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Kombo::GetCustomDatevCheckWritePermissionPositiveResponse` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + acceptable_attribute_map = self.class.acceptable_attribute_map + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!acceptable_attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Kombo::GetCustomDatevCheckWritePermissionPositiveResponse`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'status') + self.status = attributes[:'status'] + else + self.status = nil + end + + if attributes.key?(:'data') + self.data = attributes[:'data'] + else + self.data = nil + end + + if attributes.key?(:'warnings') + if (value = attributes[:'warnings']).is_a?(Array) + self.warnings = value + end + else + self.warnings = nil + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + warn '[DEPRECATED] the `list_invalid_properties` method is obsolete' + invalid_properties = Array.new + if @status.nil? + invalid_properties.push('invalid value for "status", status cannot be nil.') + end + + if @data.nil? + invalid_properties.push('invalid value for "data", data cannot be nil.') + end + + if @warnings.nil? + invalid_properties.push('invalid value for "warnings", warnings cannot be nil.') + end + + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + warn '[DEPRECATED] the `valid?` method is obsolete' + return false if @status.nil? + status_validator = EnumAttributeValidator.new('String', ["success"]) + return false unless status_validator.valid?(@status) + return false if @data.nil? + return false if @warnings.nil? + true + end + + # Custom attribute writer method checking allowed values (enum). + # @param [Object] status Object to be assigned + def status=(status) + validator = EnumAttributeValidator.new('String', ["success"]) + unless validator.valid?(status) + fail ArgumentError, "invalid value for \"status\", must be one of #{validator.allowable_values}." + end + @status = status + end + + # Custom attribute writer method with validation + # @param [Object] data Value to be assigned + def data=(data) + if data.nil? + fail ArgumentError, 'data cannot be nil' + end + + @data = data + end + + # Custom attribute writer method with validation + # @param [Object] warnings Value to be assigned + def warnings=(warnings) + if warnings.nil? + fail ArgumentError, 'warnings cannot be nil' + end + + @warnings = warnings + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + status == o.status && + data == o.data && + warnings == o.warnings + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [status, data, warnings].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + transformed_hash = {} + openapi_types.each_pair do |key, type| + if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = nil + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[attribute_map[key]].is_a?(Array) + transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) } + end + elsif !attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]]) + end + end + new(transformed_hash) + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + end + +end diff --git a/lib/kombo_client/models/get_custom_datev_data_pushes_positive_response.rb b/lib/kombo_client/models/get_custom_datev_data_pushes_positive_response.rb new file mode 100644 index 0000000..fbd517d --- /dev/null +++ b/lib/kombo_client/models/get_custom_datev_data_pushes_positive_response.rb @@ -0,0 +1,214 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.17.0 + +=end + +require 'date' +require 'time' + +module Kombo + class GetCustomDatevDataPushesPositiveResponse < ApiModelBase + attr_accessor :status + + attr_accessor :data + + class EnumAttributeValidator + attr_reader :datatype + attr_reader :allowable_values + + def initialize(datatype, allowable_values) + @allowable_values = allowable_values.map do |value| + case datatype.to_s + when /Integer/i + value.to_i + when /Float/i + value.to_f + else + value + end + end + end + + def valid?(value) + !value || allowable_values.include?(value) + end + end + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'status' => :'status', + :'data' => :'data' + } + end + + # Returns attribute mapping this model knows about + def self.acceptable_attribute_map + attribute_map + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + acceptable_attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'status' => :'String', + :'data' => :'GetCustomDatevDataPushesPositiveResponseData' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Kombo::GetCustomDatevDataPushesPositiveResponse` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + acceptable_attribute_map = self.class.acceptable_attribute_map + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!acceptable_attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Kombo::GetCustomDatevDataPushesPositiveResponse`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'status') + self.status = attributes[:'status'] + else + self.status = nil + end + + if attributes.key?(:'data') + self.data = attributes[:'data'] + else + self.data = nil + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + warn '[DEPRECATED] the `list_invalid_properties` method is obsolete' + invalid_properties = Array.new + if @status.nil? + invalid_properties.push('invalid value for "status", status cannot be nil.') + end + + if @data.nil? + invalid_properties.push('invalid value for "data", data cannot be nil.') + end + + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + warn '[DEPRECATED] the `valid?` method is obsolete' + return false if @status.nil? + status_validator = EnumAttributeValidator.new('String', ["success"]) + return false unless status_validator.valid?(@status) + return false if @data.nil? + true + end + + # Custom attribute writer method checking allowed values (enum). + # @param [Object] status Object to be assigned + def status=(status) + validator = EnumAttributeValidator.new('String', ["success"]) + unless validator.valid?(status) + fail ArgumentError, "invalid value for \"status\", must be one of #{validator.allowable_values}." + end + @status = status + end + + # Custom attribute writer method with validation + # @param [Object] data Value to be assigned + def data=(data) + if data.nil? + fail ArgumentError, 'data cannot be nil' + end + + @data = data + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + status == o.status && + data == o.data + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [status, data].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + transformed_hash = {} + openapi_types.each_pair do |key, type| + if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = nil + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[attribute_map[key]].is_a?(Array) + transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) } + end + elsif !attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]]) + end + end + new(transformed_hash) + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + end + +end diff --git a/lib/kombo_client/models/get_custom_datev_data_pushes_positive_response_data.rb b/lib/kombo_client/models/get_custom_datev_data_pushes_positive_response_data.rb new file mode 100644 index 0000000..73ec72e --- /dev/null +++ b/lib/kombo_client/models/get_custom_datev_data_pushes_positive_response_data.rb @@ -0,0 +1,166 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.17.0 + +=end + +require 'date' +require 'time' + +module Kombo + class GetCustomDatevDataPushesPositiveResponseData < ApiModelBase + attr_accessor :data_pushes + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'data_pushes' => :'data_pushes' + } + end + + # Returns attribute mapping this model knows about + def self.acceptable_attribute_map + attribute_map + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + acceptable_attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'data_pushes' => :'Array' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Kombo::GetCustomDatevDataPushesPositiveResponseData` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + acceptable_attribute_map = self.class.acceptable_attribute_map + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!acceptable_attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Kombo::GetCustomDatevDataPushesPositiveResponseData`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'data_pushes') + if (value = attributes[:'data_pushes']).is_a?(Array) + self.data_pushes = value + end + else + self.data_pushes = nil + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + warn '[DEPRECATED] the `list_invalid_properties` method is obsolete' + invalid_properties = Array.new + if @data_pushes.nil? + invalid_properties.push('invalid value for "data_pushes", data_pushes cannot be nil.') + end + + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + warn '[DEPRECATED] the `valid?` method is obsolete' + return false if @data_pushes.nil? + true + end + + # Custom attribute writer method with validation + # @param [Object] data_pushes Value to be assigned + def data_pushes=(data_pushes) + if data_pushes.nil? + fail ArgumentError, 'data_pushes cannot be nil' + end + + @data_pushes = data_pushes + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + data_pushes == o.data_pushes + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [data_pushes].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + transformed_hash = {} + openapi_types.each_pair do |key, type| + if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = nil + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[attribute_map[key]].is_a?(Array) + transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) } + end + elsif !attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]]) + end + end + new(transformed_hash) + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + end + +end diff --git a/lib/kombo_client/models/get_custom_datev_data_pushes_positive_response_data_data_pushes_inner.rb b/lib/kombo_client/models/get_custom_datev_data_pushes_positive_response_data_data_pushes_inner.rb new file mode 100644 index 0000000..fd9f9db --- /dev/null +++ b/lib/kombo_client/models/get_custom_datev_data_pushes_positive_response_data_data_pushes_inner.rb @@ -0,0 +1,271 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.17.0 + +=end + +require 'date' +require 'time' + +module Kombo + class GetCustomDatevDataPushesPositiveResponseDataDataPushesInner < ApiModelBase + attr_accessor :id + + # Type of the executed data push. + attr_accessor :type + + # Date when the push-data endpoint was called. + attr_accessor :created_at + + # List of all the submitted files. This can include multiple files if data was edited for multiple months. + attr_accessor :upload_jobs + + class EnumAttributeValidator + attr_reader :datatype + attr_reader :allowable_values + + def initialize(datatype, allowable_values) + @allowable_values = allowable_values.map do |value| + case datatype.to_s + when /Integer/i + value.to_i + when /Float/i + value.to_f + else + value + end + end + end + + def valid?(value) + !value || allowable_values.include?(value) + end + end + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'id' => :'id', + :'type' => :'type', + :'created_at' => :'created_at', + :'upload_jobs' => :'upload_jobs' + } + end + + # Returns attribute mapping this model knows about + def self.acceptable_attribute_map + attribute_map + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + acceptable_attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'id' => :'String', + :'type' => :'String', + :'created_at' => :'Time', + :'upload_jobs' => :'Array' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Kombo::GetCustomDatevDataPushesPositiveResponseDataDataPushesInner` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + acceptable_attribute_map = self.class.acceptable_attribute_map + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!acceptable_attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Kombo::GetCustomDatevDataPushesPositiveResponseDataDataPushesInner`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'id') + self.id = attributes[:'id'] + else + self.id = nil + end + + if attributes.key?(:'type') + self.type = attributes[:'type'] + else + self.type = nil + end + + if attributes.key?(:'created_at') + self.created_at = attributes[:'created_at'] + else + self.created_at = nil + end + + if attributes.key?(:'upload_jobs') + if (value = attributes[:'upload_jobs']).is_a?(Array) + self.upload_jobs = value + end + else + self.upload_jobs = nil + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + warn '[DEPRECATED] the `list_invalid_properties` method is obsolete' + invalid_properties = Array.new + if @id.nil? + invalid_properties.push('invalid value for "id", id cannot be nil.') + end + + if @type.nil? + invalid_properties.push('invalid value for "type", type cannot be nil.') + end + + if @created_at.nil? + invalid_properties.push('invalid value for "created_at", created_at cannot be nil.') + end + + if @upload_jobs.nil? + invalid_properties.push('invalid value for "upload_jobs", upload_jobs cannot be nil.') + end + + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + warn '[DEPRECATED] the `valid?` method is obsolete' + return false if @id.nil? + return false if @type.nil? + type_validator = EnumAttributeValidator.new('String', ["GENERAL", "PAYROLL"]) + return false unless type_validator.valid?(@type) + return false if @created_at.nil? + return false if @upload_jobs.nil? + true + end + + # Custom attribute writer method with validation + # @param [Object] id Value to be assigned + def id=(id) + if id.nil? + fail ArgumentError, 'id cannot be nil' + end + + @id = id + end + + # Custom attribute writer method checking allowed values (enum). + # @param [Object] type Object to be assigned + def type=(type) + validator = EnumAttributeValidator.new('String', ["GENERAL", "PAYROLL"]) + unless validator.valid?(type) + fail ArgumentError, "invalid value for \"type\", must be one of #{validator.allowable_values}." + end + @type = type + end + + # Custom attribute writer method with validation + # @param [Object] created_at Value to be assigned + def created_at=(created_at) + if created_at.nil? + fail ArgumentError, 'created_at cannot be nil' + end + + @created_at = created_at + end + + # Custom attribute writer method with validation + # @param [Object] upload_jobs Value to be assigned + def upload_jobs=(upload_jobs) + if upload_jobs.nil? + fail ArgumentError, 'upload_jobs cannot be nil' + end + + @upload_jobs = upload_jobs + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + id == o.id && + type == o.type && + created_at == o.created_at && + upload_jobs == o.upload_jobs + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [id, type, created_at, upload_jobs].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + transformed_hash = {} + openapi_types.each_pair do |key, type| + if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = nil + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[attribute_map[key]].is_a?(Array) + transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) } + end + elsif !attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]]) + end + end + new(transformed_hash) + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + end + +end diff --git a/lib/kombo_client/models/get_custom_datev_data_pushes_positive_response_data_data_pushes_inner_upload_jobs_inner.rb b/lib/kombo_client/models/get_custom_datev_data_pushes_positive_response_data_data_pushes_inner_upload_jobs_inner.rb new file mode 100644 index 0000000..2d38316 --- /dev/null +++ b/lib/kombo_client/models/get_custom_datev_data_pushes_positive_response_data_data_pushes_inner_upload_jobs_inner.rb @@ -0,0 +1,268 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.17.0 + +=end + +require 'date' +require 'time' + +module Kombo + class GetCustomDatevDataPushesPositiveResponseDataDataPushesInnerUploadJobsInner < ApiModelBase + attr_accessor :id + + attr_accessor :file_name + + # 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. + attr_accessor :state + + # Actual content of the file. + attr_accessor :file + + class EnumAttributeValidator + attr_reader :datatype + attr_reader :allowable_values + + def initialize(datatype, allowable_values) + @allowable_values = allowable_values.map do |value| + case datatype.to_s + when /Integer/i + value.to_i + when /Float/i + value.to_f + else + value + end + end + end + + def valid?(value) + !value || allowable_values.include?(value) + end + end + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'id' => :'id', + :'file_name' => :'file_name', + :'state' => :'state', + :'file' => :'file' + } + end + + # Returns attribute mapping this model knows about + def self.acceptable_attribute_map + attribute_map + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + acceptable_attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'id' => :'String', + :'file_name' => :'String', + :'state' => :'String', + :'file' => :'String' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Kombo::GetCustomDatevDataPushesPositiveResponseDataDataPushesInnerUploadJobsInner` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + acceptable_attribute_map = self.class.acceptable_attribute_map + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!acceptable_attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Kombo::GetCustomDatevDataPushesPositiveResponseDataDataPushesInnerUploadJobsInner`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'id') + self.id = attributes[:'id'] + else + self.id = nil + end + + if attributes.key?(:'file_name') + self.file_name = attributes[:'file_name'] + else + self.file_name = nil + end + + if attributes.key?(:'state') + self.state = attributes[:'state'] + else + self.state = nil + end + + if attributes.key?(:'file') + self.file = attributes[:'file'] + else + self.file = nil + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + warn '[DEPRECATED] the `list_invalid_properties` method is obsolete' + invalid_properties = Array.new + if @id.nil? + invalid_properties.push('invalid value for "id", id cannot be nil.') + end + + if @file_name.nil? + invalid_properties.push('invalid value for "file_name", file_name cannot be nil.') + end + + if @state.nil? + invalid_properties.push('invalid value for "state", state cannot be nil.') + end + + if @file.nil? + invalid_properties.push('invalid value for "file", file cannot be nil.') + end + + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + warn '[DEPRECATED] the `valid?` method is obsolete' + return false if @id.nil? + return false if @file_name.nil? + return false if @state.nil? + state_validator = EnumAttributeValidator.new('String', ["FAILED", "UPLOADED", "IMPORTED", "CORRUPTED", "DELETED", "AUTO_DELETED"]) + return false unless state_validator.valid?(@state) + return false if @file.nil? + true + end + + # Custom attribute writer method with validation + # @param [Object] id Value to be assigned + def id=(id) + if id.nil? + fail ArgumentError, 'id cannot be nil' + end + + @id = id + end + + # Custom attribute writer method with validation + # @param [Object] file_name Value to be assigned + def file_name=(file_name) + if file_name.nil? + fail ArgumentError, 'file_name cannot be nil' + end + + @file_name = file_name + end + + # Custom attribute writer method checking allowed values (enum). + # @param [Object] state Object to be assigned + def state=(state) + validator = EnumAttributeValidator.new('String', ["FAILED", "UPLOADED", "IMPORTED", "CORRUPTED", "DELETED", "AUTO_DELETED"]) + unless validator.valid?(state) + fail ArgumentError, "invalid value for \"state\", must be one of #{validator.allowable_values}." + end + @state = state + end + + # Custom attribute writer method with validation + # @param [Object] file Value to be assigned + def file=(file) + if file.nil? + fail ArgumentError, 'file cannot be nil' + end + + @file = file + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + id == o.id && + file_name == o.file_name && + state == o.state && + file == o.file + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [id, file_name, state, file].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + transformed_hash = {} + openapi_types.each_pair do |key, type| + if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = nil + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[attribute_map[key]].is_a?(Array) + transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) } + end + elsif !attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]]) + end + end + new(transformed_hash) + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + end + +end diff --git a/lib/kombo_client/models/get_custom_datev_eau_requests_eau_id_positive_response.rb b/lib/kombo_client/models/get_custom_datev_eau_requests_eau_id_positive_response.rb new file mode 100644 index 0000000..0c6be22 --- /dev/null +++ b/lib/kombo_client/models/get_custom_datev_eau_requests_eau_id_positive_response.rb @@ -0,0 +1,243 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.17.0 + +=end + +require 'date' +require 'time' + +module Kombo + class GetCustomDatevEauRequestsEauIdPositiveResponse < ApiModelBase + attr_accessor :status + + attr_accessor :data + + # 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. + attr_accessor :warnings + + class EnumAttributeValidator + attr_reader :datatype + attr_reader :allowable_values + + def initialize(datatype, allowable_values) + @allowable_values = allowable_values.map do |value| + case datatype.to_s + when /Integer/i + value.to_i + when /Float/i + value.to_f + else + value + end + end + end + + def valid?(value) + !value || allowable_values.include?(value) + end + end + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'status' => :'status', + :'data' => :'data', + :'warnings' => :'warnings' + } + end + + # Returns attribute mapping this model knows about + def self.acceptable_attribute_map + attribute_map + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + acceptable_attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'status' => :'String', + :'data' => :'GetCustomDatevEauRequestsEauIdPositiveResponseData', + :'warnings' => :'Array' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Kombo::GetCustomDatevEauRequestsEauIdPositiveResponse` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + acceptable_attribute_map = self.class.acceptable_attribute_map + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!acceptable_attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Kombo::GetCustomDatevEauRequestsEauIdPositiveResponse`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'status') + self.status = attributes[:'status'] + else + self.status = nil + end + + if attributes.key?(:'data') + self.data = attributes[:'data'] + else + self.data = nil + end + + if attributes.key?(:'warnings') + if (value = attributes[:'warnings']).is_a?(Array) + self.warnings = value + end + else + self.warnings = nil + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + warn '[DEPRECATED] the `list_invalid_properties` method is obsolete' + invalid_properties = Array.new + if @status.nil? + invalid_properties.push('invalid value for "status", status cannot be nil.') + end + + if @data.nil? + invalid_properties.push('invalid value for "data", data cannot be nil.') + end + + if @warnings.nil? + invalid_properties.push('invalid value for "warnings", warnings cannot be nil.') + end + + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + warn '[DEPRECATED] the `valid?` method is obsolete' + return false if @status.nil? + status_validator = EnumAttributeValidator.new('String', ["success"]) + return false unless status_validator.valid?(@status) + return false if @data.nil? + return false if @warnings.nil? + true + end + + # Custom attribute writer method checking allowed values (enum). + # @param [Object] status Object to be assigned + def status=(status) + validator = EnumAttributeValidator.new('String', ["success"]) + unless validator.valid?(status) + fail ArgumentError, "invalid value for \"status\", must be one of #{validator.allowable_values}." + end + @status = status + end + + # Custom attribute writer method with validation + # @param [Object] data Value to be assigned + def data=(data) + if data.nil? + fail ArgumentError, 'data cannot be nil' + end + + @data = data + end + + # Custom attribute writer method with validation + # @param [Object] warnings Value to be assigned + def warnings=(warnings) + if warnings.nil? + fail ArgumentError, 'warnings cannot be nil' + end + + @warnings = warnings + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + status == o.status && + data == o.data && + warnings == o.warnings + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [status, data, warnings].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + transformed_hash = {} + openapi_types.each_pair do |key, type| + if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = nil + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[attribute_map[key]].is_a?(Array) + transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) } + end + elsif !attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]]) + end + end + new(transformed_hash) + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + end + +end diff --git a/lib/kombo_client/models/get_custom_datev_eau_requests_eau_id_positive_response_data.rb b/lib/kombo_client/models/get_custom_datev_eau_requests_eau_id_positive_response_data.rb new file mode 100644 index 0000000..3b32c89 --- /dev/null +++ b/lib/kombo_client/models/get_custom_datev_eau_requests_eau_id_positive_response_data.rb @@ -0,0 +1,164 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.17.0 + +=end + +require 'date' +require 'time' + +module Kombo + class GetCustomDatevEauRequestsEauIdPositiveResponseData < ApiModelBase + attr_accessor :raw + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'raw' => :'raw' + } + end + + # Returns attribute mapping this model knows about + def self.acceptable_attribute_map + attribute_map + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + acceptable_attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'raw' => :'GetCustomDatevEauRequestsEauIdPositiveResponseDataRaw' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Kombo::GetCustomDatevEauRequestsEauIdPositiveResponseData` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + acceptable_attribute_map = self.class.acceptable_attribute_map + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!acceptable_attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Kombo::GetCustomDatevEauRequestsEauIdPositiveResponseData`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'raw') + self.raw = attributes[:'raw'] + else + self.raw = nil + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + warn '[DEPRECATED] the `list_invalid_properties` method is obsolete' + invalid_properties = Array.new + if @raw.nil? + invalid_properties.push('invalid value for "raw", raw cannot be nil.') + end + + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + warn '[DEPRECATED] the `valid?` method is obsolete' + return false if @raw.nil? + true + end + + # Custom attribute writer method with validation + # @param [Object] raw Value to be assigned + def raw=(raw) + if raw.nil? + fail ArgumentError, 'raw cannot be nil' + end + + @raw = raw + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + raw == o.raw + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [raw].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + transformed_hash = {} + openapi_types.each_pair do |key, type| + if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = nil + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[attribute_map[key]].is_a?(Array) + transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) } + end + elsif !attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]]) + end + end + new(transformed_hash) + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + end + +end diff --git a/lib/kombo_client/models/get_custom_datev_eau_requests_eau_id_positive_response_data_raw.rb b/lib/kombo_client/models/get_custom_datev_eau_requests_eau_id_positive_response_data_raw.rb new file mode 100644 index 0000000..aa58743 --- /dev/null +++ b/lib/kombo_client/models/get_custom_datev_eau_requests_eau_id_positive_response_data_raw.rb @@ -0,0 +1,230 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.17.0 + +=end + +require 'date' +require 'time' + +module Kombo + class GetCustomDatevEauRequestsEauIdPositiveResponseDataRaw < ApiModelBase + # DATEV source system system (LuG or LODAS). + attr_accessor :source + + # 2022-01-13 + attr_accessor :start_work_incapacity + + # Internal DATEV identifier. + attr_accessor :collaboration_identifier + + attr_accessor :feedbacks_from_health_insurance + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'source' => :'source', + :'start_work_incapacity' => :'start_work_incapacity', + :'collaboration_identifier' => :'collaboration_identifier', + :'feedbacks_from_health_insurance' => :'feedbacks_from_health_insurance' + } + end + + # Returns attribute mapping this model knows about + def self.acceptable_attribute_map + attribute_map + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + acceptable_attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'source' => :'String', + :'start_work_incapacity' => :'String', + :'collaboration_identifier' => :'String', + :'feedbacks_from_health_insurance' => :'Array' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Kombo::GetCustomDatevEauRequestsEauIdPositiveResponseDataRaw` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + acceptable_attribute_map = self.class.acceptable_attribute_map + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!acceptable_attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Kombo::GetCustomDatevEauRequestsEauIdPositiveResponseDataRaw`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'source') + self.source = attributes[:'source'] + else + self.source = nil + end + + if attributes.key?(:'start_work_incapacity') + self.start_work_incapacity = attributes[:'start_work_incapacity'] + else + self.start_work_incapacity = nil + end + + if attributes.key?(:'collaboration_identifier') + self.collaboration_identifier = attributes[:'collaboration_identifier'] + end + + if attributes.key?(:'feedbacks_from_health_insurance') + if (value = attributes[:'feedbacks_from_health_insurance']).is_a?(Array) + self.feedbacks_from_health_insurance = value + end + else + self.feedbacks_from_health_insurance = nil + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + warn '[DEPRECATED] the `list_invalid_properties` method is obsolete' + invalid_properties = Array.new + if @source.nil? + invalid_properties.push('invalid value for "source", source cannot be nil.') + end + + if @start_work_incapacity.nil? + invalid_properties.push('invalid value for "start_work_incapacity", start_work_incapacity cannot be nil.') + end + + if @feedbacks_from_health_insurance.nil? + invalid_properties.push('invalid value for "feedbacks_from_health_insurance", feedbacks_from_health_insurance cannot be nil.') + end + + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + warn '[DEPRECATED] the `valid?` method is obsolete' + return false if @source.nil? + return false if @start_work_incapacity.nil? + return false if @feedbacks_from_health_insurance.nil? + true + end + + # Custom attribute writer method with validation + # @param [Object] source Value to be assigned + def source=(source) + if source.nil? + fail ArgumentError, 'source cannot be nil' + end + + @source = source + end + + # Custom attribute writer method with validation + # @param [Object] start_work_incapacity Value to be assigned + def start_work_incapacity=(start_work_incapacity) + if start_work_incapacity.nil? + fail ArgumentError, 'start_work_incapacity cannot be nil' + end + + @start_work_incapacity = start_work_incapacity + end + + # Custom attribute writer method with validation + # @param [Object] feedbacks_from_health_insurance Value to be assigned + def feedbacks_from_health_insurance=(feedbacks_from_health_insurance) + if feedbacks_from_health_insurance.nil? + fail ArgumentError, 'feedbacks_from_health_insurance cannot be nil' + end + + @feedbacks_from_health_insurance = feedbacks_from_health_insurance + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + source == o.source && + start_work_incapacity == o.start_work_incapacity && + collaboration_identifier == o.collaboration_identifier && + feedbacks_from_health_insurance == o.feedbacks_from_health_insurance + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [source, start_work_incapacity, collaboration_identifier, feedbacks_from_health_insurance].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + transformed_hash = {} + openapi_types.each_pair do |key, type| + if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = nil + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[attribute_map[key]].is_a?(Array) + transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) } + end + elsif !attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]]) + end + end + new(transformed_hash) + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + end + +end diff --git a/lib/kombo_client/models/get_custom_datev_eau_requests_eau_id_positive_response_data_raw_feedbacks_from_health_insurance_inner.rb b/lib/kombo_client/models/get_custom_datev_eau_requests_eau_id_positive_response_data_raw_feedbacks_from_health_insurance_inner.rb new file mode 100644 index 0000000..b55b0b0 --- /dev/null +++ b/lib/kombo_client/models/get_custom_datev_eau_requests_eau_id_positive_response_data_raw_feedbacks_from_health_insurance_inner.rb @@ -0,0 +1,231 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.17.0 + +=end + +require 'date' +require 'time' + +module Kombo + class GetCustomDatevEauRequestsEauIdPositiveResponseDataRawFeedbacksFromHealthInsuranceInner < ApiModelBase + # The unique identifier of the feedback. + attr_accessor :guid + + attr_accessor :contact_person + + attr_accessor :incapacity_for_work + + attr_accessor :error_block_list + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'guid' => :'guid', + :'contact_person' => :'contact_person', + :'incapacity_for_work' => :'incapacity_for_work', + :'error_block_list' => :'error_block_list' + } + end + + # Returns attribute mapping this model knows about + def self.acceptable_attribute_map + attribute_map + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + acceptable_attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'guid' => :'String', + :'contact_person' => :'GetCustomDatevEauRequestsEauIdPositiveResponseDataRawFeedbacksFromHealthInsuranceInnerContactPerson', + :'incapacity_for_work' => :'GetCustomDatevEauRequestsEauIdPositiveResponseDataRawFeedbacksFromHealthInsuranceInnerIncapacityForWork', + :'error_block_list' => :'Array' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + :'error_block_list' + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Kombo::GetCustomDatevEauRequestsEauIdPositiveResponseDataRawFeedbacksFromHealthInsuranceInner` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + acceptable_attribute_map = self.class.acceptable_attribute_map + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!acceptable_attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Kombo::GetCustomDatevEauRequestsEauIdPositiveResponseDataRawFeedbacksFromHealthInsuranceInner`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'guid') + self.guid = attributes[:'guid'] + else + self.guid = nil + end + + if attributes.key?(:'contact_person') + self.contact_person = attributes[:'contact_person'] + else + self.contact_person = nil + end + + if attributes.key?(:'incapacity_for_work') + self.incapacity_for_work = attributes[:'incapacity_for_work'] + else + self.incapacity_for_work = nil + end + + if attributes.key?(:'error_block_list') + if (value = attributes[:'error_block_list']).is_a?(Array) + self.error_block_list = value + end + else + self.error_block_list = nil + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + warn '[DEPRECATED] the `list_invalid_properties` method is obsolete' + invalid_properties = Array.new + if @guid.nil? + invalid_properties.push('invalid value for "guid", guid cannot be nil.') + end + + if @contact_person.nil? + invalid_properties.push('invalid value for "contact_person", contact_person cannot be nil.') + end + + if @incapacity_for_work.nil? + invalid_properties.push('invalid value for "incapacity_for_work", incapacity_for_work cannot be nil.') + end + + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + warn '[DEPRECATED] the `valid?` method is obsolete' + return false if @guid.nil? + return false if @contact_person.nil? + return false if @incapacity_for_work.nil? + true + end + + # Custom attribute writer method with validation + # @param [Object] guid Value to be assigned + def guid=(guid) + if guid.nil? + fail ArgumentError, 'guid cannot be nil' + end + + @guid = guid + end + + # Custom attribute writer method with validation + # @param [Object] contact_person Value to be assigned + def contact_person=(contact_person) + if contact_person.nil? + fail ArgumentError, 'contact_person cannot be nil' + end + + @contact_person = contact_person + end + + # Custom attribute writer method with validation + # @param [Object] incapacity_for_work Value to be assigned + def incapacity_for_work=(incapacity_for_work) + if incapacity_for_work.nil? + fail ArgumentError, 'incapacity_for_work cannot be nil' + end + + @incapacity_for_work = incapacity_for_work + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + guid == o.guid && + contact_person == o.contact_person && + incapacity_for_work == o.incapacity_for_work && + error_block_list == o.error_block_list + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [guid, contact_person, incapacity_for_work, error_block_list].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + transformed_hash = {} + openapi_types.each_pair do |key, type| + if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = nil + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[attribute_map[key]].is_a?(Array) + transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) } + end + elsif !attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]]) + end + end + new(transformed_hash) + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + end + +end diff --git a/lib/kombo_client/models/get_custom_datev_eau_requests_eau_id_positive_response_data_raw_feedbacks_from_health_insurance_inner_contact_person.rb b/lib/kombo_client/models/get_custom_datev_eau_requests_eau_id_positive_response_data_raw_feedbacks_from_health_insurance_inner_contact_person.rb new file mode 100644 index 0000000..a0207d6 --- /dev/null +++ b/lib/kombo_client/models/get_custom_datev_eau_requests_eau_id_positive_response_data_raw_feedbacks_from_health_insurance_inner_contact_person.rb @@ -0,0 +1,392 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.17.0 + +=end + +require 'date' +require 'time' + +module Kombo + class GetCustomDatevEauRequestsEauIdPositiveResponseDataRawFeedbacksFromHealthInsuranceInnerContactPerson < ApiModelBase + # [DEPRECATED] Gender of the contact person. M (male), W (female), X (unknown), D (divers). + attr_accessor :gender_contact_person + + # Name of the contact person. + attr_accessor :name + + # Telephone number of the contact person. + attr_accessor :telephone + + # Fax number of the contact person. + attr_accessor :fax + + # Email address of the contact person. + attr_accessor :email + + # Name of the health insurance. + attr_accessor :name1_health_insurance + + # [DEPRECATED] Second part of the health insurance name. + attr_accessor :name2_health_insurance + + # [DEPRECATED] Third part of the health insurance name. + attr_accessor :name3_health_insurance + + # Postal code of the contact person. + attr_accessor :postal_code + + # City of the contact person. + attr_accessor :city + + # Street of the contact person. + attr_accessor :street + + # House number of the contact person. + attr_accessor :house_number + + class EnumAttributeValidator + attr_reader :datatype + attr_reader :allowable_values + + def initialize(datatype, allowable_values) + @allowable_values = allowable_values.map do |value| + case datatype.to_s + when /Integer/i + value.to_i + when /Float/i + value.to_f + else + value + end + end + end + + def valid?(value) + !value || allowable_values.include?(value) + end + end + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'gender_contact_person' => :'gender_contact_person', + :'name' => :'name', + :'telephone' => :'telephone', + :'fax' => :'fax', + :'email' => :'email', + :'name1_health_insurance' => :'name1_health_insurance', + :'name2_health_insurance' => :'name2_health_insurance', + :'name3_health_insurance' => :'name3_health_insurance', + :'postal_code' => :'postal_code', + :'city' => :'city', + :'street' => :'street', + :'house_number' => :'house_number' + } + end + + # Returns attribute mapping this model knows about + def self.acceptable_attribute_map + attribute_map + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + acceptable_attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'gender_contact_person' => :'String', + :'name' => :'String', + :'telephone' => :'String', + :'fax' => :'String', + :'email' => :'String', + :'name1_health_insurance' => :'String', + :'name2_health_insurance' => :'String', + :'name3_health_insurance' => :'String', + :'postal_code' => :'String', + :'city' => :'String', + :'street' => :'String', + :'house_number' => :'String' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + :'gender_contact_person', + :'fax', + :'email', + :'name2_health_insurance', + :'name3_health_insurance', + :'street', + :'house_number' + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Kombo::GetCustomDatevEauRequestsEauIdPositiveResponseDataRawFeedbacksFromHealthInsuranceInnerContactPerson` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + acceptable_attribute_map = self.class.acceptable_attribute_map + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!acceptable_attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Kombo::GetCustomDatevEauRequestsEauIdPositiveResponseDataRawFeedbacksFromHealthInsuranceInnerContactPerson`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'gender_contact_person') + self.gender_contact_person = attributes[:'gender_contact_person'] + end + + if attributes.key?(:'name') + self.name = attributes[:'name'] + else + self.name = nil + end + + if attributes.key?(:'telephone') + self.telephone = attributes[:'telephone'] + else + self.telephone = nil + end + + if attributes.key?(:'fax') + self.fax = attributes[:'fax'] + else + self.fax = nil + end + + if attributes.key?(:'email') + self.email = attributes[:'email'] + else + self.email = nil + end + + if attributes.key?(:'name1_health_insurance') + self.name1_health_insurance = attributes[:'name1_health_insurance'] + else + self.name1_health_insurance = nil + end + + if attributes.key?(:'name2_health_insurance') + self.name2_health_insurance = attributes[:'name2_health_insurance'] + end + + if attributes.key?(:'name3_health_insurance') + self.name3_health_insurance = attributes[:'name3_health_insurance'] + end + + if attributes.key?(:'postal_code') + self.postal_code = attributes[:'postal_code'] + else + self.postal_code = nil + end + + if attributes.key?(:'city') + self.city = attributes[:'city'] + else + self.city = nil + end + + if attributes.key?(:'street') + self.street = attributes[:'street'] + else + self.street = nil + end + + if attributes.key?(:'house_number') + self.house_number = attributes[:'house_number'] + else + self.house_number = nil + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + warn '[DEPRECATED] the `list_invalid_properties` method is obsolete' + invalid_properties = Array.new + if @name.nil? + invalid_properties.push('invalid value for "name", name cannot be nil.') + end + + if @telephone.nil? + invalid_properties.push('invalid value for "telephone", telephone cannot be nil.') + end + + if @name1_health_insurance.nil? + invalid_properties.push('invalid value for "name1_health_insurance", name1_health_insurance cannot be nil.') + end + + if @postal_code.nil? + invalid_properties.push('invalid value for "postal_code", postal_code cannot be nil.') + end + + if @city.nil? + invalid_properties.push('invalid value for "city", city cannot be nil.') + end + + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + warn '[DEPRECATED] the `valid?` method is obsolete' + gender_contact_person_validator = EnumAttributeValidator.new('String', ["M", "F", "X", "D"]) + return false unless gender_contact_person_validator.valid?(@gender_contact_person) + return false if @name.nil? + return false if @telephone.nil? + return false if @name1_health_insurance.nil? + return false if @postal_code.nil? + return false if @city.nil? + true + end + + # Custom attribute writer method checking allowed values (enum). + # @param [Object] gender_contact_person Object to be assigned + def gender_contact_person=(gender_contact_person) + validator = EnumAttributeValidator.new('String', ["M", "F", "X", "D"]) + unless validator.valid?(gender_contact_person) + fail ArgumentError, "invalid value for \"gender_contact_person\", must be one of #{validator.allowable_values}." + end + @gender_contact_person = gender_contact_person + end + + # Custom attribute writer method with validation + # @param [Object] name Value to be assigned + def name=(name) + if name.nil? + fail ArgumentError, 'name cannot be nil' + end + + @name = name + end + + # Custom attribute writer method with validation + # @param [Object] telephone Value to be assigned + def telephone=(telephone) + if telephone.nil? + fail ArgumentError, 'telephone cannot be nil' + end + + @telephone = telephone + end + + # Custom attribute writer method with validation + # @param [Object] name1_health_insurance Value to be assigned + def name1_health_insurance=(name1_health_insurance) + if name1_health_insurance.nil? + fail ArgumentError, 'name1_health_insurance cannot be nil' + end + + @name1_health_insurance = name1_health_insurance + end + + # Custom attribute writer method with validation + # @param [Object] postal_code Value to be assigned + def postal_code=(postal_code) + if postal_code.nil? + fail ArgumentError, 'postal_code cannot be nil' + end + + @postal_code = postal_code + end + + # Custom attribute writer method with validation + # @param [Object] city Value to be assigned + def city=(city) + if city.nil? + fail ArgumentError, 'city cannot be nil' + end + + @city = city + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + gender_contact_person == o.gender_contact_person && + name == o.name && + telephone == o.telephone && + fax == o.fax && + email == o.email && + name1_health_insurance == o.name1_health_insurance && + name2_health_insurance == o.name2_health_insurance && + name3_health_insurance == o.name3_health_insurance && + postal_code == o.postal_code && + city == o.city && + street == o.street && + house_number == o.house_number + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [gender_contact_person, name, telephone, fax, email, name1_health_insurance, name2_health_insurance, name3_health_insurance, postal_code, city, street, house_number].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + transformed_hash = {} + openapi_types.each_pair do |key, type| + if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = nil + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[attribute_map[key]].is_a?(Array) + transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) } + end + elsif !attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]]) + end + end + new(transformed_hash) + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + end + +end diff --git a/lib/kombo_client/models/get_custom_datev_eau_requests_eau_id_positive_response_data_raw_feedbacks_from_health_insurance_inner_error_block_list_inner.rb b/lib/kombo_client/models/get_custom_datev_eau_requests_eau_id_positive_response_data_raw_feedbacks_from_health_insurance_inner_error_block_list_inner.rb new file mode 100644 index 0000000..750f845 --- /dev/null +++ b/lib/kombo_client/models/get_custom_datev_eau_requests_eau_id_positive_response_data_raw_feedbacks_from_health_insurance_inner_error_block_list_inner.rb @@ -0,0 +1,190 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.17.0 + +=end + +require 'date' +require 'time' + +module Kombo + class GetCustomDatevEauRequestsEauIdPositiveResponseDataRawFeedbacksFromHealthInsuranceInnerErrorBlockListInner < ApiModelBase + # Origin of the error. (Health insurance or DATEV) + attr_accessor :origin + + # Error code + attr_accessor :error_number + + # Human readable description of the error. + attr_accessor :error_text + + # Erroneous value in case of a validation error. (e.g. date) + attr_accessor :error_value + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'origin' => :'origin', + :'error_number' => :'error_number', + :'error_text' => :'error_text', + :'error_value' => :'error_value' + } + end + + # Returns attribute mapping this model knows about + def self.acceptable_attribute_map + attribute_map + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + acceptable_attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'origin' => :'String', + :'error_number' => :'String', + :'error_text' => :'String', + :'error_value' => :'String' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + :'origin', + :'error_number', + :'error_text', + :'error_value' + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Kombo::GetCustomDatevEauRequestsEauIdPositiveResponseDataRawFeedbacksFromHealthInsuranceInnerErrorBlockListInner` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + acceptable_attribute_map = self.class.acceptable_attribute_map + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!acceptable_attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Kombo::GetCustomDatevEauRequestsEauIdPositiveResponseDataRawFeedbacksFromHealthInsuranceInnerErrorBlockListInner`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'origin') + self.origin = attributes[:'origin'] + else + self.origin = nil + end + + if attributes.key?(:'error_number') + self.error_number = attributes[:'error_number'] + else + self.error_number = nil + end + + if attributes.key?(:'error_text') + self.error_text = attributes[:'error_text'] + else + self.error_text = nil + end + + if attributes.key?(:'error_value') + self.error_value = attributes[:'error_value'] + else + self.error_value = nil + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + warn '[DEPRECATED] the `list_invalid_properties` method is obsolete' + invalid_properties = Array.new + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + warn '[DEPRECATED] the `valid?` method is obsolete' + true + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + origin == o.origin && + error_number == o.error_number && + error_text == o.error_text && + error_value == o.error_value + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [origin, error_number, error_text, error_value].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + transformed_hash = {} + openapi_types.each_pair do |key, type| + if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = nil + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[attribute_map[key]].is_a?(Array) + transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) } + end + elsif !attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]]) + end + end + new(transformed_hash) + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + end + +end diff --git a/lib/kombo_client/models/get_custom_datev_eau_requests_eau_id_positive_response_data_raw_feedbacks_from_health_insurance_inner_incapacity_for_work.rb b/lib/kombo_client/models/get_custom_datev_eau_requests_eau_id_positive_response_data_raw_feedbacks_from_health_insurance_inner_incapacity_for_work.rb new file mode 100644 index 0000000..47e616b --- /dev/null +++ b/lib/kombo_client/models/get_custom_datev_eau_requests_eau_id_positive_response_data_raw_feedbacks_from_health_insurance_inner_incapacity_for_work.rb @@ -0,0 +1,386 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.17.0 + +=end + +require 'date' +require 'time' + +module Kombo + class GetCustomDatevEauRequestsEauIdPositiveResponseDataRawFeedbacksFromHealthInsuranceInnerIncapacityForWork < ApiModelBase + # yyyy-MM-dd date provided in the initial request. + attr_accessor :start_work_incapacity_employer + + # yyyy-MM-dd start date of the AU. + attr_accessor :start_work_incapacity_au + + # yyyy-MM-dd expected end date of the AU. + attr_accessor :end_work_incapacity_au + + # yyyy-MM-dd actual end date after the hospitalization report was received. + attr_accessor :actual_end_work_incapacity_au + + # yyyy-MM-dd date of diagnosis + attr_accessor :date_of_diagnosis + + # 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 + attr_accessor :flag_current_work_incapacity + + # If the accident is a work accident according to § 295 Para. 1 SGB V. + attr_accessor :accident_at_work + + # Indication of whether the insured person has been assigned to the accident insurance doctor. + attr_accessor :assignment_accident_insurance_doctor + + # If the accident is the result of another accident according to § 295 Para. 1 SGB V. + attr_accessor :other_accident + + # [DEPRECATED] yyyy-MM-dd start date of the hospitalization. + attr_accessor :start_hospitalisation + + # [DEPRECATED] yyyy-MM-dd end date of the actual hospitalization. + attr_accessor :end_hospitalisation + + # Whether the certificate is initial or a follow up certificate. + attr_accessor :initial_certificate + + # yyyy-MM-dd date until the health insurance will update this requests status. + attr_accessor :automatic_feedback_until + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'start_work_incapacity_employer' => :'start_work_incapacity_employer', + :'start_work_incapacity_au' => :'start_work_incapacity_au', + :'end_work_incapacity_au' => :'end_work_incapacity_au', + :'actual_end_work_incapacity_au' => :'actual_end_work_incapacity_au', + :'date_of_diagnosis' => :'date_of_diagnosis', + :'flag_current_work_incapacity' => :'flag_current_work_incapacity', + :'accident_at_work' => :'accident_at_work', + :'assignment_accident_insurance_doctor' => :'assignment_accident_insurance_doctor', + :'other_accident' => :'other_accident', + :'start_hospitalisation' => :'start_hospitalisation', + :'end_hospitalisation' => :'end_hospitalisation', + :'initial_certificate' => :'initial_certificate', + :'automatic_feedback_until' => :'automatic_feedback_until' + } + end + + # Returns attribute mapping this model knows about + def self.acceptable_attribute_map + attribute_map + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + acceptable_attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'start_work_incapacity_employer' => :'String', + :'start_work_incapacity_au' => :'String', + :'end_work_incapacity_au' => :'String', + :'actual_end_work_incapacity_au' => :'String', + :'date_of_diagnosis' => :'String', + :'flag_current_work_incapacity' => :'Float', + :'accident_at_work' => :'Boolean', + :'assignment_accident_insurance_doctor' => :'Boolean', + :'other_accident' => :'Boolean', + :'start_hospitalisation' => :'String', + :'end_hospitalisation' => :'String', + :'initial_certificate' => :'Boolean', + :'automatic_feedback_until' => :'String' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + :'start_work_incapacity_au', + :'end_work_incapacity_au', + :'actual_end_work_incapacity_au', + :'date_of_diagnosis', + :'flag_current_work_incapacity', + :'start_hospitalisation', + :'end_hospitalisation', + :'automatic_feedback_until' + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Kombo::GetCustomDatevEauRequestsEauIdPositiveResponseDataRawFeedbacksFromHealthInsuranceInnerIncapacityForWork` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + acceptable_attribute_map = self.class.acceptable_attribute_map + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!acceptable_attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Kombo::GetCustomDatevEauRequestsEauIdPositiveResponseDataRawFeedbacksFromHealthInsuranceInnerIncapacityForWork`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'start_work_incapacity_employer') + self.start_work_incapacity_employer = attributes[:'start_work_incapacity_employer'] + else + self.start_work_incapacity_employer = nil + end + + if attributes.key?(:'start_work_incapacity_au') + self.start_work_incapacity_au = attributes[:'start_work_incapacity_au'] + else + self.start_work_incapacity_au = nil + end + + if attributes.key?(:'end_work_incapacity_au') + self.end_work_incapacity_au = attributes[:'end_work_incapacity_au'] + else + self.end_work_incapacity_au = nil + end + + if attributes.key?(:'actual_end_work_incapacity_au') + self.actual_end_work_incapacity_au = attributes[:'actual_end_work_incapacity_au'] + end + + if attributes.key?(:'date_of_diagnosis') + self.date_of_diagnosis = attributes[:'date_of_diagnosis'] + else + self.date_of_diagnosis = nil + end + + if attributes.key?(:'flag_current_work_incapacity') + self.flag_current_work_incapacity = attributes[:'flag_current_work_incapacity'] + else + self.flag_current_work_incapacity = nil + end + + if attributes.key?(:'accident_at_work') + self.accident_at_work = attributes[:'accident_at_work'] + else + self.accident_at_work = nil + end + + if attributes.key?(:'assignment_accident_insurance_doctor') + self.assignment_accident_insurance_doctor = attributes[:'assignment_accident_insurance_doctor'] + else + self.assignment_accident_insurance_doctor = nil + end + + if attributes.key?(:'other_accident') + self.other_accident = attributes[:'other_accident'] + else + self.other_accident = nil + end + + if attributes.key?(:'start_hospitalisation') + self.start_hospitalisation = attributes[:'start_hospitalisation'] + end + + if attributes.key?(:'end_hospitalisation') + self.end_hospitalisation = attributes[:'end_hospitalisation'] + end + + if attributes.key?(:'initial_certificate') + self.initial_certificate = attributes[:'initial_certificate'] + else + self.initial_certificate = nil + end + + if attributes.key?(:'automatic_feedback_until') + self.automatic_feedback_until = attributes[:'automatic_feedback_until'] + else + self.automatic_feedback_until = nil + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + warn '[DEPRECATED] the `list_invalid_properties` method is obsolete' + invalid_properties = Array.new + if @start_work_incapacity_employer.nil? + invalid_properties.push('invalid value for "start_work_incapacity_employer", start_work_incapacity_employer cannot be nil.') + end + + if @flag_current_work_incapacity < -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + invalid_properties.push('invalid value for "flag_current_work_incapacity", must be greater than or equal to -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.') + end + + if @accident_at_work.nil? + invalid_properties.push('invalid value for "accident_at_work", accident_at_work cannot be nil.') + end + + if @assignment_accident_insurance_doctor.nil? + invalid_properties.push('invalid value for "assignment_accident_insurance_doctor", assignment_accident_insurance_doctor cannot be nil.') + end + + if @other_accident.nil? + invalid_properties.push('invalid value for "other_accident", other_accident cannot be nil.') + end + + if @initial_certificate.nil? + invalid_properties.push('invalid value for "initial_certificate", initial_certificate cannot be nil.') + end + + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + warn '[DEPRECATED] the `valid?` method is obsolete' + return false if @start_work_incapacity_employer.nil? + return false if @flag_current_work_incapacity < -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + return false if @accident_at_work.nil? + return false if @assignment_accident_insurance_doctor.nil? + return false if @other_accident.nil? + return false if @initial_certificate.nil? + true + end + + # Custom attribute writer method with validation + # @param [Object] start_work_incapacity_employer Value to be assigned + def start_work_incapacity_employer=(start_work_incapacity_employer) + if start_work_incapacity_employer.nil? + fail ArgumentError, 'start_work_incapacity_employer cannot be nil' + end + + @start_work_incapacity_employer = start_work_incapacity_employer + end + + # Custom attribute writer method with validation + # @param [Object] flag_current_work_incapacity Value to be assigned + def flag_current_work_incapacity=(flag_current_work_incapacity) + if !flag_current_work_incapacity.nil? && flag_current_work_incapacity < -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + fail ArgumentError, 'invalid value for "flag_current_work_incapacity", must be greater than or equal to -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.' + end + + @flag_current_work_incapacity = flag_current_work_incapacity + end + + # Custom attribute writer method with validation + # @param [Object] accident_at_work Value to be assigned + def accident_at_work=(accident_at_work) + if accident_at_work.nil? + fail ArgumentError, 'accident_at_work cannot be nil' + end + + @accident_at_work = accident_at_work + end + + # Custom attribute writer method with validation + # @param [Object] assignment_accident_insurance_doctor Value to be assigned + def assignment_accident_insurance_doctor=(assignment_accident_insurance_doctor) + if assignment_accident_insurance_doctor.nil? + fail ArgumentError, 'assignment_accident_insurance_doctor cannot be nil' + end + + @assignment_accident_insurance_doctor = assignment_accident_insurance_doctor + end + + # Custom attribute writer method with validation + # @param [Object] other_accident Value to be assigned + def other_accident=(other_accident) + if other_accident.nil? + fail ArgumentError, 'other_accident cannot be nil' + end + + @other_accident = other_accident + end + + # Custom attribute writer method with validation + # @param [Object] initial_certificate Value to be assigned + def initial_certificate=(initial_certificate) + if initial_certificate.nil? + fail ArgumentError, 'initial_certificate cannot be nil' + end + + @initial_certificate = initial_certificate + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + start_work_incapacity_employer == o.start_work_incapacity_employer && + start_work_incapacity_au == o.start_work_incapacity_au && + end_work_incapacity_au == o.end_work_incapacity_au && + actual_end_work_incapacity_au == o.actual_end_work_incapacity_au && + date_of_diagnosis == o.date_of_diagnosis && + flag_current_work_incapacity == o.flag_current_work_incapacity && + accident_at_work == o.accident_at_work && + assignment_accident_insurance_doctor == o.assignment_accident_insurance_doctor && + other_accident == o.other_accident && + start_hospitalisation == o.start_hospitalisation && + end_hospitalisation == o.end_hospitalisation && + initial_certificate == o.initial_certificate && + automatic_feedback_until == o.automatic_feedback_until + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [start_work_incapacity_employer, start_work_incapacity_au, end_work_incapacity_au, actual_end_work_incapacity_au, date_of_diagnosis, flag_current_work_incapacity, accident_at_work, assignment_accident_insurance_doctor, other_accident, start_hospitalisation, end_hospitalisation, initial_certificate, automatic_feedback_until].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + transformed_hash = {} + openapi_types.each_pair do |key, type| + if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = nil + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[attribute_map[key]].is_a?(Array) + transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) } + end + elsif !attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]]) + end + end + new(transformed_hash) + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + end + +end diff --git a/lib/kombo_client/models/get_custom_datev_system_information_positive_response.rb b/lib/kombo_client/models/get_custom_datev_system_information_positive_response.rb new file mode 100644 index 0000000..7adf073 --- /dev/null +++ b/lib/kombo_client/models/get_custom_datev_system_information_positive_response.rb @@ -0,0 +1,214 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.17.0 + +=end + +require 'date' +require 'time' + +module Kombo + class GetCustomDatevSystemInformationPositiveResponse < ApiModelBase + attr_accessor :status + + attr_accessor :data + + class EnumAttributeValidator + attr_reader :datatype + attr_reader :allowable_values + + def initialize(datatype, allowable_values) + @allowable_values = allowable_values.map do |value| + case datatype.to_s + when /Integer/i + value.to_i + when /Float/i + value.to_f + else + value + end + end + end + + def valid?(value) + !value || allowable_values.include?(value) + end + end + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'status' => :'status', + :'data' => :'data' + } + end + + # Returns attribute mapping this model knows about + def self.acceptable_attribute_map + attribute_map + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + acceptable_attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'status' => :'String', + :'data' => :'GetCustomDatevSystemInformationPositiveResponseData' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Kombo::GetCustomDatevSystemInformationPositiveResponse` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + acceptable_attribute_map = self.class.acceptable_attribute_map + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!acceptable_attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Kombo::GetCustomDatevSystemInformationPositiveResponse`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'status') + self.status = attributes[:'status'] + else + self.status = nil + end + + if attributes.key?(:'data') + self.data = attributes[:'data'] + else + self.data = nil + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + warn '[DEPRECATED] the `list_invalid_properties` method is obsolete' + invalid_properties = Array.new + if @status.nil? + invalid_properties.push('invalid value for "status", status cannot be nil.') + end + + if @data.nil? + invalid_properties.push('invalid value for "data", data cannot be nil.') + end + + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + warn '[DEPRECATED] the `valid?` method is obsolete' + return false if @status.nil? + status_validator = EnumAttributeValidator.new('String', ["success"]) + return false unless status_validator.valid?(@status) + return false if @data.nil? + true + end + + # Custom attribute writer method checking allowed values (enum). + # @param [Object] status Object to be assigned + def status=(status) + validator = EnumAttributeValidator.new('String', ["success"]) + unless validator.valid?(status) + fail ArgumentError, "invalid value for \"status\", must be one of #{validator.allowable_values}." + end + @status = status + end + + # Custom attribute writer method with validation + # @param [Object] data Value to be assigned + def data=(data) + if data.nil? + fail ArgumentError, 'data cannot be nil' + end + + @data = data + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + status == o.status && + data == o.data + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [status, data].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + transformed_hash = {} + openapi_types.each_pair do |key, type| + if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = nil + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[attribute_map[key]].is_a?(Array) + transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) } + end + elsif !attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]]) + end + end + new(transformed_hash) + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + end + +end diff --git a/lib/kombo_client/models/get_custom_datev_system_information_positive_response_data.rb b/lib/kombo_client/models/get_custom_datev_system_information_positive_response_data.rb new file mode 100644 index 0000000..80b6699 --- /dev/null +++ b/lib/kombo_client/models/get_custom_datev_system_information_positive_response_data.rb @@ -0,0 +1,279 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.17.0 + +=end + +require 'date' +require 'time' + +module Kombo + class GetCustomDatevSystemInformationPositiveResponseData < ApiModelBase + # The consultant number used for this DATEV integration (BeraterNr). + attr_accessor :consultant_number + + # The client number used for this DATEV integration (MandantenNr). + attr_accessor :client_number + + # The target system's name (Ziel). + attr_accessor :target_system + + class EnumAttributeValidator + attr_reader :datatype + attr_reader :allowable_values + + def initialize(datatype, allowable_values) + @allowable_values = allowable_values.map do |value| + case datatype.to_s + when /Integer/i + value.to_i + when /Float/i + value.to_f + else + value + end + end + end + + def valid?(value) + !value || allowable_values.include?(value) + end + end + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'consultant_number' => :'consultant_number', + :'client_number' => :'client_number', + :'target_system' => :'target_system' + } + end + + # Returns attribute mapping this model knows about + def self.acceptable_attribute_map + attribute_map + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + acceptable_attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'consultant_number' => :'Float', + :'client_number' => :'Float', + :'target_system' => :'String' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Kombo::GetCustomDatevSystemInformationPositiveResponseData` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + acceptable_attribute_map = self.class.acceptable_attribute_map + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!acceptable_attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Kombo::GetCustomDatevSystemInformationPositiveResponseData`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'consultant_number') + self.consultant_number = attributes[:'consultant_number'] + else + self.consultant_number = nil + end + + if attributes.key?(:'client_number') + self.client_number = attributes[:'client_number'] + else + self.client_number = nil + end + + if attributes.key?(:'target_system') + self.target_system = attributes[:'target_system'] + else + self.target_system = nil + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + warn '[DEPRECATED] the `list_invalid_properties` method is obsolete' + invalid_properties = Array.new + if @consultant_number.nil? + invalid_properties.push('invalid value for "consultant_number", consultant_number cannot be nil.') + end + + if @consultant_number > 9999999 + invalid_properties.push('invalid value for "consultant_number", must be smaller than or equal to 9999999.') + end + + if @consultant_number < 1000 + invalid_properties.push('invalid value for "consultant_number", must be greater than or equal to 1000.') + end + + if @client_number.nil? + invalid_properties.push('invalid value for "client_number", client_number cannot be nil.') + end + + if @client_number > 99999 + invalid_properties.push('invalid value for "client_number", must be smaller than or equal to 99999.') + end + + if @client_number < 1 + invalid_properties.push('invalid value for "client_number", must be greater than or equal to 1.') + end + + if @target_system.nil? + invalid_properties.push('invalid value for "target_system", target_system cannot be nil.') + end + + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + warn '[DEPRECATED] the `valid?` method is obsolete' + return false if @consultant_number.nil? + return false if @consultant_number > 9999999 + return false if @consultant_number < 1000 + return false if @client_number.nil? + return false if @client_number > 99999 + return false if @client_number < 1 + return false if @target_system.nil? + target_system_validator = EnumAttributeValidator.new('String', ["LODAS", "LuG"]) + return false unless target_system_validator.valid?(@target_system) + true + end + + # Custom attribute writer method with validation + # @param [Object] consultant_number Value to be assigned + def consultant_number=(consultant_number) + if consultant_number.nil? + fail ArgumentError, 'consultant_number cannot be nil' + end + + if consultant_number > 9999999 + fail ArgumentError, 'invalid value for "consultant_number", must be smaller than or equal to 9999999.' + end + + if consultant_number < 1000 + fail ArgumentError, 'invalid value for "consultant_number", must be greater than or equal to 1000.' + end + + @consultant_number = consultant_number + end + + # Custom attribute writer method with validation + # @param [Object] client_number Value to be assigned + def client_number=(client_number) + if client_number.nil? + fail ArgumentError, 'client_number cannot be nil' + end + + if client_number > 99999 + fail ArgumentError, 'invalid value for "client_number", must be smaller than or equal to 99999.' + end + + if client_number < 1 + fail ArgumentError, 'invalid value for "client_number", must be greater than or equal to 1.' + end + + @client_number = client_number + end + + # Custom attribute writer method checking allowed values (enum). + # @param [Object] target_system Object to be assigned + def target_system=(target_system) + validator = EnumAttributeValidator.new('String', ["LODAS", "LuG"]) + unless validator.valid?(target_system) + fail ArgumentError, "invalid value for \"target_system\", must be one of #{validator.allowable_values}." + end + @target_system = target_system + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + consultant_number == o.consultant_number && + client_number == o.client_number && + target_system == o.target_system + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [consultant_number, client_number, target_system].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + transformed_hash = {} + openapi_types.each_pair do |key, type| + if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = nil + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[attribute_map[key]].is_a?(Array) + transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) } + end + elsif !attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]]) + end + end + new(transformed_hash) + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + end + +end diff --git a/lib/kombo_client/models/get_hris_absence_types_parameter_include_deleted.rb b/lib/kombo_client/models/get_hris_absence_types_parameter_include_deleted.rb new file mode 100644 index 0000000..5110b66 --- /dev/null +++ b/lib/kombo_client/models/get_hris_absence_types_parameter_include_deleted.rb @@ -0,0 +1,40 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.17.0 + +=end + +require 'date' +require 'time' + +module Kombo + class GetHrisAbsenceTypesParameterIncludeDeleted + TRUE = "true".freeze + FALSE = "false".freeze + + def self.all_vars + @all_vars ||= [TRUE, FALSE].freeze + end + + # Builds the enum from string + # @param [String] The enum value in the form of the string + # @return [String] The enum value + def self.build_from_hash(value) + new.build_from_hash(value) + end + + # Builds the enum from string + # @param [String] The enum value in the form of the string + # @return [String] The enum value + def build_from_hash(value) + return value if GetHrisAbsenceTypesParameterIncludeDeleted.all_vars.include?(value) + raise "Invalid ENUM value #{value} for class #GetHrisAbsenceTypesParameterIncludeDeleted" + end + end +end diff --git a/lib/kombo_client/models/get_hris_absence_types_positive_response.rb b/lib/kombo_client/models/get_hris_absence_types_positive_response.rb new file mode 100644 index 0000000..e6f8f7c --- /dev/null +++ b/lib/kombo_client/models/get_hris_absence_types_positive_response.rb @@ -0,0 +1,214 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.17.0 + +=end + +require 'date' +require 'time' + +module Kombo + class GetHrisAbsenceTypesPositiveResponse < ApiModelBase + attr_accessor :status + + attr_accessor :data + + class EnumAttributeValidator + attr_reader :datatype + attr_reader :allowable_values + + def initialize(datatype, allowable_values) + @allowable_values = allowable_values.map do |value| + case datatype.to_s + when /Integer/i + value.to_i + when /Float/i + value.to_f + else + value + end + end + end + + def valid?(value) + !value || allowable_values.include?(value) + end + end + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'status' => :'status', + :'data' => :'data' + } + end + + # Returns attribute mapping this model knows about + def self.acceptable_attribute_map + attribute_map + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + acceptable_attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'status' => :'String', + :'data' => :'GetHrisAbsenceTypesPositiveResponseData' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Kombo::GetHrisAbsenceTypesPositiveResponse` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + acceptable_attribute_map = self.class.acceptable_attribute_map + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!acceptable_attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Kombo::GetHrisAbsenceTypesPositiveResponse`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'status') + self.status = attributes[:'status'] + else + self.status = nil + end + + if attributes.key?(:'data') + self.data = attributes[:'data'] + else + self.data = nil + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + warn '[DEPRECATED] the `list_invalid_properties` method is obsolete' + invalid_properties = Array.new + if @status.nil? + invalid_properties.push('invalid value for "status", status cannot be nil.') + end + + if @data.nil? + invalid_properties.push('invalid value for "data", data cannot be nil.') + end + + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + warn '[DEPRECATED] the `valid?` method is obsolete' + return false if @status.nil? + status_validator = EnumAttributeValidator.new('String', ["success"]) + return false unless status_validator.valid?(@status) + return false if @data.nil? + true + end + + # Custom attribute writer method checking allowed values (enum). + # @param [Object] status Object to be assigned + def status=(status) + validator = EnumAttributeValidator.new('String', ["success"]) + unless validator.valid?(status) + fail ArgumentError, "invalid value for \"status\", must be one of #{validator.allowable_values}." + end + @status = status + end + + # Custom attribute writer method with validation + # @param [Object] data Value to be assigned + def data=(data) + if data.nil? + fail ArgumentError, 'data cannot be nil' + end + + @data = data + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + status == o.status && + data == o.data + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [status, data].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + transformed_hash = {} + openapi_types.each_pair do |key, type| + if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = nil + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[attribute_map[key]].is_a?(Array) + transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) } + end + elsif !attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]]) + end + end + new(transformed_hash) + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + end + +end diff --git a/lib/kombo_client/models/get_hris_absence_types_positive_response_data.rb b/lib/kombo_client/models/get_hris_absence_types_positive_response_data.rb new file mode 100644 index 0000000..22d2487 --- /dev/null +++ b/lib/kombo_client/models/get_hris_absence_types_positive_response_data.rb @@ -0,0 +1,179 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.17.0 + +=end + +require 'date' +require 'time' + +module Kombo + class GetHrisAbsenceTypesPositiveResponseData < ApiModelBase + # 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. + attr_accessor :_next + + attr_accessor :results + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'_next' => :'next', + :'results' => :'results' + } + end + + # Returns attribute mapping this model knows about + def self.acceptable_attribute_map + attribute_map + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + acceptable_attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'_next' => :'String', + :'results' => :'Array' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + :'_next', + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Kombo::GetHrisAbsenceTypesPositiveResponseData` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + acceptable_attribute_map = self.class.acceptable_attribute_map + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!acceptable_attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Kombo::GetHrisAbsenceTypesPositiveResponseData`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'_next') + self._next = attributes[:'_next'] + else + self._next = nil + end + + if attributes.key?(:'results') + if (value = attributes[:'results']).is_a?(Array) + self.results = value + end + else + self.results = nil + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + warn '[DEPRECATED] the `list_invalid_properties` method is obsolete' + invalid_properties = Array.new + if @results.nil? + invalid_properties.push('invalid value for "results", results cannot be nil.') + end + + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + warn '[DEPRECATED] the `valid?` method is obsolete' + return false if @results.nil? + true + end + + # Custom attribute writer method with validation + # @param [Object] results Value to be assigned + def results=(results) + if results.nil? + fail ArgumentError, 'results cannot be nil' + end + + @results = results + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + _next == o._next && + results == o.results + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [_next, results].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + transformed_hash = {} + openapi_types.each_pair do |key, type| + if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = nil + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[attribute_map[key]].is_a?(Array) + transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) } + end + elsif !attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]]) + end + end + new(transformed_hash) + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + end + +end diff --git a/lib/kombo_client/models/get_hris_absence_types_positive_response_data_results_inner.rb b/lib/kombo_client/models/get_hris_absence_types_positive_response_data_results_inner.rb new file mode 100644 index 0000000..b8a2dfc --- /dev/null +++ b/lib/kombo_client/models/get_hris_absence_types_positive_response_data_results_inner.rb @@ -0,0 +1,333 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.17.0 + +=end + +require 'date' +require 'time' + +module Kombo + class GetHrisAbsenceTypesPositiveResponseDataResultsInner < ApiModelBase + # The globally unique ID of this object generated by Kombo. We recommend using this as a stable primary key for syncing. + attr_accessor :id + + # 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. + attr_accessor :remote_id + + # The absence’s name. + attr_accessor :name + + # The time-unit of the absence. + attr_accessor :unit + + # Whether the integration supports half-day absences (represented through `start_half_day` and `end_half_day`) for this absence type. + attr_accessor :half_days_supported + + # `true` if the system supports exact times (absences with a `start_time` and an `end_time`) for this absence, `false` if not. + attr_accessor :exact_times_supported + + # 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. + attr_accessor :remote_data + + # 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. + attr_accessor :changed_at + + # 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. + attr_accessor :remote_deleted_at + + class EnumAttributeValidator + attr_reader :datatype + attr_reader :allowable_values + + def initialize(datatype, allowable_values) + @allowable_values = allowable_values.map do |value| + case datatype.to_s + when /Integer/i + value.to_i + when /Float/i + value.to_f + else + value + end + end + end + + def valid?(value) + !value || allowable_values.include?(value) + end + end + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'id' => :'id', + :'remote_id' => :'remote_id', + :'name' => :'name', + :'unit' => :'unit', + :'half_days_supported' => :'half_days_supported', + :'exact_times_supported' => :'exact_times_supported', + :'remote_data' => :'remote_data', + :'changed_at' => :'changed_at', + :'remote_deleted_at' => :'remote_deleted_at' + } + end + + # Returns attribute mapping this model knows about + def self.acceptable_attribute_map + attribute_map + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + acceptable_attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'id' => :'String', + :'remote_id' => :'String', + :'name' => :'String', + :'unit' => :'String', + :'half_days_supported' => :'Boolean', + :'exact_times_supported' => :'Boolean', + :'remote_data' => :'Hash', + :'changed_at' => :'Time', + :'remote_deleted_at' => :'Time' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + :'name', + :'unit', + :'half_days_supported', + :'exact_times_supported', + :'remote_data', + :'remote_deleted_at' + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Kombo::GetHrisAbsenceTypesPositiveResponseDataResultsInner` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + acceptable_attribute_map = self.class.acceptable_attribute_map + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!acceptable_attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Kombo::GetHrisAbsenceTypesPositiveResponseDataResultsInner`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'id') + self.id = attributes[:'id'] + else + self.id = nil + end + + if attributes.key?(:'remote_id') + self.remote_id = attributes[:'remote_id'] + else + self.remote_id = nil + end + + if attributes.key?(:'name') + self.name = attributes[:'name'] + else + self.name = nil + end + + if attributes.key?(:'unit') + self.unit = attributes[:'unit'] + else + self.unit = nil + end + + if attributes.key?(:'half_days_supported') + self.half_days_supported = attributes[:'half_days_supported'] + else + self.half_days_supported = nil + end + + if attributes.key?(:'exact_times_supported') + self.exact_times_supported = attributes[:'exact_times_supported'] + else + self.exact_times_supported = nil + end + + if attributes.key?(:'remote_data') + if (value = attributes[:'remote_data']).is_a?(Hash) + self.remote_data = value + end + else + self.remote_data = nil + end + + if attributes.key?(:'changed_at') + self.changed_at = attributes[:'changed_at'] + else + self.changed_at = nil + end + + if attributes.key?(:'remote_deleted_at') + self.remote_deleted_at = attributes[:'remote_deleted_at'] + else + self.remote_deleted_at = nil + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + warn '[DEPRECATED] the `list_invalid_properties` method is obsolete' + invalid_properties = Array.new + if @id.nil? + invalid_properties.push('invalid value for "id", id cannot be nil.') + end + + if @remote_id.nil? + invalid_properties.push('invalid value for "remote_id", remote_id cannot be nil.') + end + + if @changed_at.nil? + invalid_properties.push('invalid value for "changed_at", changed_at cannot be nil.') + end + + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + warn '[DEPRECATED] the `valid?` method is obsolete' + return false if @id.nil? + return false if @remote_id.nil? + unit_validator = EnumAttributeValidator.new('String', ["HOURS", "DAYS"]) + return false unless unit_validator.valid?(@unit) + return false if @changed_at.nil? + true + end + + # Custom attribute writer method with validation + # @param [Object] id Value to be assigned + def id=(id) + if id.nil? + fail ArgumentError, 'id cannot be nil' + end + + @id = id + end + + # Custom attribute writer method with validation + # @param [Object] remote_id Value to be assigned + def remote_id=(remote_id) + if remote_id.nil? + fail ArgumentError, 'remote_id cannot be nil' + end + + @remote_id = remote_id + end + + # Custom attribute writer method checking allowed values (enum). + # @param [Object] unit Object to be assigned + def unit=(unit) + validator = EnumAttributeValidator.new('String', ["HOURS", "DAYS"]) + unless validator.valid?(unit) + fail ArgumentError, "invalid value for \"unit\", must be one of #{validator.allowable_values}." + end + @unit = unit + end + + # Custom attribute writer method with validation + # @param [Object] changed_at Value to be assigned + def changed_at=(changed_at) + if changed_at.nil? + fail ArgumentError, 'changed_at cannot be nil' + end + + @changed_at = changed_at + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + id == o.id && + remote_id == o.remote_id && + name == o.name && + unit == o.unit && + half_days_supported == o.half_days_supported && + exact_times_supported == o.exact_times_supported && + remote_data == o.remote_data && + changed_at == o.changed_at && + remote_deleted_at == o.remote_deleted_at + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [id, remote_id, name, unit, half_days_supported, exact_times_supported, remote_data, changed_at, remote_deleted_at].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + transformed_hash = {} + openapi_types.each_pair do |key, type| + if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = nil + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[attribute_map[key]].is_a?(Array) + transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) } + end + elsif !attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]]) + end + end + new(transformed_hash) + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + end + +end diff --git a/lib/kombo_client/models/get_hris_absences_parameter_include_deleted.rb b/lib/kombo_client/models/get_hris_absences_parameter_include_deleted.rb new file mode 100644 index 0000000..3b819d7 --- /dev/null +++ b/lib/kombo_client/models/get_hris_absences_parameter_include_deleted.rb @@ -0,0 +1,40 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.17.0 + +=end + +require 'date' +require 'time' + +module Kombo + class GetHrisAbsencesParameterIncludeDeleted + TRUE = "true".freeze + FALSE = "false".freeze + + def self.all_vars + @all_vars ||= [TRUE, FALSE].freeze + end + + # Builds the enum from string + # @param [String] The enum value in the form of the string + # @return [String] The enum value + def self.build_from_hash(value) + new.build_from_hash(value) + end + + # Builds the enum from string + # @param [String] The enum value in the form of the string + # @return [String] The enum value + def build_from_hash(value) + return value if GetHrisAbsencesParameterIncludeDeleted.all_vars.include?(value) + raise "Invalid ENUM value #{value} for class #GetHrisAbsencesParameterIncludeDeleted" + end + end +end diff --git a/lib/kombo_client/models/get_hris_absences_positive_response.rb b/lib/kombo_client/models/get_hris_absences_positive_response.rb new file mode 100644 index 0000000..028a839 --- /dev/null +++ b/lib/kombo_client/models/get_hris_absences_positive_response.rb @@ -0,0 +1,214 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.17.0 + +=end + +require 'date' +require 'time' + +module Kombo + class GetHrisAbsencesPositiveResponse < ApiModelBase + attr_accessor :status + + attr_accessor :data + + class EnumAttributeValidator + attr_reader :datatype + attr_reader :allowable_values + + def initialize(datatype, allowable_values) + @allowable_values = allowable_values.map do |value| + case datatype.to_s + when /Integer/i + value.to_i + when /Float/i + value.to_f + else + value + end + end + end + + def valid?(value) + !value || allowable_values.include?(value) + end + end + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'status' => :'status', + :'data' => :'data' + } + end + + # Returns attribute mapping this model knows about + def self.acceptable_attribute_map + attribute_map + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + acceptable_attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'status' => :'String', + :'data' => :'GetHrisAbsencesPositiveResponseData' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Kombo::GetHrisAbsencesPositiveResponse` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + acceptable_attribute_map = self.class.acceptable_attribute_map + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!acceptable_attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Kombo::GetHrisAbsencesPositiveResponse`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'status') + self.status = attributes[:'status'] + else + self.status = nil + end + + if attributes.key?(:'data') + self.data = attributes[:'data'] + else + self.data = nil + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + warn '[DEPRECATED] the `list_invalid_properties` method is obsolete' + invalid_properties = Array.new + if @status.nil? + invalid_properties.push('invalid value for "status", status cannot be nil.') + end + + if @data.nil? + invalid_properties.push('invalid value for "data", data cannot be nil.') + end + + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + warn '[DEPRECATED] the `valid?` method is obsolete' + return false if @status.nil? + status_validator = EnumAttributeValidator.new('String', ["success"]) + return false unless status_validator.valid?(@status) + return false if @data.nil? + true + end + + # Custom attribute writer method checking allowed values (enum). + # @param [Object] status Object to be assigned + def status=(status) + validator = EnumAttributeValidator.new('String', ["success"]) + unless validator.valid?(status) + fail ArgumentError, "invalid value for \"status\", must be one of #{validator.allowable_values}." + end + @status = status + end + + # Custom attribute writer method with validation + # @param [Object] data Value to be assigned + def data=(data) + if data.nil? + fail ArgumentError, 'data cannot be nil' + end + + @data = data + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + status == o.status && + data == o.data + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [status, data].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + transformed_hash = {} + openapi_types.each_pair do |key, type| + if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = nil + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[attribute_map[key]].is_a?(Array) + transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) } + end + elsif !attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]]) + end + end + new(transformed_hash) + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + end + +end diff --git a/lib/kombo_client/models/get_hris_absences_positive_response_data.rb b/lib/kombo_client/models/get_hris_absences_positive_response_data.rb new file mode 100644 index 0000000..6060823 --- /dev/null +++ b/lib/kombo_client/models/get_hris_absences_positive_response_data.rb @@ -0,0 +1,179 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.17.0 + +=end + +require 'date' +require 'time' + +module Kombo + class GetHrisAbsencesPositiveResponseData < ApiModelBase + # 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. + attr_accessor :_next + + attr_accessor :results + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'_next' => :'next', + :'results' => :'results' + } + end + + # Returns attribute mapping this model knows about + def self.acceptable_attribute_map + attribute_map + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + acceptable_attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'_next' => :'String', + :'results' => :'Array' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + :'_next', + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Kombo::GetHrisAbsencesPositiveResponseData` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + acceptable_attribute_map = self.class.acceptable_attribute_map + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!acceptable_attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Kombo::GetHrisAbsencesPositiveResponseData`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'_next') + self._next = attributes[:'_next'] + else + self._next = nil + end + + if attributes.key?(:'results') + if (value = attributes[:'results']).is_a?(Array) + self.results = value + end + else + self.results = nil + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + warn '[DEPRECATED] the `list_invalid_properties` method is obsolete' + invalid_properties = Array.new + if @results.nil? + invalid_properties.push('invalid value for "results", results cannot be nil.') + end + + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + warn '[DEPRECATED] the `valid?` method is obsolete' + return false if @results.nil? + true + end + + # Custom attribute writer method with validation + # @param [Object] results Value to be assigned + def results=(results) + if results.nil? + fail ArgumentError, 'results cannot be nil' + end + + @results = results + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + _next == o._next && + results == o.results + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [_next, results].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + transformed_hash = {} + openapi_types.each_pair do |key, type| + if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = nil + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[attribute_map[key]].is_a?(Array) + transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) } + end + elsif !attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]]) + end + end + new(transformed_hash) + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + end + +end diff --git a/lib/kombo_client/models/get_hris_absences_positive_response_data_results_inner.rb b/lib/kombo_client/models/get_hris_absences_positive_response_data_results_inner.rb new file mode 100644 index 0000000..2a9387b --- /dev/null +++ b/lib/kombo_client/models/get_hris_absences_positive_response_data_results_inner.rb @@ -0,0 +1,544 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.17.0 + +=end + +require 'date' +require 'time' + +module Kombo + class GetHrisAbsencesPositiveResponseDataResultsInner < ApiModelBase + # The globally unique ID of this object generated by Kombo. We recommend using this as a stable primary key for syncing. + attr_accessor :id + + # 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. + attr_accessor :remote_id + + # 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. + attr_accessor :employee_id + + # **(⚠️ Deprecated - We won't increase coverage for this feature)** The Kombo ID of the employee who is responsible for approving this absence. + attr_accessor :approver_id + + # The date this absence starts in the `yyyy-MM-dd` format. + attr_accessor :start_date + + # The date this absence ends in the `yyyy-MM-dd` format. + attr_accessor :end_date + + # `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. + attr_accessor :start_half_day + + # `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. + attr_accessor :end_half_day + + # The time at which this absence starts. Follows the format `HH:mm:ss` (e.g., `14:45:15`). + attr_accessor :start_time + + # The time at which this absence ends. Follows the format `HH:mm:ss` (e.g., `14:45:15`). + attr_accessor :end_time + + # The amount of time this absence takes. + attr_accessor :amount + + # The unit of time for this absence. Can be `HOURS` or `DAYS`. + attr_accessor :unit + + attr_accessor :status + + # A note the employee has added to this absence. + attr_accessor :employee_note + + # The Kombo absence type ID of this absence. + attr_accessor :type_id + + # 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. + attr_accessor :changed_at + + # 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. + attr_accessor :remote_deleted_at + + # 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. + attr_accessor :remote_data + + attr_accessor :type + + class EnumAttributeValidator + attr_reader :datatype + attr_reader :allowable_values + + def initialize(datatype, allowable_values) + @allowable_values = allowable_values.map do |value| + case datatype.to_s + when /Integer/i + value.to_i + when /Float/i + value.to_f + else + value + end + end + end + + def valid?(value) + !value || allowable_values.include?(value) + end + end + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'id' => :'id', + :'remote_id' => :'remote_id', + :'employee_id' => :'employee_id', + :'approver_id' => :'approver_id', + :'start_date' => :'start_date', + :'end_date' => :'end_date', + :'start_half_day' => :'start_half_day', + :'end_half_day' => :'end_half_day', + :'start_time' => :'start_time', + :'end_time' => :'end_time', + :'amount' => :'amount', + :'unit' => :'unit', + :'status' => :'status', + :'employee_note' => :'employee_note', + :'type_id' => :'type_id', + :'changed_at' => :'changed_at', + :'remote_deleted_at' => :'remote_deleted_at', + :'remote_data' => :'remote_data', + :'type' => :'type' + } + end + + # Returns attribute mapping this model knows about + def self.acceptable_attribute_map + attribute_map + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + acceptable_attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'id' => :'String', + :'remote_id' => :'String', + :'employee_id' => :'String', + :'approver_id' => :'String', + :'start_date' => :'Null', + :'end_date' => :'Null', + :'start_half_day' => :'Boolean', + :'end_half_day' => :'Boolean', + :'start_time' => :'Null', + :'end_time' => :'Null', + :'amount' => :'Float', + :'unit' => :'String', + :'status' => :'GetHrisAbsencesPositiveResponseDataResultsInnerStatus', + :'employee_note' => :'String', + :'type_id' => :'String', + :'changed_at' => :'Time', + :'remote_deleted_at' => :'Time', + :'remote_data' => :'Hash', + :'type' => :'GetHrisAbsenceTypesPositiveResponseDataResultsInner' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + :'remote_id', + :'approver_id', + :'start_half_day', + :'end_half_day', + :'amount', + :'unit', + :'status', + :'employee_note', + :'type_id', + :'remote_deleted_at', + :'remote_data', + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Kombo::GetHrisAbsencesPositiveResponseDataResultsInner` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + acceptable_attribute_map = self.class.acceptable_attribute_map + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!acceptable_attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Kombo::GetHrisAbsencesPositiveResponseDataResultsInner`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'id') + self.id = attributes[:'id'] + else + self.id = nil + end + + if attributes.key?(:'remote_id') + self.remote_id = attributes[:'remote_id'] + else + self.remote_id = nil + end + + if attributes.key?(:'employee_id') + self.employee_id = attributes[:'employee_id'] + else + self.employee_id = nil + end + + if attributes.key?(:'approver_id') + self.approver_id = attributes[:'approver_id'] + else + self.approver_id = nil + end + + if attributes.key?(:'start_date') + self.start_date = attributes[:'start_date'] + else + self.start_date = nil + end + + if attributes.key?(:'end_date') + self.end_date = attributes[:'end_date'] + else + self.end_date = nil + end + + if attributes.key?(:'start_half_day') + self.start_half_day = attributes[:'start_half_day'] + else + self.start_half_day = nil + end + + if attributes.key?(:'end_half_day') + self.end_half_day = attributes[:'end_half_day'] + else + self.end_half_day = nil + end + + if attributes.key?(:'start_time') + self.start_time = attributes[:'start_time'] + else + self.start_time = nil + end + + if attributes.key?(:'end_time') + self.end_time = attributes[:'end_time'] + else + self.end_time = nil + end + + if attributes.key?(:'amount') + self.amount = attributes[:'amount'] + else + self.amount = nil + end + + if attributes.key?(:'unit') + self.unit = attributes[:'unit'] + else + self.unit = nil + end + + if attributes.key?(:'status') + self.status = attributes[:'status'] + end + + if attributes.key?(:'employee_note') + self.employee_note = attributes[:'employee_note'] + else + self.employee_note = nil + end + + if attributes.key?(:'type_id') + self.type_id = attributes[:'type_id'] + else + self.type_id = nil + end + + if attributes.key?(:'changed_at') + self.changed_at = attributes[:'changed_at'] + else + self.changed_at = nil + end + + if attributes.key?(:'remote_deleted_at') + self.remote_deleted_at = attributes[:'remote_deleted_at'] + else + self.remote_deleted_at = nil + end + + if attributes.key?(:'remote_data') + if (value = attributes[:'remote_data']).is_a?(Hash) + self.remote_data = value + end + else + self.remote_data = nil + end + + if attributes.key?(:'type') + self.type = attributes[:'type'] + else + self.type = nil + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + warn '[DEPRECATED] the `list_invalid_properties` method is obsolete' + invalid_properties = Array.new + if @id.nil? + invalid_properties.push('invalid value for "id", id cannot be nil.') + end + + if @employee_id.nil? + invalid_properties.push('invalid value for "employee_id", employee_id cannot be nil.') + end + + if @start_date.nil? + invalid_properties.push('invalid value for "start_date", start_date cannot be nil.') + end + + if @end_date.nil? + invalid_properties.push('invalid value for "end_date", end_date cannot be nil.') + end + + if @start_time.nil? + invalid_properties.push('invalid value for "start_time", start_time cannot be nil.') + end + + if @end_time.nil? + invalid_properties.push('invalid value for "end_time", end_time cannot be nil.') + end + + if @amount < -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + invalid_properties.push('invalid value for "amount", must be greater than or equal to -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.') + end + + if @changed_at.nil? + invalid_properties.push('invalid value for "changed_at", changed_at cannot be nil.') + end + + if @type.nil? + invalid_properties.push('invalid value for "type", type cannot be nil.') + end + + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + warn '[DEPRECATED] the `valid?` method is obsolete' + return false if @id.nil? + return false if @employee_id.nil? + return false if @start_date.nil? + return false if @end_date.nil? + return false if @start_time.nil? + return false if @end_time.nil? + return false if @amount < -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + unit_validator = EnumAttributeValidator.new('String', ["HOURS", "DAYS"]) + return false unless unit_validator.valid?(@unit) + return false if @changed_at.nil? + return false if @type.nil? + true + end + + # Custom attribute writer method with validation + # @param [Object] id Value to be assigned + def id=(id) + if id.nil? + fail ArgumentError, 'id cannot be nil' + end + + @id = id + end + + # Custom attribute writer method with validation + # @param [Object] employee_id Value to be assigned + def employee_id=(employee_id) + if employee_id.nil? + fail ArgumentError, 'employee_id cannot be nil' + end + + @employee_id = employee_id + end + + # Custom attribute writer method with validation + # @param [Object] start_date Value to be assigned + def start_date=(start_date) + if start_date.nil? + fail ArgumentError, 'start_date cannot be nil' + end + + @start_date = start_date + end + + # Custom attribute writer method with validation + # @param [Object] end_date Value to be assigned + def end_date=(end_date) + if end_date.nil? + fail ArgumentError, 'end_date cannot be nil' + end + + @end_date = end_date + end + + # Custom attribute writer method with validation + # @param [Object] start_time Value to be assigned + def start_time=(start_time) + if start_time.nil? + fail ArgumentError, 'start_time cannot be nil' + end + + @start_time = start_time + end + + # Custom attribute writer method with validation + # @param [Object] end_time Value to be assigned + def end_time=(end_time) + if end_time.nil? + fail ArgumentError, 'end_time cannot be nil' + end + + @end_time = end_time + end + + # Custom attribute writer method with validation + # @param [Object] amount Value to be assigned + def amount=(amount) + if !amount.nil? && amount < -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + fail ArgumentError, 'invalid value for "amount", must be greater than or equal to -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.' + end + + @amount = amount + end + + # Custom attribute writer method checking allowed values (enum). + # @param [Object] unit Object to be assigned + def unit=(unit) + validator = EnumAttributeValidator.new('String', ["HOURS", "DAYS"]) + unless validator.valid?(unit) + fail ArgumentError, "invalid value for \"unit\", must be one of #{validator.allowable_values}." + end + @unit = unit + end + + # Custom attribute writer method with validation + # @param [Object] changed_at Value to be assigned + def changed_at=(changed_at) + if changed_at.nil? + fail ArgumentError, 'changed_at cannot be nil' + end + + @changed_at = changed_at + end + + # Custom attribute writer method with validation + # @param [Object] type Value to be assigned + def type=(type) + if type.nil? + fail ArgumentError, 'type cannot be nil' + end + + @type = type + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + id == o.id && + remote_id == o.remote_id && + employee_id == o.employee_id && + approver_id == o.approver_id && + start_date == o.start_date && + end_date == o.end_date && + start_half_day == o.start_half_day && + end_half_day == o.end_half_day && + start_time == o.start_time && + end_time == o.end_time && + amount == o.amount && + unit == o.unit && + status == o.status && + employee_note == o.employee_note && + type_id == o.type_id && + changed_at == o.changed_at && + remote_deleted_at == o.remote_deleted_at && + remote_data == o.remote_data && + type == o.type + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [id, remote_id, employee_id, approver_id, start_date, end_date, start_half_day, end_half_day, start_time, end_time, amount, unit, status, employee_note, type_id, changed_at, remote_deleted_at, remote_data, type].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + transformed_hash = {} + openapi_types.each_pair do |key, type| + if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = nil + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[attribute_map[key]].is_a?(Array) + transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) } + end + elsif !attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]]) + end + end + new(transformed_hash) + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + end + +end diff --git a/lib/kombo_client/models/get_hris_absences_positive_response_data_results_inner_status.rb b/lib/kombo_client/models/get_hris_absences_positive_response_data_results_inner_status.rb new file mode 100644 index 0000000..2c88a7e --- /dev/null +++ b/lib/kombo_client/models/get_hris_absences_positive_response_data_results_inner_status.rb @@ -0,0 +1,103 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.17.0 + +=end + +require 'date' +require 'time' + +module Kombo + # The absence’s current status. In rare cases where we can’t find a clear mapping, the original string is passed through. + module GetHrisAbsencesPositiveResponseDataResultsInnerStatus + class << self + # List of class defined in anyOf (OpenAPI v3) + def openapi_any_of + [ + :'String' + ] + end + + # Builds the object + # @param [Mixed] Data to be matched against the list of anyOf items + # @return [Object] Returns the model or the data itself + def build(data) + # Go through the list of anyOf items and attempt to identify the appropriate one. + # Note: + # - No advanced validation of types in some cases (e.g. "x: { type: string }" will happily match { x: 123 }) + # due to the way the deserialization is made in the base_object template (it just casts without verifying). + # - TODO: scalar values are de facto behaving as if they were nullable. + # - TODO: logging when debugging is set. + openapi_any_of.each do |klass| + begin + next if klass == :AnyType # "nullable: true" + return find_and_cast_into_type(klass, data) + rescue # rescue all errors so we keep iterating even if the current item lookup raises + end + end + + openapi_any_of.include?(:AnyType) ? data : nil + end + + private + + SchemaMismatchError = Class.new(StandardError) + + # Note: 'File' is missing here because in the regular case we get the data _after_ a call to JSON.parse. + def find_and_cast_into_type(klass, data) + return if data.nil? + + case klass.to_s + when 'Boolean' + return data if data.instance_of?(TrueClass) || data.instance_of?(FalseClass) + when 'Float' + return data if data.instance_of?(Float) + when 'Integer' + return data if data.instance_of?(Integer) + when 'Time' + return Time.parse(data) + when 'Date' + return Date.iso8601(data) + when 'String' + return data if data.instance_of?(String) + when 'Object' # "type: object" + return data if data.instance_of?(Hash) + when /\AArray<(?.+)>\z/ # "type: array" + if data.instance_of?(Array) + sub_type = Regexp.last_match[:sub_type] + return data.map { |item| find_and_cast_into_type(sub_type, item) } + end + when /\AHash.+)>\z/ # "type: object" with "additionalProperties: { ... }" + if data.instance_of?(Hash) && data.keys.all? { |k| k.instance_of?(Symbol) || k.instance_of?(String) } + sub_type = Regexp.last_match[:sub_type] + return data.each_with_object({}) { |(k, v), hsh| hsh[k] = find_and_cast_into_type(sub_type, v) } + end + else # model + const = Kombo.const_get(klass) + if const + if const.respond_to?(:openapi_any_of) # nested anyOf model + model = const.build(data) + return model if model + else + # raise if data contains keys that are not known to the model + raise if const.respond_to?(:acceptable_attributes) && !(data.keys - const.acceptable_attributes).empty? + model = const.build_from_hash(data) + return model if model + end + end + end + + raise # if no match by now, raise + rescue + raise SchemaMismatchError, "#{data} doesn't match the #{klass} type" + end + end + end + +end diff --git a/lib/kombo_client/models/get_hris_employee_document_categories_parameter_include_deleted.rb b/lib/kombo_client/models/get_hris_employee_document_categories_parameter_include_deleted.rb new file mode 100644 index 0000000..6f7a287 --- /dev/null +++ b/lib/kombo_client/models/get_hris_employee_document_categories_parameter_include_deleted.rb @@ -0,0 +1,40 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.17.0 + +=end + +require 'date' +require 'time' + +module Kombo + class GetHrisEmployeeDocumentCategoriesParameterIncludeDeleted + TRUE = "true".freeze + FALSE = "false".freeze + + def self.all_vars + @all_vars ||= [TRUE, FALSE].freeze + end + + # Builds the enum from string + # @param [String] The enum value in the form of the string + # @return [String] The enum value + def self.build_from_hash(value) + new.build_from_hash(value) + end + + # Builds the enum from string + # @param [String] The enum value in the form of the string + # @return [String] The enum value + def build_from_hash(value) + return value if GetHrisEmployeeDocumentCategoriesParameterIncludeDeleted.all_vars.include?(value) + raise "Invalid ENUM value #{value} for class #GetHrisEmployeeDocumentCategoriesParameterIncludeDeleted" + end + end +end diff --git a/lib/kombo_client/models/get_hris_employee_document_categories_positive_response.rb b/lib/kombo_client/models/get_hris_employee_document_categories_positive_response.rb new file mode 100644 index 0000000..9a176c1 --- /dev/null +++ b/lib/kombo_client/models/get_hris_employee_document_categories_positive_response.rb @@ -0,0 +1,214 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.17.0 + +=end + +require 'date' +require 'time' + +module Kombo + class GetHrisEmployeeDocumentCategoriesPositiveResponse < ApiModelBase + attr_accessor :status + + attr_accessor :data + + class EnumAttributeValidator + attr_reader :datatype + attr_reader :allowable_values + + def initialize(datatype, allowable_values) + @allowable_values = allowable_values.map do |value| + case datatype.to_s + when /Integer/i + value.to_i + when /Float/i + value.to_f + else + value + end + end + end + + def valid?(value) + !value || allowable_values.include?(value) + end + end + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'status' => :'status', + :'data' => :'data' + } + end + + # Returns attribute mapping this model knows about + def self.acceptable_attribute_map + attribute_map + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + acceptable_attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'status' => :'String', + :'data' => :'GetHrisEmployeeDocumentCategoriesPositiveResponseData' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Kombo::GetHrisEmployeeDocumentCategoriesPositiveResponse` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + acceptable_attribute_map = self.class.acceptable_attribute_map + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!acceptable_attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Kombo::GetHrisEmployeeDocumentCategoriesPositiveResponse`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'status') + self.status = attributes[:'status'] + else + self.status = nil + end + + if attributes.key?(:'data') + self.data = attributes[:'data'] + else + self.data = nil + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + warn '[DEPRECATED] the `list_invalid_properties` method is obsolete' + invalid_properties = Array.new + if @status.nil? + invalid_properties.push('invalid value for "status", status cannot be nil.') + end + + if @data.nil? + invalid_properties.push('invalid value for "data", data cannot be nil.') + end + + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + warn '[DEPRECATED] the `valid?` method is obsolete' + return false if @status.nil? + status_validator = EnumAttributeValidator.new('String', ["success"]) + return false unless status_validator.valid?(@status) + return false if @data.nil? + true + end + + # Custom attribute writer method checking allowed values (enum). + # @param [Object] status Object to be assigned + def status=(status) + validator = EnumAttributeValidator.new('String', ["success"]) + unless validator.valid?(status) + fail ArgumentError, "invalid value for \"status\", must be one of #{validator.allowable_values}." + end + @status = status + end + + # Custom attribute writer method with validation + # @param [Object] data Value to be assigned + def data=(data) + if data.nil? + fail ArgumentError, 'data cannot be nil' + end + + @data = data + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + status == o.status && + data == o.data + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [status, data].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + transformed_hash = {} + openapi_types.each_pair do |key, type| + if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = nil + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[attribute_map[key]].is_a?(Array) + transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) } + end + elsif !attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]]) + end + end + new(transformed_hash) + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + end + +end diff --git a/lib/kombo_client/models/get_hris_employee_document_categories_positive_response_data.rb b/lib/kombo_client/models/get_hris_employee_document_categories_positive_response_data.rb new file mode 100644 index 0000000..526ef32 --- /dev/null +++ b/lib/kombo_client/models/get_hris_employee_document_categories_positive_response_data.rb @@ -0,0 +1,179 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.17.0 + +=end + +require 'date' +require 'time' + +module Kombo + class GetHrisEmployeeDocumentCategoriesPositiveResponseData < ApiModelBase + # 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. + attr_accessor :_next + + attr_accessor :results + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'_next' => :'next', + :'results' => :'results' + } + end + + # Returns attribute mapping this model knows about + def self.acceptable_attribute_map + attribute_map + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + acceptable_attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'_next' => :'String', + :'results' => :'Array' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + :'_next', + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Kombo::GetHrisEmployeeDocumentCategoriesPositiveResponseData` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + acceptable_attribute_map = self.class.acceptable_attribute_map + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!acceptable_attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Kombo::GetHrisEmployeeDocumentCategoriesPositiveResponseData`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'_next') + self._next = attributes[:'_next'] + else + self._next = nil + end + + if attributes.key?(:'results') + if (value = attributes[:'results']).is_a?(Array) + self.results = value + end + else + self.results = nil + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + warn '[DEPRECATED] the `list_invalid_properties` method is obsolete' + invalid_properties = Array.new + if @results.nil? + invalid_properties.push('invalid value for "results", results cannot be nil.') + end + + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + warn '[DEPRECATED] the `valid?` method is obsolete' + return false if @results.nil? + true + end + + # Custom attribute writer method with validation + # @param [Object] results Value to be assigned + def results=(results) + if results.nil? + fail ArgumentError, 'results cannot be nil' + end + + @results = results + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + _next == o._next && + results == o.results + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [_next, results].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + transformed_hash = {} + openapi_types.each_pair do |key, type| + if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = nil + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[attribute_map[key]].is_a?(Array) + transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) } + end + elsif !attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]]) + end + end + new(transformed_hash) + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + end + +end diff --git a/lib/kombo_client/models/get_hris_employee_document_categories_positive_response_data_results_inner.rb b/lib/kombo_client/models/get_hris_employee_document_categories_positive_response_data_results_inner.rb new file mode 100644 index 0000000..b027fff --- /dev/null +++ b/lib/kombo_client/models/get_hris_employee_document_categories_positive_response_data_results_inner.rb @@ -0,0 +1,246 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.17.0 + +=end + +require 'date' +require 'time' + +module Kombo + class GetHrisEmployeeDocumentCategoriesPositiveResponseDataResultsInner < ApiModelBase + # The globally unique ID of this object generated by Kombo. We recommend using this as a stable primary key for syncing. + attr_accessor :id + + # 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. + attr_accessor :remote_id + + # The employee document category name. For example, \"Employment contract\". + attr_accessor :name + + # 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. + attr_accessor :remote_data + + # 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. + attr_accessor :changed_at + + # 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. + attr_accessor :remote_deleted_at + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'id' => :'id', + :'remote_id' => :'remote_id', + :'name' => :'name', + :'remote_data' => :'remote_data', + :'changed_at' => :'changed_at', + :'remote_deleted_at' => :'remote_deleted_at' + } + end + + # Returns attribute mapping this model knows about + def self.acceptable_attribute_map + attribute_map + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + acceptable_attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'id' => :'String', + :'remote_id' => :'String', + :'name' => :'String', + :'remote_data' => :'Hash', + :'changed_at' => :'Time', + :'remote_deleted_at' => :'Time' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + :'remote_id', + :'name', + :'remote_data', + :'remote_deleted_at' + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Kombo::GetHrisEmployeeDocumentCategoriesPositiveResponseDataResultsInner` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + acceptable_attribute_map = self.class.acceptable_attribute_map + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!acceptable_attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Kombo::GetHrisEmployeeDocumentCategoriesPositiveResponseDataResultsInner`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'id') + self.id = attributes[:'id'] + else + self.id = nil + end + + if attributes.key?(:'remote_id') + self.remote_id = attributes[:'remote_id'] + else + self.remote_id = nil + end + + if attributes.key?(:'name') + self.name = attributes[:'name'] + else + self.name = nil + end + + if attributes.key?(:'remote_data') + if (value = attributes[:'remote_data']).is_a?(Hash) + self.remote_data = value + end + else + self.remote_data = nil + end + + if attributes.key?(:'changed_at') + self.changed_at = attributes[:'changed_at'] + else + self.changed_at = nil + end + + if attributes.key?(:'remote_deleted_at') + self.remote_deleted_at = attributes[:'remote_deleted_at'] + else + self.remote_deleted_at = nil + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + warn '[DEPRECATED] the `list_invalid_properties` method is obsolete' + invalid_properties = Array.new + if @id.nil? + invalid_properties.push('invalid value for "id", id cannot be nil.') + end + + if @changed_at.nil? + invalid_properties.push('invalid value for "changed_at", changed_at cannot be nil.') + end + + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + warn '[DEPRECATED] the `valid?` method is obsolete' + return false if @id.nil? + return false if @changed_at.nil? + true + end + + # Custom attribute writer method with validation + # @param [Object] id Value to be assigned + def id=(id) + if id.nil? + fail ArgumentError, 'id cannot be nil' + end + + @id = id + end + + # Custom attribute writer method with validation + # @param [Object] changed_at Value to be assigned + def changed_at=(changed_at) + if changed_at.nil? + fail ArgumentError, 'changed_at cannot be nil' + end + + @changed_at = changed_at + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + id == o.id && + remote_id == o.remote_id && + name == o.name && + remote_data == o.remote_data && + changed_at == o.changed_at && + remote_deleted_at == o.remote_deleted_at + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [id, remote_id, name, remote_data, changed_at, remote_deleted_at].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + transformed_hash = {} + openapi_types.each_pair do |key, type| + if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = nil + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[attribute_map[key]].is_a?(Array) + transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) } + end + elsif !attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]]) + end + end + new(transformed_hash) + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + end + +end diff --git a/lib/kombo_client/models/get_hris_employee_skill_assignments_positive_response.rb b/lib/kombo_client/models/get_hris_employee_skill_assignments_positive_response.rb new file mode 100644 index 0000000..fb97016 --- /dev/null +++ b/lib/kombo_client/models/get_hris_employee_skill_assignments_positive_response.rb @@ -0,0 +1,214 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.17.0 + +=end + +require 'date' +require 'time' + +module Kombo + class GetHrisEmployeeSkillAssignmentsPositiveResponse < ApiModelBase + attr_accessor :status + + attr_accessor :data + + class EnumAttributeValidator + attr_reader :datatype + attr_reader :allowable_values + + def initialize(datatype, allowable_values) + @allowable_values = allowable_values.map do |value| + case datatype.to_s + when /Integer/i + value.to_i + when /Float/i + value.to_f + else + value + end + end + end + + def valid?(value) + !value || allowable_values.include?(value) + end + end + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'status' => :'status', + :'data' => :'data' + } + end + + # Returns attribute mapping this model knows about + def self.acceptable_attribute_map + attribute_map + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + acceptable_attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'status' => :'String', + :'data' => :'GetHrisEmployeeSkillAssignmentsPositiveResponseData' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Kombo::GetHrisEmployeeSkillAssignmentsPositiveResponse` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + acceptable_attribute_map = self.class.acceptable_attribute_map + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!acceptable_attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Kombo::GetHrisEmployeeSkillAssignmentsPositiveResponse`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'status') + self.status = attributes[:'status'] + else + self.status = nil + end + + if attributes.key?(:'data') + self.data = attributes[:'data'] + else + self.data = nil + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + warn '[DEPRECATED] the `list_invalid_properties` method is obsolete' + invalid_properties = Array.new + if @status.nil? + invalid_properties.push('invalid value for "status", status cannot be nil.') + end + + if @data.nil? + invalid_properties.push('invalid value for "data", data cannot be nil.') + end + + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + warn '[DEPRECATED] the `valid?` method is obsolete' + return false if @status.nil? + status_validator = EnumAttributeValidator.new('String', ["success"]) + return false unless status_validator.valid?(@status) + return false if @data.nil? + true + end + + # Custom attribute writer method checking allowed values (enum). + # @param [Object] status Object to be assigned + def status=(status) + validator = EnumAttributeValidator.new('String', ["success"]) + unless validator.valid?(status) + fail ArgumentError, "invalid value for \"status\", must be one of #{validator.allowable_values}." + end + @status = status + end + + # Custom attribute writer method with validation + # @param [Object] data Value to be assigned + def data=(data) + if data.nil? + fail ArgumentError, 'data cannot be nil' + end + + @data = data + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + status == o.status && + data == o.data + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [status, data].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + transformed_hash = {} + openapi_types.each_pair do |key, type| + if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = nil + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[attribute_map[key]].is_a?(Array) + transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) } + end + elsif !attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]]) + end + end + new(transformed_hash) + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + end + +end diff --git a/lib/kombo_client/models/get_hris_employee_skill_assignments_positive_response_data.rb b/lib/kombo_client/models/get_hris_employee_skill_assignments_positive_response_data.rb new file mode 100644 index 0000000..e0f15a2 --- /dev/null +++ b/lib/kombo_client/models/get_hris_employee_skill_assignments_positive_response_data.rb @@ -0,0 +1,179 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.17.0 + +=end + +require 'date' +require 'time' + +module Kombo + class GetHrisEmployeeSkillAssignmentsPositiveResponseData < ApiModelBase + # 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. + attr_accessor :_next + + attr_accessor :results + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'_next' => :'next', + :'results' => :'results' + } + end + + # Returns attribute mapping this model knows about + def self.acceptable_attribute_map + attribute_map + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + acceptable_attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'_next' => :'String', + :'results' => :'Array' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + :'_next', + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Kombo::GetHrisEmployeeSkillAssignmentsPositiveResponseData` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + acceptable_attribute_map = self.class.acceptable_attribute_map + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!acceptable_attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Kombo::GetHrisEmployeeSkillAssignmentsPositiveResponseData`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'_next') + self._next = attributes[:'_next'] + else + self._next = nil + end + + if attributes.key?(:'results') + if (value = attributes[:'results']).is_a?(Array) + self.results = value + end + else + self.results = nil + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + warn '[DEPRECATED] the `list_invalid_properties` method is obsolete' + invalid_properties = Array.new + if @results.nil? + invalid_properties.push('invalid value for "results", results cannot be nil.') + end + + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + warn '[DEPRECATED] the `valid?` method is obsolete' + return false if @results.nil? + true + end + + # Custom attribute writer method with validation + # @param [Object] results Value to be assigned + def results=(results) + if results.nil? + fail ArgumentError, 'results cannot be nil' + end + + @results = results + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + _next == o._next && + results == o.results + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [_next, results].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + transformed_hash = {} + openapi_types.each_pair do |key, type| + if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = nil + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[attribute_map[key]].is_a?(Array) + transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) } + end + elsif !attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]]) + end + end + new(transformed_hash) + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + end + +end diff --git a/lib/kombo_client/models/get_hris_employee_skill_assignments_positive_response_data_results_inner.rb b/lib/kombo_client/models/get_hris_employee_skill_assignments_positive_response_data_results_inner.rb new file mode 100644 index 0000000..5cf0cef --- /dev/null +++ b/lib/kombo_client/models/get_hris_employee_skill_assignments_positive_response_data_results_inner.rb @@ -0,0 +1,232 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.17.0 + +=end + +require 'date' +require 'time' + +module Kombo + class GetHrisEmployeeSkillAssignmentsPositiveResponseDataResultsInner < ApiModelBase + # The unique identifier for the employee skill assignment + attr_accessor :id + + # The ID of the employee + attr_accessor :employee_id + + # The ID of the skill + attr_accessor :skill_id + + # The current skill level of the employee + attr_accessor :current_level + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'id' => :'id', + :'employee_id' => :'employee_id', + :'skill_id' => :'skill_id', + :'current_level' => :'current_level' + } + end + + # Returns attribute mapping this model knows about + def self.acceptable_attribute_map + attribute_map + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + acceptable_attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'id' => :'String', + :'employee_id' => :'String', + :'skill_id' => :'String', + :'current_level' => :'String' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + :'current_level' + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Kombo::GetHrisEmployeeSkillAssignmentsPositiveResponseDataResultsInner` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + acceptable_attribute_map = self.class.acceptable_attribute_map + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!acceptable_attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Kombo::GetHrisEmployeeSkillAssignmentsPositiveResponseDataResultsInner`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'id') + self.id = attributes[:'id'] + else + self.id = nil + end + + if attributes.key?(:'employee_id') + self.employee_id = attributes[:'employee_id'] + else + self.employee_id = nil + end + + if attributes.key?(:'skill_id') + self.skill_id = attributes[:'skill_id'] + else + self.skill_id = nil + end + + if attributes.key?(:'current_level') + self.current_level = attributes[:'current_level'] + else + self.current_level = nil + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + warn '[DEPRECATED] the `list_invalid_properties` method is obsolete' + invalid_properties = Array.new + if @id.nil? + invalid_properties.push('invalid value for "id", id cannot be nil.') + end + + if @employee_id.nil? + invalid_properties.push('invalid value for "employee_id", employee_id cannot be nil.') + end + + if @skill_id.nil? + invalid_properties.push('invalid value for "skill_id", skill_id cannot be nil.') + end + + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + warn '[DEPRECATED] the `valid?` method is obsolete' + return false if @id.nil? + return false if @employee_id.nil? + return false if @skill_id.nil? + true + end + + # Custom attribute writer method with validation + # @param [Object] id Value to be assigned + def id=(id) + if id.nil? + fail ArgumentError, 'id cannot be nil' + end + + @id = id + end + + # Custom attribute writer method with validation + # @param [Object] employee_id Value to be assigned + def employee_id=(employee_id) + if employee_id.nil? + fail ArgumentError, 'employee_id cannot be nil' + end + + @employee_id = employee_id + end + + # Custom attribute writer method with validation + # @param [Object] skill_id Value to be assigned + def skill_id=(skill_id) + if skill_id.nil? + fail ArgumentError, 'skill_id cannot be nil' + end + + @skill_id = skill_id + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + id == o.id && + employee_id == o.employee_id && + skill_id == o.skill_id && + current_level == o.current_level + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [id, employee_id, skill_id, current_level].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + transformed_hash = {} + openapi_types.each_pair do |key, type| + if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = nil + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[attribute_map[key]].is_a?(Array) + transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) } + end + elsif !attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]]) + end + end + new(transformed_hash) + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + end + +end diff --git a/lib/kombo_client/models/get_hris_employees_form_positive_response.rb b/lib/kombo_client/models/get_hris_employees_form_positive_response.rb new file mode 100644 index 0000000..8ad81fb --- /dev/null +++ b/lib/kombo_client/models/get_hris_employees_form_positive_response.rb @@ -0,0 +1,243 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.17.0 + +=end + +require 'date' +require 'time' + +module Kombo + class GetHrisEmployeesFormPositiveResponse < ApiModelBase + attr_accessor :status + + attr_accessor :data + + # 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. + attr_accessor :warnings + + class EnumAttributeValidator + attr_reader :datatype + attr_reader :allowable_values + + def initialize(datatype, allowable_values) + @allowable_values = allowable_values.map do |value| + case datatype.to_s + when /Integer/i + value.to_i + when /Float/i + value.to_f + else + value + end + end + end + + def valid?(value) + !value || allowable_values.include?(value) + end + end + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'status' => :'status', + :'data' => :'data', + :'warnings' => :'warnings' + } + end + + # Returns attribute mapping this model knows about + def self.acceptable_attribute_map + attribute_map + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + acceptable_attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'status' => :'String', + :'data' => :'GetHrisEmployeesFormPositiveResponseData', + :'warnings' => :'Array' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Kombo::GetHrisEmployeesFormPositiveResponse` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + acceptable_attribute_map = self.class.acceptable_attribute_map + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!acceptable_attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Kombo::GetHrisEmployeesFormPositiveResponse`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'status') + self.status = attributes[:'status'] + else + self.status = nil + end + + if attributes.key?(:'data') + self.data = attributes[:'data'] + else + self.data = nil + end + + if attributes.key?(:'warnings') + if (value = attributes[:'warnings']).is_a?(Array) + self.warnings = value + end + else + self.warnings = nil + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + warn '[DEPRECATED] the `list_invalid_properties` method is obsolete' + invalid_properties = Array.new + if @status.nil? + invalid_properties.push('invalid value for "status", status cannot be nil.') + end + + if @data.nil? + invalid_properties.push('invalid value for "data", data cannot be nil.') + end + + if @warnings.nil? + invalid_properties.push('invalid value for "warnings", warnings cannot be nil.') + end + + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + warn '[DEPRECATED] the `valid?` method is obsolete' + return false if @status.nil? + status_validator = EnumAttributeValidator.new('String', ["success"]) + return false unless status_validator.valid?(@status) + return false if @data.nil? + return false if @warnings.nil? + true + end + + # Custom attribute writer method checking allowed values (enum). + # @param [Object] status Object to be assigned + def status=(status) + validator = EnumAttributeValidator.new('String', ["success"]) + unless validator.valid?(status) + fail ArgumentError, "invalid value for \"status\", must be one of #{validator.allowable_values}." + end + @status = status + end + + # Custom attribute writer method with validation + # @param [Object] data Value to be assigned + def data=(data) + if data.nil? + fail ArgumentError, 'data cannot be nil' + end + + @data = data + end + + # Custom attribute writer method with validation + # @param [Object] warnings Value to be assigned + def warnings=(warnings) + if warnings.nil? + fail ArgumentError, 'warnings cannot be nil' + end + + @warnings = warnings + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + status == o.status && + data == o.data && + warnings == o.warnings + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [status, data, warnings].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + transformed_hash = {} + openapi_types.each_pair do |key, type| + if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = nil + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[attribute_map[key]].is_a?(Array) + transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) } + end + elsif !attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]]) + end + end + new(transformed_hash) + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + end + +end diff --git a/lib/kombo_client/models/get_hris_employees_form_positive_response_data.rb b/lib/kombo_client/models/get_hris_employees_form_positive_response_data.rb new file mode 100644 index 0000000..fc56ede --- /dev/null +++ b/lib/kombo_client/models/get_hris_employees_form_positive_response_data.rb @@ -0,0 +1,166 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.17.0 + +=end + +require 'date' +require 'time' + +module Kombo + class GetHrisEmployeesFormPositiveResponseData < ApiModelBase + attr_accessor :properties + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'properties' => :'properties' + } + end + + # Returns attribute mapping this model knows about + def self.acceptable_attribute_map + attribute_map + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + acceptable_attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'properties' => :'Hash' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Kombo::GetHrisEmployeesFormPositiveResponseData` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + acceptable_attribute_map = self.class.acceptable_attribute_map + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!acceptable_attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Kombo::GetHrisEmployeesFormPositiveResponseData`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'properties') + if (value = attributes[:'properties']).is_a?(Hash) + self.properties = value + end + else + self.properties = nil + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + warn '[DEPRECATED] the `list_invalid_properties` method is obsolete' + invalid_properties = Array.new + if @properties.nil? + invalid_properties.push('invalid value for "properties", properties cannot be nil.') + end + + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + warn '[DEPRECATED] the `valid?` method is obsolete' + return false if @properties.nil? + true + end + + # Custom attribute writer method with validation + # @param [Object] properties Value to be assigned + def properties=(properties) + if properties.nil? + fail ArgumentError, 'properties cannot be nil' + end + + @properties = properties + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + properties == o.properties + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [properties].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + transformed_hash = {} + openapi_types.each_pair do |key, type| + if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = nil + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[attribute_map[key]].is_a?(Array) + transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) } + end + elsif !attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]]) + end + end + new(transformed_hash) + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + end + +end diff --git a/lib/kombo_client/models/get_hris_employees_parameter_employment_status.rb b/lib/kombo_client/models/get_hris_employees_parameter_employment_status.rb new file mode 100644 index 0000000..30bdee7 --- /dev/null +++ b/lib/kombo_client/models/get_hris_employees_parameter_employment_status.rb @@ -0,0 +1,42 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.17.0 + +=end + +require 'date' +require 'time' + +module Kombo + class GetHrisEmployeesParameterEmploymentStatus + ACTIVE = "ACTIVE".freeze + PENDING = "PENDING".freeze + INACTIVE = "INACTIVE".freeze + LEAVE = "LEAVE".freeze + + def self.all_vars + @all_vars ||= [ACTIVE, PENDING, INACTIVE, LEAVE].freeze + end + + # Builds the enum from string + # @param [String] The enum value in the form of the string + # @return [String] The enum value + def self.build_from_hash(value) + new.build_from_hash(value) + end + + # Builds the enum from string + # @param [String] The enum value in the form of the string + # @return [String] The enum value + def build_from_hash(value) + return value if GetHrisEmployeesParameterEmploymentStatus.all_vars.include?(value) + raise "Invalid ENUM value #{value} for class #GetHrisEmployeesParameterEmploymentStatus" + end + end +end diff --git a/lib/kombo_client/models/get_hris_employees_parameter_include_deleted.rb b/lib/kombo_client/models/get_hris_employees_parameter_include_deleted.rb new file mode 100644 index 0000000..92261e9 --- /dev/null +++ b/lib/kombo_client/models/get_hris_employees_parameter_include_deleted.rb @@ -0,0 +1,40 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.17.0 + +=end + +require 'date' +require 'time' + +module Kombo + class GetHrisEmployeesParameterIncludeDeleted + TRUE = "true".freeze + FALSE = "false".freeze + + def self.all_vars + @all_vars ||= [TRUE, FALSE].freeze + end + + # Builds the enum from string + # @param [String] The enum value in the form of the string + # @return [String] The enum value + def self.build_from_hash(value) + new.build_from_hash(value) + end + + # Builds the enum from string + # @param [String] The enum value in the form of the string + # @return [String] The enum value + def build_from_hash(value) + return value if GetHrisEmployeesParameterIncludeDeleted.all_vars.include?(value) + raise "Invalid ENUM value #{value} for class #GetHrisEmployeesParameterIncludeDeleted" + end + end +end diff --git a/lib/kombo_client/models/get_hris_employees_positive_response.rb b/lib/kombo_client/models/get_hris_employees_positive_response.rb new file mode 100644 index 0000000..1a517d8 --- /dev/null +++ b/lib/kombo_client/models/get_hris_employees_positive_response.rb @@ -0,0 +1,214 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.17.0 + +=end + +require 'date' +require 'time' + +module Kombo + class GetHrisEmployeesPositiveResponse < ApiModelBase + attr_accessor :status + + attr_accessor :data + + class EnumAttributeValidator + attr_reader :datatype + attr_reader :allowable_values + + def initialize(datatype, allowable_values) + @allowable_values = allowable_values.map do |value| + case datatype.to_s + when /Integer/i + value.to_i + when /Float/i + value.to_f + else + value + end + end + end + + def valid?(value) + !value || allowable_values.include?(value) + end + end + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'status' => :'status', + :'data' => :'data' + } + end + + # Returns attribute mapping this model knows about + def self.acceptable_attribute_map + attribute_map + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + acceptable_attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'status' => :'String', + :'data' => :'GetHrisEmployeesPositiveResponseData' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Kombo::GetHrisEmployeesPositiveResponse` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + acceptable_attribute_map = self.class.acceptable_attribute_map + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!acceptable_attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Kombo::GetHrisEmployeesPositiveResponse`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'status') + self.status = attributes[:'status'] + else + self.status = nil + end + + if attributes.key?(:'data') + self.data = attributes[:'data'] + else + self.data = nil + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + warn '[DEPRECATED] the `list_invalid_properties` method is obsolete' + invalid_properties = Array.new + if @status.nil? + invalid_properties.push('invalid value for "status", status cannot be nil.') + end + + if @data.nil? + invalid_properties.push('invalid value for "data", data cannot be nil.') + end + + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + warn '[DEPRECATED] the `valid?` method is obsolete' + return false if @status.nil? + status_validator = EnumAttributeValidator.new('String', ["success"]) + return false unless status_validator.valid?(@status) + return false if @data.nil? + true + end + + # Custom attribute writer method checking allowed values (enum). + # @param [Object] status Object to be assigned + def status=(status) + validator = EnumAttributeValidator.new('String', ["success"]) + unless validator.valid?(status) + fail ArgumentError, "invalid value for \"status\", must be one of #{validator.allowable_values}." + end + @status = status + end + + # Custom attribute writer method with validation + # @param [Object] data Value to be assigned + def data=(data) + if data.nil? + fail ArgumentError, 'data cannot be nil' + end + + @data = data + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + status == o.status && + data == o.data + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [status, data].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + transformed_hash = {} + openapi_types.each_pair do |key, type| + if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = nil + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[attribute_map[key]].is_a?(Array) + transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) } + end + elsif !attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]]) + end + end + new(transformed_hash) + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + end + +end diff --git a/lib/kombo_client/models/get_hris_employees_positive_response_data.rb b/lib/kombo_client/models/get_hris_employees_positive_response_data.rb new file mode 100644 index 0000000..3380424 --- /dev/null +++ b/lib/kombo_client/models/get_hris_employees_positive_response_data.rb @@ -0,0 +1,179 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.17.0 + +=end + +require 'date' +require 'time' + +module Kombo + class GetHrisEmployeesPositiveResponseData < ApiModelBase + # 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. + attr_accessor :_next + + attr_accessor :results + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'_next' => :'next', + :'results' => :'results' + } + end + + # Returns attribute mapping this model knows about + def self.acceptable_attribute_map + attribute_map + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + acceptable_attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'_next' => :'String', + :'results' => :'Array' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + :'_next', + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Kombo::GetHrisEmployeesPositiveResponseData` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + acceptable_attribute_map = self.class.acceptable_attribute_map + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!acceptable_attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Kombo::GetHrisEmployeesPositiveResponseData`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'_next') + self._next = attributes[:'_next'] + else + self._next = nil + end + + if attributes.key?(:'results') + if (value = attributes[:'results']).is_a?(Array) + self.results = value + end + else + self.results = nil + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + warn '[DEPRECATED] the `list_invalid_properties` method is obsolete' + invalid_properties = Array.new + if @results.nil? + invalid_properties.push('invalid value for "results", results cannot be nil.') + end + + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + warn '[DEPRECATED] the `valid?` method is obsolete' + return false if @results.nil? + true + end + + # Custom attribute writer method with validation + # @param [Object] results Value to be assigned + def results=(results) + if results.nil? + fail ArgumentError, 'results cannot be nil' + end + + @results = results + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + _next == o._next && + results == o.results + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [_next, results].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + transformed_hash = {} + openapi_types.each_pair do |key, type| + if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = nil + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[attribute_map[key]].is_a?(Array) + transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) } + end + elsif !attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]]) + end + end + new(transformed_hash) + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + end + +end diff --git a/lib/kombo_client/models/get_hris_employees_positive_response_data_results_inner.rb b/lib/kombo_client/models/get_hris_employees_positive_response_data_results_inner.rb new file mode 100644 index 0000000..f9adb71 --- /dev/null +++ b/lib/kombo_client/models/get_hris_employees_positive_response_data_results_inner.rb @@ -0,0 +1,859 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.17.0 + +=end + +require 'date' +require 'time' + +module Kombo + class GetHrisEmployeesPositiveResponseDataResultsInner < ApiModelBase + # The globally unique ID of this object generated by Kombo. We recommend using this as a stable primary key for syncing. + attr_accessor :id + + # 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. + attr_accessor :remote_id + + # The employee’s organization-internal employee number. + attr_accessor :employee_number + + # The employee’s first name. + attr_accessor :first_name + + # The employee’s last name. + attr_accessor :last_name + + # The employee’s nationality. + attr_accessor :nationality + + # 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`. + attr_accessor :display_full_name + + # The employee’s job title. + attr_accessor :job_title + + # The employee’s work email address. If the email address is invalid, we will set this to `null`. + attr_accessor :work_email + + # The employee’s personal email address. If the email address is invalid, we will set this to `null`. + attr_accessor :personal_email + + # The employee’s mobile phone number. + attr_accessor :mobile_phone_number + + # The employee’s social security number + attr_accessor :ssn + + # The employee’s tax ID. + attr_accessor :tax_id + + attr_accessor :gender + + attr_accessor :ethnicity + + attr_accessor :marital_status + + attr_accessor :employment_status + + attr_accessor :employment_type + + # The employee’s weekly working hours. + attr_accessor :weekly_hours + + # 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. + attr_accessor :avatar + + # 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. + attr_accessor :work_location_id + + # 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. + attr_accessor :legal_entity_id + + # The Kombo ID of the employee’s manager. The ID can be used to retrieve the manager from the `get employees` endpoint. + attr_accessor :manager_id + + attr_accessor :home_address + + # The employee’s bank accounts. + attr_accessor :bank_accounts + + # The employee’s date of birth. + attr_accessor :date_of_birth + + # The date the employee started working for the organization. + attr_accessor :start_date + + # The date when the employment ends. Can be in the past or future. + attr_accessor :termination_date + + # The date and time the object was created in the remote system. + attr_accessor :remote_created_at + + # 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. + attr_accessor :changed_at + + # 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. + attr_accessor :remote_deleted_at + + # A key-value store of fields not covered by the schema. [Read more](/custom-fields) + attr_accessor :custom_fields + + # An array of selected passthrough integration fields. [Read more](/integration-fields) + attr_accessor :integration_fields + + # 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. + attr_accessor :remote_data + + attr_accessor :employments + + attr_accessor :time_off_balances + + attr_accessor :manager + + attr_accessor :groups + + attr_accessor :legal_entity + + # **(⚠️ Deprecated - Please use `groups` instead. It includes the same data and the naming is less confusing.)** Maintained field for backwards compatibility. + attr_accessor :teams + + attr_accessor :work_location + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'id' => :'id', + :'remote_id' => :'remote_id', + :'employee_number' => :'employee_number', + :'first_name' => :'first_name', + :'last_name' => :'last_name', + :'nationality' => :'nationality', + :'display_full_name' => :'display_full_name', + :'job_title' => :'job_title', + :'work_email' => :'work_email', + :'personal_email' => :'personal_email', + :'mobile_phone_number' => :'mobile_phone_number', + :'ssn' => :'ssn', + :'tax_id' => :'tax_id', + :'gender' => :'gender', + :'ethnicity' => :'ethnicity', + :'marital_status' => :'marital_status', + :'employment_status' => :'employment_status', + :'employment_type' => :'employment_type', + :'weekly_hours' => :'weekly_hours', + :'avatar' => :'avatar', + :'work_location_id' => :'work_location_id', + :'legal_entity_id' => :'legal_entity_id', + :'manager_id' => :'manager_id', + :'home_address' => :'home_address', + :'bank_accounts' => :'bank_accounts', + :'date_of_birth' => :'date_of_birth', + :'start_date' => :'start_date', + :'termination_date' => :'termination_date', + :'remote_created_at' => :'remote_created_at', + :'changed_at' => :'changed_at', + :'remote_deleted_at' => :'remote_deleted_at', + :'custom_fields' => :'custom_fields', + :'integration_fields' => :'integration_fields', + :'remote_data' => :'remote_data', + :'employments' => :'employments', + :'time_off_balances' => :'time_off_balances', + :'manager' => :'manager', + :'groups' => :'groups', + :'legal_entity' => :'legal_entity', + :'teams' => :'teams', + :'work_location' => :'work_location' + } + end + + # Returns attribute mapping this model knows about + def self.acceptable_attribute_map + attribute_map + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + acceptable_attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'id' => :'String', + :'remote_id' => :'String', + :'employee_number' => :'String', + :'first_name' => :'String', + :'last_name' => :'String', + :'nationality' => :'String', + :'display_full_name' => :'String', + :'job_title' => :'String', + :'work_email' => :'String', + :'personal_email' => :'String', + :'mobile_phone_number' => :'String', + :'ssn' => :'String', + :'tax_id' => :'String', + :'gender' => :'GetHrisEmployeesPositiveResponseDataResultsInnerGender', + :'ethnicity' => :'GetHrisEmployeesPositiveResponseDataResultsInnerEthnicity', + :'marital_status' => :'GetHrisEmployeesPositiveResponseDataResultsInnerMaritalStatus', + :'employment_status' => :'GetHrisEmployeesPositiveResponseDataResultsInnerEmploymentStatus', + :'employment_type' => :'GetHrisEmployeesPositiveResponseDataResultsInnerEmploymentType', + :'weekly_hours' => :'Float', + :'avatar' => :'String', + :'work_location_id' => :'String', + :'legal_entity_id' => :'String', + :'manager_id' => :'String', + :'home_address' => :'GetHrisEmployeesPositiveResponseDataResultsInnerHomeAddress', + :'bank_accounts' => :'Array', + :'date_of_birth' => :'Time', + :'start_date' => :'Time', + :'termination_date' => :'Time', + :'remote_created_at' => :'Time', + :'changed_at' => :'Time', + :'remote_deleted_at' => :'Time', + :'custom_fields' => :'Hash', + :'integration_fields' => :'Array', + :'remote_data' => :'Hash', + :'employments' => :'Array', + :'time_off_balances' => :'Array', + :'manager' => :'GetHrisEmployeesPositiveResponseDataResultsInnerManager', + :'groups' => :'Array', + :'legal_entity' => :'GetHrisEmployeesPositiveResponseDataResultsInnerLegalEntity', + :'teams' => :'Array', + :'work_location' => :'GetHrisEmployeesPositiveResponseDataResultsInnerWorkLocation' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + :'employee_number', + :'first_name', + :'last_name', + :'nationality', + :'display_full_name', + :'job_title', + :'work_email', + :'personal_email', + :'mobile_phone_number', + :'ssn', + :'tax_id', + :'gender', + :'ethnicity', + :'marital_status', + :'employment_status', + :'employment_type', + :'weekly_hours', + :'avatar', + :'work_location_id', + :'legal_entity_id', + :'manager_id', + :'bank_accounts', + :'date_of_birth', + :'start_date', + :'termination_date', + :'remote_created_at', + :'remote_deleted_at', + :'custom_fields', + :'remote_data', + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Kombo::GetHrisEmployeesPositiveResponseDataResultsInner` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + acceptable_attribute_map = self.class.acceptable_attribute_map + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!acceptable_attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Kombo::GetHrisEmployeesPositiveResponseDataResultsInner`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'id') + self.id = attributes[:'id'] + else + self.id = nil + end + + if attributes.key?(:'remote_id') + self.remote_id = attributes[:'remote_id'] + else + self.remote_id = nil + end + + if attributes.key?(:'employee_number') + self.employee_number = attributes[:'employee_number'] + else + self.employee_number = nil + end + + if attributes.key?(:'first_name') + self.first_name = attributes[:'first_name'] + else + self.first_name = nil + end + + if attributes.key?(:'last_name') + self.last_name = attributes[:'last_name'] + else + self.last_name = nil + end + + if attributes.key?(:'nationality') + self.nationality = attributes[:'nationality'] + else + self.nationality = nil + end + + if attributes.key?(:'display_full_name') + self.display_full_name = attributes[:'display_full_name'] + else + self.display_full_name = nil + end + + if attributes.key?(:'job_title') + self.job_title = attributes[:'job_title'] + else + self.job_title = nil + end + + if attributes.key?(:'work_email') + self.work_email = attributes[:'work_email'] + end + + if attributes.key?(:'personal_email') + self.personal_email = attributes[:'personal_email'] + end + + if attributes.key?(:'mobile_phone_number') + self.mobile_phone_number = attributes[:'mobile_phone_number'] + else + self.mobile_phone_number = nil + end + + if attributes.key?(:'ssn') + self.ssn = attributes[:'ssn'] + else + self.ssn = nil + end + + if attributes.key?(:'tax_id') + self.tax_id = attributes[:'tax_id'] + else + self.tax_id = nil + end + + if attributes.key?(:'gender') + self.gender = attributes[:'gender'] + end + + if attributes.key?(:'ethnicity') + self.ethnicity = attributes[:'ethnicity'] + end + + if attributes.key?(:'marital_status') + self.marital_status = attributes[:'marital_status'] + end + + if attributes.key?(:'employment_status') + self.employment_status = attributes[:'employment_status'] + end + + if attributes.key?(:'employment_type') + self.employment_type = attributes[:'employment_type'] + end + + if attributes.key?(:'weekly_hours') + self.weekly_hours = attributes[:'weekly_hours'] + else + self.weekly_hours = nil + end + + if attributes.key?(:'avatar') + self.avatar = attributes[:'avatar'] + else + self.avatar = nil + end + + if attributes.key?(:'work_location_id') + self.work_location_id = attributes[:'work_location_id'] + else + self.work_location_id = nil + end + + if attributes.key?(:'legal_entity_id') + self.legal_entity_id = attributes[:'legal_entity_id'] + else + self.legal_entity_id = nil + end + + if attributes.key?(:'manager_id') + self.manager_id = attributes[:'manager_id'] + else + self.manager_id = nil + end + + if attributes.key?(:'home_address') + self.home_address = attributes[:'home_address'] + end + + if attributes.key?(:'bank_accounts') + if (value = attributes[:'bank_accounts']).is_a?(Array) + self.bank_accounts = value + end + end + + if attributes.key?(:'date_of_birth') + self.date_of_birth = attributes[:'date_of_birth'] + else + self.date_of_birth = nil + end + + if attributes.key?(:'start_date') + self.start_date = attributes[:'start_date'] + else + self.start_date = nil + end + + if attributes.key?(:'termination_date') + self.termination_date = attributes[:'termination_date'] + else + self.termination_date = nil + end + + if attributes.key?(:'remote_created_at') + self.remote_created_at = attributes[:'remote_created_at'] + else + self.remote_created_at = nil + end + + if attributes.key?(:'changed_at') + self.changed_at = attributes[:'changed_at'] + else + self.changed_at = nil + end + + if attributes.key?(:'remote_deleted_at') + self.remote_deleted_at = attributes[:'remote_deleted_at'] + else + self.remote_deleted_at = nil + end + + if attributes.key?(:'custom_fields') + if (value = attributes[:'custom_fields']).is_a?(Hash) + self.custom_fields = value + end + else + self.custom_fields = nil + end + + if attributes.key?(:'integration_fields') + if (value = attributes[:'integration_fields']).is_a?(Array) + self.integration_fields = value + end + else + self.integration_fields = nil + end + + if attributes.key?(:'remote_data') + if (value = attributes[:'remote_data']).is_a?(Hash) + self.remote_data = value + end + else + self.remote_data = nil + end + + if attributes.key?(:'employments') + if (value = attributes[:'employments']).is_a?(Array) + self.employments = value + end + else + self.employments = nil + end + + if attributes.key?(:'time_off_balances') + if (value = attributes[:'time_off_balances']).is_a?(Array) + self.time_off_balances = value + end + else + self.time_off_balances = nil + end + + if attributes.key?(:'manager') + self.manager = attributes[:'manager'] + else + self.manager = nil + end + + if attributes.key?(:'groups') + if (value = attributes[:'groups']).is_a?(Array) + self.groups = value + end + else + self.groups = nil + end + + if attributes.key?(:'legal_entity') + self.legal_entity = attributes[:'legal_entity'] + else + self.legal_entity = nil + end + + if attributes.key?(:'teams') + if (value = attributes[:'teams']).is_a?(Array) + self.teams = value + end + else + self.teams = nil + end + + if attributes.key?(:'work_location') + self.work_location = attributes[:'work_location'] + else + self.work_location = nil + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + warn '[DEPRECATED] the `list_invalid_properties` method is obsolete' + invalid_properties = Array.new + if @id.nil? + invalid_properties.push('invalid value for "id", id cannot be nil.') + end + + if @remote_id.nil? + invalid_properties.push('invalid value for "remote_id", remote_id cannot be nil.') + end + + pattern = Regexp.new(/^(?!\.)(?!.*\.\.)([\w'+-.]*)[\w+-]@([\da-z][\da-z-]*\.)+[a-z]{2,}$/) + if !@work_email.nil? && @work_email !~ pattern + invalid_properties.push("invalid value for \"work_email\", must conform to the pattern #{pattern}.") + end + + pattern = Regexp.new(/^(?!\.)(?!.*\.\.)([\w'+-.]*)[\w+-]@([\da-z][\da-z-]*\.)+[a-z]{2,}$/) + if !@personal_email.nil? && @personal_email !~ pattern + invalid_properties.push("invalid value for \"personal_email\", must conform to the pattern #{pattern}.") + end + + if @weekly_hours < -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + invalid_properties.push('invalid value for "weekly_hours", must be greater than or equal to -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.') + end + + if @changed_at.nil? + invalid_properties.push('invalid value for "changed_at", changed_at cannot be nil.') + end + + if @integration_fields.nil? + invalid_properties.push('invalid value for "integration_fields", integration_fields cannot be nil.') + end + + if @employments.nil? + invalid_properties.push('invalid value for "employments", employments cannot be nil.') + end + + if @time_off_balances.nil? + invalid_properties.push('invalid value for "time_off_balances", time_off_balances cannot be nil.') + end + + if @manager.nil? + invalid_properties.push('invalid value for "manager", manager cannot be nil.') + end + + if @groups.nil? + invalid_properties.push('invalid value for "groups", groups cannot be nil.') + end + + if @legal_entity.nil? + invalid_properties.push('invalid value for "legal_entity", legal_entity cannot be nil.') + end + + if @teams.nil? + invalid_properties.push('invalid value for "teams", teams cannot be nil.') + end + + if @work_location.nil? + invalid_properties.push('invalid value for "work_location", work_location cannot be nil.') + end + + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + warn '[DEPRECATED] the `valid?` method is obsolete' + return false if @id.nil? + return false if @remote_id.nil? + return false if !@work_email.nil? && @work_email !~ Regexp.new(/^(?!\.)(?!.*\.\.)([\w'+-.]*)[\w+-]@([\da-z][\da-z-]*\.)+[a-z]{2,}$/) + return false if !@personal_email.nil? && @personal_email !~ Regexp.new(/^(?!\.)(?!.*\.\.)([\w'+-.]*)[\w+-]@([\da-z][\da-z-]*\.)+[a-z]{2,}$/) + return false if @weekly_hours < -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + return false if @changed_at.nil? + return false if @integration_fields.nil? + return false if @employments.nil? + return false if @time_off_balances.nil? + return false if @manager.nil? + return false if @groups.nil? + return false if @legal_entity.nil? + return false if @teams.nil? + return false if @work_location.nil? + true + end + + # Custom attribute writer method with validation + # @param [Object] id Value to be assigned + def id=(id) + if id.nil? + fail ArgumentError, 'id cannot be nil' + end + + @id = id + end + + # Custom attribute writer method with validation + # @param [Object] remote_id Value to be assigned + def remote_id=(remote_id) + if remote_id.nil? + fail ArgumentError, 'remote_id cannot be nil' + end + + @remote_id = remote_id + end + + # Custom attribute writer method with validation + # @param [Object] work_email Value to be assigned + def work_email=(work_email) + pattern = Regexp.new(/^(?!\.)(?!.*\.\.)([\w'+-.]*)[\w+-]@([\da-z][\da-z-]*\.)+[a-z]{2,}$/) + if !work_email.nil? && work_email !~ pattern + fail ArgumentError, "invalid value for \"work_email\", must conform to the pattern #{pattern}." + end + + @work_email = work_email + end + + # Custom attribute writer method with validation + # @param [Object] personal_email Value to be assigned + def personal_email=(personal_email) + pattern = Regexp.new(/^(?!\.)(?!.*\.\.)([\w'+-.]*)[\w+-]@([\da-z][\da-z-]*\.)+[a-z]{2,}$/) + if !personal_email.nil? && personal_email !~ pattern + fail ArgumentError, "invalid value for \"personal_email\", must conform to the pattern #{pattern}." + end + + @personal_email = personal_email + end + + # Custom attribute writer method with validation + # @param [Object] weekly_hours Value to be assigned + def weekly_hours=(weekly_hours) + if !weekly_hours.nil? && weekly_hours < -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + fail ArgumentError, 'invalid value for "weekly_hours", must be greater than or equal to -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.' + end + + @weekly_hours = weekly_hours + end + + # Custom attribute writer method with validation + # @param [Object] changed_at Value to be assigned + def changed_at=(changed_at) + if changed_at.nil? + fail ArgumentError, 'changed_at cannot be nil' + end + + @changed_at = changed_at + end + + # Custom attribute writer method with validation + # @param [Object] integration_fields Value to be assigned + def integration_fields=(integration_fields) + if integration_fields.nil? + fail ArgumentError, 'integration_fields cannot be nil' + end + + @integration_fields = integration_fields + end + + # Custom attribute writer method with validation + # @param [Object] employments Value to be assigned + def employments=(employments) + if employments.nil? + fail ArgumentError, 'employments cannot be nil' + end + + @employments = employments + end + + # Custom attribute writer method with validation + # @param [Object] time_off_balances Value to be assigned + def time_off_balances=(time_off_balances) + if time_off_balances.nil? + fail ArgumentError, 'time_off_balances cannot be nil' + end + + @time_off_balances = time_off_balances + end + + # Custom attribute writer method with validation + # @param [Object] manager Value to be assigned + def manager=(manager) + if manager.nil? + fail ArgumentError, 'manager cannot be nil' + end + + @manager = manager + end + + # Custom attribute writer method with validation + # @param [Object] groups Value to be assigned + def groups=(groups) + if groups.nil? + fail ArgumentError, 'groups cannot be nil' + end + + @groups = groups + end + + # Custom attribute writer method with validation + # @param [Object] legal_entity Value to be assigned + def legal_entity=(legal_entity) + if legal_entity.nil? + fail ArgumentError, 'legal_entity cannot be nil' + end + + @legal_entity = legal_entity + end + + # Custom attribute writer method with validation + # @param [Object] teams Value to be assigned + def teams=(teams) + if teams.nil? + fail ArgumentError, 'teams cannot be nil' + end + + @teams = teams + end + + # Custom attribute writer method with validation + # @param [Object] work_location Value to be assigned + def work_location=(work_location) + if work_location.nil? + fail ArgumentError, 'work_location cannot be nil' + end + + @work_location = work_location + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + id == o.id && + remote_id == o.remote_id && + employee_number == o.employee_number && + first_name == o.first_name && + last_name == o.last_name && + nationality == o.nationality && + display_full_name == o.display_full_name && + job_title == o.job_title && + work_email == o.work_email && + personal_email == o.personal_email && + mobile_phone_number == o.mobile_phone_number && + ssn == o.ssn && + tax_id == o.tax_id && + gender == o.gender && + ethnicity == o.ethnicity && + marital_status == o.marital_status && + employment_status == o.employment_status && + employment_type == o.employment_type && + weekly_hours == o.weekly_hours && + avatar == o.avatar && + work_location_id == o.work_location_id && + legal_entity_id == o.legal_entity_id && + manager_id == o.manager_id && + home_address == o.home_address && + bank_accounts == o.bank_accounts && + date_of_birth == o.date_of_birth && + start_date == o.start_date && + termination_date == o.termination_date && + remote_created_at == o.remote_created_at && + changed_at == o.changed_at && + remote_deleted_at == o.remote_deleted_at && + custom_fields == o.custom_fields && + integration_fields == o.integration_fields && + remote_data == o.remote_data && + employments == o.employments && + time_off_balances == o.time_off_balances && + manager == o.manager && + groups == o.groups && + legal_entity == o.legal_entity && + teams == o.teams && + work_location == o.work_location + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [id, remote_id, employee_number, first_name, last_name, nationality, display_full_name, job_title, work_email, personal_email, mobile_phone_number, ssn, tax_id, gender, ethnicity, marital_status, employment_status, employment_type, weekly_hours, avatar, work_location_id, legal_entity_id, manager_id, home_address, bank_accounts, 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].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + transformed_hash = {} + openapi_types.each_pair do |key, type| + if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = nil + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[attribute_map[key]].is_a?(Array) + transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) } + end + elsif !attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]]) + end + end + new(transformed_hash) + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + end + +end diff --git a/lib/kombo_client/models/get_hris_employees_positive_response_data_results_inner_bank_accounts_inner.rb b/lib/kombo_client/models/get_hris_employees_positive_response_data_results_inner_bank_accounts_inner.rb new file mode 100644 index 0000000..f515551 --- /dev/null +++ b/lib/kombo_client/models/get_hris_employees_positive_response_data_results_inner_bank_accounts_inner.rb @@ -0,0 +1,202 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.17.0 + +=end + +require 'date' +require 'time' + +module Kombo + class GetHrisEmployeesPositiveResponseDataResultsInnerBankAccountsInner < ApiModelBase + # 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. + attr_accessor :iban + + # 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. + attr_accessor :bic + + # The bank-specific account number. Some companies use the account number field to put the IBAN here. + attr_accessor :account_number + + # The name of the holder of this account. + attr_accessor :holder_name + + # The name of the bank behind this account. + attr_accessor :bank_name + + attr_accessor :domestic_bank_routing + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'iban' => :'iban', + :'bic' => :'bic', + :'account_number' => :'account_number', + :'holder_name' => :'holder_name', + :'bank_name' => :'bank_name', + :'domestic_bank_routing' => :'domestic_bank_routing' + } + end + + # Returns attribute mapping this model knows about + def self.acceptable_attribute_map + attribute_map + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + acceptable_attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'iban' => :'String', + :'bic' => :'String', + :'account_number' => :'String', + :'holder_name' => :'String', + :'bank_name' => :'String', + :'domestic_bank_routing' => :'GetHrisEmployeesPositiveResponseDataResultsInnerBankAccountsInnerDomesticBankRouting' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + :'iban', + :'bic', + :'account_number', + :'holder_name', + :'bank_name', + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Kombo::GetHrisEmployeesPositiveResponseDataResultsInnerBankAccountsInner` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + acceptable_attribute_map = self.class.acceptable_attribute_map + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!acceptable_attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Kombo::GetHrisEmployeesPositiveResponseDataResultsInnerBankAccountsInner`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'iban') + self.iban = attributes[:'iban'] + end + + if attributes.key?(:'bic') + self.bic = attributes[:'bic'] + end + + if attributes.key?(:'account_number') + self.account_number = attributes[:'account_number'] + end + + if attributes.key?(:'holder_name') + self.holder_name = attributes[:'holder_name'] + end + + if attributes.key?(:'bank_name') + self.bank_name = attributes[:'bank_name'] + end + + if attributes.key?(:'domestic_bank_routing') + self.domestic_bank_routing = attributes[:'domestic_bank_routing'] + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + warn '[DEPRECATED] the `list_invalid_properties` method is obsolete' + invalid_properties = Array.new + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + warn '[DEPRECATED] the `valid?` method is obsolete' + true + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + iban == o.iban && + bic == o.bic && + account_number == o.account_number && + holder_name == o.holder_name && + bank_name == o.bank_name && + domestic_bank_routing == o.domestic_bank_routing + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [iban, bic, account_number, holder_name, bank_name, domestic_bank_routing].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + transformed_hash = {} + openapi_types.each_pair do |key, type| + if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = nil + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[attribute_map[key]].is_a?(Array) + transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) } + end + elsif !attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]]) + end + end + new(transformed_hash) + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + end + +end diff --git a/lib/kombo_client/models/get_hris_employees_positive_response_data_results_inner_bank_accounts_inner_domestic_bank_routing.rb b/lib/kombo_client/models/get_hris_employees_positive_response_data_results_inner_bank_accounts_inner_domestic_bank_routing.rb new file mode 100644 index 0000000..d566ab4 --- /dev/null +++ b/lib/kombo_client/models/get_hris_employees_positive_response_data_results_inner_bank_accounts_inner_domestic_bank_routing.rb @@ -0,0 +1,212 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.17.0 + +=end + +require 'date' +require 'time' + +module Kombo + class GetHrisEmployeesPositiveResponseDataResultsInnerBankAccountsInnerDomesticBankRouting < ApiModelBase + # 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). + attr_accessor :number + + # 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. + attr_accessor :type + + class EnumAttributeValidator + attr_reader :datatype + attr_reader :allowable_values + + def initialize(datatype, allowable_values) + @allowable_values = allowable_values.map do |value| + case datatype.to_s + when /Integer/i + value.to_i + when /Float/i + value.to_f + else + value + end + end + end + + def valid?(value) + !value || allowable_values.include?(value) + end + end + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'number' => :'number', + :'type' => :'type' + } + end + + # Returns attribute mapping this model knows about + def self.acceptable_attribute_map + attribute_map + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + acceptable_attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'number' => :'String', + :'type' => :'String' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + :'type' + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Kombo::GetHrisEmployeesPositiveResponseDataResultsInnerBankAccountsInnerDomesticBankRouting` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + acceptable_attribute_map = self.class.acceptable_attribute_map + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!acceptable_attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Kombo::GetHrisEmployeesPositiveResponseDataResultsInnerBankAccountsInnerDomesticBankRouting`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'number') + self.number = attributes[:'number'] + else + self.number = nil + end + + if attributes.key?(:'type') + self.type = attributes[:'type'] + else + self.type = nil + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + warn '[DEPRECATED] the `list_invalid_properties` method is obsolete' + invalid_properties = Array.new + if @number.nil? + invalid_properties.push('invalid value for "number", number cannot be nil.') + end + + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + warn '[DEPRECATED] the `valid?` method is obsolete' + return false if @number.nil? + type_validator = EnumAttributeValidator.new('String', ["GB_SORT_CODE", "DE_BANKLEITZAHL", "US_ABA_ROUTING_TRANSIT_NUMBER", "CA_ROUTING_NUMBER", "AU_BSB_CODE", "FR_RIB"]) + return false unless type_validator.valid?(@type) + true + end + + # Custom attribute writer method with validation + # @param [Object] number Value to be assigned + def number=(number) + if number.nil? + fail ArgumentError, 'number cannot be nil' + end + + @number = number + end + + # Custom attribute writer method checking allowed values (enum). + # @param [Object] type Object to be assigned + def type=(type) + validator = EnumAttributeValidator.new('String', ["GB_SORT_CODE", "DE_BANKLEITZAHL", "US_ABA_ROUTING_TRANSIT_NUMBER", "CA_ROUTING_NUMBER", "AU_BSB_CODE", "FR_RIB"]) + unless validator.valid?(type) + fail ArgumentError, "invalid value for \"type\", must be one of #{validator.allowable_values}." + end + @type = type + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + number == o.number && + type == o.type + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [number, type].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + transformed_hash = {} + openapi_types.each_pair do |key, type| + if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = nil + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[attribute_map[key]].is_a?(Array) + transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) } + end + elsif !attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]]) + end + end + new(transformed_hash) + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + end + +end diff --git a/lib/kombo_client/models/get_hris_employees_positive_response_data_results_inner_employment_status.rb b/lib/kombo_client/models/get_hris_employees_positive_response_data_results_inner_employment_status.rb new file mode 100644 index 0000000..50f60eb --- /dev/null +++ b/lib/kombo_client/models/get_hris_employees_positive_response_data_results_inner_employment_status.rb @@ -0,0 +1,103 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.17.0 + +=end + +require 'date' +require 'time' + +module Kombo + # The employee’s current employment status: - `ACTIVE`: the employee is **actively employed** - `PENDING`: the employee is **not actively employed yet** (but they signed their contract or are part of an onboarding process) - `INACTIVE`: the employee is **not actively employed** anymore - `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) In rare cases where we can’t find a clear mapping, the original string is passed through. + module GetHrisEmployeesPositiveResponseDataResultsInnerEmploymentStatus + class << self + # List of class defined in anyOf (OpenAPI v3) + def openapi_any_of + [ + :'String' + ] + end + + # Builds the object + # @param [Mixed] Data to be matched against the list of anyOf items + # @return [Object] Returns the model or the data itself + def build(data) + # Go through the list of anyOf items and attempt to identify the appropriate one. + # Note: + # - No advanced validation of types in some cases (e.g. "x: { type: string }" will happily match { x: 123 }) + # due to the way the deserialization is made in the base_object template (it just casts without verifying). + # - TODO: scalar values are de facto behaving as if they were nullable. + # - TODO: logging when debugging is set. + openapi_any_of.each do |klass| + begin + next if klass == :AnyType # "nullable: true" + return find_and_cast_into_type(klass, data) + rescue # rescue all errors so we keep iterating even if the current item lookup raises + end + end + + openapi_any_of.include?(:AnyType) ? data : nil + end + + private + + SchemaMismatchError = Class.new(StandardError) + + # Note: 'File' is missing here because in the regular case we get the data _after_ a call to JSON.parse. + def find_and_cast_into_type(klass, data) + return if data.nil? + + case klass.to_s + when 'Boolean' + return data if data.instance_of?(TrueClass) || data.instance_of?(FalseClass) + when 'Float' + return data if data.instance_of?(Float) + when 'Integer' + return data if data.instance_of?(Integer) + when 'Time' + return Time.parse(data) + when 'Date' + return Date.iso8601(data) + when 'String' + return data if data.instance_of?(String) + when 'Object' # "type: object" + return data if data.instance_of?(Hash) + when /\AArray<(?.+)>\z/ # "type: array" + if data.instance_of?(Array) + sub_type = Regexp.last_match[:sub_type] + return data.map { |item| find_and_cast_into_type(sub_type, item) } + end + when /\AHash.+)>\z/ # "type: object" with "additionalProperties: { ... }" + if data.instance_of?(Hash) && data.keys.all? { |k| k.instance_of?(Symbol) || k.instance_of?(String) } + sub_type = Regexp.last_match[:sub_type] + return data.each_with_object({}) { |(k, v), hsh| hsh[k] = find_and_cast_into_type(sub_type, v) } + end + else # model + const = Kombo.const_get(klass) + if const + if const.respond_to?(:openapi_any_of) # nested anyOf model + model = const.build(data) + return model if model + else + # raise if data contains keys that are not known to the model + raise if const.respond_to?(:acceptable_attributes) && !(data.keys - const.acceptable_attributes).empty? + model = const.build_from_hash(data) + return model if model + end + end + end + + raise # if no match by now, raise + rescue + raise SchemaMismatchError, "#{data} doesn't match the #{klass} type" + end + end + end + +end diff --git a/lib/kombo_client/models/get_hris_employees_positive_response_data_results_inner_employment_type.rb b/lib/kombo_client/models/get_hris_employees_positive_response_data_results_inner_employment_type.rb new file mode 100644 index 0000000..743cf7f --- /dev/null +++ b/lib/kombo_client/models/get_hris_employees_positive_response_data_results_inner_employment_type.rb @@ -0,0 +1,103 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.17.0 + +=end + +require 'date' +require 'time' + +module Kombo + # The employee’s current employment type: - `FULL_TIME`: the employee is actively employed - `PART_TIME`: the employee is working only part of the usual working hours - `CONTRACT`: the employee is working temporarily under a contract - `INTERNSHIP`: the employee is working as an intern - `FREELANCE`: the employee is working as a freelancer - `WORKING_STUDENT`: the employee is working as a working student - `APPRENTICESHIP`: the employee is working in an apprenticeship - `TRAINING`: the employee is working in a training program In rare cases where we can’t find a clear mapping, the original string is passed through. + module GetHrisEmployeesPositiveResponseDataResultsInnerEmploymentType + class << self + # List of class defined in anyOf (OpenAPI v3) + def openapi_any_of + [ + :'String' + ] + end + + # Builds the object + # @param [Mixed] Data to be matched against the list of anyOf items + # @return [Object] Returns the model or the data itself + def build(data) + # Go through the list of anyOf items and attempt to identify the appropriate one. + # Note: + # - No advanced validation of types in some cases (e.g. "x: { type: string }" will happily match { x: 123 }) + # due to the way the deserialization is made in the base_object template (it just casts without verifying). + # - TODO: scalar values are de facto behaving as if they were nullable. + # - TODO: logging when debugging is set. + openapi_any_of.each do |klass| + begin + next if klass == :AnyType # "nullable: true" + return find_and_cast_into_type(klass, data) + rescue # rescue all errors so we keep iterating even if the current item lookup raises + end + end + + openapi_any_of.include?(:AnyType) ? data : nil + end + + private + + SchemaMismatchError = Class.new(StandardError) + + # Note: 'File' is missing here because in the regular case we get the data _after_ a call to JSON.parse. + def find_and_cast_into_type(klass, data) + return if data.nil? + + case klass.to_s + when 'Boolean' + return data if data.instance_of?(TrueClass) || data.instance_of?(FalseClass) + when 'Float' + return data if data.instance_of?(Float) + when 'Integer' + return data if data.instance_of?(Integer) + when 'Time' + return Time.parse(data) + when 'Date' + return Date.iso8601(data) + when 'String' + return data if data.instance_of?(String) + when 'Object' # "type: object" + return data if data.instance_of?(Hash) + when /\AArray<(?.+)>\z/ # "type: array" + if data.instance_of?(Array) + sub_type = Regexp.last_match[:sub_type] + return data.map { |item| find_and_cast_into_type(sub_type, item) } + end + when /\AHash.+)>\z/ # "type: object" with "additionalProperties: { ... }" + if data.instance_of?(Hash) && data.keys.all? { |k| k.instance_of?(Symbol) || k.instance_of?(String) } + sub_type = Regexp.last_match[:sub_type] + return data.each_with_object({}) { |(k, v), hsh| hsh[k] = find_and_cast_into_type(sub_type, v) } + end + else # model + const = Kombo.const_get(klass) + if const + if const.respond_to?(:openapi_any_of) # nested anyOf model + model = const.build(data) + return model if model + else + # raise if data contains keys that are not known to the model + raise if const.respond_to?(:acceptable_attributes) && !(data.keys - const.acceptable_attributes).empty? + model = const.build_from_hash(data) + return model if model + end + end + end + + raise # if no match by now, raise + rescue + raise SchemaMismatchError, "#{data} doesn't match the #{klass} type" + end + end + end + +end diff --git a/lib/kombo_client/models/get_hris_employees_positive_response_data_results_inner_employments_inner.rb b/lib/kombo_client/models/get_hris_employees_positive_response_data_results_inner_employments_inner.rb new file mode 100644 index 0000000..a7be041 --- /dev/null +++ b/lib/kombo_client/models/get_hris_employees_positive_response_data_results_inner_employments_inner.rb @@ -0,0 +1,401 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.17.0 + +=end + +require 'date' +require 'time' + +module Kombo + class GetHrisEmployeesPositiveResponseDataResultsInnerEmploymentsInner < ApiModelBase + # The globally unique ID of this object generated by Kombo. We recommend using this as a stable primary key for syncing. + attr_accessor :id + + # 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. + attr_accessor :remote_id + + # The Kombo ID of the employment’s employee. The ID can be used to retrieve the employee from the `get employees` endpoint. + attr_accessor :employee_id + + # This field can contain historic job titles. Please use the `job_title` field on the employee for the active job title of an employee. + attr_accessor :job_title + + # The monetary amount paid to an employee. + attr_accessor :pay_rate + + attr_accessor :pay_period + + attr_accessor :pay_frequency + + attr_accessor :employment_type + + # The currency that the employee is paid in. Usually returned in [ISO 4217 currency codes](https://www.iso.org/iso-4217-currency-codes.html). + attr_accessor :pay_currency + + # The date of when the employment started. + attr_accessor :effective_date + + # 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. + attr_accessor :changed_at + + # 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. + attr_accessor :remote_deleted_at + + # 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. + attr_accessor :remote_data + + # A key-value store of fields not covered by the schema. [Read more](/custom-fields) + attr_accessor :custom_fields + + # An array of selected passthrough integration fields. [Read more](/integration-fields) + attr_accessor :integration_fields + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'id' => :'id', + :'remote_id' => :'remote_id', + :'employee_id' => :'employee_id', + :'job_title' => :'job_title', + :'pay_rate' => :'pay_rate', + :'pay_period' => :'pay_period', + :'pay_frequency' => :'pay_frequency', + :'employment_type' => :'employment_type', + :'pay_currency' => :'pay_currency', + :'effective_date' => :'effective_date', + :'changed_at' => :'changed_at', + :'remote_deleted_at' => :'remote_deleted_at', + :'remote_data' => :'remote_data', + :'custom_fields' => :'custom_fields', + :'integration_fields' => :'integration_fields' + } + end + + # Returns attribute mapping this model knows about + def self.acceptable_attribute_map + attribute_map + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + acceptable_attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'id' => :'String', + :'remote_id' => :'String', + :'employee_id' => :'String', + :'job_title' => :'String', + :'pay_rate' => :'Float', + :'pay_period' => :'GetHrisEmployeesPositiveResponseDataResultsInnerEmploymentsInnerPayPeriod', + :'pay_frequency' => :'GetHrisEmployeesPositiveResponseDataResultsInnerEmploymentsInnerPayFrequency', + :'employment_type' => :'GetHrisEmployeesPositiveResponseDataResultsInnerEmploymentType', + :'pay_currency' => :'String', + :'effective_date' => :'Time', + :'changed_at' => :'Time', + :'remote_deleted_at' => :'Time', + :'remote_data' => :'Hash', + :'custom_fields' => :'Hash', + :'integration_fields' => :'Array' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + :'remote_id', + :'job_title', + :'pay_rate', + :'pay_period', + :'pay_frequency', + :'employment_type', + :'pay_currency', + :'effective_date', + :'remote_deleted_at', + :'remote_data', + :'custom_fields', + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Kombo::GetHrisEmployeesPositiveResponseDataResultsInnerEmploymentsInner` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + acceptable_attribute_map = self.class.acceptable_attribute_map + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!acceptable_attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Kombo::GetHrisEmployeesPositiveResponseDataResultsInnerEmploymentsInner`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'id') + self.id = attributes[:'id'] + else + self.id = nil + end + + if attributes.key?(:'remote_id') + self.remote_id = attributes[:'remote_id'] + else + self.remote_id = nil + end + + if attributes.key?(:'employee_id') + self.employee_id = attributes[:'employee_id'] + else + self.employee_id = nil + end + + if attributes.key?(:'job_title') + self.job_title = attributes[:'job_title'] + else + self.job_title = nil + end + + if attributes.key?(:'pay_rate') + self.pay_rate = attributes[:'pay_rate'] + else + self.pay_rate = nil + end + + if attributes.key?(:'pay_period') + self.pay_period = attributes[:'pay_period'] + end + + if attributes.key?(:'pay_frequency') + self.pay_frequency = attributes[:'pay_frequency'] + end + + if attributes.key?(:'employment_type') + self.employment_type = attributes[:'employment_type'] + end + + if attributes.key?(:'pay_currency') + self.pay_currency = attributes[:'pay_currency'] + else + self.pay_currency = nil + end + + if attributes.key?(:'effective_date') + self.effective_date = attributes[:'effective_date'] + else + self.effective_date = nil + end + + if attributes.key?(:'changed_at') + self.changed_at = attributes[:'changed_at'] + else + self.changed_at = nil + end + + if attributes.key?(:'remote_deleted_at') + self.remote_deleted_at = attributes[:'remote_deleted_at'] + else + self.remote_deleted_at = nil + end + + if attributes.key?(:'remote_data') + if (value = attributes[:'remote_data']).is_a?(Hash) + self.remote_data = value + end + else + self.remote_data = nil + end + + if attributes.key?(:'custom_fields') + if (value = attributes[:'custom_fields']).is_a?(Hash) + self.custom_fields = value + end + else + self.custom_fields = nil + end + + if attributes.key?(:'integration_fields') + if (value = attributes[:'integration_fields']).is_a?(Array) + self.integration_fields = value + end + else + self.integration_fields = nil + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + warn '[DEPRECATED] the `list_invalid_properties` method is obsolete' + invalid_properties = Array.new + if @id.nil? + invalid_properties.push('invalid value for "id", id cannot be nil.') + end + + if @employee_id.nil? + invalid_properties.push('invalid value for "employee_id", employee_id cannot be nil.') + end + + if @pay_rate < -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + invalid_properties.push('invalid value for "pay_rate", must be greater than or equal to -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.') + end + + if @changed_at.nil? + invalid_properties.push('invalid value for "changed_at", changed_at cannot be nil.') + end + + if @integration_fields.nil? + invalid_properties.push('invalid value for "integration_fields", integration_fields cannot be nil.') + end + + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + warn '[DEPRECATED] the `valid?` method is obsolete' + return false if @id.nil? + return false if @employee_id.nil? + return false if @pay_rate < -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + return false if @changed_at.nil? + return false if @integration_fields.nil? + true + end + + # Custom attribute writer method with validation + # @param [Object] id Value to be assigned + def id=(id) + if id.nil? + fail ArgumentError, 'id cannot be nil' + end + + @id = id + end + + # Custom attribute writer method with validation + # @param [Object] employee_id Value to be assigned + def employee_id=(employee_id) + if employee_id.nil? + fail ArgumentError, 'employee_id cannot be nil' + end + + @employee_id = employee_id + end + + # Custom attribute writer method with validation + # @param [Object] pay_rate Value to be assigned + def pay_rate=(pay_rate) + if !pay_rate.nil? && pay_rate < -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + fail ArgumentError, 'invalid value for "pay_rate", must be greater than or equal to -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.' + end + + @pay_rate = pay_rate + end + + # Custom attribute writer method with validation + # @param [Object] changed_at Value to be assigned + def changed_at=(changed_at) + if changed_at.nil? + fail ArgumentError, 'changed_at cannot be nil' + end + + @changed_at = changed_at + end + + # Custom attribute writer method with validation + # @param [Object] integration_fields Value to be assigned + def integration_fields=(integration_fields) + if integration_fields.nil? + fail ArgumentError, 'integration_fields cannot be nil' + end + + @integration_fields = integration_fields + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + id == o.id && + remote_id == o.remote_id && + employee_id == o.employee_id && + job_title == o.job_title && + pay_rate == o.pay_rate && + pay_period == o.pay_period && + pay_frequency == o.pay_frequency && + employment_type == o.employment_type && + pay_currency == o.pay_currency && + effective_date == o.effective_date && + changed_at == o.changed_at && + remote_deleted_at == o.remote_deleted_at && + remote_data == o.remote_data && + custom_fields == o.custom_fields && + integration_fields == o.integration_fields + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [id, remote_id, employee_id, job_title, pay_rate, pay_period, pay_frequency, employment_type, pay_currency, effective_date, changed_at, remote_deleted_at, remote_data, custom_fields, integration_fields].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + transformed_hash = {} + openapi_types.each_pair do |key, type| + if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = nil + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[attribute_map[key]].is_a?(Array) + transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) } + end + elsif !attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]]) + end + end + new(transformed_hash) + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + end + +end diff --git a/lib/kombo_client/models/get_hris_employees_positive_response_data_results_inner_employments_inner_pay_frequency.rb b/lib/kombo_client/models/get_hris_employees_positive_response_data_results_inner_employments_inner_pay_frequency.rb new file mode 100644 index 0000000..e06df04 --- /dev/null +++ b/lib/kombo_client/models/get_hris_employees_positive_response_data_results_inner_employments_inner_pay_frequency.rb @@ -0,0 +1,103 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.17.0 + +=end + +require 'date' +require 'time' + +module Kombo + # The time interval at which the employee receives payment. A `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. + module GetHrisEmployeesPositiveResponseDataResultsInnerEmploymentsInnerPayFrequency + class << self + # List of class defined in anyOf (OpenAPI v3) + def openapi_any_of + [ + :'String' + ] + end + + # Builds the object + # @param [Mixed] Data to be matched against the list of anyOf items + # @return [Object] Returns the model or the data itself + def build(data) + # Go through the list of anyOf items and attempt to identify the appropriate one. + # Note: + # - No advanced validation of types in some cases (e.g. "x: { type: string }" will happily match { x: 123 }) + # due to the way the deserialization is made in the base_object template (it just casts without verifying). + # - TODO: scalar values are de facto behaving as if they were nullable. + # - TODO: logging when debugging is set. + openapi_any_of.each do |klass| + begin + next if klass == :AnyType # "nullable: true" + return find_and_cast_into_type(klass, data) + rescue # rescue all errors so we keep iterating even if the current item lookup raises + end + end + + openapi_any_of.include?(:AnyType) ? data : nil + end + + private + + SchemaMismatchError = Class.new(StandardError) + + # Note: 'File' is missing here because in the regular case we get the data _after_ a call to JSON.parse. + def find_and_cast_into_type(klass, data) + return if data.nil? + + case klass.to_s + when 'Boolean' + return data if data.instance_of?(TrueClass) || data.instance_of?(FalseClass) + when 'Float' + return data if data.instance_of?(Float) + when 'Integer' + return data if data.instance_of?(Integer) + when 'Time' + return Time.parse(data) + when 'Date' + return Date.iso8601(data) + when 'String' + return data if data.instance_of?(String) + when 'Object' # "type: object" + return data if data.instance_of?(Hash) + when /\AArray<(?.+)>\z/ # "type: array" + if data.instance_of?(Array) + sub_type = Regexp.last_match[:sub_type] + return data.map { |item| find_and_cast_into_type(sub_type, item) } + end + when /\AHash.+)>\z/ # "type: object" with "additionalProperties: { ... }" + if data.instance_of?(Hash) && data.keys.all? { |k| k.instance_of?(Symbol) || k.instance_of?(String) } + sub_type = Regexp.last_match[:sub_type] + return data.each_with_object({}) { |(k, v), hsh| hsh[k] = find_and_cast_into_type(sub_type, v) } + end + else # model + const = Kombo.const_get(klass) + if const + if const.respond_to?(:openapi_any_of) # nested anyOf model + model = const.build(data) + return model if model + else + # raise if data contains keys that are not known to the model + raise if const.respond_to?(:acceptable_attributes) && !(data.keys - const.acceptable_attributes).empty? + model = const.build_from_hash(data) + return model if model + end + end + end + + raise # if no match by now, raise + rescue + raise SchemaMismatchError, "#{data} doesn't match the #{klass} type" + end + end + end + +end diff --git a/lib/kombo_client/models/get_hris_employees_positive_response_data_results_inner_employments_inner_pay_period.rb b/lib/kombo_client/models/get_hris_employees_positive_response_data_results_inner_employments_inner_pay_period.rb new file mode 100644 index 0000000..97b2c4f --- /dev/null +++ b/lib/kombo_client/models/get_hris_employees_positive_response_data_results_inner_employments_inner_pay_period.rb @@ -0,0 +1,103 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.17.0 + +=end + +require 'date' +require 'time' + +module Kombo + # The time interval which the `pay_rate` is describing. A `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. + module GetHrisEmployeesPositiveResponseDataResultsInnerEmploymentsInnerPayPeriod + class << self + # List of class defined in anyOf (OpenAPI v3) + def openapi_any_of + [ + :'String' + ] + end + + # Builds the object + # @param [Mixed] Data to be matched against the list of anyOf items + # @return [Object] Returns the model or the data itself + def build(data) + # Go through the list of anyOf items and attempt to identify the appropriate one. + # Note: + # - No advanced validation of types in some cases (e.g. "x: { type: string }" will happily match { x: 123 }) + # due to the way the deserialization is made in the base_object template (it just casts without verifying). + # - TODO: scalar values are de facto behaving as if they were nullable. + # - TODO: logging when debugging is set. + openapi_any_of.each do |klass| + begin + next if klass == :AnyType # "nullable: true" + return find_and_cast_into_type(klass, data) + rescue # rescue all errors so we keep iterating even if the current item lookup raises + end + end + + openapi_any_of.include?(:AnyType) ? data : nil + end + + private + + SchemaMismatchError = Class.new(StandardError) + + # Note: 'File' is missing here because in the regular case we get the data _after_ a call to JSON.parse. + def find_and_cast_into_type(klass, data) + return if data.nil? + + case klass.to_s + when 'Boolean' + return data if data.instance_of?(TrueClass) || data.instance_of?(FalseClass) + when 'Float' + return data if data.instance_of?(Float) + when 'Integer' + return data if data.instance_of?(Integer) + when 'Time' + return Time.parse(data) + when 'Date' + return Date.iso8601(data) + when 'String' + return data if data.instance_of?(String) + when 'Object' # "type: object" + return data if data.instance_of?(Hash) + when /\AArray<(?.+)>\z/ # "type: array" + if data.instance_of?(Array) + sub_type = Regexp.last_match[:sub_type] + return data.map { |item| find_and_cast_into_type(sub_type, item) } + end + when /\AHash.+)>\z/ # "type: object" with "additionalProperties: { ... }" + if data.instance_of?(Hash) && data.keys.all? { |k| k.instance_of?(Symbol) || k.instance_of?(String) } + sub_type = Regexp.last_match[:sub_type] + return data.each_with_object({}) { |(k, v), hsh| hsh[k] = find_and_cast_into_type(sub_type, v) } + end + else # model + const = Kombo.const_get(klass) + if const + if const.respond_to?(:openapi_any_of) # nested anyOf model + model = const.build(data) + return model if model + else + # raise if data contains keys that are not known to the model + raise if const.respond_to?(:acceptable_attributes) && !(data.keys - const.acceptable_attributes).empty? + model = const.build_from_hash(data) + return model if model + end + end + end + + raise # if no match by now, raise + rescue + raise SchemaMismatchError, "#{data} doesn't match the #{klass} type" + end + end + end + +end diff --git a/lib/kombo_client/models/get_hris_employees_positive_response_data_results_inner_ethnicity.rb b/lib/kombo_client/models/get_hris_employees_positive_response_data_results_inner_ethnicity.rb new file mode 100644 index 0000000..d82ce7d --- /dev/null +++ b/lib/kombo_client/models/get_hris_employees_positive_response_data_results_inner_ethnicity.rb @@ -0,0 +1,103 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.17.0 + +=end + +require 'date' +require 'time' + +module Kombo + # The employee’s ethnicity. In rare cases where we can’t find a clear mapping, the original string is passed through. + module GetHrisEmployeesPositiveResponseDataResultsInnerEthnicity + class << self + # List of class defined in anyOf (OpenAPI v3) + def openapi_any_of + [ + :'String' + ] + end + + # Builds the object + # @param [Mixed] Data to be matched against the list of anyOf items + # @return [Object] Returns the model or the data itself + def build(data) + # Go through the list of anyOf items and attempt to identify the appropriate one. + # Note: + # - No advanced validation of types in some cases (e.g. "x: { type: string }" will happily match { x: 123 }) + # due to the way the deserialization is made in the base_object template (it just casts without verifying). + # - TODO: scalar values are de facto behaving as if they were nullable. + # - TODO: logging when debugging is set. + openapi_any_of.each do |klass| + begin + next if klass == :AnyType # "nullable: true" + return find_and_cast_into_type(klass, data) + rescue # rescue all errors so we keep iterating even if the current item lookup raises + end + end + + openapi_any_of.include?(:AnyType) ? data : nil + end + + private + + SchemaMismatchError = Class.new(StandardError) + + # Note: 'File' is missing here because in the regular case we get the data _after_ a call to JSON.parse. + def find_and_cast_into_type(klass, data) + return if data.nil? + + case klass.to_s + when 'Boolean' + return data if data.instance_of?(TrueClass) || data.instance_of?(FalseClass) + when 'Float' + return data if data.instance_of?(Float) + when 'Integer' + return data if data.instance_of?(Integer) + when 'Time' + return Time.parse(data) + when 'Date' + return Date.iso8601(data) + when 'String' + return data if data.instance_of?(String) + when 'Object' # "type: object" + return data if data.instance_of?(Hash) + when /\AArray<(?.+)>\z/ # "type: array" + if data.instance_of?(Array) + sub_type = Regexp.last_match[:sub_type] + return data.map { |item| find_and_cast_into_type(sub_type, item) } + end + when /\AHash.+)>\z/ # "type: object" with "additionalProperties: { ... }" + if data.instance_of?(Hash) && data.keys.all? { |k| k.instance_of?(Symbol) || k.instance_of?(String) } + sub_type = Regexp.last_match[:sub_type] + return data.each_with_object({}) { |(k, v), hsh| hsh[k] = find_and_cast_into_type(sub_type, v) } + end + else # model + const = Kombo.const_get(klass) + if const + if const.respond_to?(:openapi_any_of) # nested anyOf model + model = const.build(data) + return model if model + else + # raise if data contains keys that are not known to the model + raise if const.respond_to?(:acceptable_attributes) && !(data.keys - const.acceptable_attributes).empty? + model = const.build_from_hash(data) + return model if model + end + end + end + + raise # if no match by now, raise + rescue + raise SchemaMismatchError, "#{data} doesn't match the #{klass} type" + end + end + end + +end diff --git a/lib/kombo_client/models/get_hris_employees_positive_response_data_results_inner_gender.rb b/lib/kombo_client/models/get_hris_employees_positive_response_data_results_inner_gender.rb new file mode 100644 index 0000000..704e4ef --- /dev/null +++ b/lib/kombo_client/models/get_hris_employees_positive_response_data_results_inner_gender.rb @@ -0,0 +1,103 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.17.0 + +=end + +require 'date' +require 'time' + +module Kombo + # The employee’s gender. + module GetHrisEmployeesPositiveResponseDataResultsInnerGender + class << self + # List of class defined in anyOf (OpenAPI v3) + def openapi_any_of + [ + :'String' + ] + end + + # Builds the object + # @param [Mixed] Data to be matched against the list of anyOf items + # @return [Object] Returns the model or the data itself + def build(data) + # Go through the list of anyOf items and attempt to identify the appropriate one. + # Note: + # - No advanced validation of types in some cases (e.g. "x: { type: string }" will happily match { x: 123 }) + # due to the way the deserialization is made in the base_object template (it just casts without verifying). + # - TODO: scalar values are de facto behaving as if they were nullable. + # - TODO: logging when debugging is set. + openapi_any_of.each do |klass| + begin + next if klass == :AnyType # "nullable: true" + return find_and_cast_into_type(klass, data) + rescue # rescue all errors so we keep iterating even if the current item lookup raises + end + end + + openapi_any_of.include?(:AnyType) ? data : nil + end + + private + + SchemaMismatchError = Class.new(StandardError) + + # Note: 'File' is missing here because in the regular case we get the data _after_ a call to JSON.parse. + def find_and_cast_into_type(klass, data) + return if data.nil? + + case klass.to_s + when 'Boolean' + return data if data.instance_of?(TrueClass) || data.instance_of?(FalseClass) + when 'Float' + return data if data.instance_of?(Float) + when 'Integer' + return data if data.instance_of?(Integer) + when 'Time' + return Time.parse(data) + when 'Date' + return Date.iso8601(data) + when 'String' + return data if data.instance_of?(String) + when 'Object' # "type: object" + return data if data.instance_of?(Hash) + when /\AArray<(?.+)>\z/ # "type: array" + if data.instance_of?(Array) + sub_type = Regexp.last_match[:sub_type] + return data.map { |item| find_and_cast_into_type(sub_type, item) } + end + when /\AHash.+)>\z/ # "type: object" with "additionalProperties: { ... }" + if data.instance_of?(Hash) && data.keys.all? { |k| k.instance_of?(Symbol) || k.instance_of?(String) } + sub_type = Regexp.last_match[:sub_type] + return data.each_with_object({}) { |(k, v), hsh| hsh[k] = find_and_cast_into_type(sub_type, v) } + end + else # model + const = Kombo.const_get(klass) + if const + if const.respond_to?(:openapi_any_of) # nested anyOf model + model = const.build(data) + return model if model + else + # raise if data contains keys that are not known to the model + raise if const.respond_to?(:acceptable_attributes) && !(data.keys - const.acceptable_attributes).empty? + model = const.build_from_hash(data) + return model if model + end + end + end + + raise # if no match by now, raise + rescue + raise SchemaMismatchError, "#{data} doesn't match the #{klass} type" + end + end + end + +end diff --git a/lib/kombo_client/models/get_hris_employees_positive_response_data_results_inner_groups_inner.rb b/lib/kombo_client/models/get_hris_employees_positive_response_data_results_inner_groups_inner.rb new file mode 100644 index 0000000..4f7246e --- /dev/null +++ b/lib/kombo_client/models/get_hris_employees_positive_response_data_results_inner_groups_inner.rb @@ -0,0 +1,252 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.17.0 + +=end + +require 'date' +require 'time' + +module Kombo + class GetHrisEmployeesPositiveResponseDataResultsInnerGroupsInner < ApiModelBase + # The globally unique ID of this object generated by Kombo. We recommend using this as a stable primary key for syncing. + attr_accessor :id + + # 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. + attr_accessor :remote_id + + # The name of the group. + attr_accessor :name + + # Type of the group. + attr_accessor :type + + class EnumAttributeValidator + attr_reader :datatype + attr_reader :allowable_values + + def initialize(datatype, allowable_values) + @allowable_values = allowable_values.map do |value| + case datatype.to_s + when /Integer/i + value.to_i + when /Float/i + value.to_f + else + value + end + end + end + + def valid?(value) + !value || allowable_values.include?(value) + end + end + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'id' => :'id', + :'remote_id' => :'remote_id', + :'name' => :'name', + :'type' => :'type' + } + end + + # Returns attribute mapping this model knows about + def self.acceptable_attribute_map + attribute_map + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + acceptable_attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'id' => :'String', + :'remote_id' => :'String', + :'name' => :'String', + :'type' => :'String' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + :'name', + :'type' + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Kombo::GetHrisEmployeesPositiveResponseDataResultsInnerGroupsInner` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + acceptable_attribute_map = self.class.acceptable_attribute_map + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!acceptable_attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Kombo::GetHrisEmployeesPositiveResponseDataResultsInnerGroupsInner`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'id') + self.id = attributes[:'id'] + else + self.id = nil + end + + if attributes.key?(:'remote_id') + self.remote_id = attributes[:'remote_id'] + else + self.remote_id = nil + end + + if attributes.key?(:'name') + self.name = attributes[:'name'] + else + self.name = nil + end + + if attributes.key?(:'type') + self.type = attributes[:'type'] + else + self.type = nil + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + warn '[DEPRECATED] the `list_invalid_properties` method is obsolete' + invalid_properties = Array.new + if @id.nil? + invalid_properties.push('invalid value for "id", id cannot be nil.') + end + + if @remote_id.nil? + invalid_properties.push('invalid value for "remote_id", remote_id cannot be nil.') + end + + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + warn '[DEPRECATED] the `valid?` method is obsolete' + return false if @id.nil? + return false if @remote_id.nil? + type_validator = EnumAttributeValidator.new('String', ["DEPARTMENT", "TEAM", "COST_CENTER"]) + return false unless type_validator.valid?(@type) + true + end + + # Custom attribute writer method with validation + # @param [Object] id Value to be assigned + def id=(id) + if id.nil? + fail ArgumentError, 'id cannot be nil' + end + + @id = id + end + + # Custom attribute writer method with validation + # @param [Object] remote_id Value to be assigned + def remote_id=(remote_id) + if remote_id.nil? + fail ArgumentError, 'remote_id cannot be nil' + end + + @remote_id = remote_id + end + + # Custom attribute writer method checking allowed values (enum). + # @param [Object] type Object to be assigned + def type=(type) + validator = EnumAttributeValidator.new('String', ["DEPARTMENT", "TEAM", "COST_CENTER"]) + unless validator.valid?(type) + fail ArgumentError, "invalid value for \"type\", must be one of #{validator.allowable_values}." + end + @type = type + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + id == o.id && + remote_id == o.remote_id && + name == o.name && + type == o.type + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [id, remote_id, name, type].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + transformed_hash = {} + openapi_types.each_pair do |key, type| + if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = nil + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[attribute_map[key]].is_a?(Array) + transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) } + end + elsif !attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]]) + end + end + new(transformed_hash) + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + end + +end diff --git a/lib/kombo_client/models/get_hris_employees_positive_response_data_results_inner_home_address.rb b/lib/kombo_client/models/get_hris_employees_positive_response_data_results_inner_home_address.rb new file mode 100644 index 0000000..74b0ccc --- /dev/null +++ b/lib/kombo_client/models/get_hris_employees_positive_response_data_results_inner_home_address.rb @@ -0,0 +1,212 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.17.0 + +=end + +require 'date' +require 'time' + +module Kombo + # The employee’s home address. + class GetHrisEmployeesPositiveResponseDataResultsInnerHomeAddress < ApiModelBase + attr_accessor :city + + # Contains the ISO2 country code if possible. If not, it contains the original value. + attr_accessor :country + + # If we have address data, this is filled with the raw address string. + attr_accessor :raw + + attr_accessor :state + + # If we can parse the address data, this field contains the first part of the street information. + attr_accessor :street_1 + + attr_accessor :street_2 + + attr_accessor :zip_code + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'city' => :'city', + :'country' => :'country', + :'raw' => :'raw', + :'state' => :'state', + :'street_1' => :'street_1', + :'street_2' => :'street_2', + :'zip_code' => :'zip_code' + } + end + + # Returns attribute mapping this model knows about + def self.acceptable_attribute_map + attribute_map + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + acceptable_attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'city' => :'String', + :'country' => :'String', + :'raw' => :'String', + :'state' => :'String', + :'street_1' => :'String', + :'street_2' => :'String', + :'zip_code' => :'String' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + :'city', + :'country', + :'raw', + :'state', + :'street_1', + :'street_2', + :'zip_code' + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Kombo::GetHrisEmployeesPositiveResponseDataResultsInnerHomeAddress` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + acceptable_attribute_map = self.class.acceptable_attribute_map + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!acceptable_attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Kombo::GetHrisEmployeesPositiveResponseDataResultsInnerHomeAddress`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'city') + self.city = attributes[:'city'] + end + + if attributes.key?(:'country') + self.country = attributes[:'country'] + end + + if attributes.key?(:'raw') + self.raw = attributes[:'raw'] + end + + if attributes.key?(:'state') + self.state = attributes[:'state'] + end + + if attributes.key?(:'street_1') + self.street_1 = attributes[:'street_1'] + end + + if attributes.key?(:'street_2') + self.street_2 = attributes[:'street_2'] + end + + if attributes.key?(:'zip_code') + self.zip_code = attributes[:'zip_code'] + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + warn '[DEPRECATED] the `list_invalid_properties` method is obsolete' + invalid_properties = Array.new + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + warn '[DEPRECATED] the `valid?` method is obsolete' + true + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + city == o.city && + country == o.country && + raw == o.raw && + state == o.state && + street_1 == o.street_1 && + street_2 == o.street_2 && + zip_code == o.zip_code + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [city, country, raw, state, street_1, street_2, zip_code].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + transformed_hash = {} + openapi_types.each_pair do |key, type| + if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = nil + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[attribute_map[key]].is_a?(Array) + transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) } + end + elsif !attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]]) + end + end + new(transformed_hash) + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + end + +end diff --git a/lib/kombo_client/models/get_hris_employees_positive_response_data_results_inner_integration_fields_inner.rb b/lib/kombo_client/models/get_hris_employees_positive_response_data_results_inner_integration_fields_inner.rb new file mode 100644 index 0000000..c3d1be2 --- /dev/null +++ b/lib/kombo_client/models/get_hris_employees_positive_response_data_results_inner_integration_fields_inner.rb @@ -0,0 +1,266 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.17.0 + +=end + +require 'date' +require 'time' + +module Kombo + class GetHrisEmployeesPositiveResponseDataResultsInnerIntegrationFieldsInner < ApiModelBase + # The globally unique ID of this object. + attr_accessor :id + + # The key of the field in the remote system. + attr_accessor :key + + # - `DEFAULT`: static fields in the remote system. - `CUSTOM`: fields that are created/editable by the user. + attr_accessor :type + + # The field's value. + attr_accessor :value + + # The label of the field. (not always available) + attr_accessor :label + + class EnumAttributeValidator + attr_reader :datatype + attr_reader :allowable_values + + def initialize(datatype, allowable_values) + @allowable_values = allowable_values.map do |value| + case datatype.to_s + when /Integer/i + value.to_i + when /Float/i + value.to_f + else + value + end + end + end + + def valid?(value) + !value || allowable_values.include?(value) + end + end + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'id' => :'id', + :'key' => :'key', + :'type' => :'type', + :'value' => :'value', + :'label' => :'label' + } + end + + # Returns attribute mapping this model knows about + def self.acceptable_attribute_map + attribute_map + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + acceptable_attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'id' => :'String', + :'key' => :'String', + :'type' => :'String', + :'value' => :'Null', + :'label' => :'String' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + :'label' + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Kombo::GetHrisEmployeesPositiveResponseDataResultsInnerIntegrationFieldsInner` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + acceptable_attribute_map = self.class.acceptable_attribute_map + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!acceptable_attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Kombo::GetHrisEmployeesPositiveResponseDataResultsInnerIntegrationFieldsInner`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'id') + self.id = attributes[:'id'] + else + self.id = nil + end + + if attributes.key?(:'key') + self.key = attributes[:'key'] + else + self.key = nil + end + + if attributes.key?(:'type') + self.type = attributes[:'type'] + else + self.type = nil + end + + if attributes.key?(:'value') + self.value = attributes[:'value'] + end + + if attributes.key?(:'label') + self.label = attributes[:'label'] + else + self.label = nil + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + warn '[DEPRECATED] the `list_invalid_properties` method is obsolete' + invalid_properties = Array.new + if @id.nil? + invalid_properties.push('invalid value for "id", id cannot be nil.') + end + + if @key.nil? + invalid_properties.push('invalid value for "key", key cannot be nil.') + end + + if @type.nil? + invalid_properties.push('invalid value for "type", type cannot be nil.') + end + + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + warn '[DEPRECATED] the `valid?` method is obsolete' + return false if @id.nil? + return false if @key.nil? + return false if @type.nil? + type_validator = EnumAttributeValidator.new('String', ["DEFAULT", "CUSTOM"]) + return false unless type_validator.valid?(@type) + true + end + + # Custom attribute writer method with validation + # @param [Object] id Value to be assigned + def id=(id) + if id.nil? + fail ArgumentError, 'id cannot be nil' + end + + @id = id + end + + # Custom attribute writer method with validation + # @param [Object] key Value to be assigned + def key=(key) + if key.nil? + fail ArgumentError, 'key cannot be nil' + end + + @key = key + end + + # Custom attribute writer method checking allowed values (enum). + # @param [Object] type Object to be assigned + def type=(type) + validator = EnumAttributeValidator.new('String', ["DEFAULT", "CUSTOM"]) + unless validator.valid?(type) + fail ArgumentError, "invalid value for \"type\", must be one of #{validator.allowable_values}." + end + @type = type + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + id == o.id && + key == o.key && + type == o.type && + value == o.value && + label == o.label + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [id, key, type, value, label].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + transformed_hash = {} + openapi_types.each_pair do |key, type| + if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = nil + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[attribute_map[key]].is_a?(Array) + transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) } + end + elsif !attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]]) + end + end + new(transformed_hash) + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + end + +end diff --git a/lib/kombo_client/models/get_hris_employees_positive_response_data_results_inner_legal_entity.rb b/lib/kombo_client/models/get_hris_employees_positive_response_data_results_inner_legal_entity.rb new file mode 100644 index 0000000..9abf553 --- /dev/null +++ b/lib/kombo_client/models/get_hris_employees_positive_response_data_results_inner_legal_entity.rb @@ -0,0 +1,200 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.17.0 + +=end + +require 'date' +require 'time' + +module Kombo + class GetHrisEmployeesPositiveResponseDataResultsInnerLegalEntity < ApiModelBase + # The globally unique ID of this object generated by Kombo. We recommend using this as a stable primary key for syncing. + attr_accessor :id + + # 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. + attr_accessor :remote_id + + # The legal entity’s name. + attr_accessor :name + + attr_accessor :address + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'id' => :'id', + :'remote_id' => :'remote_id', + :'name' => :'name', + :'address' => :'address' + } + end + + # Returns attribute mapping this model knows about + def self.acceptable_attribute_map + attribute_map + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + acceptable_attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'id' => :'String', + :'remote_id' => :'String', + :'name' => :'String', + :'address' => :'GetHrisEmployeesPositiveResponseDataResultsInnerLegalEntityAddress' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + :'remote_id', + :'name', + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Kombo::GetHrisEmployeesPositiveResponseDataResultsInnerLegalEntity` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + acceptable_attribute_map = self.class.acceptable_attribute_map + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!acceptable_attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Kombo::GetHrisEmployeesPositiveResponseDataResultsInnerLegalEntity`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'id') + self.id = attributes[:'id'] + else + self.id = nil + end + + if attributes.key?(:'remote_id') + self.remote_id = attributes[:'remote_id'] + else + self.remote_id = nil + end + + if attributes.key?(:'name') + self.name = attributes[:'name'] + else + self.name = nil + end + + if attributes.key?(:'address') + self.address = attributes[:'address'] + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + warn '[DEPRECATED] the `list_invalid_properties` method is obsolete' + invalid_properties = Array.new + if @id.nil? + invalid_properties.push('invalid value for "id", id cannot be nil.') + end + + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + warn '[DEPRECATED] the `valid?` method is obsolete' + return false if @id.nil? + true + end + + # Custom attribute writer method with validation + # @param [Object] id Value to be assigned + def id=(id) + if id.nil? + fail ArgumentError, 'id cannot be nil' + end + + @id = id + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + id == o.id && + remote_id == o.remote_id && + name == o.name && + address == o.address + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [id, remote_id, name, address].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + transformed_hash = {} + openapi_types.each_pair do |key, type| + if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = nil + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[attribute_map[key]].is_a?(Array) + transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) } + end + elsif !attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]]) + end + end + new(transformed_hash) + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + end + +end diff --git a/lib/kombo_client/models/get_hris_employees_positive_response_data_results_inner_legal_entity_address.rb b/lib/kombo_client/models/get_hris_employees_positive_response_data_results_inner_legal_entity_address.rb new file mode 100644 index 0000000..439f354 --- /dev/null +++ b/lib/kombo_client/models/get_hris_employees_positive_response_data_results_inner_legal_entity_address.rb @@ -0,0 +1,212 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.17.0 + +=end + +require 'date' +require 'time' + +module Kombo + # The legal entity’s address. + class GetHrisEmployeesPositiveResponseDataResultsInnerLegalEntityAddress < ApiModelBase + attr_accessor :city + + # Contains the ISO2 country code if possible. If not, it contains the original value. + attr_accessor :country + + # If we have address data, this is filled with the raw address string. + attr_accessor :raw + + attr_accessor :state + + # If we can parse the address data, this field contains the first part of the street information. + attr_accessor :street_1 + + attr_accessor :street_2 + + attr_accessor :zip_code + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'city' => :'city', + :'country' => :'country', + :'raw' => :'raw', + :'state' => :'state', + :'street_1' => :'street_1', + :'street_2' => :'street_2', + :'zip_code' => :'zip_code' + } + end + + # Returns attribute mapping this model knows about + def self.acceptable_attribute_map + attribute_map + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + acceptable_attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'city' => :'String', + :'country' => :'String', + :'raw' => :'String', + :'state' => :'String', + :'street_1' => :'String', + :'street_2' => :'String', + :'zip_code' => :'String' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + :'city', + :'country', + :'raw', + :'state', + :'street_1', + :'street_2', + :'zip_code' + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Kombo::GetHrisEmployeesPositiveResponseDataResultsInnerLegalEntityAddress` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + acceptable_attribute_map = self.class.acceptable_attribute_map + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!acceptable_attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Kombo::GetHrisEmployeesPositiveResponseDataResultsInnerLegalEntityAddress`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'city') + self.city = attributes[:'city'] + end + + if attributes.key?(:'country') + self.country = attributes[:'country'] + end + + if attributes.key?(:'raw') + self.raw = attributes[:'raw'] + end + + if attributes.key?(:'state') + self.state = attributes[:'state'] + end + + if attributes.key?(:'street_1') + self.street_1 = attributes[:'street_1'] + end + + if attributes.key?(:'street_2') + self.street_2 = attributes[:'street_2'] + end + + if attributes.key?(:'zip_code') + self.zip_code = attributes[:'zip_code'] + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + warn '[DEPRECATED] the `list_invalid_properties` method is obsolete' + invalid_properties = Array.new + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + warn '[DEPRECATED] the `valid?` method is obsolete' + true + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + city == o.city && + country == o.country && + raw == o.raw && + state == o.state && + street_1 == o.street_1 && + street_2 == o.street_2 && + zip_code == o.zip_code + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [city, country, raw, state, street_1, street_2, zip_code].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + transformed_hash = {} + openapi_types.each_pair do |key, type| + if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = nil + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[attribute_map[key]].is_a?(Array) + transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) } + end + elsif !attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]]) + end + end + new(transformed_hash) + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + end + +end diff --git a/lib/kombo_client/models/get_hris_employees_positive_response_data_results_inner_manager.rb b/lib/kombo_client/models/get_hris_employees_positive_response_data_results_inner_manager.rb new file mode 100644 index 0000000..9c861a6 --- /dev/null +++ b/lib/kombo_client/models/get_hris_employees_positive_response_data_results_inner_manager.rb @@ -0,0 +1,295 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.17.0 + +=end + +require 'date' +require 'time' + +module Kombo + class GetHrisEmployeesPositiveResponseDataResultsInnerManager < ApiModelBase + # The employee’s first name. + attr_accessor :first_name + + # The employee’s last name. + attr_accessor :last_name + + # 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`. + attr_accessor :display_full_name + + # The globally unique ID of this object generated by Kombo. We recommend using this as a stable primary key for syncing. + attr_accessor :id + + # The employee’s organization-internal employee number. + attr_accessor :employee_number + + # The employee’s work email address. If the email address is invalid, we will set this to `null`. + attr_accessor :work_email + + # 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. + attr_accessor :remote_id + + attr_accessor :employment_status + + # The date when the employment ends. Can be in the past or future. + attr_accessor :termination_date + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'first_name' => :'first_name', + :'last_name' => :'last_name', + :'display_full_name' => :'display_full_name', + :'id' => :'id', + :'employee_number' => :'employee_number', + :'work_email' => :'work_email', + :'remote_id' => :'remote_id', + :'employment_status' => :'employment_status', + :'termination_date' => :'termination_date' + } + end + + # Returns attribute mapping this model knows about + def self.acceptable_attribute_map + attribute_map + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + acceptable_attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'first_name' => :'String', + :'last_name' => :'String', + :'display_full_name' => :'String', + :'id' => :'String', + :'employee_number' => :'String', + :'work_email' => :'String', + :'remote_id' => :'String', + :'employment_status' => :'GetHrisEmployeesPositiveResponseDataResultsInnerEmploymentStatus', + :'termination_date' => :'Time' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + :'first_name', + :'last_name', + :'display_full_name', + :'employee_number', + :'work_email', + :'employment_status', + :'termination_date' + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Kombo::GetHrisEmployeesPositiveResponseDataResultsInnerManager` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + acceptable_attribute_map = self.class.acceptable_attribute_map + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!acceptable_attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Kombo::GetHrisEmployeesPositiveResponseDataResultsInnerManager`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'first_name') + self.first_name = attributes[:'first_name'] + else + self.first_name = nil + end + + if attributes.key?(:'last_name') + self.last_name = attributes[:'last_name'] + else + self.last_name = nil + end + + if attributes.key?(:'display_full_name') + self.display_full_name = attributes[:'display_full_name'] + else + self.display_full_name = nil + end + + if attributes.key?(:'id') + self.id = attributes[:'id'] + else + self.id = nil + end + + if attributes.key?(:'employee_number') + self.employee_number = attributes[:'employee_number'] + else + self.employee_number = nil + end + + if attributes.key?(:'work_email') + self.work_email = attributes[:'work_email'] + end + + if attributes.key?(:'remote_id') + self.remote_id = attributes[:'remote_id'] + else + self.remote_id = nil + end + + if attributes.key?(:'employment_status') + self.employment_status = attributes[:'employment_status'] + end + + if attributes.key?(:'termination_date') + self.termination_date = attributes[:'termination_date'] + else + self.termination_date = nil + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + warn '[DEPRECATED] the `list_invalid_properties` method is obsolete' + invalid_properties = Array.new + if @id.nil? + invalid_properties.push('invalid value for "id", id cannot be nil.') + end + + pattern = Regexp.new(/^(?!\.)(?!.*\.\.)([\w'+-.]*)[\w+-]@([\da-z][\da-z-]*\.)+[a-z]{2,}$/) + if !@work_email.nil? && @work_email !~ pattern + invalid_properties.push("invalid value for \"work_email\", must conform to the pattern #{pattern}.") + end + + if @remote_id.nil? + invalid_properties.push('invalid value for "remote_id", remote_id cannot be nil.') + end + + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + warn '[DEPRECATED] the `valid?` method is obsolete' + return false if @id.nil? + return false if !@work_email.nil? && @work_email !~ Regexp.new(/^(?!\.)(?!.*\.\.)([\w'+-.]*)[\w+-]@([\da-z][\da-z-]*\.)+[a-z]{2,}$/) + return false if @remote_id.nil? + true + end + + # Custom attribute writer method with validation + # @param [Object] id Value to be assigned + def id=(id) + if id.nil? + fail ArgumentError, 'id cannot be nil' + end + + @id = id + end + + # Custom attribute writer method with validation + # @param [Object] work_email Value to be assigned + def work_email=(work_email) + pattern = Regexp.new(/^(?!\.)(?!.*\.\.)([\w'+-.]*)[\w+-]@([\da-z][\da-z-]*\.)+[a-z]{2,}$/) + if !work_email.nil? && work_email !~ pattern + fail ArgumentError, "invalid value for \"work_email\", must conform to the pattern #{pattern}." + end + + @work_email = work_email + end + + # Custom attribute writer method with validation + # @param [Object] remote_id Value to be assigned + def remote_id=(remote_id) + if remote_id.nil? + fail ArgumentError, 'remote_id cannot be nil' + end + + @remote_id = remote_id + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + first_name == o.first_name && + last_name == o.last_name && + display_full_name == o.display_full_name && + id == o.id && + employee_number == o.employee_number && + work_email == o.work_email && + remote_id == o.remote_id && + employment_status == o.employment_status && + termination_date == o.termination_date + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [first_name, last_name, display_full_name, id, employee_number, work_email, remote_id, employment_status, termination_date].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + transformed_hash = {} + openapi_types.each_pair do |key, type| + if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = nil + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[attribute_map[key]].is_a?(Array) + transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) } + end + elsif !attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]]) + end + end + new(transformed_hash) + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + end + +end diff --git a/lib/kombo_client/models/get_hris_employees_positive_response_data_results_inner_marital_status.rb b/lib/kombo_client/models/get_hris_employees_positive_response_data_results_inner_marital_status.rb new file mode 100644 index 0000000..fe51c52 --- /dev/null +++ b/lib/kombo_client/models/get_hris_employees_positive_response_data_results_inner_marital_status.rb @@ -0,0 +1,103 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.17.0 + +=end + +require 'date' +require 'time' + +module Kombo + # The employee’s current marital status. In rare cases where we can’t find a clear mapping, the original string is passed through. + module GetHrisEmployeesPositiveResponseDataResultsInnerMaritalStatus + class << self + # List of class defined in anyOf (OpenAPI v3) + def openapi_any_of + [ + :'String' + ] + end + + # Builds the object + # @param [Mixed] Data to be matched against the list of anyOf items + # @return [Object] Returns the model or the data itself + def build(data) + # Go through the list of anyOf items and attempt to identify the appropriate one. + # Note: + # - No advanced validation of types in some cases (e.g. "x: { type: string }" will happily match { x: 123 }) + # due to the way the deserialization is made in the base_object template (it just casts without verifying). + # - TODO: scalar values are de facto behaving as if they were nullable. + # - TODO: logging when debugging is set. + openapi_any_of.each do |klass| + begin + next if klass == :AnyType # "nullable: true" + return find_and_cast_into_type(klass, data) + rescue # rescue all errors so we keep iterating even if the current item lookup raises + end + end + + openapi_any_of.include?(:AnyType) ? data : nil + end + + private + + SchemaMismatchError = Class.new(StandardError) + + # Note: 'File' is missing here because in the regular case we get the data _after_ a call to JSON.parse. + def find_and_cast_into_type(klass, data) + return if data.nil? + + case klass.to_s + when 'Boolean' + return data if data.instance_of?(TrueClass) || data.instance_of?(FalseClass) + when 'Float' + return data if data.instance_of?(Float) + when 'Integer' + return data if data.instance_of?(Integer) + when 'Time' + return Time.parse(data) + when 'Date' + return Date.iso8601(data) + when 'String' + return data if data.instance_of?(String) + when 'Object' # "type: object" + return data if data.instance_of?(Hash) + when /\AArray<(?.+)>\z/ # "type: array" + if data.instance_of?(Array) + sub_type = Regexp.last_match[:sub_type] + return data.map { |item| find_and_cast_into_type(sub_type, item) } + end + when /\AHash.+)>\z/ # "type: object" with "additionalProperties: { ... }" + if data.instance_of?(Hash) && data.keys.all? { |k| k.instance_of?(Symbol) || k.instance_of?(String) } + sub_type = Regexp.last_match[:sub_type] + return data.each_with_object({}) { |(k, v), hsh| hsh[k] = find_and_cast_into_type(sub_type, v) } + end + else # model + const = Kombo.const_get(klass) + if const + if const.respond_to?(:openapi_any_of) # nested anyOf model + model = const.build(data) + return model if model + else + # raise if data contains keys that are not known to the model + raise if const.respond_to?(:acceptable_attributes) && !(data.keys - const.acceptable_attributes).empty? + model = const.build_from_hash(data) + return model if model + end + end + end + + raise # if no match by now, raise + rescue + raise SchemaMismatchError, "#{data} doesn't match the #{klass} type" + end + end + end + +end diff --git a/lib/kombo_client/models/get_hris_employees_positive_response_data_results_inner_time_off_balances_inner.rb b/lib/kombo_client/models/get_hris_employees_positive_response_data_results_inner_time_off_balances_inner.rb new file mode 100644 index 0000000..62223b2 --- /dev/null +++ b/lib/kombo_client/models/get_hris_employees_positive_response_data_results_inner_time_off_balances_inner.rb @@ -0,0 +1,414 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.17.0 + +=end + +require 'date' +require 'time' + +module Kombo + class GetHrisEmployeesPositiveResponseDataResultsInnerTimeOffBalancesInner < ApiModelBase + # The globally unique ID of this object generated by Kombo. We recommend using this as a stable primary key for syncing. + attr_accessor :id + + # 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. + attr_accessor :remote_id + + # 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. + attr_accessor :employee_id + + attr_accessor :type_id + + # The amount of time available to the employee. + attr_accessor :balance + + # The time-unit of the balance. + attr_accessor :balance_unit + + # 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. + attr_accessor :changed_at + + # 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. + attr_accessor :remote_deleted_at + + # The amount of time used by the employee. + attr_accessor :used + + # The time-unit of the used time. + attr_accessor :used_unit + + # 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. + attr_accessor :remote_data + + class EnumAttributeValidator + attr_reader :datatype + attr_reader :allowable_values + + def initialize(datatype, allowable_values) + @allowable_values = allowable_values.map do |value| + case datatype.to_s + when /Integer/i + value.to_i + when /Float/i + value.to_f + else + value + end + end + end + + def valid?(value) + !value || allowable_values.include?(value) + end + end + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'id' => :'id', + :'remote_id' => :'remote_id', + :'employee_id' => :'employee_id', + :'type_id' => :'type_id', + :'balance' => :'balance', + :'balance_unit' => :'balance_unit', + :'changed_at' => :'changed_at', + :'remote_deleted_at' => :'remote_deleted_at', + :'used' => :'used', + :'used_unit' => :'used_unit', + :'remote_data' => :'remote_data' + } + end + + # Returns attribute mapping this model knows about + def self.acceptable_attribute_map + attribute_map + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + acceptable_attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'id' => :'String', + :'remote_id' => :'String', + :'employee_id' => :'String', + :'type_id' => :'String', + :'balance' => :'Float', + :'balance_unit' => :'String', + :'changed_at' => :'Time', + :'remote_deleted_at' => :'Time', + :'used' => :'Float', + :'used_unit' => :'String', + :'remote_data' => :'Hash' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + :'remote_id', + :'balance', + :'balance_unit', + :'remote_deleted_at', + :'used', + :'used_unit', + :'remote_data' + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Kombo::GetHrisEmployeesPositiveResponseDataResultsInnerTimeOffBalancesInner` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + acceptable_attribute_map = self.class.acceptable_attribute_map + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!acceptable_attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Kombo::GetHrisEmployeesPositiveResponseDataResultsInnerTimeOffBalancesInner`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'id') + self.id = attributes[:'id'] + else + self.id = nil + end + + if attributes.key?(:'remote_id') + self.remote_id = attributes[:'remote_id'] + else + self.remote_id = nil + end + + if attributes.key?(:'employee_id') + self.employee_id = attributes[:'employee_id'] + else + self.employee_id = nil + end + + if attributes.key?(:'type_id') + self.type_id = attributes[:'type_id'] + else + self.type_id = nil + end + + if attributes.key?(:'balance') + self.balance = attributes[:'balance'] + else + self.balance = nil + end + + if attributes.key?(:'balance_unit') + self.balance_unit = attributes[:'balance_unit'] + else + self.balance_unit = nil + end + + if attributes.key?(:'changed_at') + self.changed_at = attributes[:'changed_at'] + else + self.changed_at = nil + end + + if attributes.key?(:'remote_deleted_at') + self.remote_deleted_at = attributes[:'remote_deleted_at'] + else + self.remote_deleted_at = nil + end + + if attributes.key?(:'used') + self.used = attributes[:'used'] + else + self.used = nil + end + + if attributes.key?(:'used_unit') + self.used_unit = attributes[:'used_unit'] + else + self.used_unit = nil + end + + if attributes.key?(:'remote_data') + if (value = attributes[:'remote_data']).is_a?(Hash) + self.remote_data = value + end + else + self.remote_data = nil + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + warn '[DEPRECATED] the `list_invalid_properties` method is obsolete' + invalid_properties = Array.new + if @id.nil? + invalid_properties.push('invalid value for "id", id cannot be nil.') + end + + if @employee_id.nil? + invalid_properties.push('invalid value for "employee_id", employee_id cannot be nil.') + end + + if @type_id.nil? + invalid_properties.push('invalid value for "type_id", type_id cannot be nil.') + end + + if @balance < -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + invalid_properties.push('invalid value for "balance", must be greater than or equal to -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.') + end + + if @changed_at.nil? + invalid_properties.push('invalid value for "changed_at", changed_at cannot be nil.') + end + + if @used < -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + invalid_properties.push('invalid value for "used", must be greater than or equal to -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.') + end + + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + warn '[DEPRECATED] the `valid?` method is obsolete' + return false if @id.nil? + return false if @employee_id.nil? + return false if @type_id.nil? + return false if @balance < -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + balance_unit_validator = EnumAttributeValidator.new('String', ["HOURS", "DAYS"]) + return false unless balance_unit_validator.valid?(@balance_unit) + return false if @changed_at.nil? + return false if @used < -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + used_unit_validator = EnumAttributeValidator.new('String', ["HOURS", "DAYS"]) + return false unless used_unit_validator.valid?(@used_unit) + true + end + + # Custom attribute writer method with validation + # @param [Object] id Value to be assigned + def id=(id) + if id.nil? + fail ArgumentError, 'id cannot be nil' + end + + @id = id + end + + # Custom attribute writer method with validation + # @param [Object] employee_id Value to be assigned + def employee_id=(employee_id) + if employee_id.nil? + fail ArgumentError, 'employee_id cannot be nil' + end + + @employee_id = employee_id + end + + # Custom attribute writer method with validation + # @param [Object] type_id Value to be assigned + def type_id=(type_id) + if type_id.nil? + fail ArgumentError, 'type_id cannot be nil' + end + + @type_id = type_id + end + + # Custom attribute writer method with validation + # @param [Object] balance Value to be assigned + def balance=(balance) + if !balance.nil? && balance < -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + fail ArgumentError, 'invalid value for "balance", must be greater than or equal to -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.' + end + + @balance = balance + end + + # Custom attribute writer method checking allowed values (enum). + # @param [Object] balance_unit Object to be assigned + def balance_unit=(balance_unit) + validator = EnumAttributeValidator.new('String', ["HOURS", "DAYS"]) + unless validator.valid?(balance_unit) + fail ArgumentError, "invalid value for \"balance_unit\", must be one of #{validator.allowable_values}." + end + @balance_unit = balance_unit + end + + # Custom attribute writer method with validation + # @param [Object] changed_at Value to be assigned + def changed_at=(changed_at) + if changed_at.nil? + fail ArgumentError, 'changed_at cannot be nil' + end + + @changed_at = changed_at + end + + # Custom attribute writer method with validation + # @param [Object] used Value to be assigned + def used=(used) + if !used.nil? && used < -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + fail ArgumentError, 'invalid value for "used", must be greater than or equal to -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.' + end + + @used = used + end + + # Custom attribute writer method checking allowed values (enum). + # @param [Object] used_unit Object to be assigned + def used_unit=(used_unit) + validator = EnumAttributeValidator.new('String', ["HOURS", "DAYS"]) + unless validator.valid?(used_unit) + fail ArgumentError, "invalid value for \"used_unit\", must be one of #{validator.allowable_values}." + end + @used_unit = used_unit + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + id == o.id && + remote_id == o.remote_id && + employee_id == o.employee_id && + type_id == o.type_id && + balance == o.balance && + balance_unit == o.balance_unit && + changed_at == o.changed_at && + remote_deleted_at == o.remote_deleted_at && + used == o.used && + used_unit == o.used_unit && + remote_data == o.remote_data + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [id, remote_id, employee_id, type_id, balance, balance_unit, changed_at, remote_deleted_at, used, used_unit, remote_data].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + transformed_hash = {} + openapi_types.each_pair do |key, type| + if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = nil + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[attribute_map[key]].is_a?(Array) + transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) } + end + elsif !attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]]) + end + end + new(transformed_hash) + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + end + +end diff --git a/lib/kombo_client/models/get_hris_employees_positive_response_data_results_inner_work_location.rb b/lib/kombo_client/models/get_hris_employees_positive_response_data_results_inner_work_location.rb new file mode 100644 index 0000000..f5cf398 --- /dev/null +++ b/lib/kombo_client/models/get_hris_employees_positive_response_data_results_inner_work_location.rb @@ -0,0 +1,268 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.17.0 + +=end + +require 'date' +require 'time' + +module Kombo + class GetHrisEmployeesPositiveResponseDataResultsInnerWorkLocation < ApiModelBase + # The globally unique ID of this object generated by Kombo. We recommend using this as a stable primary key for syncing. + attr_accessor :id + + # 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. + attr_accessor :remote_id + + # The work location’s name + attr_accessor :name + + attr_accessor :address + + # The work location’s type. A freeform string. + attr_accessor :type + + # 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. + attr_accessor :changed_at + + # 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. + attr_accessor :remote_deleted_at + + # 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. + attr_accessor :remote_data + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'id' => :'id', + :'remote_id' => :'remote_id', + :'name' => :'name', + :'address' => :'address', + :'type' => :'type', + :'changed_at' => :'changed_at', + :'remote_deleted_at' => :'remote_deleted_at', + :'remote_data' => :'remote_data' + } + end + + # Returns attribute mapping this model knows about + def self.acceptable_attribute_map + attribute_map + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + acceptable_attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'id' => :'String', + :'remote_id' => :'String', + :'name' => :'String', + :'address' => :'GetHrisEmployeesPositiveResponseDataResultsInnerWorkLocationAddress', + :'type' => :'String', + :'changed_at' => :'Time', + :'remote_deleted_at' => :'Time', + :'remote_data' => :'Hash' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + :'remote_id', + :'name', + :'type', + :'remote_deleted_at', + :'remote_data' + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Kombo::GetHrisEmployeesPositiveResponseDataResultsInnerWorkLocation` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + acceptable_attribute_map = self.class.acceptable_attribute_map + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!acceptable_attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Kombo::GetHrisEmployeesPositiveResponseDataResultsInnerWorkLocation`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'id') + self.id = attributes[:'id'] + else + self.id = nil + end + + if attributes.key?(:'remote_id') + self.remote_id = attributes[:'remote_id'] + else + self.remote_id = nil + end + + if attributes.key?(:'name') + self.name = attributes[:'name'] + else + self.name = nil + end + + if attributes.key?(:'address') + self.address = attributes[:'address'] + end + + if attributes.key?(:'type') + self.type = attributes[:'type'] + else + self.type = nil + end + + if attributes.key?(:'changed_at') + self.changed_at = attributes[:'changed_at'] + else + self.changed_at = nil + end + + if attributes.key?(:'remote_deleted_at') + self.remote_deleted_at = attributes[:'remote_deleted_at'] + else + self.remote_deleted_at = nil + end + + if attributes.key?(:'remote_data') + if (value = attributes[:'remote_data']).is_a?(Hash) + self.remote_data = value + end + else + self.remote_data = nil + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + warn '[DEPRECATED] the `list_invalid_properties` method is obsolete' + invalid_properties = Array.new + if @id.nil? + invalid_properties.push('invalid value for "id", id cannot be nil.') + end + + if @changed_at.nil? + invalid_properties.push('invalid value for "changed_at", changed_at cannot be nil.') + end + + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + warn '[DEPRECATED] the `valid?` method is obsolete' + return false if @id.nil? + return false if @changed_at.nil? + true + end + + # Custom attribute writer method with validation + # @param [Object] id Value to be assigned + def id=(id) + if id.nil? + fail ArgumentError, 'id cannot be nil' + end + + @id = id + end + + # Custom attribute writer method with validation + # @param [Object] changed_at Value to be assigned + def changed_at=(changed_at) + if changed_at.nil? + fail ArgumentError, 'changed_at cannot be nil' + end + + @changed_at = changed_at + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + id == o.id && + remote_id == o.remote_id && + name == o.name && + address == o.address && + type == o.type && + changed_at == o.changed_at && + remote_deleted_at == o.remote_deleted_at && + remote_data == o.remote_data + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [id, remote_id, name, address, type, changed_at, remote_deleted_at, remote_data].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + transformed_hash = {} + openapi_types.each_pair do |key, type| + if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = nil + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[attribute_map[key]].is_a?(Array) + transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) } + end + elsif !attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]]) + end + end + new(transformed_hash) + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + end + +end diff --git a/lib/kombo_client/models/get_hris_employees_positive_response_data_results_inner_work_location_address.rb b/lib/kombo_client/models/get_hris_employees_positive_response_data_results_inner_work_location_address.rb new file mode 100644 index 0000000..3dc0943 --- /dev/null +++ b/lib/kombo_client/models/get_hris_employees_positive_response_data_results_inner_work_location_address.rb @@ -0,0 +1,212 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.17.0 + +=end + +require 'date' +require 'time' + +module Kombo + # The work location’s address + class GetHrisEmployeesPositiveResponseDataResultsInnerWorkLocationAddress < ApiModelBase + attr_accessor :city + + # Contains the ISO2 country code if possible. If not, it contains the original value. + attr_accessor :country + + # If we have address data, this is filled with the raw address string. + attr_accessor :raw + + attr_accessor :state + + # If we can parse the address data, this field contains the first part of the street information. + attr_accessor :street_1 + + attr_accessor :street_2 + + attr_accessor :zip_code + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'city' => :'city', + :'country' => :'country', + :'raw' => :'raw', + :'state' => :'state', + :'street_1' => :'street_1', + :'street_2' => :'street_2', + :'zip_code' => :'zip_code' + } + end + + # Returns attribute mapping this model knows about + def self.acceptable_attribute_map + attribute_map + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + acceptable_attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'city' => :'String', + :'country' => :'String', + :'raw' => :'String', + :'state' => :'String', + :'street_1' => :'String', + :'street_2' => :'String', + :'zip_code' => :'String' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + :'city', + :'country', + :'raw', + :'state', + :'street_1', + :'street_2', + :'zip_code' + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Kombo::GetHrisEmployeesPositiveResponseDataResultsInnerWorkLocationAddress` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + acceptable_attribute_map = self.class.acceptable_attribute_map + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!acceptable_attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Kombo::GetHrisEmployeesPositiveResponseDataResultsInnerWorkLocationAddress`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'city') + self.city = attributes[:'city'] + end + + if attributes.key?(:'country') + self.country = attributes[:'country'] + end + + if attributes.key?(:'raw') + self.raw = attributes[:'raw'] + end + + if attributes.key?(:'state') + self.state = attributes[:'state'] + end + + if attributes.key?(:'street_1') + self.street_1 = attributes[:'street_1'] + end + + if attributes.key?(:'street_2') + self.street_2 = attributes[:'street_2'] + end + + if attributes.key?(:'zip_code') + self.zip_code = attributes[:'zip_code'] + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + warn '[DEPRECATED] the `list_invalid_properties` method is obsolete' + invalid_properties = Array.new + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + warn '[DEPRECATED] the `valid?` method is obsolete' + true + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + city == o.city && + country == o.country && + raw == o.raw && + state == o.state && + street_1 == o.street_1 && + street_2 == o.street_2 && + zip_code == o.zip_code + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [city, country, raw, state, street_1, street_2, zip_code].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + transformed_hash = {} + openapi_types.each_pair do |key, type| + if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = nil + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[attribute_map[key]].is_a?(Array) + transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) } + end + elsif !attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]]) + end + end + new(transformed_hash) + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + end + +end diff --git a/lib/kombo_client/models/get_hris_employments_parameter_include_deleted.rb b/lib/kombo_client/models/get_hris_employments_parameter_include_deleted.rb new file mode 100644 index 0000000..b94ed0f --- /dev/null +++ b/lib/kombo_client/models/get_hris_employments_parameter_include_deleted.rb @@ -0,0 +1,40 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.17.0 + +=end + +require 'date' +require 'time' + +module Kombo + class GetHrisEmploymentsParameterIncludeDeleted + TRUE = "true".freeze + FALSE = "false".freeze + + def self.all_vars + @all_vars ||= [TRUE, FALSE].freeze + end + + # Builds the enum from string + # @param [String] The enum value in the form of the string + # @return [String] The enum value + def self.build_from_hash(value) + new.build_from_hash(value) + end + + # Builds the enum from string + # @param [String] The enum value in the form of the string + # @return [String] The enum value + def build_from_hash(value) + return value if GetHrisEmploymentsParameterIncludeDeleted.all_vars.include?(value) + raise "Invalid ENUM value #{value} for class #GetHrisEmploymentsParameterIncludeDeleted" + end + end +end diff --git a/lib/kombo_client/models/get_hris_employments_positive_response.rb b/lib/kombo_client/models/get_hris_employments_positive_response.rb new file mode 100644 index 0000000..b513523 --- /dev/null +++ b/lib/kombo_client/models/get_hris_employments_positive_response.rb @@ -0,0 +1,214 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.17.0 + +=end + +require 'date' +require 'time' + +module Kombo + class GetHrisEmploymentsPositiveResponse < ApiModelBase + attr_accessor :status + + attr_accessor :data + + class EnumAttributeValidator + attr_reader :datatype + attr_reader :allowable_values + + def initialize(datatype, allowable_values) + @allowable_values = allowable_values.map do |value| + case datatype.to_s + when /Integer/i + value.to_i + when /Float/i + value.to_f + else + value + end + end + end + + def valid?(value) + !value || allowable_values.include?(value) + end + end + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'status' => :'status', + :'data' => :'data' + } + end + + # Returns attribute mapping this model knows about + def self.acceptable_attribute_map + attribute_map + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + acceptable_attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'status' => :'String', + :'data' => :'GetHrisEmploymentsPositiveResponseData' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Kombo::GetHrisEmploymentsPositiveResponse` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + acceptable_attribute_map = self.class.acceptable_attribute_map + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!acceptable_attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Kombo::GetHrisEmploymentsPositiveResponse`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'status') + self.status = attributes[:'status'] + else + self.status = nil + end + + if attributes.key?(:'data') + self.data = attributes[:'data'] + else + self.data = nil + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + warn '[DEPRECATED] the `list_invalid_properties` method is obsolete' + invalid_properties = Array.new + if @status.nil? + invalid_properties.push('invalid value for "status", status cannot be nil.') + end + + if @data.nil? + invalid_properties.push('invalid value for "data", data cannot be nil.') + end + + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + warn '[DEPRECATED] the `valid?` method is obsolete' + return false if @status.nil? + status_validator = EnumAttributeValidator.new('String', ["success"]) + return false unless status_validator.valid?(@status) + return false if @data.nil? + true + end + + # Custom attribute writer method checking allowed values (enum). + # @param [Object] status Object to be assigned + def status=(status) + validator = EnumAttributeValidator.new('String', ["success"]) + unless validator.valid?(status) + fail ArgumentError, "invalid value for \"status\", must be one of #{validator.allowable_values}." + end + @status = status + end + + # Custom attribute writer method with validation + # @param [Object] data Value to be assigned + def data=(data) + if data.nil? + fail ArgumentError, 'data cannot be nil' + end + + @data = data + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + status == o.status && + data == o.data + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [status, data].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + transformed_hash = {} + openapi_types.each_pair do |key, type| + if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = nil + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[attribute_map[key]].is_a?(Array) + transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) } + end + elsif !attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]]) + end + end + new(transformed_hash) + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + end + +end diff --git a/lib/kombo_client/models/get_hris_employments_positive_response_data.rb b/lib/kombo_client/models/get_hris_employments_positive_response_data.rb new file mode 100644 index 0000000..ba885ae --- /dev/null +++ b/lib/kombo_client/models/get_hris_employments_positive_response_data.rb @@ -0,0 +1,179 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.17.0 + +=end + +require 'date' +require 'time' + +module Kombo + class GetHrisEmploymentsPositiveResponseData < ApiModelBase + # 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. + attr_accessor :_next + + attr_accessor :results + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'_next' => :'next', + :'results' => :'results' + } + end + + # Returns attribute mapping this model knows about + def self.acceptable_attribute_map + attribute_map + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + acceptable_attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'_next' => :'String', + :'results' => :'Array' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + :'_next', + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Kombo::GetHrisEmploymentsPositiveResponseData` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + acceptable_attribute_map = self.class.acceptable_attribute_map + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!acceptable_attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Kombo::GetHrisEmploymentsPositiveResponseData`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'_next') + self._next = attributes[:'_next'] + else + self._next = nil + end + + if attributes.key?(:'results') + if (value = attributes[:'results']).is_a?(Array) + self.results = value + end + else + self.results = nil + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + warn '[DEPRECATED] the `list_invalid_properties` method is obsolete' + invalid_properties = Array.new + if @results.nil? + invalid_properties.push('invalid value for "results", results cannot be nil.') + end + + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + warn '[DEPRECATED] the `valid?` method is obsolete' + return false if @results.nil? + true + end + + # Custom attribute writer method with validation + # @param [Object] results Value to be assigned + def results=(results) + if results.nil? + fail ArgumentError, 'results cannot be nil' + end + + @results = results + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + _next == o._next && + results == o.results + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [_next, results].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + transformed_hash = {} + openapi_types.each_pair do |key, type| + if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = nil + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[attribute_map[key]].is_a?(Array) + transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) } + end + elsif !attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]]) + end + end + new(transformed_hash) + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + end + +end diff --git a/lib/kombo_client/models/get_hris_groups_parameter_include_deleted.rb b/lib/kombo_client/models/get_hris_groups_parameter_include_deleted.rb new file mode 100644 index 0000000..7ee493f --- /dev/null +++ b/lib/kombo_client/models/get_hris_groups_parameter_include_deleted.rb @@ -0,0 +1,40 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.17.0 + +=end + +require 'date' +require 'time' + +module Kombo + class GetHrisGroupsParameterIncludeDeleted + TRUE = "true".freeze + FALSE = "false".freeze + + def self.all_vars + @all_vars ||= [TRUE, FALSE].freeze + end + + # Builds the enum from string + # @param [String] The enum value in the form of the string + # @return [String] The enum value + def self.build_from_hash(value) + new.build_from_hash(value) + end + + # Builds the enum from string + # @param [String] The enum value in the form of the string + # @return [String] The enum value + def build_from_hash(value) + return value if GetHrisGroupsParameterIncludeDeleted.all_vars.include?(value) + raise "Invalid ENUM value #{value} for class #GetHrisGroupsParameterIncludeDeleted" + end + end +end diff --git a/lib/kombo_client/models/get_hris_groups_positive_response.rb b/lib/kombo_client/models/get_hris_groups_positive_response.rb new file mode 100644 index 0000000..3482cc7 --- /dev/null +++ b/lib/kombo_client/models/get_hris_groups_positive_response.rb @@ -0,0 +1,214 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.17.0 + +=end + +require 'date' +require 'time' + +module Kombo + class GetHrisGroupsPositiveResponse < ApiModelBase + attr_accessor :status + + attr_accessor :data + + class EnumAttributeValidator + attr_reader :datatype + attr_reader :allowable_values + + def initialize(datatype, allowable_values) + @allowable_values = allowable_values.map do |value| + case datatype.to_s + when /Integer/i + value.to_i + when /Float/i + value.to_f + else + value + end + end + end + + def valid?(value) + !value || allowable_values.include?(value) + end + end + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'status' => :'status', + :'data' => :'data' + } + end + + # Returns attribute mapping this model knows about + def self.acceptable_attribute_map + attribute_map + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + acceptable_attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'status' => :'String', + :'data' => :'GetHrisTeamsPositiveResponseData' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Kombo::GetHrisGroupsPositiveResponse` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + acceptable_attribute_map = self.class.acceptable_attribute_map + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!acceptable_attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Kombo::GetHrisGroupsPositiveResponse`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'status') + self.status = attributes[:'status'] + else + self.status = nil + end + + if attributes.key?(:'data') + self.data = attributes[:'data'] + else + self.data = nil + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + warn '[DEPRECATED] the `list_invalid_properties` method is obsolete' + invalid_properties = Array.new + if @status.nil? + invalid_properties.push('invalid value for "status", status cannot be nil.') + end + + if @data.nil? + invalid_properties.push('invalid value for "data", data cannot be nil.') + end + + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + warn '[DEPRECATED] the `valid?` method is obsolete' + return false if @status.nil? + status_validator = EnumAttributeValidator.new('String', ["success"]) + return false unless status_validator.valid?(@status) + return false if @data.nil? + true + end + + # Custom attribute writer method checking allowed values (enum). + # @param [Object] status Object to be assigned + def status=(status) + validator = EnumAttributeValidator.new('String', ["success"]) + unless validator.valid?(status) + fail ArgumentError, "invalid value for \"status\", must be one of #{validator.allowable_values}." + end + @status = status + end + + # Custom attribute writer method with validation + # @param [Object] data Value to be assigned + def data=(data) + if data.nil? + fail ArgumentError, 'data cannot be nil' + end + + @data = data + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + status == o.status && + data == o.data + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [status, data].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + transformed_hash = {} + openapi_types.each_pair do |key, type| + if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = nil + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[attribute_map[key]].is_a?(Array) + transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) } + end + elsif !attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]]) + end + end + new(transformed_hash) + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + end + +end diff --git a/lib/kombo_client/models/get_hris_job_positions_positive_response.rb b/lib/kombo_client/models/get_hris_job_positions_positive_response.rb new file mode 100644 index 0000000..e441a63 --- /dev/null +++ b/lib/kombo_client/models/get_hris_job_positions_positive_response.rb @@ -0,0 +1,214 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.17.0 + +=end + +require 'date' +require 'time' + +module Kombo + class GetHrisJobPositionsPositiveResponse < ApiModelBase + attr_accessor :status + + attr_accessor :data + + class EnumAttributeValidator + attr_reader :datatype + attr_reader :allowable_values + + def initialize(datatype, allowable_values) + @allowable_values = allowable_values.map do |value| + case datatype.to_s + when /Integer/i + value.to_i + when /Float/i + value.to_f + else + value + end + end + end + + def valid?(value) + !value || allowable_values.include?(value) + end + end + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'status' => :'status', + :'data' => :'data' + } + end + + # Returns attribute mapping this model knows about + def self.acceptable_attribute_map + attribute_map + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + acceptable_attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'status' => :'String', + :'data' => :'GetHrisJobPositionsPositiveResponseData' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Kombo::GetHrisJobPositionsPositiveResponse` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + acceptable_attribute_map = self.class.acceptable_attribute_map + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!acceptable_attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Kombo::GetHrisJobPositionsPositiveResponse`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'status') + self.status = attributes[:'status'] + else + self.status = nil + end + + if attributes.key?(:'data') + self.data = attributes[:'data'] + else + self.data = nil + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + warn '[DEPRECATED] the `list_invalid_properties` method is obsolete' + invalid_properties = Array.new + if @status.nil? + invalid_properties.push('invalid value for "status", status cannot be nil.') + end + + if @data.nil? + invalid_properties.push('invalid value for "data", data cannot be nil.') + end + + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + warn '[DEPRECATED] the `valid?` method is obsolete' + return false if @status.nil? + status_validator = EnumAttributeValidator.new('String', ["success"]) + return false unless status_validator.valid?(@status) + return false if @data.nil? + true + end + + # Custom attribute writer method checking allowed values (enum). + # @param [Object] status Object to be assigned + def status=(status) + validator = EnumAttributeValidator.new('String', ["success"]) + unless validator.valid?(status) + fail ArgumentError, "invalid value for \"status\", must be one of #{validator.allowable_values}." + end + @status = status + end + + # Custom attribute writer method with validation + # @param [Object] data Value to be assigned + def data=(data) + if data.nil? + fail ArgumentError, 'data cannot be nil' + end + + @data = data + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + status == o.status && + data == o.data + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [status, data].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + transformed_hash = {} + openapi_types.each_pair do |key, type| + if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = nil + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[attribute_map[key]].is_a?(Array) + transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) } + end + elsif !attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]]) + end + end + new(transformed_hash) + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + end + +end diff --git a/lib/kombo_client/models/get_hris_job_positions_positive_response_data.rb b/lib/kombo_client/models/get_hris_job_positions_positive_response_data.rb new file mode 100644 index 0000000..9a318c2 --- /dev/null +++ b/lib/kombo_client/models/get_hris_job_positions_positive_response_data.rb @@ -0,0 +1,179 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.17.0 + +=end + +require 'date' +require 'time' + +module Kombo + class GetHrisJobPositionsPositiveResponseData < ApiModelBase + # 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. + attr_accessor :_next + + attr_accessor :results + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'_next' => :'next', + :'results' => :'results' + } + end + + # Returns attribute mapping this model knows about + def self.acceptable_attribute_map + attribute_map + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + acceptable_attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'_next' => :'String', + :'results' => :'Array' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + :'_next', + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Kombo::GetHrisJobPositionsPositiveResponseData` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + acceptable_attribute_map = self.class.acceptable_attribute_map + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!acceptable_attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Kombo::GetHrisJobPositionsPositiveResponseData`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'_next') + self._next = attributes[:'_next'] + else + self._next = nil + end + + if attributes.key?(:'results') + if (value = attributes[:'results']).is_a?(Array) + self.results = value + end + else + self.results = nil + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + warn '[DEPRECATED] the `list_invalid_properties` method is obsolete' + invalid_properties = Array.new + if @results.nil? + invalid_properties.push('invalid value for "results", results cannot be nil.') + end + + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + warn '[DEPRECATED] the `valid?` method is obsolete' + return false if @results.nil? + true + end + + # Custom attribute writer method with validation + # @param [Object] results Value to be assigned + def results=(results) + if results.nil? + fail ArgumentError, 'results cannot be nil' + end + + @results = results + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + _next == o._next && + results == o.results + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [_next, results].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + transformed_hash = {} + openapi_types.each_pair do |key, type| + if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = nil + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[attribute_map[key]].is_a?(Array) + transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) } + end + elsif !attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]]) + end + end + new(transformed_hash) + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + end + +end diff --git a/lib/kombo_client/models/get_hris_job_positions_positive_response_data_results_inner.rb b/lib/kombo_client/models/get_hris_job_positions_positive_response_data_results_inner.rb new file mode 100644 index 0000000..59ae71d --- /dev/null +++ b/lib/kombo_client/models/get_hris_job_positions_positive_response_data_results_inner.rb @@ -0,0 +1,369 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.17.0 + +=end + +require 'date' +require 'time' + +module Kombo + class GetHrisJobPositionsPositiveResponseDataResultsInner < ApiModelBase + # The globally unique ID of this object generated by Kombo. We recommend using this as a stable primary key for syncing. + attr_accessor :id + + # 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. + attr_accessor :remote_id + + # The name of the job position + attr_accessor :name + + # The description of the job position + attr_accessor :description + + # The ID of the legal entity + attr_accessor :legal_entity_id + + # The ID of the location + attr_accessor :location_id + + # The ID of the department + attr_accessor :department_id + + # The IDs of the groups associated with this position + attr_accessor :group_ids + + # The ID of the parent job position + attr_accessor :parent_position_id + + # The skills associated with this position + attr_accessor :skills + + # 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. + attr_accessor :remote_data + + # 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. + attr_accessor :changed_at + + # 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. + attr_accessor :remote_deleted_at + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'id' => :'id', + :'remote_id' => :'remote_id', + :'name' => :'name', + :'description' => :'description', + :'legal_entity_id' => :'legal_entity_id', + :'location_id' => :'location_id', + :'department_id' => :'department_id', + :'group_ids' => :'group_ids', + :'parent_position_id' => :'parent_position_id', + :'skills' => :'skills', + :'remote_data' => :'remote_data', + :'changed_at' => :'changed_at', + :'remote_deleted_at' => :'remote_deleted_at' + } + end + + # Returns attribute mapping this model knows about + def self.acceptable_attribute_map + attribute_map + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + acceptable_attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'id' => :'String', + :'remote_id' => :'String', + :'name' => :'String', + :'description' => :'String', + :'legal_entity_id' => :'String', + :'location_id' => :'String', + :'department_id' => :'String', + :'group_ids' => :'Array', + :'parent_position_id' => :'String', + :'skills' => :'Array', + :'remote_data' => :'Hash', + :'changed_at' => :'Time', + :'remote_deleted_at' => :'Time' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + :'name', + :'description', + :'legal_entity_id', + :'location_id', + :'department_id', + :'parent_position_id', + :'skills', + :'remote_data', + :'remote_deleted_at' + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Kombo::GetHrisJobPositionsPositiveResponseDataResultsInner` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + acceptable_attribute_map = self.class.acceptable_attribute_map + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!acceptable_attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Kombo::GetHrisJobPositionsPositiveResponseDataResultsInner`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'id') + self.id = attributes[:'id'] + else + self.id = nil + end + + if attributes.key?(:'remote_id') + self.remote_id = attributes[:'remote_id'] + else + self.remote_id = nil + end + + if attributes.key?(:'name') + self.name = attributes[:'name'] + else + self.name = nil + end + + if attributes.key?(:'description') + self.description = attributes[:'description'] + else + self.description = nil + end + + if attributes.key?(:'legal_entity_id') + self.legal_entity_id = attributes[:'legal_entity_id'] + else + self.legal_entity_id = nil + end + + if attributes.key?(:'location_id') + self.location_id = attributes[:'location_id'] + else + self.location_id = nil + end + + if attributes.key?(:'department_id') + self.department_id = attributes[:'department_id'] + else + self.department_id = nil + end + + if attributes.key?(:'group_ids') + if (value = attributes[:'group_ids']).is_a?(Array) + self.group_ids = value + end + else + self.group_ids = nil + end + + if attributes.key?(:'parent_position_id') + self.parent_position_id = attributes[:'parent_position_id'] + else + self.parent_position_id = nil + end + + if attributes.key?(:'skills') + if (value = attributes[:'skills']).is_a?(Array) + self.skills = value + end + else + self.skills = nil + end + + if attributes.key?(:'remote_data') + if (value = attributes[:'remote_data']).is_a?(Hash) + self.remote_data = value + end + else + self.remote_data = nil + end + + if attributes.key?(:'changed_at') + self.changed_at = attributes[:'changed_at'] + else + self.changed_at = nil + end + + if attributes.key?(:'remote_deleted_at') + self.remote_deleted_at = attributes[:'remote_deleted_at'] + else + self.remote_deleted_at = nil + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + warn '[DEPRECATED] the `list_invalid_properties` method is obsolete' + invalid_properties = Array.new + if @id.nil? + invalid_properties.push('invalid value for "id", id cannot be nil.') + end + + if @remote_id.nil? + invalid_properties.push('invalid value for "remote_id", remote_id cannot be nil.') + end + + if @group_ids.nil? + invalid_properties.push('invalid value for "group_ids", group_ids cannot be nil.') + end + + if @changed_at.nil? + invalid_properties.push('invalid value for "changed_at", changed_at cannot be nil.') + end + + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + warn '[DEPRECATED] the `valid?` method is obsolete' + return false if @id.nil? + return false if @remote_id.nil? + return false if @group_ids.nil? + return false if @changed_at.nil? + true + end + + # Custom attribute writer method with validation + # @param [Object] id Value to be assigned + def id=(id) + if id.nil? + fail ArgumentError, 'id cannot be nil' + end + + @id = id + end + + # Custom attribute writer method with validation + # @param [Object] remote_id Value to be assigned + def remote_id=(remote_id) + if remote_id.nil? + fail ArgumentError, 'remote_id cannot be nil' + end + + @remote_id = remote_id + end + + # Custom attribute writer method with validation + # @param [Object] group_ids Value to be assigned + def group_ids=(group_ids) + if group_ids.nil? + fail ArgumentError, 'group_ids cannot be nil' + end + + @group_ids = group_ids + end + + # Custom attribute writer method with validation + # @param [Object] changed_at Value to be assigned + def changed_at=(changed_at) + if changed_at.nil? + fail ArgumentError, 'changed_at cannot be nil' + end + + @changed_at = changed_at + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + id == o.id && + remote_id == o.remote_id && + name == o.name && + description == o.description && + legal_entity_id == o.legal_entity_id && + location_id == o.location_id && + department_id == o.department_id && + group_ids == o.group_ids && + parent_position_id == o.parent_position_id && + skills == o.skills && + remote_data == o.remote_data && + changed_at == o.changed_at && + remote_deleted_at == o.remote_deleted_at + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [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].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + transformed_hash = {} + openapi_types.each_pair do |key, type| + if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = nil + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[attribute_map[key]].is_a?(Array) + transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) } + end + elsif !attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]]) + end + end + new(transformed_hash) + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + end + +end diff --git a/lib/kombo_client/models/get_hris_job_positions_positive_response_data_results_inner_skills_inner.rb b/lib/kombo_client/models/get_hris_job_positions_positive_response_data_results_inner_skills_inner.rb new file mode 100644 index 0000000..2cf9227 --- /dev/null +++ b/lib/kombo_client/models/get_hris_job_positions_positive_response_data_results_inner_skills_inner.rb @@ -0,0 +1,245 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.17.0 + +=end + +require 'date' +require 'time' + +module Kombo + class GetHrisJobPositionsPositiveResponseDataResultsInnerSkillsInner < ApiModelBase + # The ID of the skill. + attr_accessor :id + + # The remote ID of the skill. + attr_accessor :remote_id + + # The name of the skill. + attr_accessor :name + + # Whether this skill is required or optional for this position. + attr_accessor :required + + # The required skill level for this position. + attr_accessor :required_level + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'id' => :'id', + :'remote_id' => :'remote_id', + :'name' => :'name', + :'required' => :'required', + :'required_level' => :'required_level' + } + end + + # Returns attribute mapping this model knows about + def self.acceptable_attribute_map + attribute_map + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + acceptable_attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'id' => :'String', + :'remote_id' => :'String', + :'name' => :'String', + :'required' => :'Boolean', + :'required_level' => :'String' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + :'required', + :'required_level' + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Kombo::GetHrisJobPositionsPositiveResponseDataResultsInnerSkillsInner` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + acceptable_attribute_map = self.class.acceptable_attribute_map + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!acceptable_attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Kombo::GetHrisJobPositionsPositiveResponseDataResultsInnerSkillsInner`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'id') + self.id = attributes[:'id'] + else + self.id = nil + end + + if attributes.key?(:'remote_id') + self.remote_id = attributes[:'remote_id'] + else + self.remote_id = nil + end + + if attributes.key?(:'name') + self.name = attributes[:'name'] + else + self.name = nil + end + + if attributes.key?(:'required') + self.required = attributes[:'required'] + else + self.required = nil + end + + if attributes.key?(:'required_level') + self.required_level = attributes[:'required_level'] + else + self.required_level = nil + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + warn '[DEPRECATED] the `list_invalid_properties` method is obsolete' + invalid_properties = Array.new + if @id.nil? + invalid_properties.push('invalid value for "id", id cannot be nil.') + end + + if @remote_id.nil? + invalid_properties.push('invalid value for "remote_id", remote_id cannot be nil.') + end + + if @name.nil? + invalid_properties.push('invalid value for "name", name cannot be nil.') + end + + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + warn '[DEPRECATED] the `valid?` method is obsolete' + return false if @id.nil? + return false if @remote_id.nil? + return false if @name.nil? + true + end + + # Custom attribute writer method with validation + # @param [Object] id Value to be assigned + def id=(id) + if id.nil? + fail ArgumentError, 'id cannot be nil' + end + + @id = id + end + + # Custom attribute writer method with validation + # @param [Object] remote_id Value to be assigned + def remote_id=(remote_id) + if remote_id.nil? + fail ArgumentError, 'remote_id cannot be nil' + end + + @remote_id = remote_id + end + + # Custom attribute writer method with validation + # @param [Object] name Value to be assigned + def name=(name) + if name.nil? + fail ArgumentError, 'name cannot be nil' + end + + @name = name + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + id == o.id && + remote_id == o.remote_id && + name == o.name && + required == o.required && + required_level == o.required_level + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [id, remote_id, name, required, required_level].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + transformed_hash = {} + openapi_types.each_pair do |key, type| + if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = nil + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[attribute_map[key]].is_a?(Array) + transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) } + end + elsif !attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]]) + end + end + new(transformed_hash) + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + end + +end diff --git a/lib/kombo_client/models/get_hris_legal_entities_parameter_include_deleted.rb b/lib/kombo_client/models/get_hris_legal_entities_parameter_include_deleted.rb new file mode 100644 index 0000000..fb6649d --- /dev/null +++ b/lib/kombo_client/models/get_hris_legal_entities_parameter_include_deleted.rb @@ -0,0 +1,40 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.17.0 + +=end + +require 'date' +require 'time' + +module Kombo + class GetHrisLegalEntitiesParameterIncludeDeleted + TRUE = "true".freeze + FALSE = "false".freeze + + def self.all_vars + @all_vars ||= [TRUE, FALSE].freeze + end + + # Builds the enum from string + # @param [String] The enum value in the form of the string + # @return [String] The enum value + def self.build_from_hash(value) + new.build_from_hash(value) + end + + # Builds the enum from string + # @param [String] The enum value in the form of the string + # @return [String] The enum value + def build_from_hash(value) + return value if GetHrisLegalEntitiesParameterIncludeDeleted.all_vars.include?(value) + raise "Invalid ENUM value #{value} for class #GetHrisLegalEntitiesParameterIncludeDeleted" + end + end +end diff --git a/lib/kombo_client/models/get_hris_legal_entities_positive_response.rb b/lib/kombo_client/models/get_hris_legal_entities_positive_response.rb new file mode 100644 index 0000000..5750d0b --- /dev/null +++ b/lib/kombo_client/models/get_hris_legal_entities_positive_response.rb @@ -0,0 +1,214 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.17.0 + +=end + +require 'date' +require 'time' + +module Kombo + class GetHrisLegalEntitiesPositiveResponse < ApiModelBase + attr_accessor :status + + attr_accessor :data + + class EnumAttributeValidator + attr_reader :datatype + attr_reader :allowable_values + + def initialize(datatype, allowable_values) + @allowable_values = allowable_values.map do |value| + case datatype.to_s + when /Integer/i + value.to_i + when /Float/i + value.to_f + else + value + end + end + end + + def valid?(value) + !value || allowable_values.include?(value) + end + end + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'status' => :'status', + :'data' => :'data' + } + end + + # Returns attribute mapping this model knows about + def self.acceptable_attribute_map + attribute_map + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + acceptable_attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'status' => :'String', + :'data' => :'GetHrisLegalEntitiesPositiveResponseData' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Kombo::GetHrisLegalEntitiesPositiveResponse` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + acceptable_attribute_map = self.class.acceptable_attribute_map + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!acceptable_attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Kombo::GetHrisLegalEntitiesPositiveResponse`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'status') + self.status = attributes[:'status'] + else + self.status = nil + end + + if attributes.key?(:'data') + self.data = attributes[:'data'] + else + self.data = nil + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + warn '[DEPRECATED] the `list_invalid_properties` method is obsolete' + invalid_properties = Array.new + if @status.nil? + invalid_properties.push('invalid value for "status", status cannot be nil.') + end + + if @data.nil? + invalid_properties.push('invalid value for "data", data cannot be nil.') + end + + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + warn '[DEPRECATED] the `valid?` method is obsolete' + return false if @status.nil? + status_validator = EnumAttributeValidator.new('String', ["success"]) + return false unless status_validator.valid?(@status) + return false if @data.nil? + true + end + + # Custom attribute writer method checking allowed values (enum). + # @param [Object] status Object to be assigned + def status=(status) + validator = EnumAttributeValidator.new('String', ["success"]) + unless validator.valid?(status) + fail ArgumentError, "invalid value for \"status\", must be one of #{validator.allowable_values}." + end + @status = status + end + + # Custom attribute writer method with validation + # @param [Object] data Value to be assigned + def data=(data) + if data.nil? + fail ArgumentError, 'data cannot be nil' + end + + @data = data + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + status == o.status && + data == o.data + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [status, data].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + transformed_hash = {} + openapi_types.each_pair do |key, type| + if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = nil + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[attribute_map[key]].is_a?(Array) + transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) } + end + elsif !attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]]) + end + end + new(transformed_hash) + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + end + +end diff --git a/lib/kombo_client/models/get_hris_legal_entities_positive_response_data.rb b/lib/kombo_client/models/get_hris_legal_entities_positive_response_data.rb new file mode 100644 index 0000000..0f2c54e --- /dev/null +++ b/lib/kombo_client/models/get_hris_legal_entities_positive_response_data.rb @@ -0,0 +1,179 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.17.0 + +=end + +require 'date' +require 'time' + +module Kombo + class GetHrisLegalEntitiesPositiveResponseData < ApiModelBase + # 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. + attr_accessor :_next + + attr_accessor :results + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'_next' => :'next', + :'results' => :'results' + } + end + + # Returns attribute mapping this model knows about + def self.acceptable_attribute_map + attribute_map + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + acceptable_attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'_next' => :'String', + :'results' => :'Array' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + :'_next', + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Kombo::GetHrisLegalEntitiesPositiveResponseData` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + acceptable_attribute_map = self.class.acceptable_attribute_map + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!acceptable_attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Kombo::GetHrisLegalEntitiesPositiveResponseData`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'_next') + self._next = attributes[:'_next'] + else + self._next = nil + end + + if attributes.key?(:'results') + if (value = attributes[:'results']).is_a?(Array) + self.results = value + end + else + self.results = nil + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + warn '[DEPRECATED] the `list_invalid_properties` method is obsolete' + invalid_properties = Array.new + if @results.nil? + invalid_properties.push('invalid value for "results", results cannot be nil.') + end + + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + warn '[DEPRECATED] the `valid?` method is obsolete' + return false if @results.nil? + true + end + + # Custom attribute writer method with validation + # @param [Object] results Value to be assigned + def results=(results) + if results.nil? + fail ArgumentError, 'results cannot be nil' + end + + @results = results + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + _next == o._next && + results == o.results + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [_next, results].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + transformed_hash = {} + openapi_types.each_pair do |key, type| + if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = nil + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[attribute_map[key]].is_a?(Array) + transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) } + end + elsif !attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]]) + end + end + new(transformed_hash) + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + end + +end diff --git a/lib/kombo_client/models/get_hris_legal_entities_positive_response_data_results_inner.rb b/lib/kombo_client/models/get_hris_legal_entities_positive_response_data_results_inner.rb new file mode 100644 index 0000000..479f9d1 --- /dev/null +++ b/lib/kombo_client/models/get_hris_legal_entities_positive_response_data_results_inner.rb @@ -0,0 +1,255 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.17.0 + +=end + +require 'date' +require 'time' + +module Kombo + class GetHrisLegalEntitiesPositiveResponseDataResultsInner < ApiModelBase + # The globally unique ID of this object generated by Kombo. We recommend using this as a stable primary key for syncing. + attr_accessor :id + + # 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. + attr_accessor :remote_id + + # The legal entity’s name. + attr_accessor :name + + attr_accessor :address + + # 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. + attr_accessor :changed_at + + # 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. + attr_accessor :remote_deleted_at + + # 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. + attr_accessor :remote_data + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'id' => :'id', + :'remote_id' => :'remote_id', + :'name' => :'name', + :'address' => :'address', + :'changed_at' => :'changed_at', + :'remote_deleted_at' => :'remote_deleted_at', + :'remote_data' => :'remote_data' + } + end + + # Returns attribute mapping this model knows about + def self.acceptable_attribute_map + attribute_map + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + acceptable_attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'id' => :'String', + :'remote_id' => :'String', + :'name' => :'String', + :'address' => :'GetHrisEmployeesPositiveResponseDataResultsInnerLegalEntityAddress', + :'changed_at' => :'Time', + :'remote_deleted_at' => :'Time', + :'remote_data' => :'Hash' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + :'remote_id', + :'name', + :'remote_deleted_at', + :'remote_data' + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Kombo::GetHrisLegalEntitiesPositiveResponseDataResultsInner` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + acceptable_attribute_map = self.class.acceptable_attribute_map + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!acceptable_attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Kombo::GetHrisLegalEntitiesPositiveResponseDataResultsInner`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'id') + self.id = attributes[:'id'] + else + self.id = nil + end + + if attributes.key?(:'remote_id') + self.remote_id = attributes[:'remote_id'] + else + self.remote_id = nil + end + + if attributes.key?(:'name') + self.name = attributes[:'name'] + else + self.name = nil + end + + if attributes.key?(:'address') + self.address = attributes[:'address'] + end + + if attributes.key?(:'changed_at') + self.changed_at = attributes[:'changed_at'] + else + self.changed_at = nil + end + + if attributes.key?(:'remote_deleted_at') + self.remote_deleted_at = attributes[:'remote_deleted_at'] + else + self.remote_deleted_at = nil + end + + if attributes.key?(:'remote_data') + if (value = attributes[:'remote_data']).is_a?(Hash) + self.remote_data = value + end + else + self.remote_data = nil + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + warn '[DEPRECATED] the `list_invalid_properties` method is obsolete' + invalid_properties = Array.new + if @id.nil? + invalid_properties.push('invalid value for "id", id cannot be nil.') + end + + if @changed_at.nil? + invalid_properties.push('invalid value for "changed_at", changed_at cannot be nil.') + end + + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + warn '[DEPRECATED] the `valid?` method is obsolete' + return false if @id.nil? + return false if @changed_at.nil? + true + end + + # Custom attribute writer method with validation + # @param [Object] id Value to be assigned + def id=(id) + if id.nil? + fail ArgumentError, 'id cannot be nil' + end + + @id = id + end + + # Custom attribute writer method with validation + # @param [Object] changed_at Value to be assigned + def changed_at=(changed_at) + if changed_at.nil? + fail ArgumentError, 'changed_at cannot be nil' + end + + @changed_at = changed_at + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + id == o.id && + remote_id == o.remote_id && + name == o.name && + address == o.address && + changed_at == o.changed_at && + remote_deleted_at == o.remote_deleted_at && + remote_data == o.remote_data + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [id, remote_id, name, address, changed_at, remote_deleted_at, remote_data].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + transformed_hash = {} + openapi_types.each_pair do |key, type| + if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = nil + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[attribute_map[key]].is_a?(Array) + transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) } + end + elsif !attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]]) + end + end + new(transformed_hash) + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + end + +end diff --git a/lib/kombo_client/models/get_hris_locations_parameter_include_deleted.rb b/lib/kombo_client/models/get_hris_locations_parameter_include_deleted.rb new file mode 100644 index 0000000..8be0be2 --- /dev/null +++ b/lib/kombo_client/models/get_hris_locations_parameter_include_deleted.rb @@ -0,0 +1,40 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.17.0 + +=end + +require 'date' +require 'time' + +module Kombo + class GetHrisLocationsParameterIncludeDeleted + TRUE = "true".freeze + FALSE = "false".freeze + + def self.all_vars + @all_vars ||= [TRUE, FALSE].freeze + end + + # Builds the enum from string + # @param [String] The enum value in the form of the string + # @return [String] The enum value + def self.build_from_hash(value) + new.build_from_hash(value) + end + + # Builds the enum from string + # @param [String] The enum value in the form of the string + # @return [String] The enum value + def build_from_hash(value) + return value if GetHrisLocationsParameterIncludeDeleted.all_vars.include?(value) + raise "Invalid ENUM value #{value} for class #GetHrisLocationsParameterIncludeDeleted" + end + end +end diff --git a/lib/kombo_client/models/get_hris_locations_positive_response.rb b/lib/kombo_client/models/get_hris_locations_positive_response.rb new file mode 100644 index 0000000..e3b4962 --- /dev/null +++ b/lib/kombo_client/models/get_hris_locations_positive_response.rb @@ -0,0 +1,214 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.17.0 + +=end + +require 'date' +require 'time' + +module Kombo + class GetHrisLocationsPositiveResponse < ApiModelBase + attr_accessor :status + + attr_accessor :data + + class EnumAttributeValidator + attr_reader :datatype + attr_reader :allowable_values + + def initialize(datatype, allowable_values) + @allowable_values = allowable_values.map do |value| + case datatype.to_s + when /Integer/i + value.to_i + when /Float/i + value.to_f + else + value + end + end + end + + def valid?(value) + !value || allowable_values.include?(value) + end + end + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'status' => :'status', + :'data' => :'data' + } + end + + # Returns attribute mapping this model knows about + def self.acceptable_attribute_map + attribute_map + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + acceptable_attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'status' => :'String', + :'data' => :'GetHrisLocationsPositiveResponseData' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Kombo::GetHrisLocationsPositiveResponse` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + acceptable_attribute_map = self.class.acceptable_attribute_map + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!acceptable_attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Kombo::GetHrisLocationsPositiveResponse`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'status') + self.status = attributes[:'status'] + else + self.status = nil + end + + if attributes.key?(:'data') + self.data = attributes[:'data'] + else + self.data = nil + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + warn '[DEPRECATED] the `list_invalid_properties` method is obsolete' + invalid_properties = Array.new + if @status.nil? + invalid_properties.push('invalid value for "status", status cannot be nil.') + end + + if @data.nil? + invalid_properties.push('invalid value for "data", data cannot be nil.') + end + + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + warn '[DEPRECATED] the `valid?` method is obsolete' + return false if @status.nil? + status_validator = EnumAttributeValidator.new('String', ["success"]) + return false unless status_validator.valid?(@status) + return false if @data.nil? + true + end + + # Custom attribute writer method checking allowed values (enum). + # @param [Object] status Object to be assigned + def status=(status) + validator = EnumAttributeValidator.new('String', ["success"]) + unless validator.valid?(status) + fail ArgumentError, "invalid value for \"status\", must be one of #{validator.allowable_values}." + end + @status = status + end + + # Custom attribute writer method with validation + # @param [Object] data Value to be assigned + def data=(data) + if data.nil? + fail ArgumentError, 'data cannot be nil' + end + + @data = data + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + status == o.status && + data == o.data + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [status, data].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + transformed_hash = {} + openapi_types.each_pair do |key, type| + if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = nil + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[attribute_map[key]].is_a?(Array) + transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) } + end + elsif !attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]]) + end + end + new(transformed_hash) + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + end + +end diff --git a/lib/kombo_client/models/get_hris_locations_positive_response_data.rb b/lib/kombo_client/models/get_hris_locations_positive_response_data.rb new file mode 100644 index 0000000..c76e6fa --- /dev/null +++ b/lib/kombo_client/models/get_hris_locations_positive_response_data.rb @@ -0,0 +1,179 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.17.0 + +=end + +require 'date' +require 'time' + +module Kombo + class GetHrisLocationsPositiveResponseData < ApiModelBase + # 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. + attr_accessor :_next + + attr_accessor :results + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'_next' => :'next', + :'results' => :'results' + } + end + + # Returns attribute mapping this model knows about + def self.acceptable_attribute_map + attribute_map + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + acceptable_attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'_next' => :'String', + :'results' => :'Array' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + :'_next', + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Kombo::GetHrisLocationsPositiveResponseData` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + acceptable_attribute_map = self.class.acceptable_attribute_map + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!acceptable_attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Kombo::GetHrisLocationsPositiveResponseData`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'_next') + self._next = attributes[:'_next'] + else + self._next = nil + end + + if attributes.key?(:'results') + if (value = attributes[:'results']).is_a?(Array) + self.results = value + end + else + self.results = nil + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + warn '[DEPRECATED] the `list_invalid_properties` method is obsolete' + invalid_properties = Array.new + if @results.nil? + invalid_properties.push('invalid value for "results", results cannot be nil.') + end + + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + warn '[DEPRECATED] the `valid?` method is obsolete' + return false if @results.nil? + true + end + + # Custom attribute writer method with validation + # @param [Object] results Value to be assigned + def results=(results) + if results.nil? + fail ArgumentError, 'results cannot be nil' + end + + @results = results + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + _next == o._next && + results == o.results + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [_next, results].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + transformed_hash = {} + openapi_types.each_pair do |key, type| + if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = nil + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[attribute_map[key]].is_a?(Array) + transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) } + end + elsif !attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]]) + end + end + new(transformed_hash) + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + end + +end diff --git a/lib/kombo_client/models/get_hris_performance_review_cycles_parameter_include_deleted.rb b/lib/kombo_client/models/get_hris_performance_review_cycles_parameter_include_deleted.rb new file mode 100644 index 0000000..0ea1e35 --- /dev/null +++ b/lib/kombo_client/models/get_hris_performance_review_cycles_parameter_include_deleted.rb @@ -0,0 +1,40 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.17.0 + +=end + +require 'date' +require 'time' + +module Kombo + class GetHrisPerformanceReviewCyclesParameterIncludeDeleted + TRUE = "true".freeze + FALSE = "false".freeze + + def self.all_vars + @all_vars ||= [TRUE, FALSE].freeze + end + + # Builds the enum from string + # @param [String] The enum value in the form of the string + # @return [String] The enum value + def self.build_from_hash(value) + new.build_from_hash(value) + end + + # Builds the enum from string + # @param [String] The enum value in the form of the string + # @return [String] The enum value + def build_from_hash(value) + return value if GetHrisPerformanceReviewCyclesParameterIncludeDeleted.all_vars.include?(value) + raise "Invalid ENUM value #{value} for class #GetHrisPerformanceReviewCyclesParameterIncludeDeleted" + end + end +end diff --git a/lib/kombo_client/models/get_hris_performance_review_cycles_positive_response.rb b/lib/kombo_client/models/get_hris_performance_review_cycles_positive_response.rb new file mode 100644 index 0000000..2766395 --- /dev/null +++ b/lib/kombo_client/models/get_hris_performance_review_cycles_positive_response.rb @@ -0,0 +1,214 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.17.0 + +=end + +require 'date' +require 'time' + +module Kombo + class GetHrisPerformanceReviewCyclesPositiveResponse < ApiModelBase + attr_accessor :status + + attr_accessor :data + + class EnumAttributeValidator + attr_reader :datatype + attr_reader :allowable_values + + def initialize(datatype, allowable_values) + @allowable_values = allowable_values.map do |value| + case datatype.to_s + when /Integer/i + value.to_i + when /Float/i + value.to_f + else + value + end + end + end + + def valid?(value) + !value || allowable_values.include?(value) + end + end + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'status' => :'status', + :'data' => :'data' + } + end + + # Returns attribute mapping this model knows about + def self.acceptable_attribute_map + attribute_map + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + acceptable_attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'status' => :'String', + :'data' => :'GetHrisPerformanceReviewCyclesPositiveResponseData' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Kombo::GetHrisPerformanceReviewCyclesPositiveResponse` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + acceptable_attribute_map = self.class.acceptable_attribute_map + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!acceptable_attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Kombo::GetHrisPerformanceReviewCyclesPositiveResponse`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'status') + self.status = attributes[:'status'] + else + self.status = nil + end + + if attributes.key?(:'data') + self.data = attributes[:'data'] + else + self.data = nil + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + warn '[DEPRECATED] the `list_invalid_properties` method is obsolete' + invalid_properties = Array.new + if @status.nil? + invalid_properties.push('invalid value for "status", status cannot be nil.') + end + + if @data.nil? + invalid_properties.push('invalid value for "data", data cannot be nil.') + end + + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + warn '[DEPRECATED] the `valid?` method is obsolete' + return false if @status.nil? + status_validator = EnumAttributeValidator.new('String', ["success"]) + return false unless status_validator.valid?(@status) + return false if @data.nil? + true + end + + # Custom attribute writer method checking allowed values (enum). + # @param [Object] status Object to be assigned + def status=(status) + validator = EnumAttributeValidator.new('String', ["success"]) + unless validator.valid?(status) + fail ArgumentError, "invalid value for \"status\", must be one of #{validator.allowable_values}." + end + @status = status + end + + # Custom attribute writer method with validation + # @param [Object] data Value to be assigned + def data=(data) + if data.nil? + fail ArgumentError, 'data cannot be nil' + end + + @data = data + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + status == o.status && + data == o.data + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [status, data].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + transformed_hash = {} + openapi_types.each_pair do |key, type| + if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = nil + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[attribute_map[key]].is_a?(Array) + transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) } + end + elsif !attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]]) + end + end + new(transformed_hash) + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + end + +end diff --git a/lib/kombo_client/models/get_hris_performance_review_cycles_positive_response_data.rb b/lib/kombo_client/models/get_hris_performance_review_cycles_positive_response_data.rb new file mode 100644 index 0000000..2bc5bf2 --- /dev/null +++ b/lib/kombo_client/models/get_hris_performance_review_cycles_positive_response_data.rb @@ -0,0 +1,179 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.17.0 + +=end + +require 'date' +require 'time' + +module Kombo + class GetHrisPerformanceReviewCyclesPositiveResponseData < ApiModelBase + # 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. + attr_accessor :_next + + attr_accessor :results + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'_next' => :'next', + :'results' => :'results' + } + end + + # Returns attribute mapping this model knows about + def self.acceptable_attribute_map + attribute_map + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + acceptable_attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'_next' => :'String', + :'results' => :'Array' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + :'_next', + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Kombo::GetHrisPerformanceReviewCyclesPositiveResponseData` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + acceptable_attribute_map = self.class.acceptable_attribute_map + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!acceptable_attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Kombo::GetHrisPerformanceReviewCyclesPositiveResponseData`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'_next') + self._next = attributes[:'_next'] + else + self._next = nil + end + + if attributes.key?(:'results') + if (value = attributes[:'results']).is_a?(Array) + self.results = value + end + else + self.results = nil + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + warn '[DEPRECATED] the `list_invalid_properties` method is obsolete' + invalid_properties = Array.new + if @results.nil? + invalid_properties.push('invalid value for "results", results cannot be nil.') + end + + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + warn '[DEPRECATED] the `valid?` method is obsolete' + return false if @results.nil? + true + end + + # Custom attribute writer method with validation + # @param [Object] results Value to be assigned + def results=(results) + if results.nil? + fail ArgumentError, 'results cannot be nil' + end + + @results = results + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + _next == o._next && + results == o.results + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [_next, results].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + transformed_hash = {} + openapi_types.each_pair do |key, type| + if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = nil + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[attribute_map[key]].is_a?(Array) + transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) } + end + elsif !attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]]) + end + end + new(transformed_hash) + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + end + +end diff --git a/lib/kombo_client/models/get_hris_performance_review_cycles_positive_response_data_results_inner.rb b/lib/kombo_client/models/get_hris_performance_review_cycles_positive_response_data_results_inner.rb new file mode 100644 index 0000000..a2ef87b --- /dev/null +++ b/lib/kombo_client/models/get_hris_performance_review_cycles_positive_response_data_results_inner.rb @@ -0,0 +1,273 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.17.0 + +=end + +require 'date' +require 'time' + +module Kombo + class GetHrisPerformanceReviewCyclesPositiveResponseDataResultsInner < ApiModelBase + # The globally unique ID of this object generated by Kombo. We recommend using this as a stable primary key for syncing. + attr_accessor :id + + # 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. + attr_accessor :remote_id + + # The name of the performance review cycle. + attr_accessor :name + + # 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. + attr_accessor :review_period_start_date + + # 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. + attr_accessor :changed_at + + # 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. + attr_accessor :remote_deleted_at + + # 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. + attr_accessor :remote_data + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'id' => :'id', + :'remote_id' => :'remote_id', + :'name' => :'name', + :'review_period_start_date' => :'review_period_start_date', + :'changed_at' => :'changed_at', + :'remote_deleted_at' => :'remote_deleted_at', + :'remote_data' => :'remote_data' + } + end + + # Returns attribute mapping this model knows about + def self.acceptable_attribute_map + attribute_map + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + acceptable_attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'id' => :'String', + :'remote_id' => :'String', + :'name' => :'String', + :'review_period_start_date' => :'Time', + :'changed_at' => :'Time', + :'remote_deleted_at' => :'Time', + :'remote_data' => :'Hash' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + :'name', + :'review_period_start_date', + :'remote_deleted_at', + :'remote_data' + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Kombo::GetHrisPerformanceReviewCyclesPositiveResponseDataResultsInner` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + acceptable_attribute_map = self.class.acceptable_attribute_map + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!acceptable_attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Kombo::GetHrisPerformanceReviewCyclesPositiveResponseDataResultsInner`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'id') + self.id = attributes[:'id'] + else + self.id = nil + end + + if attributes.key?(:'remote_id') + self.remote_id = attributes[:'remote_id'] + else + self.remote_id = nil + end + + if attributes.key?(:'name') + self.name = attributes[:'name'] + else + self.name = nil + end + + if attributes.key?(:'review_period_start_date') + self.review_period_start_date = attributes[:'review_period_start_date'] + else + self.review_period_start_date = nil + end + + if attributes.key?(:'changed_at') + self.changed_at = attributes[:'changed_at'] + else + self.changed_at = nil + end + + if attributes.key?(:'remote_deleted_at') + self.remote_deleted_at = attributes[:'remote_deleted_at'] + else + self.remote_deleted_at = nil + end + + if attributes.key?(:'remote_data') + if (value = attributes[:'remote_data']).is_a?(Hash) + self.remote_data = value + end + else + self.remote_data = nil + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + warn '[DEPRECATED] the `list_invalid_properties` method is obsolete' + invalid_properties = Array.new + if @id.nil? + invalid_properties.push('invalid value for "id", id cannot be nil.') + end + + if @remote_id.nil? + invalid_properties.push('invalid value for "remote_id", remote_id cannot be nil.') + end + + if @changed_at.nil? + invalid_properties.push('invalid value for "changed_at", changed_at cannot be nil.') + end + + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + warn '[DEPRECATED] the `valid?` method is obsolete' + return false if @id.nil? + return false if @remote_id.nil? + return false if @changed_at.nil? + true + end + + # Custom attribute writer method with validation + # @param [Object] id Value to be assigned + def id=(id) + if id.nil? + fail ArgumentError, 'id cannot be nil' + end + + @id = id + end + + # Custom attribute writer method with validation + # @param [Object] remote_id Value to be assigned + def remote_id=(remote_id) + if remote_id.nil? + fail ArgumentError, 'remote_id cannot be nil' + end + + @remote_id = remote_id + end + + # Custom attribute writer method with validation + # @param [Object] changed_at Value to be assigned + def changed_at=(changed_at) + if changed_at.nil? + fail ArgumentError, 'changed_at cannot be nil' + end + + @changed_at = changed_at + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + id == o.id && + remote_id == o.remote_id && + name == o.name && + review_period_start_date == o.review_period_start_date && + changed_at == o.changed_at && + remote_deleted_at == o.remote_deleted_at && + remote_data == o.remote_data + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [id, remote_id, name, review_period_start_date, changed_at, remote_deleted_at, remote_data].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + transformed_hash = {} + openapi_types.each_pair do |key, type| + if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = nil + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[attribute_map[key]].is_a?(Array) + transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) } + end + elsif !attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]]) + end + end + new(transformed_hash) + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + end + +end diff --git a/lib/kombo_client/models/get_hris_performance_reviews_parameter_include_deleted.rb b/lib/kombo_client/models/get_hris_performance_reviews_parameter_include_deleted.rb new file mode 100644 index 0000000..5f853f7 --- /dev/null +++ b/lib/kombo_client/models/get_hris_performance_reviews_parameter_include_deleted.rb @@ -0,0 +1,40 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.17.0 + +=end + +require 'date' +require 'time' + +module Kombo + class GetHrisPerformanceReviewsParameterIncludeDeleted + TRUE = "true".freeze + FALSE = "false".freeze + + def self.all_vars + @all_vars ||= [TRUE, FALSE].freeze + end + + # Builds the enum from string + # @param [String] The enum value in the form of the string + # @return [String] The enum value + def self.build_from_hash(value) + new.build_from_hash(value) + end + + # Builds the enum from string + # @param [String] The enum value in the form of the string + # @return [String] The enum value + def build_from_hash(value) + return value if GetHrisPerformanceReviewsParameterIncludeDeleted.all_vars.include?(value) + raise "Invalid ENUM value #{value} for class #GetHrisPerformanceReviewsParameterIncludeDeleted" + end + end +end diff --git a/lib/kombo_client/models/get_hris_performance_reviews_positive_response.rb b/lib/kombo_client/models/get_hris_performance_reviews_positive_response.rb new file mode 100644 index 0000000..9a0e467 --- /dev/null +++ b/lib/kombo_client/models/get_hris_performance_reviews_positive_response.rb @@ -0,0 +1,214 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.17.0 + +=end + +require 'date' +require 'time' + +module Kombo + class GetHrisPerformanceReviewsPositiveResponse < ApiModelBase + attr_accessor :status + + attr_accessor :data + + class EnumAttributeValidator + attr_reader :datatype + attr_reader :allowable_values + + def initialize(datatype, allowable_values) + @allowable_values = allowable_values.map do |value| + case datatype.to_s + when /Integer/i + value.to_i + when /Float/i + value.to_f + else + value + end + end + end + + def valid?(value) + !value || allowable_values.include?(value) + end + end + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'status' => :'status', + :'data' => :'data' + } + end + + # Returns attribute mapping this model knows about + def self.acceptable_attribute_map + attribute_map + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + acceptable_attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'status' => :'String', + :'data' => :'GetHrisPerformanceReviewsPositiveResponseData' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Kombo::GetHrisPerformanceReviewsPositiveResponse` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + acceptable_attribute_map = self.class.acceptable_attribute_map + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!acceptable_attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Kombo::GetHrisPerformanceReviewsPositiveResponse`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'status') + self.status = attributes[:'status'] + else + self.status = nil + end + + if attributes.key?(:'data') + self.data = attributes[:'data'] + else + self.data = nil + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + warn '[DEPRECATED] the `list_invalid_properties` method is obsolete' + invalid_properties = Array.new + if @status.nil? + invalid_properties.push('invalid value for "status", status cannot be nil.') + end + + if @data.nil? + invalid_properties.push('invalid value for "data", data cannot be nil.') + end + + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + warn '[DEPRECATED] the `valid?` method is obsolete' + return false if @status.nil? + status_validator = EnumAttributeValidator.new('String', ["success"]) + return false unless status_validator.valid?(@status) + return false if @data.nil? + true + end + + # Custom attribute writer method checking allowed values (enum). + # @param [Object] status Object to be assigned + def status=(status) + validator = EnumAttributeValidator.new('String', ["success"]) + unless validator.valid?(status) + fail ArgumentError, "invalid value for \"status\", must be one of #{validator.allowable_values}." + end + @status = status + end + + # Custom attribute writer method with validation + # @param [Object] data Value to be assigned + def data=(data) + if data.nil? + fail ArgumentError, 'data cannot be nil' + end + + @data = data + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + status == o.status && + data == o.data + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [status, data].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + transformed_hash = {} + openapi_types.each_pair do |key, type| + if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = nil + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[attribute_map[key]].is_a?(Array) + transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) } + end + elsif !attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]]) + end + end + new(transformed_hash) + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + end + +end diff --git a/lib/kombo_client/models/get_hris_performance_reviews_positive_response_data.rb b/lib/kombo_client/models/get_hris_performance_reviews_positive_response_data.rb new file mode 100644 index 0000000..5fc5c8b --- /dev/null +++ b/lib/kombo_client/models/get_hris_performance_reviews_positive_response_data.rb @@ -0,0 +1,179 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.17.0 + +=end + +require 'date' +require 'time' + +module Kombo + class GetHrisPerformanceReviewsPositiveResponseData < ApiModelBase + # 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. + attr_accessor :_next + + attr_accessor :results + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'_next' => :'next', + :'results' => :'results' + } + end + + # Returns attribute mapping this model knows about + def self.acceptable_attribute_map + attribute_map + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + acceptable_attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'_next' => :'String', + :'results' => :'Array' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + :'_next', + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Kombo::GetHrisPerformanceReviewsPositiveResponseData` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + acceptable_attribute_map = self.class.acceptable_attribute_map + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!acceptable_attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Kombo::GetHrisPerformanceReviewsPositiveResponseData`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'_next') + self._next = attributes[:'_next'] + else + self._next = nil + end + + if attributes.key?(:'results') + if (value = attributes[:'results']).is_a?(Array) + self.results = value + end + else + self.results = nil + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + warn '[DEPRECATED] the `list_invalid_properties` method is obsolete' + invalid_properties = Array.new + if @results.nil? + invalid_properties.push('invalid value for "results", results cannot be nil.') + end + + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + warn '[DEPRECATED] the `valid?` method is obsolete' + return false if @results.nil? + true + end + + # Custom attribute writer method with validation + # @param [Object] results Value to be assigned + def results=(results) + if results.nil? + fail ArgumentError, 'results cannot be nil' + end + + @results = results + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + _next == o._next && + results == o.results + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [_next, results].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + transformed_hash = {} + openapi_types.each_pair do |key, type| + if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = nil + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[attribute_map[key]].is_a?(Array) + transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) } + end + elsif !attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]]) + end + end + new(transformed_hash) + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + end + +end diff --git a/lib/kombo_client/models/get_hris_performance_reviews_positive_response_data_results_inner.rb b/lib/kombo_client/models/get_hris_performance_reviews_positive_response_data_results_inner.rb new file mode 100644 index 0000000..5311570 --- /dev/null +++ b/lib/kombo_client/models/get_hris_performance_reviews_positive_response_data_results_inner.rb @@ -0,0 +1,395 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.17.0 + +=end + +require 'date' +require 'time' + +module Kombo + class GetHrisPerformanceReviewsPositiveResponseDataResultsInner < ApiModelBase + # The globally unique ID of this object generated by Kombo. We recommend using this as a stable primary key for syncing. + attr_accessor :id + + # 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. + attr_accessor :remote_id + + # 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. + attr_accessor :type + + # The summary comment of the performance review. + attr_accessor :summary_comment + + attr_accessor :summary_rating + + # 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. + attr_accessor :changed_at + + # 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. + attr_accessor :remote_deleted_at + + # 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. + attr_accessor :remote_data + + attr_accessor :reviewee + + attr_accessor :reviewer + + attr_accessor :review_cycle + + class EnumAttributeValidator + attr_reader :datatype + attr_reader :allowable_values + + def initialize(datatype, allowable_values) + @allowable_values = allowable_values.map do |value| + case datatype.to_s + when /Integer/i + value.to_i + when /Float/i + value.to_f + else + value + end + end + end + + def valid?(value) + !value || allowable_values.include?(value) + end + end + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'id' => :'id', + :'remote_id' => :'remote_id', + :'type' => :'type', + :'summary_comment' => :'summary_comment', + :'summary_rating' => :'summary_rating', + :'changed_at' => :'changed_at', + :'remote_deleted_at' => :'remote_deleted_at', + :'remote_data' => :'remote_data', + :'reviewee' => :'reviewee', + :'reviewer' => :'reviewer', + :'review_cycle' => :'review_cycle' + } + end + + # Returns attribute mapping this model knows about + def self.acceptable_attribute_map + attribute_map + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + acceptable_attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'id' => :'String', + :'remote_id' => :'String', + :'type' => :'String', + :'summary_comment' => :'String', + :'summary_rating' => :'GetHrisPerformanceReviewsPositiveResponseDataResultsInnerSummaryRating', + :'changed_at' => :'Time', + :'remote_deleted_at' => :'Time', + :'remote_data' => :'Hash', + :'reviewee' => :'GetHrisPerformanceReviewsPositiveResponseDataResultsInnerReviewee', + :'reviewer' => :'GetHrisPerformanceReviewsPositiveResponseDataResultsInnerReviewer', + :'review_cycle' => :'GetHrisPerformanceReviewCyclesPositiveResponseDataResultsInner' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + :'type', + :'summary_comment', + :'summary_rating', + :'remote_deleted_at', + :'remote_data', + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Kombo::GetHrisPerformanceReviewsPositiveResponseDataResultsInner` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + acceptable_attribute_map = self.class.acceptable_attribute_map + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!acceptable_attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Kombo::GetHrisPerformanceReviewsPositiveResponseDataResultsInner`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'id') + self.id = attributes[:'id'] + else + self.id = nil + end + + if attributes.key?(:'remote_id') + self.remote_id = attributes[:'remote_id'] + else + self.remote_id = nil + end + + if attributes.key?(:'type') + self.type = attributes[:'type'] + else + self.type = nil + end + + if attributes.key?(:'summary_comment') + self.summary_comment = attributes[:'summary_comment'] + else + self.summary_comment = nil + end + + if attributes.key?(:'summary_rating') + self.summary_rating = attributes[:'summary_rating'] + end + + if attributes.key?(:'changed_at') + self.changed_at = attributes[:'changed_at'] + else + self.changed_at = nil + end + + if attributes.key?(:'remote_deleted_at') + self.remote_deleted_at = attributes[:'remote_deleted_at'] + else + self.remote_deleted_at = nil + end + + if attributes.key?(:'remote_data') + if (value = attributes[:'remote_data']).is_a?(Hash) + self.remote_data = value + end + else + self.remote_data = nil + end + + if attributes.key?(:'reviewee') + self.reviewee = attributes[:'reviewee'] + else + self.reviewee = nil + end + + if attributes.key?(:'reviewer') + self.reviewer = attributes[:'reviewer'] + else + self.reviewer = nil + end + + if attributes.key?(:'review_cycle') + self.review_cycle = attributes[:'review_cycle'] + else + self.review_cycle = nil + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + warn '[DEPRECATED] the `list_invalid_properties` method is obsolete' + invalid_properties = Array.new + if @id.nil? + invalid_properties.push('invalid value for "id", id cannot be nil.') + end + + if @remote_id.nil? + invalid_properties.push('invalid value for "remote_id", remote_id cannot be nil.') + end + + if @changed_at.nil? + invalid_properties.push('invalid value for "changed_at", changed_at cannot be nil.') + end + + if @reviewee.nil? + invalid_properties.push('invalid value for "reviewee", reviewee cannot be nil.') + end + + if @reviewer.nil? + invalid_properties.push('invalid value for "reviewer", reviewer cannot be nil.') + end + + if @review_cycle.nil? + invalid_properties.push('invalid value for "review_cycle", review_cycle cannot be nil.') + end + + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + warn '[DEPRECATED] the `valid?` method is obsolete' + return false if @id.nil? + return false if @remote_id.nil? + type_validator = EnumAttributeValidator.new('String', ["MANAGER", "DIRECT_REPORT", "PEER", "SELF"]) + return false unless type_validator.valid?(@type) + return false if @changed_at.nil? + return false if @reviewee.nil? + return false if @reviewer.nil? + return false if @review_cycle.nil? + true + end + + # Custom attribute writer method with validation + # @param [Object] id Value to be assigned + def id=(id) + if id.nil? + fail ArgumentError, 'id cannot be nil' + end + + @id = id + end + + # Custom attribute writer method with validation + # @param [Object] remote_id Value to be assigned + def remote_id=(remote_id) + if remote_id.nil? + fail ArgumentError, 'remote_id cannot be nil' + end + + @remote_id = remote_id + end + + # Custom attribute writer method checking allowed values (enum). + # @param [Object] type Object to be assigned + def type=(type) + validator = EnumAttributeValidator.new('String', ["MANAGER", "DIRECT_REPORT", "PEER", "SELF"]) + unless validator.valid?(type) + fail ArgumentError, "invalid value for \"type\", must be one of #{validator.allowable_values}." + end + @type = type + end + + # Custom attribute writer method with validation + # @param [Object] changed_at Value to be assigned + def changed_at=(changed_at) + if changed_at.nil? + fail ArgumentError, 'changed_at cannot be nil' + end + + @changed_at = changed_at + end + + # Custom attribute writer method with validation + # @param [Object] reviewee Value to be assigned + def reviewee=(reviewee) + if reviewee.nil? + fail ArgumentError, 'reviewee cannot be nil' + end + + @reviewee = reviewee + end + + # Custom attribute writer method with validation + # @param [Object] reviewer Value to be assigned + def reviewer=(reviewer) + if reviewer.nil? + fail ArgumentError, 'reviewer cannot be nil' + end + + @reviewer = reviewer + end + + # Custom attribute writer method with validation + # @param [Object] review_cycle Value to be assigned + def review_cycle=(review_cycle) + if review_cycle.nil? + fail ArgumentError, 'review_cycle cannot be nil' + end + + @review_cycle = review_cycle + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + id == o.id && + remote_id == o.remote_id && + type == o.type && + summary_comment == o.summary_comment && + summary_rating == o.summary_rating && + changed_at == o.changed_at && + remote_deleted_at == o.remote_deleted_at && + remote_data == o.remote_data && + reviewee == o.reviewee && + reviewer == o.reviewer && + review_cycle == o.review_cycle + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [id, remote_id, type, summary_comment, summary_rating, changed_at, remote_deleted_at, remote_data, reviewee, reviewer, review_cycle].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + transformed_hash = {} + openapi_types.each_pair do |key, type| + if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = nil + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[attribute_map[key]].is_a?(Array) + transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) } + end + elsif !attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]]) + end + end + new(transformed_hash) + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + end + +end diff --git a/lib/kombo_client/models/get_hris_performance_reviews_positive_response_data_results_inner_reviewee.rb b/lib/kombo_client/models/get_hris_performance_reviews_positive_response_data_results_inner_reviewee.rb new file mode 100644 index 0000000..91cc9e8 --- /dev/null +++ b/lib/kombo_client/models/get_hris_performance_reviews_positive_response_data_results_inner_reviewee.rb @@ -0,0 +1,273 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.17.0 + +=end + +require 'date' +require 'time' + +module Kombo + # The employee receiving the review. + class GetHrisPerformanceReviewsPositiveResponseDataResultsInnerReviewee < ApiModelBase + # The globally unique ID of this object generated by Kombo. We recommend using this as a stable primary key for syncing. + attr_accessor :id + + # 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. + attr_accessor :remote_id + + # The employee’s first name. + attr_accessor :first_name + + # The employee’s last name. + attr_accessor :last_name + + # 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`. + attr_accessor :display_full_name + + # The employee’s work email address. If the email address is invalid, we will set this to `null`. + attr_accessor :work_email + + # 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. + attr_accessor :remote_deleted_at + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'id' => :'id', + :'remote_id' => :'remote_id', + :'first_name' => :'first_name', + :'last_name' => :'last_name', + :'display_full_name' => :'display_full_name', + :'work_email' => :'work_email', + :'remote_deleted_at' => :'remote_deleted_at' + } + end + + # Returns attribute mapping this model knows about + def self.acceptable_attribute_map + attribute_map + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + acceptable_attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'id' => :'String', + :'remote_id' => :'String', + :'first_name' => :'String', + :'last_name' => :'String', + :'display_full_name' => :'String', + :'work_email' => :'String', + :'remote_deleted_at' => :'Time' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + :'first_name', + :'last_name', + :'display_full_name', + :'work_email', + :'remote_deleted_at' + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Kombo::GetHrisPerformanceReviewsPositiveResponseDataResultsInnerReviewee` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + acceptable_attribute_map = self.class.acceptable_attribute_map + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!acceptable_attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Kombo::GetHrisPerformanceReviewsPositiveResponseDataResultsInnerReviewee`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'id') + self.id = attributes[:'id'] + else + self.id = nil + end + + if attributes.key?(:'remote_id') + self.remote_id = attributes[:'remote_id'] + else + self.remote_id = nil + end + + if attributes.key?(:'first_name') + self.first_name = attributes[:'first_name'] + else + self.first_name = nil + end + + if attributes.key?(:'last_name') + self.last_name = attributes[:'last_name'] + else + self.last_name = nil + end + + if attributes.key?(:'display_full_name') + self.display_full_name = attributes[:'display_full_name'] + else + self.display_full_name = nil + end + + if attributes.key?(:'work_email') + self.work_email = attributes[:'work_email'] + end + + if attributes.key?(:'remote_deleted_at') + self.remote_deleted_at = attributes[:'remote_deleted_at'] + else + self.remote_deleted_at = nil + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + warn '[DEPRECATED] the `list_invalid_properties` method is obsolete' + invalid_properties = Array.new + if @id.nil? + invalid_properties.push('invalid value for "id", id cannot be nil.') + end + + if @remote_id.nil? + invalid_properties.push('invalid value for "remote_id", remote_id cannot be nil.') + end + + pattern = Regexp.new(/^(?!\.)(?!.*\.\.)([\w'+-.]*)[\w+-]@([\da-z][\da-z-]*\.)+[a-z]{2,}$/) + if !@work_email.nil? && @work_email !~ pattern + invalid_properties.push("invalid value for \"work_email\", must conform to the pattern #{pattern}.") + end + + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + warn '[DEPRECATED] the `valid?` method is obsolete' + return false if @id.nil? + return false if @remote_id.nil? + return false if !@work_email.nil? && @work_email !~ Regexp.new(/^(?!\.)(?!.*\.\.)([\w'+-.]*)[\w+-]@([\da-z][\da-z-]*\.)+[a-z]{2,}$/) + true + end + + # Custom attribute writer method with validation + # @param [Object] id Value to be assigned + def id=(id) + if id.nil? + fail ArgumentError, 'id cannot be nil' + end + + @id = id + end + + # Custom attribute writer method with validation + # @param [Object] remote_id Value to be assigned + def remote_id=(remote_id) + if remote_id.nil? + fail ArgumentError, 'remote_id cannot be nil' + end + + @remote_id = remote_id + end + + # Custom attribute writer method with validation + # @param [Object] work_email Value to be assigned + def work_email=(work_email) + pattern = Regexp.new(/^(?!\.)(?!.*\.\.)([\w'+-.]*)[\w+-]@([\da-z][\da-z-]*\.)+[a-z]{2,}$/) + if !work_email.nil? && work_email !~ pattern + fail ArgumentError, "invalid value for \"work_email\", must conform to the pattern #{pattern}." + end + + @work_email = work_email + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + id == o.id && + remote_id == o.remote_id && + first_name == o.first_name && + last_name == o.last_name && + display_full_name == o.display_full_name && + work_email == o.work_email && + remote_deleted_at == o.remote_deleted_at + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [id, remote_id, first_name, last_name, display_full_name, work_email, remote_deleted_at].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + transformed_hash = {} + openapi_types.each_pair do |key, type| + if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = nil + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[attribute_map[key]].is_a?(Array) + transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) } + end + elsif !attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]]) + end + end + new(transformed_hash) + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + end + +end diff --git a/lib/kombo_client/models/get_hris_performance_reviews_positive_response_data_results_inner_reviewer.rb b/lib/kombo_client/models/get_hris_performance_reviews_positive_response_data_results_inner_reviewer.rb new file mode 100644 index 0000000..d129f20 --- /dev/null +++ b/lib/kombo_client/models/get_hris_performance_reviews_positive_response_data_results_inner_reviewer.rb @@ -0,0 +1,273 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.17.0 + +=end + +require 'date' +require 'time' + +module Kombo + # The employee giving/writing the review. + class GetHrisPerformanceReviewsPositiveResponseDataResultsInnerReviewer < ApiModelBase + # The globally unique ID of this object generated by Kombo. We recommend using this as a stable primary key for syncing. + attr_accessor :id + + # 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. + attr_accessor :remote_id + + # The employee’s first name. + attr_accessor :first_name + + # The employee’s last name. + attr_accessor :last_name + + # 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`. + attr_accessor :display_full_name + + # The employee’s work email address. If the email address is invalid, we will set this to `null`. + attr_accessor :work_email + + # 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. + attr_accessor :remote_deleted_at + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'id' => :'id', + :'remote_id' => :'remote_id', + :'first_name' => :'first_name', + :'last_name' => :'last_name', + :'display_full_name' => :'display_full_name', + :'work_email' => :'work_email', + :'remote_deleted_at' => :'remote_deleted_at' + } + end + + # Returns attribute mapping this model knows about + def self.acceptable_attribute_map + attribute_map + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + acceptable_attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'id' => :'String', + :'remote_id' => :'String', + :'first_name' => :'String', + :'last_name' => :'String', + :'display_full_name' => :'String', + :'work_email' => :'String', + :'remote_deleted_at' => :'Time' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + :'first_name', + :'last_name', + :'display_full_name', + :'work_email', + :'remote_deleted_at' + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Kombo::GetHrisPerformanceReviewsPositiveResponseDataResultsInnerReviewer` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + acceptable_attribute_map = self.class.acceptable_attribute_map + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!acceptable_attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Kombo::GetHrisPerformanceReviewsPositiveResponseDataResultsInnerReviewer`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'id') + self.id = attributes[:'id'] + else + self.id = nil + end + + if attributes.key?(:'remote_id') + self.remote_id = attributes[:'remote_id'] + else + self.remote_id = nil + end + + if attributes.key?(:'first_name') + self.first_name = attributes[:'first_name'] + else + self.first_name = nil + end + + if attributes.key?(:'last_name') + self.last_name = attributes[:'last_name'] + else + self.last_name = nil + end + + if attributes.key?(:'display_full_name') + self.display_full_name = attributes[:'display_full_name'] + else + self.display_full_name = nil + end + + if attributes.key?(:'work_email') + self.work_email = attributes[:'work_email'] + end + + if attributes.key?(:'remote_deleted_at') + self.remote_deleted_at = attributes[:'remote_deleted_at'] + else + self.remote_deleted_at = nil + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + warn '[DEPRECATED] the `list_invalid_properties` method is obsolete' + invalid_properties = Array.new + if @id.nil? + invalid_properties.push('invalid value for "id", id cannot be nil.') + end + + if @remote_id.nil? + invalid_properties.push('invalid value for "remote_id", remote_id cannot be nil.') + end + + pattern = Regexp.new(/^(?!\.)(?!.*\.\.)([\w'+-.]*)[\w+-]@([\da-z][\da-z-]*\.)+[a-z]{2,}$/) + if !@work_email.nil? && @work_email !~ pattern + invalid_properties.push("invalid value for \"work_email\", must conform to the pattern #{pattern}.") + end + + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + warn '[DEPRECATED] the `valid?` method is obsolete' + return false if @id.nil? + return false if @remote_id.nil? + return false if !@work_email.nil? && @work_email !~ Regexp.new(/^(?!\.)(?!.*\.\.)([\w'+-.]*)[\w+-]@([\da-z][\da-z-]*\.)+[a-z]{2,}$/) + true + end + + # Custom attribute writer method with validation + # @param [Object] id Value to be assigned + def id=(id) + if id.nil? + fail ArgumentError, 'id cannot be nil' + end + + @id = id + end + + # Custom attribute writer method with validation + # @param [Object] remote_id Value to be assigned + def remote_id=(remote_id) + if remote_id.nil? + fail ArgumentError, 'remote_id cannot be nil' + end + + @remote_id = remote_id + end + + # Custom attribute writer method with validation + # @param [Object] work_email Value to be assigned + def work_email=(work_email) + pattern = Regexp.new(/^(?!\.)(?!.*\.\.)([\w'+-.]*)[\w+-]@([\da-z][\da-z-]*\.)+[a-z]{2,}$/) + if !work_email.nil? && work_email !~ pattern + fail ArgumentError, "invalid value for \"work_email\", must conform to the pattern #{pattern}." + end + + @work_email = work_email + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + id == o.id && + remote_id == o.remote_id && + first_name == o.first_name && + last_name == o.last_name && + display_full_name == o.display_full_name && + work_email == o.work_email && + remote_deleted_at == o.remote_deleted_at + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [id, remote_id, first_name, last_name, display_full_name, work_email, remote_deleted_at].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + transformed_hash = {} + openapi_types.each_pair do |key, type| + if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = nil + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[attribute_map[key]].is_a?(Array) + transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) } + end + elsif !attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]]) + end + end + new(transformed_hash) + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + end + +end diff --git a/lib/kombo_client/models/get_hris_performance_reviews_positive_response_data_results_inner_summary_rating.rb b/lib/kombo_client/models/get_hris_performance_reviews_positive_response_data_results_inner_summary_rating.rb new file mode 100644 index 0000000..c4a7c0f --- /dev/null +++ b/lib/kombo_client/models/get_hris_performance_reviews_positive_response_data_results_inner_summary_rating.rb @@ -0,0 +1,104 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.17.0 + +=end + +require 'date' +require 'time' + +module Kombo + # The summary rating of the performance review. + module GetHrisPerformanceReviewsPositiveResponseDataResultsInnerSummaryRating + class << self + # List of class defined in anyOf (OpenAPI v3) + def openapi_any_of + [ + :'GetHrisPerformanceReviewsPositiveResponseDataResultsInnerSummaryRatingAnyOf', + :'GetHrisPerformanceReviewsPositiveResponseDataResultsInnerSummaryRatingAnyOf1' + ] + end + + # Builds the object + # @param [Mixed] Data to be matched against the list of anyOf items + # @return [Object] Returns the model or the data itself + def build(data) + # Go through the list of anyOf items and attempt to identify the appropriate one. + # Note: + # - No advanced validation of types in some cases (e.g. "x: { type: string }" will happily match { x: 123 }) + # due to the way the deserialization is made in the base_object template (it just casts without verifying). + # - TODO: scalar values are de facto behaving as if they were nullable. + # - TODO: logging when debugging is set. + openapi_any_of.each do |klass| + begin + next if klass == :AnyType # "nullable: true" + return find_and_cast_into_type(klass, data) + rescue # rescue all errors so we keep iterating even if the current item lookup raises + end + end + + openapi_any_of.include?(:AnyType) ? data : nil + end + + private + + SchemaMismatchError = Class.new(StandardError) + + # Note: 'File' is missing here because in the regular case we get the data _after_ a call to JSON.parse. + def find_and_cast_into_type(klass, data) + return if data.nil? + + case klass.to_s + when 'Boolean' + return data if data.instance_of?(TrueClass) || data.instance_of?(FalseClass) + when 'Float' + return data if data.instance_of?(Float) + when 'Integer' + return data if data.instance_of?(Integer) + when 'Time' + return Time.parse(data) + when 'Date' + return Date.iso8601(data) + when 'String' + return data if data.instance_of?(String) + when 'Object' # "type: object" + return data if data.instance_of?(Hash) + when /\AArray<(?.+)>\z/ # "type: array" + if data.instance_of?(Array) + sub_type = Regexp.last_match[:sub_type] + return data.map { |item| find_and_cast_into_type(sub_type, item) } + end + when /\AHash.+)>\z/ # "type: object" with "additionalProperties: { ... }" + if data.instance_of?(Hash) && data.keys.all? { |k| k.instance_of?(Symbol) || k.instance_of?(String) } + sub_type = Regexp.last_match[:sub_type] + return data.each_with_object({}) { |(k, v), hsh| hsh[k] = find_and_cast_into_type(sub_type, v) } + end + else # model + const = Kombo.const_get(klass) + if const + if const.respond_to?(:openapi_any_of) # nested anyOf model + model = const.build(data) + return model if model + else + # raise if data contains keys that are not known to the model + raise if const.respond_to?(:acceptable_attributes) && !(data.keys - const.acceptable_attributes).empty? + model = const.build_from_hash(data) + return model if model + end + end + end + + raise # if no match by now, raise + rescue + raise SchemaMismatchError, "#{data} doesn't match the #{klass} type" + end + end + end + +end diff --git a/lib/kombo_client/models/get_hris_performance_reviews_positive_response_data_results_inner_summary_rating_any_of.rb b/lib/kombo_client/models/get_hris_performance_reviews_positive_response_data_results_inner_summary_rating_any_of.rb new file mode 100644 index 0000000..9760c32 --- /dev/null +++ b/lib/kombo_client/models/get_hris_performance_reviews_positive_response_data_results_inner_summary_rating_any_of.rb @@ -0,0 +1,272 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.17.0 + +=end + +require 'date' +require 'time' + +module Kombo + class GetHrisPerformanceReviewsPositiveResponseDataResultsInnerSummaryRatingAnyOf < ApiModelBase + attr_accessor :type + + # The minimum value of the summary rating. + attr_accessor :min + + # The maximum value of the summary rating. + attr_accessor :max + + # The numeric value of the summary rating. + attr_accessor :value + + class EnumAttributeValidator + attr_reader :datatype + attr_reader :allowable_values + + def initialize(datatype, allowable_values) + @allowable_values = allowable_values.map do |value| + case datatype.to_s + when /Integer/i + value.to_i + when /Float/i + value.to_f + else + value + end + end + end + + def valid?(value) + !value || allowable_values.include?(value) + end + end + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'type' => :'type', + :'min' => :'min', + :'max' => :'max', + :'value' => :'value' + } + end + + # Returns attribute mapping this model knows about + def self.acceptable_attribute_map + attribute_map + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + acceptable_attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'type' => :'String', + :'min' => :'Float', + :'max' => :'Float', + :'value' => :'Float' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + :'min', + :'max', + :'value' + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Kombo::GetHrisPerformanceReviewsPositiveResponseDataResultsInnerSummaryRatingAnyOf` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + acceptable_attribute_map = self.class.acceptable_attribute_map + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!acceptable_attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Kombo::GetHrisPerformanceReviewsPositiveResponseDataResultsInnerSummaryRatingAnyOf`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'type') + self.type = attributes[:'type'] + else + self.type = nil + end + + if attributes.key?(:'min') + self.min = attributes[:'min'] + else + self.min = nil + end + + if attributes.key?(:'max') + self.max = attributes[:'max'] + else + self.max = nil + end + + if attributes.key?(:'value') + self.value = attributes[:'value'] + else + self.value = nil + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + warn '[DEPRECATED] the `list_invalid_properties` method is obsolete' + invalid_properties = Array.new + if @type.nil? + invalid_properties.push('invalid value for "type", type cannot be nil.') + end + + if @min < -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + invalid_properties.push('invalid value for "min", must be greater than or equal to -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.') + end + + if @max < -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + invalid_properties.push('invalid value for "max", must be greater than or equal to -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.') + end + + if @value < -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + invalid_properties.push('invalid value for "value", must be greater than or equal to -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.') + end + + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + warn '[DEPRECATED] the `valid?` method is obsolete' + return false if @type.nil? + type_validator = EnumAttributeValidator.new('String', ["NUMERIC"]) + return false unless type_validator.valid?(@type) + return false if @min < -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + return false if @max < -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + return false if @value < -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + true + end + + # Custom attribute writer method checking allowed values (enum). + # @param [Object] type Object to be assigned + def type=(type) + validator = EnumAttributeValidator.new('String', ["NUMERIC"]) + unless validator.valid?(type) + fail ArgumentError, "invalid value for \"type\", must be one of #{validator.allowable_values}." + end + @type = type + end + + # Custom attribute writer method with validation + # @param [Object] min Value to be assigned + def min=(min) + if !min.nil? && min < -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + fail ArgumentError, 'invalid value for "min", must be greater than or equal to -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.' + end + + @min = min + end + + # Custom attribute writer method with validation + # @param [Object] max Value to be assigned + def max=(max) + if !max.nil? && max < -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + fail ArgumentError, 'invalid value for "max", must be greater than or equal to -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.' + end + + @max = max + end + + # Custom attribute writer method with validation + # @param [Object] value Value to be assigned + def value=(value) + if !value.nil? && value < -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + fail ArgumentError, 'invalid value for "value", must be greater than or equal to -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.' + end + + @value = value + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + type == o.type && + min == o.min && + max == o.max && + value == o.value + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [type, min, max, value].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + transformed_hash = {} + openapi_types.each_pair do |key, type| + if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = nil + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[attribute_map[key]].is_a?(Array) + transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) } + end + elsif !attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]]) + end + end + new(transformed_hash) + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + end + +end diff --git a/lib/kombo_client/models/get_hris_performance_reviews_positive_response_data_results_inner_summary_rating_any_of1.rb b/lib/kombo_client/models/get_hris_performance_reviews_positive_response_data_results_inner_summary_rating_any_of1.rb new file mode 100644 index 0000000..06a620a --- /dev/null +++ b/lib/kombo_client/models/get_hris_performance_reviews_positive_response_data_results_inner_summary_rating_any_of1.rb @@ -0,0 +1,216 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.17.0 + +=end + +require 'date' +require 'time' + +module Kombo + class GetHrisPerformanceReviewsPositiveResponseDataResultsInnerSummaryRatingAnyOf1 < ApiModelBase + attr_accessor :type + + # The options of the summary rating. Ordered from bad to good. + attr_accessor :ordered_options + + # The text value of the summary rating. + attr_accessor :value + + class EnumAttributeValidator + attr_reader :datatype + attr_reader :allowable_values + + def initialize(datatype, allowable_values) + @allowable_values = allowable_values.map do |value| + case datatype.to_s + when /Integer/i + value.to_i + when /Float/i + value.to_f + else + value + end + end + end + + def valid?(value) + !value || allowable_values.include?(value) + end + end + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'type' => :'type', + :'ordered_options' => :'ordered_options', + :'value' => :'value' + } + end + + # Returns attribute mapping this model knows about + def self.acceptable_attribute_map + attribute_map + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + acceptable_attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'type' => :'String', + :'ordered_options' => :'Array', + :'value' => :'String' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + :'ordered_options', + :'value' + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Kombo::GetHrisPerformanceReviewsPositiveResponseDataResultsInnerSummaryRatingAnyOf1` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + acceptable_attribute_map = self.class.acceptable_attribute_map + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!acceptable_attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Kombo::GetHrisPerformanceReviewsPositiveResponseDataResultsInnerSummaryRatingAnyOf1`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'type') + self.type = attributes[:'type'] + else + self.type = nil + end + + if attributes.key?(:'ordered_options') + if (value = attributes[:'ordered_options']).is_a?(Array) + self.ordered_options = value + end + else + self.ordered_options = nil + end + + if attributes.key?(:'value') + self.value = attributes[:'value'] + else + self.value = nil + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + warn '[DEPRECATED] the `list_invalid_properties` method is obsolete' + invalid_properties = Array.new + if @type.nil? + invalid_properties.push('invalid value for "type", type cannot be nil.') + end + + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + warn '[DEPRECATED] the `valid?` method is obsolete' + return false if @type.nil? + type_validator = EnumAttributeValidator.new('String', ["SINGLE_SELECT"]) + return false unless type_validator.valid?(@type) + true + end + + # Custom attribute writer method checking allowed values (enum). + # @param [Object] type Object to be assigned + def type=(type) + validator = EnumAttributeValidator.new('String', ["SINGLE_SELECT"]) + unless validator.valid?(type) + fail ArgumentError, "invalid value for \"type\", must be one of #{validator.allowable_values}." + end + @type = type + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + type == o.type && + ordered_options == o.ordered_options && + value == o.value + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [type, ordered_options, value].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + transformed_hash = {} + openapi_types.each_pair do |key, type| + if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = nil + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[attribute_map[key]].is_a?(Array) + transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) } + end + elsif !attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]]) + end + end + new(transformed_hash) + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + end + +end diff --git a/lib/kombo_client/models/get_hris_skills_positive_response.rb b/lib/kombo_client/models/get_hris_skills_positive_response.rb new file mode 100644 index 0000000..5ce8038 --- /dev/null +++ b/lib/kombo_client/models/get_hris_skills_positive_response.rb @@ -0,0 +1,214 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.17.0 + +=end + +require 'date' +require 'time' + +module Kombo + class GetHrisSkillsPositiveResponse < ApiModelBase + attr_accessor :status + + attr_accessor :data + + class EnumAttributeValidator + attr_reader :datatype + attr_reader :allowable_values + + def initialize(datatype, allowable_values) + @allowable_values = allowable_values.map do |value| + case datatype.to_s + when /Integer/i + value.to_i + when /Float/i + value.to_f + else + value + end + end + end + + def valid?(value) + !value || allowable_values.include?(value) + end + end + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'status' => :'status', + :'data' => :'data' + } + end + + # Returns attribute mapping this model knows about + def self.acceptable_attribute_map + attribute_map + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + acceptable_attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'status' => :'String', + :'data' => :'GetHrisSkillsPositiveResponseData' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Kombo::GetHrisSkillsPositiveResponse` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + acceptable_attribute_map = self.class.acceptable_attribute_map + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!acceptable_attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Kombo::GetHrisSkillsPositiveResponse`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'status') + self.status = attributes[:'status'] + else + self.status = nil + end + + if attributes.key?(:'data') + self.data = attributes[:'data'] + else + self.data = nil + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + warn '[DEPRECATED] the `list_invalid_properties` method is obsolete' + invalid_properties = Array.new + if @status.nil? + invalid_properties.push('invalid value for "status", status cannot be nil.') + end + + if @data.nil? + invalid_properties.push('invalid value for "data", data cannot be nil.') + end + + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + warn '[DEPRECATED] the `valid?` method is obsolete' + return false if @status.nil? + status_validator = EnumAttributeValidator.new('String', ["success"]) + return false unless status_validator.valid?(@status) + return false if @data.nil? + true + end + + # Custom attribute writer method checking allowed values (enum). + # @param [Object] status Object to be assigned + def status=(status) + validator = EnumAttributeValidator.new('String', ["success"]) + unless validator.valid?(status) + fail ArgumentError, "invalid value for \"status\", must be one of #{validator.allowable_values}." + end + @status = status + end + + # Custom attribute writer method with validation + # @param [Object] data Value to be assigned + def data=(data) + if data.nil? + fail ArgumentError, 'data cannot be nil' + end + + @data = data + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + status == o.status && + data == o.data + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [status, data].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + transformed_hash = {} + openapi_types.each_pair do |key, type| + if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = nil + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[attribute_map[key]].is_a?(Array) + transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) } + end + elsif !attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]]) + end + end + new(transformed_hash) + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + end + +end diff --git a/lib/kombo_client/models/get_hris_skills_positive_response_data.rb b/lib/kombo_client/models/get_hris_skills_positive_response_data.rb new file mode 100644 index 0000000..b8e9fc3 --- /dev/null +++ b/lib/kombo_client/models/get_hris_skills_positive_response_data.rb @@ -0,0 +1,179 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.17.0 + +=end + +require 'date' +require 'time' + +module Kombo + class GetHrisSkillsPositiveResponseData < ApiModelBase + # 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. + attr_accessor :_next + + attr_accessor :results + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'_next' => :'next', + :'results' => :'results' + } + end + + # Returns attribute mapping this model knows about + def self.acceptable_attribute_map + attribute_map + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + acceptable_attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'_next' => :'String', + :'results' => :'Array' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + :'_next', + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Kombo::GetHrisSkillsPositiveResponseData` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + acceptable_attribute_map = self.class.acceptable_attribute_map + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!acceptable_attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Kombo::GetHrisSkillsPositiveResponseData`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'_next') + self._next = attributes[:'_next'] + else + self._next = nil + end + + if attributes.key?(:'results') + if (value = attributes[:'results']).is_a?(Array) + self.results = value + end + else + self.results = nil + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + warn '[DEPRECATED] the `list_invalid_properties` method is obsolete' + invalid_properties = Array.new + if @results.nil? + invalid_properties.push('invalid value for "results", results cannot be nil.') + end + + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + warn '[DEPRECATED] the `valid?` method is obsolete' + return false if @results.nil? + true + end + + # Custom attribute writer method with validation + # @param [Object] results Value to be assigned + def results=(results) + if results.nil? + fail ArgumentError, 'results cannot be nil' + end + + @results = results + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + _next == o._next && + results == o.results + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [_next, results].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + transformed_hash = {} + openapi_types.each_pair do |key, type| + if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = nil + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[attribute_map[key]].is_a?(Array) + transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) } + end + elsif !attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]]) + end + end + new(transformed_hash) + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + end + +end diff --git a/lib/kombo_client/models/get_hris_skills_positive_response_data_results_inner.rb b/lib/kombo_client/models/get_hris_skills_positive_response_data_results_inner.rb new file mode 100644 index 0000000..aa91680 --- /dev/null +++ b/lib/kombo_client/models/get_hris_skills_positive_response_data_results_inner.rb @@ -0,0 +1,302 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.17.0 + +=end + +require 'date' +require 'time' + +module Kombo + class GetHrisSkillsPositiveResponseDataResultsInner < ApiModelBase + # The globally unique ID of this object generated by Kombo. We recommend using this as a stable primary key for syncing. + attr_accessor :id + + # 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. + attr_accessor :remote_id + + # The name of the skill. + attr_accessor :name + + # The description of the skill. + attr_accessor :description + + # List of available skill levels in order of proficiency (e.g., [\"Beginner\", \"Intermediate\", \"Advanced\"]). + attr_accessor :ordered_levels + + # 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. + attr_accessor :changed_at + + # 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. + attr_accessor :remote_deleted_at + + # 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. + attr_accessor :remote_data + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'id' => :'id', + :'remote_id' => :'remote_id', + :'name' => :'name', + :'description' => :'description', + :'ordered_levels' => :'ordered_levels', + :'changed_at' => :'changed_at', + :'remote_deleted_at' => :'remote_deleted_at', + :'remote_data' => :'remote_data' + } + end + + # Returns attribute mapping this model knows about + def self.acceptable_attribute_map + attribute_map + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + acceptable_attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'id' => :'String', + :'remote_id' => :'String', + :'name' => :'String', + :'description' => :'String', + :'ordered_levels' => :'Array', + :'changed_at' => :'Time', + :'remote_deleted_at' => :'Time', + :'remote_data' => :'Hash' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + :'description', + :'ordered_levels', + :'remote_deleted_at', + :'remote_data' + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Kombo::GetHrisSkillsPositiveResponseDataResultsInner` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + acceptable_attribute_map = self.class.acceptable_attribute_map + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!acceptable_attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Kombo::GetHrisSkillsPositiveResponseDataResultsInner`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'id') + self.id = attributes[:'id'] + else + self.id = nil + end + + if attributes.key?(:'remote_id') + self.remote_id = attributes[:'remote_id'] + else + self.remote_id = nil + end + + if attributes.key?(:'name') + self.name = attributes[:'name'] + else + self.name = nil + end + + if attributes.key?(:'description') + self.description = attributes[:'description'] + else + self.description = nil + end + + if attributes.key?(:'ordered_levels') + if (value = attributes[:'ordered_levels']).is_a?(Array) + self.ordered_levels = value + end + else + self.ordered_levels = nil + end + + if attributes.key?(:'changed_at') + self.changed_at = attributes[:'changed_at'] + else + self.changed_at = nil + end + + if attributes.key?(:'remote_deleted_at') + self.remote_deleted_at = attributes[:'remote_deleted_at'] + else + self.remote_deleted_at = nil + end + + if attributes.key?(:'remote_data') + if (value = attributes[:'remote_data']).is_a?(Hash) + self.remote_data = value + end + else + self.remote_data = nil + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + warn '[DEPRECATED] the `list_invalid_properties` method is obsolete' + invalid_properties = Array.new + if @id.nil? + invalid_properties.push('invalid value for "id", id cannot be nil.') + end + + if @remote_id.nil? + invalid_properties.push('invalid value for "remote_id", remote_id cannot be nil.') + end + + if @name.nil? + invalid_properties.push('invalid value for "name", name cannot be nil.') + end + + if @changed_at.nil? + invalid_properties.push('invalid value for "changed_at", changed_at cannot be nil.') + end + + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + warn '[DEPRECATED] the `valid?` method is obsolete' + return false if @id.nil? + return false if @remote_id.nil? + return false if @name.nil? + return false if @changed_at.nil? + true + end + + # Custom attribute writer method with validation + # @param [Object] id Value to be assigned + def id=(id) + if id.nil? + fail ArgumentError, 'id cannot be nil' + end + + @id = id + end + + # Custom attribute writer method with validation + # @param [Object] remote_id Value to be assigned + def remote_id=(remote_id) + if remote_id.nil? + fail ArgumentError, 'remote_id cannot be nil' + end + + @remote_id = remote_id + end + + # Custom attribute writer method with validation + # @param [Object] name Value to be assigned + def name=(name) + if name.nil? + fail ArgumentError, 'name cannot be nil' + end + + @name = name + end + + # Custom attribute writer method with validation + # @param [Object] changed_at Value to be assigned + def changed_at=(changed_at) + if changed_at.nil? + fail ArgumentError, 'changed_at cannot be nil' + end + + @changed_at = changed_at + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + id == o.id && + remote_id == o.remote_id && + name == o.name && + description == o.description && + ordered_levels == o.ordered_levels && + changed_at == o.changed_at && + remote_deleted_at == o.remote_deleted_at && + remote_data == o.remote_data + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [id, remote_id, name, description, ordered_levels, changed_at, remote_deleted_at, remote_data].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + transformed_hash = {} + openapi_types.each_pair do |key, type| + if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = nil + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[attribute_map[key]].is_a?(Array) + transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) } + end + elsif !attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]]) + end + end + new(transformed_hash) + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + end + +end diff --git a/lib/kombo_client/models/get_hris_teams_parameter_include_deleted.rb b/lib/kombo_client/models/get_hris_teams_parameter_include_deleted.rb new file mode 100644 index 0000000..8507f85 --- /dev/null +++ b/lib/kombo_client/models/get_hris_teams_parameter_include_deleted.rb @@ -0,0 +1,40 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.17.0 + +=end + +require 'date' +require 'time' + +module Kombo + class GetHrisTeamsParameterIncludeDeleted + TRUE = "true".freeze + FALSE = "false".freeze + + def self.all_vars + @all_vars ||= [TRUE, FALSE].freeze + end + + # Builds the enum from string + # @param [String] The enum value in the form of the string + # @return [String] The enum value + def self.build_from_hash(value) + new.build_from_hash(value) + end + + # Builds the enum from string + # @param [String] The enum value in the form of the string + # @return [String] The enum value + def build_from_hash(value) + return value if GetHrisTeamsParameterIncludeDeleted.all_vars.include?(value) + raise "Invalid ENUM value #{value} for class #GetHrisTeamsParameterIncludeDeleted" + end + end +end diff --git a/lib/kombo_client/models/get_hris_teams_positive_response.rb b/lib/kombo_client/models/get_hris_teams_positive_response.rb new file mode 100644 index 0000000..3175e69 --- /dev/null +++ b/lib/kombo_client/models/get_hris_teams_positive_response.rb @@ -0,0 +1,214 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.17.0 + +=end + +require 'date' +require 'time' + +module Kombo + class GetHrisTeamsPositiveResponse < ApiModelBase + attr_accessor :status + + attr_accessor :data + + class EnumAttributeValidator + attr_reader :datatype + attr_reader :allowable_values + + def initialize(datatype, allowable_values) + @allowable_values = allowable_values.map do |value| + case datatype.to_s + when /Integer/i + value.to_i + when /Float/i + value.to_f + else + value + end + end + end + + def valid?(value) + !value || allowable_values.include?(value) + end + end + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'status' => :'status', + :'data' => :'data' + } + end + + # Returns attribute mapping this model knows about + def self.acceptable_attribute_map + attribute_map + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + acceptable_attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'status' => :'String', + :'data' => :'GetHrisTeamsPositiveResponseData' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Kombo::GetHrisTeamsPositiveResponse` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + acceptable_attribute_map = self.class.acceptable_attribute_map + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!acceptable_attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Kombo::GetHrisTeamsPositiveResponse`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'status') + self.status = attributes[:'status'] + else + self.status = nil + end + + if attributes.key?(:'data') + self.data = attributes[:'data'] + else + self.data = nil + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + warn '[DEPRECATED] the `list_invalid_properties` method is obsolete' + invalid_properties = Array.new + if @status.nil? + invalid_properties.push('invalid value for "status", status cannot be nil.') + end + + if @data.nil? + invalid_properties.push('invalid value for "data", data cannot be nil.') + end + + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + warn '[DEPRECATED] the `valid?` method is obsolete' + return false if @status.nil? + status_validator = EnumAttributeValidator.new('String', ["success"]) + return false unless status_validator.valid?(@status) + return false if @data.nil? + true + end + + # Custom attribute writer method checking allowed values (enum). + # @param [Object] status Object to be assigned + def status=(status) + validator = EnumAttributeValidator.new('String', ["success"]) + unless validator.valid?(status) + fail ArgumentError, "invalid value for \"status\", must be one of #{validator.allowable_values}." + end + @status = status + end + + # Custom attribute writer method with validation + # @param [Object] data Value to be assigned + def data=(data) + if data.nil? + fail ArgumentError, 'data cannot be nil' + end + + @data = data + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + status == o.status && + data == o.data + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [status, data].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + transformed_hash = {} + openapi_types.each_pair do |key, type| + if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = nil + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[attribute_map[key]].is_a?(Array) + transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) } + end + elsif !attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]]) + end + end + new(transformed_hash) + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + end + +end diff --git a/lib/kombo_client/models/get_hris_teams_positive_response_data.rb b/lib/kombo_client/models/get_hris_teams_positive_response_data.rb new file mode 100644 index 0000000..9cdab74 --- /dev/null +++ b/lib/kombo_client/models/get_hris_teams_positive_response_data.rb @@ -0,0 +1,179 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.17.0 + +=end + +require 'date' +require 'time' + +module Kombo + class GetHrisTeamsPositiveResponseData < ApiModelBase + # 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. + attr_accessor :_next + + attr_accessor :results + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'_next' => :'next', + :'results' => :'results' + } + end + + # Returns attribute mapping this model knows about + def self.acceptable_attribute_map + attribute_map + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + acceptable_attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'_next' => :'String', + :'results' => :'Array' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + :'_next', + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Kombo::GetHrisTeamsPositiveResponseData` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + acceptable_attribute_map = self.class.acceptable_attribute_map + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!acceptable_attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Kombo::GetHrisTeamsPositiveResponseData`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'_next') + self._next = attributes[:'_next'] + else + self._next = nil + end + + if attributes.key?(:'results') + if (value = attributes[:'results']).is_a?(Array) + self.results = value + end + else + self.results = nil + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + warn '[DEPRECATED] the `list_invalid_properties` method is obsolete' + invalid_properties = Array.new + if @results.nil? + invalid_properties.push('invalid value for "results", results cannot be nil.') + end + + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + warn '[DEPRECATED] the `valid?` method is obsolete' + return false if @results.nil? + true + end + + # Custom attribute writer method with validation + # @param [Object] results Value to be assigned + def results=(results) + if results.nil? + fail ArgumentError, 'results cannot be nil' + end + + @results = results + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + _next == o._next && + results == o.results + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [_next, results].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + transformed_hash = {} + openapi_types.each_pair do |key, type| + if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = nil + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[attribute_map[key]].is_a?(Array) + transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) } + end + elsif !attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]]) + end + end + new(transformed_hash) + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + end + +end diff --git a/lib/kombo_client/models/get_hris_teams_positive_response_data_results_inner.rb b/lib/kombo_client/models/get_hris_teams_positive_response_data_results_inner.rb new file mode 100644 index 0000000..a0966f8 --- /dev/null +++ b/lib/kombo_client/models/get_hris_teams_positive_response_data_results_inner.rb @@ -0,0 +1,320 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.17.0 + +=end + +require 'date' +require 'time' + +module Kombo + class GetHrisTeamsPositiveResponseDataResultsInner < ApiModelBase + # The globally unique ID of this object generated by Kombo. We recommend using this as a stable primary key for syncing. + attr_accessor :id + + # 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. + attr_accessor :remote_id + + # The name of the group. + attr_accessor :name + + # 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. + attr_accessor :changed_at + + # 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. + attr_accessor :remote_deleted_at + + # Type of the group. + attr_accessor :type + + # 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. + attr_accessor :parent_id + + # 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. + attr_accessor :remote_data + + class EnumAttributeValidator + attr_reader :datatype + attr_reader :allowable_values + + def initialize(datatype, allowable_values) + @allowable_values = allowable_values.map do |value| + case datatype.to_s + when /Integer/i + value.to_i + when /Float/i + value.to_f + else + value + end + end + end + + def valid?(value) + !value || allowable_values.include?(value) + end + end + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'id' => :'id', + :'remote_id' => :'remote_id', + :'name' => :'name', + :'changed_at' => :'changed_at', + :'remote_deleted_at' => :'remote_deleted_at', + :'type' => :'type', + :'parent_id' => :'parent_id', + :'remote_data' => :'remote_data' + } + end + + # Returns attribute mapping this model knows about + def self.acceptable_attribute_map + attribute_map + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + acceptable_attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'id' => :'String', + :'remote_id' => :'String', + :'name' => :'String', + :'changed_at' => :'Time', + :'remote_deleted_at' => :'Time', + :'type' => :'String', + :'parent_id' => :'String', + :'remote_data' => :'Hash' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + :'name', + :'remote_deleted_at', + :'type', + :'parent_id', + :'remote_data' + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Kombo::GetHrisTeamsPositiveResponseDataResultsInner` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + acceptable_attribute_map = self.class.acceptable_attribute_map + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!acceptable_attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Kombo::GetHrisTeamsPositiveResponseDataResultsInner`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'id') + self.id = attributes[:'id'] + else + self.id = nil + end + + if attributes.key?(:'remote_id') + self.remote_id = attributes[:'remote_id'] + else + self.remote_id = nil + end + + if attributes.key?(:'name') + self.name = attributes[:'name'] + else + self.name = nil + end + + if attributes.key?(:'changed_at') + self.changed_at = attributes[:'changed_at'] + else + self.changed_at = nil + end + + if attributes.key?(:'remote_deleted_at') + self.remote_deleted_at = attributes[:'remote_deleted_at'] + else + self.remote_deleted_at = nil + end + + if attributes.key?(:'type') + self.type = attributes[:'type'] + else + self.type = nil + end + + if attributes.key?(:'parent_id') + self.parent_id = attributes[:'parent_id'] + else + self.parent_id = nil + end + + if attributes.key?(:'remote_data') + if (value = attributes[:'remote_data']).is_a?(Hash) + self.remote_data = value + end + else + self.remote_data = nil + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + warn '[DEPRECATED] the `list_invalid_properties` method is obsolete' + invalid_properties = Array.new + if @id.nil? + invalid_properties.push('invalid value for "id", id cannot be nil.') + end + + if @remote_id.nil? + invalid_properties.push('invalid value for "remote_id", remote_id cannot be nil.') + end + + if @changed_at.nil? + invalid_properties.push('invalid value for "changed_at", changed_at cannot be nil.') + end + + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + warn '[DEPRECATED] the `valid?` method is obsolete' + return false if @id.nil? + return false if @remote_id.nil? + return false if @changed_at.nil? + type_validator = EnumAttributeValidator.new('String', ["DEPARTMENT", "TEAM", "COST_CENTER"]) + return false unless type_validator.valid?(@type) + true + end + + # Custom attribute writer method with validation + # @param [Object] id Value to be assigned + def id=(id) + if id.nil? + fail ArgumentError, 'id cannot be nil' + end + + @id = id + end + + # Custom attribute writer method with validation + # @param [Object] remote_id Value to be assigned + def remote_id=(remote_id) + if remote_id.nil? + fail ArgumentError, 'remote_id cannot be nil' + end + + @remote_id = remote_id + end + + # Custom attribute writer method with validation + # @param [Object] changed_at Value to be assigned + def changed_at=(changed_at) + if changed_at.nil? + fail ArgumentError, 'changed_at cannot be nil' + end + + @changed_at = changed_at + end + + # Custom attribute writer method checking allowed values (enum). + # @param [Object] type Object to be assigned + def type=(type) + validator = EnumAttributeValidator.new('String', ["DEPARTMENT", "TEAM", "COST_CENTER"]) + unless validator.valid?(type) + fail ArgumentError, "invalid value for \"type\", must be one of #{validator.allowable_values}." + end + @type = type + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + id == o.id && + remote_id == o.remote_id && + name == o.name && + changed_at == o.changed_at && + remote_deleted_at == o.remote_deleted_at && + type == o.type && + parent_id == o.parent_id && + remote_data == o.remote_data + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [id, remote_id, name, changed_at, remote_deleted_at, type, parent_id, remote_data].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + transformed_hash = {} + openapi_types.each_pair do |key, type| + if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = nil + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[attribute_map[key]].is_a?(Array) + transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) } + end + elsif !attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]]) + end + end + new(transformed_hash) + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + end + +end diff --git a/lib/kombo_client/models/get_hris_time_off_balances_parameter_include_deleted.rb b/lib/kombo_client/models/get_hris_time_off_balances_parameter_include_deleted.rb new file mode 100644 index 0000000..ebccc9a --- /dev/null +++ b/lib/kombo_client/models/get_hris_time_off_balances_parameter_include_deleted.rb @@ -0,0 +1,40 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.17.0 + +=end + +require 'date' +require 'time' + +module Kombo + class GetHrisTimeOffBalancesParameterIncludeDeleted + TRUE = "true".freeze + FALSE = "false".freeze + + def self.all_vars + @all_vars ||= [TRUE, FALSE].freeze + end + + # Builds the enum from string + # @param [String] The enum value in the form of the string + # @return [String] The enum value + def self.build_from_hash(value) + new.build_from_hash(value) + end + + # Builds the enum from string + # @param [String] The enum value in the form of the string + # @return [String] The enum value + def build_from_hash(value) + return value if GetHrisTimeOffBalancesParameterIncludeDeleted.all_vars.include?(value) + raise "Invalid ENUM value #{value} for class #GetHrisTimeOffBalancesParameterIncludeDeleted" + end + end +end diff --git a/lib/kombo_client/models/get_hris_time_off_balances_positive_response.rb b/lib/kombo_client/models/get_hris_time_off_balances_positive_response.rb new file mode 100644 index 0000000..590582e --- /dev/null +++ b/lib/kombo_client/models/get_hris_time_off_balances_positive_response.rb @@ -0,0 +1,214 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.17.0 + +=end + +require 'date' +require 'time' + +module Kombo + class GetHrisTimeOffBalancesPositiveResponse < ApiModelBase + attr_accessor :status + + attr_accessor :data + + class EnumAttributeValidator + attr_reader :datatype + attr_reader :allowable_values + + def initialize(datatype, allowable_values) + @allowable_values = allowable_values.map do |value| + case datatype.to_s + when /Integer/i + value.to_i + when /Float/i + value.to_f + else + value + end + end + end + + def valid?(value) + !value || allowable_values.include?(value) + end + end + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'status' => :'status', + :'data' => :'data' + } + end + + # Returns attribute mapping this model knows about + def self.acceptable_attribute_map + attribute_map + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + acceptable_attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'status' => :'String', + :'data' => :'GetHrisTimeOffBalancesPositiveResponseData' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Kombo::GetHrisTimeOffBalancesPositiveResponse` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + acceptable_attribute_map = self.class.acceptable_attribute_map + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!acceptable_attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Kombo::GetHrisTimeOffBalancesPositiveResponse`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'status') + self.status = attributes[:'status'] + else + self.status = nil + end + + if attributes.key?(:'data') + self.data = attributes[:'data'] + else + self.data = nil + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + warn '[DEPRECATED] the `list_invalid_properties` method is obsolete' + invalid_properties = Array.new + if @status.nil? + invalid_properties.push('invalid value for "status", status cannot be nil.') + end + + if @data.nil? + invalid_properties.push('invalid value for "data", data cannot be nil.') + end + + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + warn '[DEPRECATED] the `valid?` method is obsolete' + return false if @status.nil? + status_validator = EnumAttributeValidator.new('String', ["success"]) + return false unless status_validator.valid?(@status) + return false if @data.nil? + true + end + + # Custom attribute writer method checking allowed values (enum). + # @param [Object] status Object to be assigned + def status=(status) + validator = EnumAttributeValidator.new('String', ["success"]) + unless validator.valid?(status) + fail ArgumentError, "invalid value for \"status\", must be one of #{validator.allowable_values}." + end + @status = status + end + + # Custom attribute writer method with validation + # @param [Object] data Value to be assigned + def data=(data) + if data.nil? + fail ArgumentError, 'data cannot be nil' + end + + @data = data + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + status == o.status && + data == o.data + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [status, data].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + transformed_hash = {} + openapi_types.each_pair do |key, type| + if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = nil + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[attribute_map[key]].is_a?(Array) + transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) } + end + elsif !attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]]) + end + end + new(transformed_hash) + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + end + +end diff --git a/lib/kombo_client/models/get_hris_time_off_balances_positive_response_data.rb b/lib/kombo_client/models/get_hris_time_off_balances_positive_response_data.rb new file mode 100644 index 0000000..fb4bc60 --- /dev/null +++ b/lib/kombo_client/models/get_hris_time_off_balances_positive_response_data.rb @@ -0,0 +1,179 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.17.0 + +=end + +require 'date' +require 'time' + +module Kombo + class GetHrisTimeOffBalancesPositiveResponseData < ApiModelBase + # 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. + attr_accessor :_next + + attr_accessor :results + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'_next' => :'next', + :'results' => :'results' + } + end + + # Returns attribute mapping this model knows about + def self.acceptable_attribute_map + attribute_map + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + acceptable_attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'_next' => :'String', + :'results' => :'Array' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + :'_next', + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Kombo::GetHrisTimeOffBalancesPositiveResponseData` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + acceptable_attribute_map = self.class.acceptable_attribute_map + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!acceptable_attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Kombo::GetHrisTimeOffBalancesPositiveResponseData`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'_next') + self._next = attributes[:'_next'] + else + self._next = nil + end + + if attributes.key?(:'results') + if (value = attributes[:'results']).is_a?(Array) + self.results = value + end + else + self.results = nil + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + warn '[DEPRECATED] the `list_invalid_properties` method is obsolete' + invalid_properties = Array.new + if @results.nil? + invalid_properties.push('invalid value for "results", results cannot be nil.') + end + + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + warn '[DEPRECATED] the `valid?` method is obsolete' + return false if @results.nil? + true + end + + # Custom attribute writer method with validation + # @param [Object] results Value to be assigned + def results=(results) + if results.nil? + fail ArgumentError, 'results cannot be nil' + end + + @results = results + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + _next == o._next && + results == o.results + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [_next, results].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + transformed_hash = {} + openapi_types.each_pair do |key, type| + if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = nil + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[attribute_map[key]].is_a?(Array) + transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) } + end + elsif !attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]]) + end + end + new(transformed_hash) + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + end + +end diff --git a/lib/kombo_client/models/get_hris_time_off_balances_positive_response_data_results_inner.rb b/lib/kombo_client/models/get_hris_time_off_balances_positive_response_data_results_inner.rb new file mode 100644 index 0000000..e8ec471 --- /dev/null +++ b/lib/kombo_client/models/get_hris_time_off_balances_positive_response_data_results_inner.rb @@ -0,0 +1,440 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.17.0 + +=end + +require 'date' +require 'time' + +module Kombo + class GetHrisTimeOffBalancesPositiveResponseDataResultsInner < ApiModelBase + # The globally unique ID of this object generated by Kombo. We recommend using this as a stable primary key for syncing. + attr_accessor :id + + # 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. + attr_accessor :remote_id + + # 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. + attr_accessor :employee_id + + attr_accessor :type_id + + # The amount of time available to the employee. + attr_accessor :balance + + # The time-unit of the balance. + attr_accessor :balance_unit + + # 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. + attr_accessor :changed_at + + # 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. + attr_accessor :remote_deleted_at + + # The amount of time used by the employee. + attr_accessor :used + + # The time-unit of the used time. + attr_accessor :used_unit + + # 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. + attr_accessor :remote_data + + attr_accessor :type + + class EnumAttributeValidator + attr_reader :datatype + attr_reader :allowable_values + + def initialize(datatype, allowable_values) + @allowable_values = allowable_values.map do |value| + case datatype.to_s + when /Integer/i + value.to_i + when /Float/i + value.to_f + else + value + end + end + end + + def valid?(value) + !value || allowable_values.include?(value) + end + end + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'id' => :'id', + :'remote_id' => :'remote_id', + :'employee_id' => :'employee_id', + :'type_id' => :'type_id', + :'balance' => :'balance', + :'balance_unit' => :'balance_unit', + :'changed_at' => :'changed_at', + :'remote_deleted_at' => :'remote_deleted_at', + :'used' => :'used', + :'used_unit' => :'used_unit', + :'remote_data' => :'remote_data', + :'type' => :'type' + } + end + + # Returns attribute mapping this model knows about + def self.acceptable_attribute_map + attribute_map + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + acceptable_attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'id' => :'String', + :'remote_id' => :'String', + :'employee_id' => :'String', + :'type_id' => :'String', + :'balance' => :'Float', + :'balance_unit' => :'String', + :'changed_at' => :'Time', + :'remote_deleted_at' => :'Time', + :'used' => :'Float', + :'used_unit' => :'String', + :'remote_data' => :'Hash', + :'type' => :'GetHrisAbsenceTypesPositiveResponseDataResultsInner' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + :'remote_id', + :'balance', + :'balance_unit', + :'remote_deleted_at', + :'used', + :'used_unit', + :'remote_data', + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Kombo::GetHrisTimeOffBalancesPositiveResponseDataResultsInner` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + acceptable_attribute_map = self.class.acceptable_attribute_map + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!acceptable_attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Kombo::GetHrisTimeOffBalancesPositiveResponseDataResultsInner`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'id') + self.id = attributes[:'id'] + else + self.id = nil + end + + if attributes.key?(:'remote_id') + self.remote_id = attributes[:'remote_id'] + else + self.remote_id = nil + end + + if attributes.key?(:'employee_id') + self.employee_id = attributes[:'employee_id'] + else + self.employee_id = nil + end + + if attributes.key?(:'type_id') + self.type_id = attributes[:'type_id'] + else + self.type_id = nil + end + + if attributes.key?(:'balance') + self.balance = attributes[:'balance'] + else + self.balance = nil + end + + if attributes.key?(:'balance_unit') + self.balance_unit = attributes[:'balance_unit'] + else + self.balance_unit = nil + end + + if attributes.key?(:'changed_at') + self.changed_at = attributes[:'changed_at'] + else + self.changed_at = nil + end + + if attributes.key?(:'remote_deleted_at') + self.remote_deleted_at = attributes[:'remote_deleted_at'] + else + self.remote_deleted_at = nil + end + + if attributes.key?(:'used') + self.used = attributes[:'used'] + else + self.used = nil + end + + if attributes.key?(:'used_unit') + self.used_unit = attributes[:'used_unit'] + else + self.used_unit = nil + end + + if attributes.key?(:'remote_data') + if (value = attributes[:'remote_data']).is_a?(Hash) + self.remote_data = value + end + else + self.remote_data = nil + end + + if attributes.key?(:'type') + self.type = attributes[:'type'] + else + self.type = nil + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + warn '[DEPRECATED] the `list_invalid_properties` method is obsolete' + invalid_properties = Array.new + if @id.nil? + invalid_properties.push('invalid value for "id", id cannot be nil.') + end + + if @employee_id.nil? + invalid_properties.push('invalid value for "employee_id", employee_id cannot be nil.') + end + + if @type_id.nil? + invalid_properties.push('invalid value for "type_id", type_id cannot be nil.') + end + + if @balance < -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + invalid_properties.push('invalid value for "balance", must be greater than or equal to -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.') + end + + if @changed_at.nil? + invalid_properties.push('invalid value for "changed_at", changed_at cannot be nil.') + end + + if @used < -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + invalid_properties.push('invalid value for "used", must be greater than or equal to -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.') + end + + if @type.nil? + invalid_properties.push('invalid value for "type", type cannot be nil.') + end + + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + warn '[DEPRECATED] the `valid?` method is obsolete' + return false if @id.nil? + return false if @employee_id.nil? + return false if @type_id.nil? + return false if @balance < -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + balance_unit_validator = EnumAttributeValidator.new('String', ["HOURS", "DAYS"]) + return false unless balance_unit_validator.valid?(@balance_unit) + return false if @changed_at.nil? + return false if @used < -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + used_unit_validator = EnumAttributeValidator.new('String', ["HOURS", "DAYS"]) + return false unless used_unit_validator.valid?(@used_unit) + return false if @type.nil? + true + end + + # Custom attribute writer method with validation + # @param [Object] id Value to be assigned + def id=(id) + if id.nil? + fail ArgumentError, 'id cannot be nil' + end + + @id = id + end + + # Custom attribute writer method with validation + # @param [Object] employee_id Value to be assigned + def employee_id=(employee_id) + if employee_id.nil? + fail ArgumentError, 'employee_id cannot be nil' + end + + @employee_id = employee_id + end + + # Custom attribute writer method with validation + # @param [Object] type_id Value to be assigned + def type_id=(type_id) + if type_id.nil? + fail ArgumentError, 'type_id cannot be nil' + end + + @type_id = type_id + end + + # Custom attribute writer method with validation + # @param [Object] balance Value to be assigned + def balance=(balance) + if !balance.nil? && balance < -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + fail ArgumentError, 'invalid value for "balance", must be greater than or equal to -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.' + end + + @balance = balance + end + + # Custom attribute writer method checking allowed values (enum). + # @param [Object] balance_unit Object to be assigned + def balance_unit=(balance_unit) + validator = EnumAttributeValidator.new('String', ["HOURS", "DAYS"]) + unless validator.valid?(balance_unit) + fail ArgumentError, "invalid value for \"balance_unit\", must be one of #{validator.allowable_values}." + end + @balance_unit = balance_unit + end + + # Custom attribute writer method with validation + # @param [Object] changed_at Value to be assigned + def changed_at=(changed_at) + if changed_at.nil? + fail ArgumentError, 'changed_at cannot be nil' + end + + @changed_at = changed_at + end + + # Custom attribute writer method with validation + # @param [Object] used Value to be assigned + def used=(used) + if !used.nil? && used < -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + fail ArgumentError, 'invalid value for "used", must be greater than or equal to -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.' + end + + @used = used + end + + # Custom attribute writer method checking allowed values (enum). + # @param [Object] used_unit Object to be assigned + def used_unit=(used_unit) + validator = EnumAttributeValidator.new('String', ["HOURS", "DAYS"]) + unless validator.valid?(used_unit) + fail ArgumentError, "invalid value for \"used_unit\", must be one of #{validator.allowable_values}." + end + @used_unit = used_unit + end + + # Custom attribute writer method with validation + # @param [Object] type Value to be assigned + def type=(type) + if type.nil? + fail ArgumentError, 'type cannot be nil' + end + + @type = type + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + id == o.id && + remote_id == o.remote_id && + employee_id == o.employee_id && + type_id == o.type_id && + balance == o.balance && + balance_unit == o.balance_unit && + changed_at == o.changed_at && + remote_deleted_at == o.remote_deleted_at && + used == o.used && + used_unit == o.used_unit && + remote_data == o.remote_data && + type == o.type + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [id, remote_id, employee_id, type_id, balance, balance_unit, changed_at, remote_deleted_at, used, used_unit, remote_data, type].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + transformed_hash = {} + openapi_types.each_pair do |key, type| + if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = nil + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[attribute_map[key]].is_a?(Array) + transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) } + end + elsif !attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]]) + end + end + new(transformed_hash) + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + end + +end diff --git a/lib/kombo_client/models/get_hris_timesheets_parameter_include_deleted.rb b/lib/kombo_client/models/get_hris_timesheets_parameter_include_deleted.rb new file mode 100644 index 0000000..2564914 --- /dev/null +++ b/lib/kombo_client/models/get_hris_timesheets_parameter_include_deleted.rb @@ -0,0 +1,40 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.17.0 + +=end + +require 'date' +require 'time' + +module Kombo + class GetHrisTimesheetsParameterIncludeDeleted + TRUE = "true".freeze + FALSE = "false".freeze + + def self.all_vars + @all_vars ||= [TRUE, FALSE].freeze + end + + # Builds the enum from string + # @param [String] The enum value in the form of the string + # @return [String] The enum value + def self.build_from_hash(value) + new.build_from_hash(value) + end + + # Builds the enum from string + # @param [String] The enum value in the form of the string + # @return [String] The enum value + def build_from_hash(value) + return value if GetHrisTimesheetsParameterIncludeDeleted.all_vars.include?(value) + raise "Invalid ENUM value #{value} for class #GetHrisTimesheetsParameterIncludeDeleted" + end + end +end diff --git a/lib/kombo_client/models/get_hris_timesheets_positive_response.rb b/lib/kombo_client/models/get_hris_timesheets_positive_response.rb new file mode 100644 index 0000000..738bd30 --- /dev/null +++ b/lib/kombo_client/models/get_hris_timesheets_positive_response.rb @@ -0,0 +1,214 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.17.0 + +=end + +require 'date' +require 'time' + +module Kombo + class GetHrisTimesheetsPositiveResponse < ApiModelBase + attr_accessor :status + + attr_accessor :data + + class EnumAttributeValidator + attr_reader :datatype + attr_reader :allowable_values + + def initialize(datatype, allowable_values) + @allowable_values = allowable_values.map do |value| + case datatype.to_s + when /Integer/i + value.to_i + when /Float/i + value.to_f + else + value + end + end + end + + def valid?(value) + !value || allowable_values.include?(value) + end + end + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'status' => :'status', + :'data' => :'data' + } + end + + # Returns attribute mapping this model knows about + def self.acceptable_attribute_map + attribute_map + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + acceptable_attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'status' => :'String', + :'data' => :'GetHrisTimesheetsPositiveResponseData' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Kombo::GetHrisTimesheetsPositiveResponse` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + acceptable_attribute_map = self.class.acceptable_attribute_map + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!acceptable_attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Kombo::GetHrisTimesheetsPositiveResponse`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'status') + self.status = attributes[:'status'] + else + self.status = nil + end + + if attributes.key?(:'data') + self.data = attributes[:'data'] + else + self.data = nil + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + warn '[DEPRECATED] the `list_invalid_properties` method is obsolete' + invalid_properties = Array.new + if @status.nil? + invalid_properties.push('invalid value for "status", status cannot be nil.') + end + + if @data.nil? + invalid_properties.push('invalid value for "data", data cannot be nil.') + end + + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + warn '[DEPRECATED] the `valid?` method is obsolete' + return false if @status.nil? + status_validator = EnumAttributeValidator.new('String', ["success"]) + return false unless status_validator.valid?(@status) + return false if @data.nil? + true + end + + # Custom attribute writer method checking allowed values (enum). + # @param [Object] status Object to be assigned + def status=(status) + validator = EnumAttributeValidator.new('String', ["success"]) + unless validator.valid?(status) + fail ArgumentError, "invalid value for \"status\", must be one of #{validator.allowable_values}." + end + @status = status + end + + # Custom attribute writer method with validation + # @param [Object] data Value to be assigned + def data=(data) + if data.nil? + fail ArgumentError, 'data cannot be nil' + end + + @data = data + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + status == o.status && + data == o.data + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [status, data].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + transformed_hash = {} + openapi_types.each_pair do |key, type| + if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = nil + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[attribute_map[key]].is_a?(Array) + transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) } + end + elsif !attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]]) + end + end + new(transformed_hash) + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + end + +end diff --git a/lib/kombo_client/models/get_hris_timesheets_positive_response_data.rb b/lib/kombo_client/models/get_hris_timesheets_positive_response_data.rb new file mode 100644 index 0000000..ede581f --- /dev/null +++ b/lib/kombo_client/models/get_hris_timesheets_positive_response_data.rb @@ -0,0 +1,179 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.17.0 + +=end + +require 'date' +require 'time' + +module Kombo + class GetHrisTimesheetsPositiveResponseData < ApiModelBase + # 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. + attr_accessor :_next + + attr_accessor :results + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'_next' => :'next', + :'results' => :'results' + } + end + + # Returns attribute mapping this model knows about + def self.acceptable_attribute_map + attribute_map + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + acceptable_attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'_next' => :'String', + :'results' => :'Array' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + :'_next', + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Kombo::GetHrisTimesheetsPositiveResponseData` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + acceptable_attribute_map = self.class.acceptable_attribute_map + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!acceptable_attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Kombo::GetHrisTimesheetsPositiveResponseData`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'_next') + self._next = attributes[:'_next'] + else + self._next = nil + end + + if attributes.key?(:'results') + if (value = attributes[:'results']).is_a?(Array) + self.results = value + end + else + self.results = nil + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + warn '[DEPRECATED] the `list_invalid_properties` method is obsolete' + invalid_properties = Array.new + if @results.nil? + invalid_properties.push('invalid value for "results", results cannot be nil.') + end + + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + warn '[DEPRECATED] the `valid?` method is obsolete' + return false if @results.nil? + true + end + + # Custom attribute writer method with validation + # @param [Object] results Value to be assigned + def results=(results) + if results.nil? + fail ArgumentError, 'results cannot be nil' + end + + @results = results + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + _next == o._next && + results == o.results + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [_next, results].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + transformed_hash = {} + openapi_types.each_pair do |key, type| + if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = nil + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[attribute_map[key]].is_a?(Array) + transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) } + end + elsif !attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]]) + end + end + new(transformed_hash) + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + end + +end diff --git a/lib/kombo_client/models/get_hris_timesheets_positive_response_data_results_inner.rb b/lib/kombo_client/models/get_hris_timesheets_positive_response_data_results_inner.rb new file mode 100644 index 0000000..377c23f --- /dev/null +++ b/lib/kombo_client/models/get_hris_timesheets_positive_response_data_results_inner.rb @@ -0,0 +1,468 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.17.0 + +=end + +require 'date' +require 'time' + +module Kombo + class GetHrisTimesheetsPositiveResponseDataResultsInner < ApiModelBase + # The globally unique ID of this object generated by Kombo. We recommend using this as a stable primary key for syncing. + attr_accessor :id + + # 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. + attr_accessor :remote_id + + # 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. + attr_accessor :employee_id + + # Start time of the shift, converted into UTC time zone. + attr_accessor :started_at + + # End time of the shift, converted into UTC time zone. + attr_accessor :ended_at + + # 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. + attr_accessor :timezone + + # Payable hours including grace periods - only if available in the HRIS. Won't be calculated through Kombo. + attr_accessor :payable_hours + + # Unpaid break in minutes - will be from the HRIS or calculated by Kombo if we have concrete unpaid break times. + attr_accessor :unpaid_break_minutes + + # Concrete times of the breaks. + attr_accessor :breaks + + # Approval status of the shift. Can be PENDING, APPROVED, REJECTED, or null. + attr_accessor :approval_status + + # The time when the shift was approved. + attr_accessor :approved_at + + # Comment on the shift. + attr_accessor :comment + + # A key-value store of fields not covered by the schema. [Read more](/custom-fields) + attr_accessor :custom_fields + + # An array of selected passthrough integration fields. [Read more](/integration-fields) + attr_accessor :integration_fields + + # 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. + attr_accessor :changed_at + + # 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. + attr_accessor :remote_deleted_at + + # 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. + attr_accessor :remote_data + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'id' => :'id', + :'remote_id' => :'remote_id', + :'employee_id' => :'employee_id', + :'started_at' => :'started_at', + :'ended_at' => :'ended_at', + :'timezone' => :'timezone', + :'payable_hours' => :'payable_hours', + :'unpaid_break_minutes' => :'unpaid_break_minutes', + :'breaks' => :'breaks', + :'approval_status' => :'approval_status', + :'approved_at' => :'approved_at', + :'comment' => :'comment', + :'custom_fields' => :'custom_fields', + :'integration_fields' => :'integration_fields', + :'changed_at' => :'changed_at', + :'remote_deleted_at' => :'remote_deleted_at', + :'remote_data' => :'remote_data' + } + end + + # Returns attribute mapping this model knows about + def self.acceptable_attribute_map + attribute_map + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + acceptable_attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'id' => :'String', + :'remote_id' => :'String', + :'employee_id' => :'String', + :'started_at' => :'Time', + :'ended_at' => :'Time', + :'timezone' => :'String', + :'payable_hours' => :'Float', + :'unpaid_break_minutes' => :'Float', + :'breaks' => :'Array', + :'approval_status' => :'String', + :'approved_at' => :'Time', + :'comment' => :'String', + :'custom_fields' => :'Hash', + :'integration_fields' => :'Array', + :'changed_at' => :'Time', + :'remote_deleted_at' => :'Time', + :'remote_data' => :'Hash' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + :'remote_id', + :'started_at', + :'ended_at', + :'timezone', + :'payable_hours', + :'unpaid_break_minutes', + :'breaks', + :'approval_status', + :'approved_at', + :'comment', + :'custom_fields', + :'remote_deleted_at', + :'remote_data' + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Kombo::GetHrisTimesheetsPositiveResponseDataResultsInner` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + acceptable_attribute_map = self.class.acceptable_attribute_map + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!acceptable_attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Kombo::GetHrisTimesheetsPositiveResponseDataResultsInner`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'id') + self.id = attributes[:'id'] + else + self.id = nil + end + + if attributes.key?(:'remote_id') + self.remote_id = attributes[:'remote_id'] + else + self.remote_id = nil + end + + if attributes.key?(:'employee_id') + self.employee_id = attributes[:'employee_id'] + else + self.employee_id = nil + end + + if attributes.key?(:'started_at') + self.started_at = attributes[:'started_at'] + else + self.started_at = nil + end + + if attributes.key?(:'ended_at') + self.ended_at = attributes[:'ended_at'] + else + self.ended_at = nil + end + + if attributes.key?(:'timezone') + self.timezone = attributes[:'timezone'] + else + self.timezone = nil + end + + if attributes.key?(:'payable_hours') + self.payable_hours = attributes[:'payable_hours'] + else + self.payable_hours = nil + end + + if attributes.key?(:'unpaid_break_minutes') + self.unpaid_break_minutes = attributes[:'unpaid_break_minutes'] + else + self.unpaid_break_minutes = nil + end + + if attributes.key?(:'breaks') + if (value = attributes[:'breaks']).is_a?(Array) + self.breaks = value + end + end + + if attributes.key?(:'approval_status') + self.approval_status = attributes[:'approval_status'] + else + self.approval_status = nil + end + + if attributes.key?(:'approved_at') + self.approved_at = attributes[:'approved_at'] + else + self.approved_at = nil + end + + if attributes.key?(:'comment') + self.comment = attributes[:'comment'] + else + self.comment = nil + end + + if attributes.key?(:'custom_fields') + if (value = attributes[:'custom_fields']).is_a?(Hash) + self.custom_fields = value + end + else + self.custom_fields = nil + end + + if attributes.key?(:'integration_fields') + if (value = attributes[:'integration_fields']).is_a?(Array) + self.integration_fields = value + end + else + self.integration_fields = nil + end + + if attributes.key?(:'changed_at') + self.changed_at = attributes[:'changed_at'] + else + self.changed_at = nil + end + + if attributes.key?(:'remote_deleted_at') + self.remote_deleted_at = attributes[:'remote_deleted_at'] + else + self.remote_deleted_at = nil + end + + if attributes.key?(:'remote_data') + if (value = attributes[:'remote_data']).is_a?(Hash) + self.remote_data = value + end + else + self.remote_data = nil + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + warn '[DEPRECATED] the `list_invalid_properties` method is obsolete' + invalid_properties = Array.new + if @id.nil? + invalid_properties.push('invalid value for "id", id cannot be nil.') + end + + if @employee_id.nil? + invalid_properties.push('invalid value for "employee_id", employee_id cannot be nil.') + end + + pattern = Regexp.new(/^[+-](?:0\d|1[0-4]):[0-5]\d$/) + if @timezone !~ pattern + invalid_properties.push("invalid value for \"timezone\", must conform to the pattern #{pattern}.") + end + + if @payable_hours < -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + invalid_properties.push('invalid value for "payable_hours", must be greater than or equal to -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.') + end + + if @unpaid_break_minutes < -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + invalid_properties.push('invalid value for "unpaid_break_minutes", must be greater than or equal to -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.') + end + + if @integration_fields.nil? + invalid_properties.push('invalid value for "integration_fields", integration_fields cannot be nil.') + end + + if @changed_at.nil? + invalid_properties.push('invalid value for "changed_at", changed_at cannot be nil.') + end + + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + warn '[DEPRECATED] the `valid?` method is obsolete' + return false if @id.nil? + return false if @employee_id.nil? + return false if @timezone !~ Regexp.new(/^[+-](?:0\d|1[0-4]):[0-5]\d$/) + return false if @payable_hours < -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + return false if @unpaid_break_minutes < -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + return false if @integration_fields.nil? + return false if @changed_at.nil? + true + end + + # Custom attribute writer method with validation + # @param [Object] id Value to be assigned + def id=(id) + if id.nil? + fail ArgumentError, 'id cannot be nil' + end + + @id = id + end + + # Custom attribute writer method with validation + # @param [Object] employee_id Value to be assigned + def employee_id=(employee_id) + if employee_id.nil? + fail ArgumentError, 'employee_id cannot be nil' + end + + @employee_id = employee_id + end + + # Custom attribute writer method with validation + # @param [Object] timezone Value to be assigned + def timezone=(timezone) + pattern = Regexp.new(/^[+-](?:0\d|1[0-4]):[0-5]\d$/) + if !timezone.nil? && timezone !~ pattern + fail ArgumentError, "invalid value for \"timezone\", must conform to the pattern #{pattern}." + end + + @timezone = timezone + end + + # Custom attribute writer method with validation + # @param [Object] payable_hours Value to be assigned + def payable_hours=(payable_hours) + if !payable_hours.nil? && payable_hours < -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + fail ArgumentError, 'invalid value for "payable_hours", must be greater than or equal to -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.' + end + + @payable_hours = payable_hours + end + + # Custom attribute writer method with validation + # @param [Object] unpaid_break_minutes Value to be assigned + def unpaid_break_minutes=(unpaid_break_minutes) + if !unpaid_break_minutes.nil? && unpaid_break_minutes < -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + fail ArgumentError, 'invalid value for "unpaid_break_minutes", must be greater than or equal to -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.' + end + + @unpaid_break_minutes = unpaid_break_minutes + end + + # Custom attribute writer method with validation + # @param [Object] integration_fields Value to be assigned + def integration_fields=(integration_fields) + if integration_fields.nil? + fail ArgumentError, 'integration_fields cannot be nil' + end + + @integration_fields = integration_fields + end + + # Custom attribute writer method with validation + # @param [Object] changed_at Value to be assigned + def changed_at=(changed_at) + if changed_at.nil? + fail ArgumentError, 'changed_at cannot be nil' + end + + @changed_at = changed_at + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + id == o.id && + remote_id == o.remote_id && + employee_id == o.employee_id && + started_at == o.started_at && + ended_at == o.ended_at && + timezone == o.timezone && + payable_hours == o.payable_hours && + unpaid_break_minutes == o.unpaid_break_minutes && + breaks == o.breaks && + approval_status == o.approval_status && + approved_at == o.approved_at && + comment == o.comment && + custom_fields == o.custom_fields && + integration_fields == o.integration_fields && + changed_at == o.changed_at && + remote_deleted_at == o.remote_deleted_at && + remote_data == o.remote_data + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [id, remote_id, employee_id, started_at, ended_at, timezone, payable_hours, unpaid_break_minutes, breaks, approval_status, approved_at, comment, custom_fields, integration_fields, changed_at, remote_deleted_at, remote_data].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + transformed_hash = {} + openapi_types.each_pair do |key, type| + if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = nil + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[attribute_map[key]].is_a?(Array) + transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) } + end + elsif !attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]]) + end + end + new(transformed_hash) + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + end + +end diff --git a/lib/kombo_client/models/get_hris_timesheets_positive_response_data_results_inner_breaks_inner.rb b/lib/kombo_client/models/get_hris_timesheets_positive_response_data_results_inner_breaks_inner.rb new file mode 100644 index 0000000..95e3db9 --- /dev/null +++ b/lib/kombo_client/models/get_hris_timesheets_positive_response_data_results_inner_breaks_inner.rb @@ -0,0 +1,217 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.17.0 + +=end + +require 'date' +require 'time' + +module Kombo + class GetHrisTimesheetsPositiveResponseDataResultsInnerBreaksInner < ApiModelBase + attr_accessor :ended_at + + # Whether the break is paid or unpaid. + attr_accessor :paid + + attr_accessor :started_at + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'ended_at' => :'ended_at', + :'paid' => :'paid', + :'started_at' => :'started_at' + } + end + + # Returns attribute mapping this model knows about + def self.acceptable_attribute_map + attribute_map + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + acceptable_attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'ended_at' => :'GetHrisTimesheetsPositiveResponseDataResultsInnerBreaksInnerEndedAt', + :'paid' => :'Boolean', + :'started_at' => :'GetHrisTimesheetsPositiveResponseDataResultsInnerBreaksInnerStartedAt' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Kombo::GetHrisTimesheetsPositiveResponseDataResultsInnerBreaksInner` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + acceptable_attribute_map = self.class.acceptable_attribute_map + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!acceptable_attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Kombo::GetHrisTimesheetsPositiveResponseDataResultsInnerBreaksInner`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'ended_at') + self.ended_at = attributes[:'ended_at'] + else + self.ended_at = nil + end + + if attributes.key?(:'paid') + self.paid = attributes[:'paid'] + else + self.paid = nil + end + + if attributes.key?(:'started_at') + self.started_at = attributes[:'started_at'] + else + self.started_at = nil + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + warn '[DEPRECATED] the `list_invalid_properties` method is obsolete' + invalid_properties = Array.new + if @ended_at.nil? + invalid_properties.push('invalid value for "ended_at", ended_at cannot be nil.') + end + + if @paid.nil? + invalid_properties.push('invalid value for "paid", paid cannot be nil.') + end + + if @started_at.nil? + invalid_properties.push('invalid value for "started_at", started_at cannot be nil.') + end + + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + warn '[DEPRECATED] the `valid?` method is obsolete' + return false if @ended_at.nil? + return false if @paid.nil? + return false if @started_at.nil? + true + end + + # Custom attribute writer method with validation + # @param [Object] ended_at Value to be assigned + def ended_at=(ended_at) + if ended_at.nil? + fail ArgumentError, 'ended_at cannot be nil' + end + + @ended_at = ended_at + end + + # Custom attribute writer method with validation + # @param [Object] paid Value to be assigned + def paid=(paid) + if paid.nil? + fail ArgumentError, 'paid cannot be nil' + end + + @paid = paid + end + + # Custom attribute writer method with validation + # @param [Object] started_at Value to be assigned + def started_at=(started_at) + if started_at.nil? + fail ArgumentError, 'started_at cannot be nil' + end + + @started_at = started_at + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + ended_at == o.ended_at && + paid == o.paid && + started_at == o.started_at + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [ended_at, paid, started_at].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + transformed_hash = {} + openapi_types.each_pair do |key, type| + if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = nil + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[attribute_map[key]].is_a?(Array) + transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) } + end + elsif !attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]]) + end + end + new(transformed_hash) + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + end + +end diff --git a/lib/kombo_client/models/get_hris_timesheets_positive_response_data_results_inner_breaks_inner_ended_at.rb b/lib/kombo_client/models/get_hris_timesheets_positive_response_data_results_inner_breaks_inner_ended_at.rb new file mode 100644 index 0000000..df0b97b --- /dev/null +++ b/lib/kombo_client/models/get_hris_timesheets_positive_response_data_results_inner_breaks_inner_ended_at.rb @@ -0,0 +1,103 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.17.0 + +=end + +require 'date' +require 'time' + +module Kombo + # End time of the break. + module GetHrisTimesheetsPositiveResponseDataResultsInnerBreaksInnerEndedAt + class << self + # List of class defined in anyOf (OpenAPI v3) + def openapi_any_of + [ + :'Time' + ] + end + + # Builds the object + # @param [Mixed] Data to be matched against the list of anyOf items + # @return [Object] Returns the model or the data itself + def build(data) + # Go through the list of anyOf items and attempt to identify the appropriate one. + # Note: + # - No advanced validation of types in some cases (e.g. "x: { type: string }" will happily match { x: 123 }) + # due to the way the deserialization is made in the base_object template (it just casts without verifying). + # - TODO: scalar values are de facto behaving as if they were nullable. + # - TODO: logging when debugging is set. + openapi_any_of.each do |klass| + begin + next if klass == :AnyType # "nullable: true" + return find_and_cast_into_type(klass, data) + rescue # rescue all errors so we keep iterating even if the current item lookup raises + end + end + + openapi_any_of.include?(:AnyType) ? data : nil + end + + private + + SchemaMismatchError = Class.new(StandardError) + + # Note: 'File' is missing here because in the regular case we get the data _after_ a call to JSON.parse. + def find_and_cast_into_type(klass, data) + return if data.nil? + + case klass.to_s + when 'Boolean' + return data if data.instance_of?(TrueClass) || data.instance_of?(FalseClass) + when 'Float' + return data if data.instance_of?(Float) + when 'Integer' + return data if data.instance_of?(Integer) + when 'Time' + return Time.parse(data) + when 'Date' + return Date.iso8601(data) + when 'String' + return data if data.instance_of?(String) + when 'Object' # "type: object" + return data if data.instance_of?(Hash) + when /\AArray<(?.+)>\z/ # "type: array" + if data.instance_of?(Array) + sub_type = Regexp.last_match[:sub_type] + return data.map { |item| find_and_cast_into_type(sub_type, item) } + end + when /\AHash.+)>\z/ # "type: object" with "additionalProperties: { ... }" + if data.instance_of?(Hash) && data.keys.all? { |k| k.instance_of?(Symbol) || k.instance_of?(String) } + sub_type = Regexp.last_match[:sub_type] + return data.each_with_object({}) { |(k, v), hsh| hsh[k] = find_and_cast_into_type(sub_type, v) } + end + else # model + const = Kombo.const_get(klass) + if const + if const.respond_to?(:openapi_any_of) # nested anyOf model + model = const.build(data) + return model if model + else + # raise if data contains keys that are not known to the model + raise if const.respond_to?(:acceptable_attributes) && !(data.keys - const.acceptable_attributes).empty? + model = const.build_from_hash(data) + return model if model + end + end + end + + raise # if no match by now, raise + rescue + raise SchemaMismatchError, "#{data} doesn't match the #{klass} type" + end + end + end + +end diff --git a/lib/kombo_client/models/get_hris_timesheets_positive_response_data_results_inner_breaks_inner_started_at.rb b/lib/kombo_client/models/get_hris_timesheets_positive_response_data_results_inner_breaks_inner_started_at.rb new file mode 100644 index 0000000..52ef4e7 --- /dev/null +++ b/lib/kombo_client/models/get_hris_timesheets_positive_response_data_results_inner_breaks_inner_started_at.rb @@ -0,0 +1,103 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.17.0 + +=end + +require 'date' +require 'time' + +module Kombo + # Start time of the break. + module GetHrisTimesheetsPositiveResponseDataResultsInnerBreaksInnerStartedAt + class << self + # List of class defined in anyOf (OpenAPI v3) + def openapi_any_of + [ + :'Time' + ] + end + + # Builds the object + # @param [Mixed] Data to be matched against the list of anyOf items + # @return [Object] Returns the model or the data itself + def build(data) + # Go through the list of anyOf items and attempt to identify the appropriate one. + # Note: + # - No advanced validation of types in some cases (e.g. "x: { type: string }" will happily match { x: 123 }) + # due to the way the deserialization is made in the base_object template (it just casts without verifying). + # - TODO: scalar values are de facto behaving as if they were nullable. + # - TODO: logging when debugging is set. + openapi_any_of.each do |klass| + begin + next if klass == :AnyType # "nullable: true" + return find_and_cast_into_type(klass, data) + rescue # rescue all errors so we keep iterating even if the current item lookup raises + end + end + + openapi_any_of.include?(:AnyType) ? data : nil + end + + private + + SchemaMismatchError = Class.new(StandardError) + + # Note: 'File' is missing here because in the regular case we get the data _after_ a call to JSON.parse. + def find_and_cast_into_type(klass, data) + return if data.nil? + + case klass.to_s + when 'Boolean' + return data if data.instance_of?(TrueClass) || data.instance_of?(FalseClass) + when 'Float' + return data if data.instance_of?(Float) + when 'Integer' + return data if data.instance_of?(Integer) + when 'Time' + return Time.parse(data) + when 'Date' + return Date.iso8601(data) + when 'String' + return data if data.instance_of?(String) + when 'Object' # "type: object" + return data if data.instance_of?(Hash) + when /\AArray<(?.+)>\z/ # "type: array" + if data.instance_of?(Array) + sub_type = Regexp.last_match[:sub_type] + return data.map { |item| find_and_cast_into_type(sub_type, item) } + end + when /\AHash.+)>\z/ # "type: object" with "additionalProperties: { ... }" + if data.instance_of?(Hash) && data.keys.all? { |k| k.instance_of?(Symbol) || k.instance_of?(String) } + sub_type = Regexp.last_match[:sub_type] + return data.each_with_object({}) { |(k, v), hsh| hsh[k] = find_and_cast_into_type(sub_type, v) } + end + else # model + const = Kombo.const_get(klass) + if const + if const.respond_to?(:openapi_any_of) # nested anyOf model + model = const.build(data) + return model if model + else + # raise if data contains keys that are not known to the model + raise if const.respond_to?(:acceptable_attributes) && !(data.keys - const.acceptable_attributes).empty? + model = const.build_from_hash(data) + return model if model + end + end + end + + raise # if no match by now, raise + rescue + raise SchemaMismatchError, "#{data} doesn't match the #{klass} type" + end + end + end + +end diff --git a/lib/kombo_client/models/get_integrations_integration_id_custom_fields_positive_response.rb b/lib/kombo_client/models/get_integrations_integration_id_custom_fields_positive_response.rb new file mode 100644 index 0000000..d00d9d0 --- /dev/null +++ b/lib/kombo_client/models/get_integrations_integration_id_custom_fields_positive_response.rb @@ -0,0 +1,214 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.17.0 + +=end + +require 'date' +require 'time' + +module Kombo + class GetIntegrationsIntegrationIdCustomFieldsPositiveResponse < ApiModelBase + attr_accessor :status + + attr_accessor :data + + class EnumAttributeValidator + attr_reader :datatype + attr_reader :allowable_values + + def initialize(datatype, allowable_values) + @allowable_values = allowable_values.map do |value| + case datatype.to_s + when /Integer/i + value.to_i + when /Float/i + value.to_f + else + value + end + end + end + + def valid?(value) + !value || allowable_values.include?(value) + end + end + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'status' => :'status', + :'data' => :'data' + } + end + + # Returns attribute mapping this model knows about + def self.acceptable_attribute_map + attribute_map + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + acceptable_attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'status' => :'String', + :'data' => :'GetIntegrationsIntegrationIdCustomFieldsPositiveResponseData' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Kombo::GetIntegrationsIntegrationIdCustomFieldsPositiveResponse` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + acceptable_attribute_map = self.class.acceptable_attribute_map + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!acceptable_attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Kombo::GetIntegrationsIntegrationIdCustomFieldsPositiveResponse`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'status') + self.status = attributes[:'status'] + else + self.status = nil + end + + if attributes.key?(:'data') + self.data = attributes[:'data'] + else + self.data = nil + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + warn '[DEPRECATED] the `list_invalid_properties` method is obsolete' + invalid_properties = Array.new + if @status.nil? + invalid_properties.push('invalid value for "status", status cannot be nil.') + end + + if @data.nil? + invalid_properties.push('invalid value for "data", data cannot be nil.') + end + + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + warn '[DEPRECATED] the `valid?` method is obsolete' + return false if @status.nil? + status_validator = EnumAttributeValidator.new('String', ["success"]) + return false unless status_validator.valid?(@status) + return false if @data.nil? + true + end + + # Custom attribute writer method checking allowed values (enum). + # @param [Object] status Object to be assigned + def status=(status) + validator = EnumAttributeValidator.new('String', ["success"]) + unless validator.valid?(status) + fail ArgumentError, "invalid value for \"status\", must be one of #{validator.allowable_values}." + end + @status = status + end + + # Custom attribute writer method with validation + # @param [Object] data Value to be assigned + def data=(data) + if data.nil? + fail ArgumentError, 'data cannot be nil' + end + + @data = data + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + status == o.status && + data == o.data + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [status, data].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + transformed_hash = {} + openapi_types.each_pair do |key, type| + if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = nil + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[attribute_map[key]].is_a?(Array) + transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) } + end + elsif !attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]]) + end + end + new(transformed_hash) + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + end + +end diff --git a/lib/kombo_client/models/get_integrations_integration_id_custom_fields_positive_response_data.rb b/lib/kombo_client/models/get_integrations_integration_id_custom_fields_positive_response_data.rb new file mode 100644 index 0000000..d4cc446 --- /dev/null +++ b/lib/kombo_client/models/get_integrations_integration_id_custom_fields_positive_response_data.rb @@ -0,0 +1,192 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.17.0 + +=end + +require 'date' +require 'time' + +module Kombo + class GetIntegrationsIntegrationIdCustomFieldsPositiveResponseData < ApiModelBase + attr_accessor :results + + # **(⚠️ 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. + attr_accessor :next_cursor + + # 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. + attr_accessor :_next + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'results' => :'results', + :'next_cursor' => :'next_cursor', + :'_next' => :'next' + } + end + + # Returns attribute mapping this model knows about + def self.acceptable_attribute_map + attribute_map + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + acceptable_attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'results' => :'Array', + :'next_cursor' => :'String', + :'_next' => :'String' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + :'next_cursor', + :'_next' + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Kombo::GetIntegrationsIntegrationIdCustomFieldsPositiveResponseData` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + acceptable_attribute_map = self.class.acceptable_attribute_map + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!acceptable_attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Kombo::GetIntegrationsIntegrationIdCustomFieldsPositiveResponseData`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'results') + if (value = attributes[:'results']).is_a?(Array) + self.results = value + end + else + self.results = nil + end + + if attributes.key?(:'next_cursor') + self.next_cursor = attributes[:'next_cursor'] + else + self.next_cursor = nil + end + + if attributes.key?(:'_next') + self._next = attributes[:'_next'] + else + self._next = nil + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + warn '[DEPRECATED] the `list_invalid_properties` method is obsolete' + invalid_properties = Array.new + if @results.nil? + invalid_properties.push('invalid value for "results", results cannot be nil.') + end + + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + warn '[DEPRECATED] the `valid?` method is obsolete' + return false if @results.nil? + true + end + + # Custom attribute writer method with validation + # @param [Object] results Value to be assigned + def results=(results) + if results.nil? + fail ArgumentError, 'results cannot be nil' + end + + @results = results + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + results == o.results && + next_cursor == o.next_cursor && + _next == o._next + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [results, next_cursor, _next].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + transformed_hash = {} + openapi_types.each_pair do |key, type| + if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = nil + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[attribute_map[key]].is_a?(Array) + transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) } + end + elsif !attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]]) + end + end + new(transformed_hash) + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + end + +end diff --git a/lib/kombo_client/models/get_integrations_integration_id_custom_fields_positive_response_data_results_inner.rb b/lib/kombo_client/models/get_integrations_integration_id_custom_fields_positive_response_data_results_inner.rb new file mode 100644 index 0000000..d3495dc --- /dev/null +++ b/lib/kombo_client/models/get_integrations_integration_id_custom_fields_positive_response_data_results_inner.rb @@ -0,0 +1,271 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.17.0 + +=end + +require 'date' +require 'time' + +module Kombo + class GetIntegrationsIntegrationIdCustomFieldsPositiveResponseDataResultsInner < ApiModelBase + # The unique ID of the field + attr_accessor :id + + # The key of the custom field as it will be used in the custom_field object of the corresponding model + attr_accessor :key + + attr_accessor :integration_field + + # The model the field is associated with + attr_accessor :model + + # The label of the custom field + attr_accessor :label + + # The description of the custom field + attr_accessor :description + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'id' => :'id', + :'key' => :'key', + :'integration_field' => :'integration_field', + :'model' => :'model', + :'label' => :'label', + :'description' => :'description' + } + end + + # Returns attribute mapping this model knows about + def self.acceptable_attribute_map + attribute_map + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + acceptable_attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'id' => :'String', + :'key' => :'String', + :'integration_field' => :'GetIntegrationsIntegrationIdCustomFieldsPositiveResponseDataResultsInnerIntegrationField', + :'model' => :'String', + :'label' => :'String', + :'description' => :'String' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + :'label', + :'description' + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Kombo::GetIntegrationsIntegrationIdCustomFieldsPositiveResponseDataResultsInner` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + acceptable_attribute_map = self.class.acceptable_attribute_map + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!acceptable_attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Kombo::GetIntegrationsIntegrationIdCustomFieldsPositiveResponseDataResultsInner`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'id') + self.id = attributes[:'id'] + else + self.id = nil + end + + if attributes.key?(:'key') + self.key = attributes[:'key'] + else + self.key = nil + end + + if attributes.key?(:'integration_field') + self.integration_field = attributes[:'integration_field'] + else + self.integration_field = nil + end + + if attributes.key?(:'model') + self.model = attributes[:'model'] + else + self.model = nil + end + + if attributes.key?(:'label') + self.label = attributes[:'label'] + else + self.label = nil + end + + if attributes.key?(:'description') + self.description = attributes[:'description'] + else + self.description = nil + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + warn '[DEPRECATED] the `list_invalid_properties` method is obsolete' + invalid_properties = Array.new + if @id.nil? + invalid_properties.push('invalid value for "id", id cannot be nil.') + end + + if @key.nil? + invalid_properties.push('invalid value for "key", key cannot be nil.') + end + + if @integration_field.nil? + invalid_properties.push('invalid value for "integration_field", integration_field cannot be nil.') + end + + if @model.nil? + invalid_properties.push('invalid value for "model", model cannot be nil.') + end + + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + warn '[DEPRECATED] the `valid?` method is obsolete' + return false if @id.nil? + return false if @key.nil? + return false if @integration_field.nil? + return false if @model.nil? + true + end + + # Custom attribute writer method with validation + # @param [Object] id Value to be assigned + def id=(id) + if id.nil? + fail ArgumentError, 'id cannot be nil' + end + + @id = id + end + + # Custom attribute writer method with validation + # @param [Object] key Value to be assigned + def key=(key) + if key.nil? + fail ArgumentError, 'key cannot be nil' + end + + @key = key + end + + # Custom attribute writer method with validation + # @param [Object] integration_field Value to be assigned + def integration_field=(integration_field) + if integration_field.nil? + fail ArgumentError, 'integration_field cannot be nil' + end + + @integration_field = integration_field + end + + # Custom attribute writer method with validation + # @param [Object] model Value to be assigned + def model=(model) + if model.nil? + fail ArgumentError, 'model cannot be nil' + end + + @model = model + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + id == o.id && + key == o.key && + integration_field == o.integration_field && + model == o.model && + label == o.label && + description == o.description + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [id, key, integration_field, model, label, description].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + transformed_hash = {} + openapi_types.each_pair do |key, type| + if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = nil + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[attribute_map[key]].is_a?(Array) + transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) } + end + elsif !attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]]) + end + end + new(transformed_hash) + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + end + +end diff --git a/lib/kombo_client/models/get_integrations_integration_id_custom_fields_positive_response_data_results_inner_integration_field.rb b/lib/kombo_client/models/get_integrations_integration_id_custom_fields_positive_response_data_results_inner_integration_field.rb new file mode 100644 index 0000000..78deae0 --- /dev/null +++ b/lib/kombo_client/models/get_integrations_integration_id_custom_fields_positive_response_data_results_inner_integration_field.rb @@ -0,0 +1,257 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.17.0 + +=end + +require 'date' +require 'time' + +module Kombo + # The integration field the custom field is mapped to. Null if not mapped. + class GetIntegrationsIntegrationIdCustomFieldsPositiveResponseDataResultsInnerIntegrationField < ApiModelBase + # The integration field's unique ID + attr_accessor :id + + # The key of the integration field in the remote system + attr_accessor :key + + # The type of the integration field. There is a type to avoid collisions between DEFAULT fields and CUSTOM fields with the same key. + attr_accessor :type + + # The label of the integration field in the remote system + attr_accessor :label + + class EnumAttributeValidator + attr_reader :datatype + attr_reader :allowable_values + + def initialize(datatype, allowable_values) + @allowable_values = allowable_values.map do |value| + case datatype.to_s + when /Integer/i + value.to_i + when /Float/i + value.to_f + else + value + end + end + end + + def valid?(value) + !value || allowable_values.include?(value) + end + end + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'id' => :'id', + :'key' => :'key', + :'type' => :'type', + :'label' => :'label' + } + end + + # Returns attribute mapping this model knows about + def self.acceptable_attribute_map + attribute_map + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + acceptable_attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'id' => :'String', + :'key' => :'String', + :'type' => :'String', + :'label' => :'String' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + :'label' + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Kombo::GetIntegrationsIntegrationIdCustomFieldsPositiveResponseDataResultsInnerIntegrationField` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + acceptable_attribute_map = self.class.acceptable_attribute_map + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!acceptable_attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Kombo::GetIntegrationsIntegrationIdCustomFieldsPositiveResponseDataResultsInnerIntegrationField`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'id') + self.id = attributes[:'id'] + else + self.id = nil + end + + if attributes.key?(:'key') + self.key = attributes[:'key'] + else + self.key = nil + end + + if attributes.key?(:'type') + self.type = attributes[:'type'] + else + self.type = nil + end + + if attributes.key?(:'label') + self.label = attributes[:'label'] + else + self.label = nil + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + warn '[DEPRECATED] the `list_invalid_properties` method is obsolete' + invalid_properties = Array.new + if @id.nil? + invalid_properties.push('invalid value for "id", id cannot be nil.') + end + + if @key.nil? + invalid_properties.push('invalid value for "key", key cannot be nil.') + end + + if @type.nil? + invalid_properties.push('invalid value for "type", type cannot be nil.') + end + + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + warn '[DEPRECATED] the `valid?` method is obsolete' + return false if @id.nil? + return false if @key.nil? + return false if @type.nil? + type_validator = EnumAttributeValidator.new('String', ["DEFAULT", "CUSTOM"]) + return false unless type_validator.valid?(@type) + true + end + + # Custom attribute writer method with validation + # @param [Object] id Value to be assigned + def id=(id) + if id.nil? + fail ArgumentError, 'id cannot be nil' + end + + @id = id + end + + # Custom attribute writer method with validation + # @param [Object] key Value to be assigned + def key=(key) + if key.nil? + fail ArgumentError, 'key cannot be nil' + end + + @key = key + end + + # Custom attribute writer method checking allowed values (enum). + # @param [Object] type Object to be assigned + def type=(type) + validator = EnumAttributeValidator.new('String', ["DEFAULT", "CUSTOM"]) + unless validator.valid?(type) + fail ArgumentError, "invalid value for \"type\", must be one of #{validator.allowable_values}." + end + @type = type + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + id == o.id && + key == o.key && + type == o.type && + label == o.label + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [id, key, type, label].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + transformed_hash = {} + openapi_types.each_pair do |key, type| + if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = nil + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[attribute_map[key]].is_a?(Array) + transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) } + end + elsif !attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]]) + end + end + new(transformed_hash) + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + end + +end diff --git a/lib/kombo_client/models/get_integrations_integration_id_integration_fields_positive_response.rb b/lib/kombo_client/models/get_integrations_integration_id_integration_fields_positive_response.rb new file mode 100644 index 0000000..d3c9bb6 --- /dev/null +++ b/lib/kombo_client/models/get_integrations_integration_id_integration_fields_positive_response.rb @@ -0,0 +1,214 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.17.0 + +=end + +require 'date' +require 'time' + +module Kombo + class GetIntegrationsIntegrationIdIntegrationFieldsPositiveResponse < ApiModelBase + attr_accessor :status + + attr_accessor :data + + class EnumAttributeValidator + attr_reader :datatype + attr_reader :allowable_values + + def initialize(datatype, allowable_values) + @allowable_values = allowable_values.map do |value| + case datatype.to_s + when /Integer/i + value.to_i + when /Float/i + value.to_f + else + value + end + end + end + + def valid?(value) + !value || allowable_values.include?(value) + end + end + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'status' => :'status', + :'data' => :'data' + } + end + + # Returns attribute mapping this model knows about + def self.acceptable_attribute_map + attribute_map + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + acceptable_attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'status' => :'String', + :'data' => :'GetIntegrationsIntegrationIdIntegrationFieldsPositiveResponseData' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Kombo::GetIntegrationsIntegrationIdIntegrationFieldsPositiveResponse` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + acceptable_attribute_map = self.class.acceptable_attribute_map + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!acceptable_attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Kombo::GetIntegrationsIntegrationIdIntegrationFieldsPositiveResponse`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'status') + self.status = attributes[:'status'] + else + self.status = nil + end + + if attributes.key?(:'data') + self.data = attributes[:'data'] + else + self.data = nil + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + warn '[DEPRECATED] the `list_invalid_properties` method is obsolete' + invalid_properties = Array.new + if @status.nil? + invalid_properties.push('invalid value for "status", status cannot be nil.') + end + + if @data.nil? + invalid_properties.push('invalid value for "data", data cannot be nil.') + end + + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + warn '[DEPRECATED] the `valid?` method is obsolete' + return false if @status.nil? + status_validator = EnumAttributeValidator.new('String', ["success"]) + return false unless status_validator.valid?(@status) + return false if @data.nil? + true + end + + # Custom attribute writer method checking allowed values (enum). + # @param [Object] status Object to be assigned + def status=(status) + validator = EnumAttributeValidator.new('String', ["success"]) + unless validator.valid?(status) + fail ArgumentError, "invalid value for \"status\", must be one of #{validator.allowable_values}." + end + @status = status + end + + # Custom attribute writer method with validation + # @param [Object] data Value to be assigned + def data=(data) + if data.nil? + fail ArgumentError, 'data cannot be nil' + end + + @data = data + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + status == o.status && + data == o.data + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [status, data].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + transformed_hash = {} + openapi_types.each_pair do |key, type| + if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = nil + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[attribute_map[key]].is_a?(Array) + transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) } + end + elsif !attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]]) + end + end + new(transformed_hash) + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + end + +end diff --git a/lib/kombo_client/models/get_integrations_integration_id_integration_fields_positive_response_data.rb b/lib/kombo_client/models/get_integrations_integration_id_integration_fields_positive_response_data.rb new file mode 100644 index 0000000..88672ee --- /dev/null +++ b/lib/kombo_client/models/get_integrations_integration_id_integration_fields_positive_response_data.rb @@ -0,0 +1,192 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.17.0 + +=end + +require 'date' +require 'time' + +module Kombo + class GetIntegrationsIntegrationIdIntegrationFieldsPositiveResponseData < ApiModelBase + attr_accessor :results + + # **(⚠️ 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. + attr_accessor :next_cursor + + # 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. + attr_accessor :_next + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'results' => :'results', + :'next_cursor' => :'next_cursor', + :'_next' => :'next' + } + end + + # Returns attribute mapping this model knows about + def self.acceptable_attribute_map + attribute_map + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + acceptable_attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'results' => :'Array', + :'next_cursor' => :'String', + :'_next' => :'String' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + :'next_cursor', + :'_next' + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Kombo::GetIntegrationsIntegrationIdIntegrationFieldsPositiveResponseData` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + acceptable_attribute_map = self.class.acceptable_attribute_map + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!acceptable_attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Kombo::GetIntegrationsIntegrationIdIntegrationFieldsPositiveResponseData`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'results') + if (value = attributes[:'results']).is_a?(Array) + self.results = value + end + else + self.results = nil + end + + if attributes.key?(:'next_cursor') + self.next_cursor = attributes[:'next_cursor'] + else + self.next_cursor = nil + end + + if attributes.key?(:'_next') + self._next = attributes[:'_next'] + else + self._next = nil + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + warn '[DEPRECATED] the `list_invalid_properties` method is obsolete' + invalid_properties = Array.new + if @results.nil? + invalid_properties.push('invalid value for "results", results cannot be nil.') + end + + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + warn '[DEPRECATED] the `valid?` method is obsolete' + return false if @results.nil? + true + end + + # Custom attribute writer method with validation + # @param [Object] results Value to be assigned + def results=(results) + if results.nil? + fail ArgumentError, 'results cannot be nil' + end + + @results = results + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + results == o.results && + next_cursor == o.next_cursor && + _next == o._next + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [results, next_cursor, _next].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + transformed_hash = {} + openapi_types.each_pair do |key, type| + if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = nil + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[attribute_map[key]].is_a?(Array) + transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) } + end + elsif !attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]]) + end + end + new(transformed_hash) + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + end + +end diff --git a/lib/kombo_client/models/get_integrations_integration_id_integration_fields_positive_response_data_results_inner.rb b/lib/kombo_client/models/get_integrations_integration_id_integration_fields_positive_response_data_results_inner.rb new file mode 100644 index 0000000..da929ee --- /dev/null +++ b/lib/kombo_client/models/get_integrations_integration_id_integration_fields_positive_response_data_results_inner.rb @@ -0,0 +1,339 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.17.0 + +=end + +require 'date' +require 'time' + +module Kombo + class GetIntegrationsIntegrationIdIntegrationFieldsPositiveResponseDataResultsInner < ApiModelBase + # The unique ID of the field. + attr_accessor :id + + # The key of the field in the remote system. + attr_accessor :key + + # The model the field is associated with. + attr_accessor :model + + # The type of the integration field. There is a type to avoid collisions between DEFAULT fields and CUSTOM fields with the same key. + attr_accessor :type + + # The label of the field in the remote system. + attr_accessor :label + + # Whether the field is included in the integrations_fields array of the corresponding model. + attr_accessor :is_passthrough_enabled + + # This field is related to a deprecated feature and means nothing, but is kept for backwards compatibility. + attr_accessor :is_writable + + class EnumAttributeValidator + attr_reader :datatype + attr_reader :allowable_values + + def initialize(datatype, allowable_values) + @allowable_values = allowable_values.map do |value| + case datatype.to_s + when /Integer/i + value.to_i + when /Float/i + value.to_f + else + value + end + end + end + + def valid?(value) + !value || allowable_values.include?(value) + end + end + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'id' => :'id', + :'key' => :'key', + :'model' => :'model', + :'type' => :'type', + :'label' => :'label', + :'is_passthrough_enabled' => :'is_passthrough_enabled', + :'is_writable' => :'is_writable' + } + end + + # Returns attribute mapping this model knows about + def self.acceptable_attribute_map + attribute_map + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + acceptable_attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'id' => :'String', + :'key' => :'String', + :'model' => :'String', + :'type' => :'String', + :'label' => :'String', + :'is_passthrough_enabled' => :'Boolean', + :'is_writable' => :'Boolean' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + :'label', + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Kombo::GetIntegrationsIntegrationIdIntegrationFieldsPositiveResponseDataResultsInner` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + acceptable_attribute_map = self.class.acceptable_attribute_map + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!acceptable_attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Kombo::GetIntegrationsIntegrationIdIntegrationFieldsPositiveResponseDataResultsInner`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'id') + self.id = attributes[:'id'] + else + self.id = nil + end + + if attributes.key?(:'key') + self.key = attributes[:'key'] + else + self.key = nil + end + + if attributes.key?(:'model') + self.model = attributes[:'model'] + else + self.model = nil + end + + if attributes.key?(:'type') + self.type = attributes[:'type'] + else + self.type = nil + end + + if attributes.key?(:'label') + self.label = attributes[:'label'] + else + self.label = nil + end + + if attributes.key?(:'is_passthrough_enabled') + self.is_passthrough_enabled = attributes[:'is_passthrough_enabled'] + else + self.is_passthrough_enabled = nil + end + + if attributes.key?(:'is_writable') + self.is_writable = attributes[:'is_writable'] + else + self.is_writable = nil + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + warn '[DEPRECATED] the `list_invalid_properties` method is obsolete' + invalid_properties = Array.new + if @id.nil? + invalid_properties.push('invalid value for "id", id cannot be nil.') + end + + if @key.nil? + invalid_properties.push('invalid value for "key", key cannot be nil.') + end + + if @model.nil? + invalid_properties.push('invalid value for "model", model cannot be nil.') + end + + if @type.nil? + invalid_properties.push('invalid value for "type", type cannot be nil.') + end + + if @is_passthrough_enabled.nil? + invalid_properties.push('invalid value for "is_passthrough_enabled", is_passthrough_enabled cannot be nil.') + end + + if @is_writable.nil? + invalid_properties.push('invalid value for "is_writable", is_writable cannot be nil.') + end + + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + warn '[DEPRECATED] the `valid?` method is obsolete' + return false if @id.nil? + return false if @key.nil? + return false if @model.nil? + return false if @type.nil? + type_validator = EnumAttributeValidator.new('String', ["DEFAULT", "CUSTOM"]) + return false unless type_validator.valid?(@type) + return false if @is_passthrough_enabled.nil? + return false if @is_writable.nil? + is_writable_validator = EnumAttributeValidator.new('Boolean', ["false"]) + return false unless is_writable_validator.valid?(@is_writable) + true + end + + # Custom attribute writer method with validation + # @param [Object] id Value to be assigned + def id=(id) + if id.nil? + fail ArgumentError, 'id cannot be nil' + end + + @id = id + end + + # Custom attribute writer method with validation + # @param [Object] key Value to be assigned + def key=(key) + if key.nil? + fail ArgumentError, 'key cannot be nil' + end + + @key = key + end + + # Custom attribute writer method with validation + # @param [Object] model Value to be assigned + def model=(model) + if model.nil? + fail ArgumentError, 'model cannot be nil' + end + + @model = model + end + + # Custom attribute writer method checking allowed values (enum). + # @param [Object] type Object to be assigned + def type=(type) + validator = EnumAttributeValidator.new('String', ["DEFAULT", "CUSTOM"]) + unless validator.valid?(type) + fail ArgumentError, "invalid value for \"type\", must be one of #{validator.allowable_values}." + end + @type = type + end + + # Custom attribute writer method with validation + # @param [Object] is_passthrough_enabled Value to be assigned + def is_passthrough_enabled=(is_passthrough_enabled) + if is_passthrough_enabled.nil? + fail ArgumentError, 'is_passthrough_enabled cannot be nil' + end + + @is_passthrough_enabled = is_passthrough_enabled + end + + # Custom attribute writer method checking allowed values (enum). + # @param [Object] is_writable Object to be assigned + def is_writable=(is_writable) + validator = EnumAttributeValidator.new('Boolean', ["false"]) + unless validator.valid?(is_writable) + fail ArgumentError, "invalid value for \"is_writable\", must be one of #{validator.allowable_values}." + end + @is_writable = is_writable + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + id == o.id && + key == o.key && + model == o.model && + type == o.type && + label == o.label && + is_passthrough_enabled == o.is_passthrough_enabled && + is_writable == o.is_writable + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [id, key, model, type, label, is_passthrough_enabled, is_writable].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + transformed_hash = {} + openapi_types.each_pair do |key, type| + if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = nil + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[attribute_map[key]].is_a?(Array) + transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) } + end + elsif !attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]]) + end + end + new(transformed_hash) + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + end + +end diff --git a/lib/kombo_client/models/get_integrations_integration_id_positive_response.rb b/lib/kombo_client/models/get_integrations_integration_id_positive_response.rb new file mode 100644 index 0000000..bdde5f8 --- /dev/null +++ b/lib/kombo_client/models/get_integrations_integration_id_positive_response.rb @@ -0,0 +1,214 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.17.0 + +=end + +require 'date' +require 'time' + +module Kombo + class GetIntegrationsIntegrationIdPositiveResponse < ApiModelBase + attr_accessor :status + + attr_accessor :data + + class EnumAttributeValidator + attr_reader :datatype + attr_reader :allowable_values + + def initialize(datatype, allowable_values) + @allowable_values = allowable_values.map do |value| + case datatype.to_s + when /Integer/i + value.to_i + when /Float/i + value.to_f + else + value + end + end + end + + def valid?(value) + !value || allowable_values.include?(value) + end + end + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'status' => :'status', + :'data' => :'data' + } + end + + # Returns attribute mapping this model knows about + def self.acceptable_attribute_map + attribute_map + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + acceptable_attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'status' => :'String', + :'data' => :'GetIntegrationsIntegrationIdPositiveResponseData' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Kombo::GetIntegrationsIntegrationIdPositiveResponse` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + acceptable_attribute_map = self.class.acceptable_attribute_map + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!acceptable_attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Kombo::GetIntegrationsIntegrationIdPositiveResponse`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'status') + self.status = attributes[:'status'] + else + self.status = nil + end + + if attributes.key?(:'data') + self.data = attributes[:'data'] + else + self.data = nil + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + warn '[DEPRECATED] the `list_invalid_properties` method is obsolete' + invalid_properties = Array.new + if @status.nil? + invalid_properties.push('invalid value for "status", status cannot be nil.') + end + + if @data.nil? + invalid_properties.push('invalid value for "data", data cannot be nil.') + end + + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + warn '[DEPRECATED] the `valid?` method is obsolete' + return false if @status.nil? + status_validator = EnumAttributeValidator.new('String', ["success"]) + return false unless status_validator.valid?(@status) + return false if @data.nil? + true + end + + # Custom attribute writer method checking allowed values (enum). + # @param [Object] status Object to be assigned + def status=(status) + validator = EnumAttributeValidator.new('String', ["success"]) + unless validator.valid?(status) + fail ArgumentError, "invalid value for \"status\", must be one of #{validator.allowable_values}." + end + @status = status + end + + # Custom attribute writer method with validation + # @param [Object] data Value to be assigned + def data=(data) + if data.nil? + fail ArgumentError, 'data cannot be nil' + end + + @data = data + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + status == o.status && + data == o.data + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [status, data].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + transformed_hash = {} + openapi_types.each_pair do |key, type| + if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = nil + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[attribute_map[key]].is_a?(Array) + transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) } + end + elsif !attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]]) + end + end + new(transformed_hash) + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + end + +end diff --git a/lib/kombo_client/models/get_integrations_integration_id_positive_response_data.rb b/lib/kombo_client/models/get_integrations_integration_id_positive_response_data.rb new file mode 100644 index 0000000..d8f6660 --- /dev/null +++ b/lib/kombo_client/models/get_integrations_integration_id_positive_response_data.rb @@ -0,0 +1,431 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.17.0 + +=end + +require 'date' +require 'time' + +module Kombo + class GetIntegrationsIntegrationIdPositiveResponseData < ApiModelBase + attr_accessor :id + + attr_accessor :tool + + attr_accessor :category + + # 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. + attr_accessor :status + + # 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. + attr_accessor :setup_status + + attr_accessor :end_user + + attr_accessor :scope_config + + # YYYY-MM-DDTHH:mm:ss.sssZ + attr_accessor :created_at + + attr_accessor :beta + + attr_accessor :read_models + + class EnumAttributeValidator + attr_reader :datatype + attr_reader :allowable_values + + def initialize(datatype, allowable_values) + @allowable_values = allowable_values.map do |value| + case datatype.to_s + when /Integer/i + value.to_i + when /Float/i + value.to_f + else + value + end + end + end + + def valid?(value) + !value || allowable_values.include?(value) + end + end + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'id' => :'id', + :'tool' => :'tool', + :'category' => :'category', + :'status' => :'status', + :'setup_status' => :'setup_status', + :'end_user' => :'end_user', + :'scope_config' => :'scope_config', + :'created_at' => :'created_at', + :'beta' => :'beta', + :'read_models' => :'read_models' + } + end + + # Returns attribute mapping this model knows about + def self.acceptable_attribute_map + attribute_map + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + acceptable_attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'id' => :'String', + :'tool' => :'GetIntegrationsIntegrationIdPositiveResponseDataTool', + :'category' => :'String', + :'status' => :'String', + :'setup_status' => :'String', + :'end_user' => :'GetIntegrationsIntegrationIdPositiveResponseDataEndUser', + :'scope_config' => :'GetIntegrationsIntegrationIdPositiveResponseDataScopeConfig', + :'created_at' => :'Time', + :'beta' => :'Boolean', + :'read_models' => :'Array' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Kombo::GetIntegrationsIntegrationIdPositiveResponseData` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + acceptable_attribute_map = self.class.acceptable_attribute_map + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!acceptable_attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Kombo::GetIntegrationsIntegrationIdPositiveResponseData`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'id') + self.id = attributes[:'id'] + else + self.id = nil + end + + if attributes.key?(:'tool') + self.tool = attributes[:'tool'] + else + self.tool = nil + end + + if attributes.key?(:'category') + self.category = attributes[:'category'] + else + self.category = nil + end + + if attributes.key?(:'status') + self.status = attributes[:'status'] + else + self.status = nil + end + + if attributes.key?(:'setup_status') + self.setup_status = attributes[:'setup_status'] + else + self.setup_status = nil + end + + if attributes.key?(:'end_user') + self.end_user = attributes[:'end_user'] + else + self.end_user = nil + end + + if attributes.key?(:'scope_config') + self.scope_config = attributes[:'scope_config'] + else + self.scope_config = nil + end + + if attributes.key?(:'created_at') + self.created_at = attributes[:'created_at'] + else + self.created_at = nil + end + + if attributes.key?(:'beta') + self.beta = attributes[:'beta'] + else + self.beta = nil + end + + if attributes.key?(:'read_models') + if (value = attributes[:'read_models']).is_a?(Array) + self.read_models = value + end + else + self.read_models = nil + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + warn '[DEPRECATED] the `list_invalid_properties` method is obsolete' + invalid_properties = Array.new + if @id.nil? + invalid_properties.push('invalid value for "id", id cannot be nil.') + end + + if @tool.nil? + invalid_properties.push('invalid value for "tool", tool cannot be nil.') + end + + if @category.nil? + invalid_properties.push('invalid value for "category", category cannot be nil.') + end + + if @status.nil? + invalid_properties.push('invalid value for "status", status cannot be nil.') + end + + if @setup_status.nil? + invalid_properties.push('invalid value for "setup_status", setup_status cannot be nil.') + end + + if @end_user.nil? + invalid_properties.push('invalid value for "end_user", end_user cannot be nil.') + end + + if @scope_config.nil? + invalid_properties.push('invalid value for "scope_config", scope_config cannot be nil.') + end + + if @created_at.nil? + invalid_properties.push('invalid value for "created_at", created_at cannot be nil.') + end + + if @beta.nil? + invalid_properties.push('invalid value for "beta", beta cannot be nil.') + end + + if @read_models.nil? + invalid_properties.push('invalid value for "read_models", read_models cannot be nil.') + end + + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + warn '[DEPRECATED] the `valid?` method is obsolete' + return false if @id.nil? + return false if @tool.nil? + return false if @category.nil? + category_validator = EnumAttributeValidator.new('String', ["HRIS", "ATS", "ASSESSMENT"]) + return false unless category_validator.valid?(@category) + return false if @status.nil? + status_validator = EnumAttributeValidator.new('String', ["ACTIVE", "INVALID", "INACTIVE"]) + return false unless status_validator.valid?(@status) + return false if @setup_status.nil? + setup_status_validator = EnumAttributeValidator.new('String', ["INCOMPLETE", "FINAL_SYNC_PENDING", "COMPLETED"]) + return false unless setup_status_validator.valid?(@setup_status) + return false if @end_user.nil? + return false if @scope_config.nil? + return false if @created_at.nil? + return false if @beta.nil? + return false if @read_models.nil? + true + end + + # Custom attribute writer method with validation + # @param [Object] id Value to be assigned + def id=(id) + if id.nil? + fail ArgumentError, 'id cannot be nil' + end + + @id = id + end + + # Custom attribute writer method with validation + # @param [Object] tool Value to be assigned + def tool=(tool) + if tool.nil? + fail ArgumentError, 'tool cannot be nil' + end + + @tool = tool + end + + # Custom attribute writer method checking allowed values (enum). + # @param [Object] category Object to be assigned + def category=(category) + validator = EnumAttributeValidator.new('String', ["HRIS", "ATS", "ASSESSMENT"]) + unless validator.valid?(category) + fail ArgumentError, "invalid value for \"category\", must be one of #{validator.allowable_values}." + end + @category = category + end + + # Custom attribute writer method checking allowed values (enum). + # @param [Object] status Object to be assigned + def status=(status) + validator = EnumAttributeValidator.new('String', ["ACTIVE", "INVALID", "INACTIVE"]) + unless validator.valid?(status) + fail ArgumentError, "invalid value for \"status\", must be one of #{validator.allowable_values}." + end + @status = status + end + + # Custom attribute writer method checking allowed values (enum). + # @param [Object] setup_status Object to be assigned + def setup_status=(setup_status) + validator = EnumAttributeValidator.new('String', ["INCOMPLETE", "FINAL_SYNC_PENDING", "COMPLETED"]) + unless validator.valid?(setup_status) + fail ArgumentError, "invalid value for \"setup_status\", must be one of #{validator.allowable_values}." + end + @setup_status = setup_status + end + + # Custom attribute writer method with validation + # @param [Object] end_user Value to be assigned + def end_user=(end_user) + if end_user.nil? + fail ArgumentError, 'end_user cannot be nil' + end + + @end_user = end_user + end + + # Custom attribute writer method with validation + # @param [Object] scope_config Value to be assigned + def scope_config=(scope_config) + if scope_config.nil? + fail ArgumentError, 'scope_config cannot be nil' + end + + @scope_config = scope_config + end + + # Custom attribute writer method with validation + # @param [Object] created_at Value to be assigned + def created_at=(created_at) + if created_at.nil? + fail ArgumentError, 'created_at cannot be nil' + end + + @created_at = created_at + end + + # Custom attribute writer method with validation + # @param [Object] beta Value to be assigned + def beta=(beta) + if beta.nil? + fail ArgumentError, 'beta cannot be nil' + end + + @beta = beta + end + + # Custom attribute writer method with validation + # @param [Object] read_models Value to be assigned + def read_models=(read_models) + if read_models.nil? + fail ArgumentError, 'read_models cannot be nil' + end + + @read_models = read_models + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + id == o.id && + tool == o.tool && + category == o.category && + status == o.status && + setup_status == o.setup_status && + end_user == o.end_user && + scope_config == o.scope_config && + created_at == o.created_at && + beta == o.beta && + read_models == o.read_models + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [id, tool, category, status, setup_status, end_user, scope_config, created_at, beta, read_models].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + transformed_hash = {} + openapi_types.each_pair do |key, type| + if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = nil + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[attribute_map[key]].is_a?(Array) + transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) } + end + elsif !attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]]) + end + end + new(transformed_hash) + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + end + +end diff --git a/lib/kombo_client/models/get_integrations_integration_id_positive_response_data_end_user.rb b/lib/kombo_client/models/get_integrations_integration_id_positive_response_data_end_user.rb new file mode 100644 index 0000000..451c9d6 --- /dev/null +++ b/lib/kombo_client/models/get_integrations_integration_id_positive_response_data_end_user.rb @@ -0,0 +1,206 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.17.0 + +=end + +require 'date' +require 'time' + +module Kombo + class GetIntegrationsIntegrationIdPositiveResponseDataEndUser < ApiModelBase + attr_accessor :organization_name + + attr_accessor :creator_email + + # The ID you have passed initially to the connection flow to create this integration. + attr_accessor :origin_id + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'organization_name' => :'organization_name', + :'creator_email' => :'creator_email', + :'origin_id' => :'origin_id' + } + end + + # Returns attribute mapping this model knows about + def self.acceptable_attribute_map + attribute_map + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + acceptable_attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'organization_name' => :'String', + :'creator_email' => :'String', + :'origin_id' => :'String' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + :'creator_email', + :'origin_id' + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Kombo::GetIntegrationsIntegrationIdPositiveResponseDataEndUser` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + acceptable_attribute_map = self.class.acceptable_attribute_map + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!acceptable_attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Kombo::GetIntegrationsIntegrationIdPositiveResponseDataEndUser`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'organization_name') + self.organization_name = attributes[:'organization_name'] + else + self.organization_name = nil + end + + if attributes.key?(:'creator_email') + self.creator_email = attributes[:'creator_email'] + else + self.creator_email = nil + end + + if attributes.key?(:'origin_id') + self.origin_id = attributes[:'origin_id'] + else + self.origin_id = nil + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + warn '[DEPRECATED] the `list_invalid_properties` method is obsolete' + invalid_properties = Array.new + if @organization_name.nil? + invalid_properties.push('invalid value for "organization_name", organization_name cannot be nil.') + end + + pattern = Regexp.new(/^(?!\.)(?!.*\.\.)([\w'+-.]*)[\w+-]@([\da-z][\da-z-]*\.)+[a-z]{2,}$/) + if @creator_email !~ pattern + invalid_properties.push("invalid value for \"creator_email\", must conform to the pattern #{pattern}.") + end + + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + warn '[DEPRECATED] the `valid?` method is obsolete' + return false if @organization_name.nil? + return false if @creator_email !~ Regexp.new(/^(?!\.)(?!.*\.\.)([\w'+-.]*)[\w+-]@([\da-z][\da-z-]*\.)+[a-z]{2,}$/) + true + end + + # Custom attribute writer method with validation + # @param [Object] organization_name Value to be assigned + def organization_name=(organization_name) + if organization_name.nil? + fail ArgumentError, 'organization_name cannot be nil' + end + + @organization_name = organization_name + end + + # Custom attribute writer method with validation + # @param [Object] creator_email Value to be assigned + def creator_email=(creator_email) + pattern = Regexp.new(/^(?!\.)(?!.*\.\.)([\w'+-.]*)[\w+-]@([\da-z][\da-z-]*\.)+[a-z]{2,}$/) + if !creator_email.nil? && creator_email !~ pattern + fail ArgumentError, "invalid value for \"creator_email\", must conform to the pattern #{pattern}." + end + + @creator_email = creator_email + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + organization_name == o.organization_name && + creator_email == o.creator_email && + origin_id == o.origin_id + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [organization_name, creator_email, origin_id].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + transformed_hash = {} + openapi_types.each_pair do |key, type| + if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = nil + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[attribute_map[key]].is_a?(Array) + transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) } + end + elsif !attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]]) + end + end + new(transformed_hash) + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + end + +end diff --git a/lib/kombo_client/models/get_integrations_integration_id_positive_response_data_read_models_inner.rb b/lib/kombo_client/models/get_integrations_integration_id_positive_response_data_read_models_inner.rb new file mode 100644 index 0000000..82de7ce --- /dev/null +++ b/lib/kombo_client/models/get_integrations_integration_id_positive_response_data_read_models_inner.rb @@ -0,0 +1,354 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.17.0 + +=end + +require 'date' +require 'time' + +module Kombo + class GetIntegrationsIntegrationIdPositiveResponseDataReadModelsInner < ApiModelBase + # ID of the model (e.g. hris_employees). + attr_accessor :id + + # Label of the model (e.g. Employees). + attr_accessor :label + + # Whether the datapoint is available and enabled and not opted out of. + attr_accessor :is_available + + # 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. + attr_accessor :coverage_status + + # The setting of the datapoint in the scope config that you configured in the Kombo dashboard. + attr_accessor :scope_config_setting + + # Whether the datapoint is opted out by your customer in the connection flow. + attr_accessor :opted_out_by_customer + + attr_accessor :fields + + class EnumAttributeValidator + attr_reader :datatype + attr_reader :allowable_values + + def initialize(datatype, allowable_values) + @allowable_values = allowable_values.map do |value| + case datatype.to_s + when /Integer/i + value.to_i + when /Float/i + value.to_f + else + value + end + end + end + + def valid?(value) + !value || allowable_values.include?(value) + end + end + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'id' => :'id', + :'label' => :'label', + :'is_available' => :'is_available', + :'coverage_status' => :'coverage_status', + :'scope_config_setting' => :'scope_config_setting', + :'opted_out_by_customer' => :'opted_out_by_customer', + :'fields' => :'fields' + } + end + + # Returns attribute mapping this model knows about + def self.acceptable_attribute_map + attribute_map + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + acceptable_attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'id' => :'String', + :'label' => :'String', + :'is_available' => :'Boolean', + :'coverage_status' => :'String', + :'scope_config_setting' => :'String', + :'opted_out_by_customer' => :'Boolean', + :'fields' => :'Array' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Kombo::GetIntegrationsIntegrationIdPositiveResponseDataReadModelsInner` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + acceptable_attribute_map = self.class.acceptable_attribute_map + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!acceptable_attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Kombo::GetIntegrationsIntegrationIdPositiveResponseDataReadModelsInner`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'id') + self.id = attributes[:'id'] + else + self.id = nil + end + + if attributes.key?(:'label') + self.label = attributes[:'label'] + else + self.label = nil + end + + if attributes.key?(:'is_available') + self.is_available = attributes[:'is_available'] + else + self.is_available = nil + end + + if attributes.key?(:'coverage_status') + self.coverage_status = attributes[:'coverage_status'] + else + self.coverage_status = nil + end + + if attributes.key?(:'scope_config_setting') + self.scope_config_setting = attributes[:'scope_config_setting'] + else + self.scope_config_setting = nil + end + + if attributes.key?(:'opted_out_by_customer') + self.opted_out_by_customer = attributes[:'opted_out_by_customer'] + else + self.opted_out_by_customer = nil + end + + if attributes.key?(:'fields') + if (value = attributes[:'fields']).is_a?(Array) + self.fields = value + end + else + self.fields = nil + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + warn '[DEPRECATED] the `list_invalid_properties` method is obsolete' + invalid_properties = Array.new + if @id.nil? + invalid_properties.push('invalid value for "id", id cannot be nil.') + end + + if @label.nil? + invalid_properties.push('invalid value for "label", label cannot be nil.') + end + + if @is_available.nil? + invalid_properties.push('invalid value for "is_available", is_available cannot be nil.') + end + + if @coverage_status.nil? + invalid_properties.push('invalid value for "coverage_status", coverage_status cannot be nil.') + end + + if @scope_config_setting.nil? + invalid_properties.push('invalid value for "scope_config_setting", scope_config_setting cannot be nil.') + end + + if @opted_out_by_customer.nil? + invalid_properties.push('invalid value for "opted_out_by_customer", opted_out_by_customer cannot be nil.') + end + + if @fields.nil? + invalid_properties.push('invalid value for "fields", fields cannot be nil.') + end + + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + warn '[DEPRECATED] the `valid?` method is obsolete' + return false if @id.nil? + return false if @label.nil? + return false if @is_available.nil? + return false if @coverage_status.nil? + coverage_status_validator = EnumAttributeValidator.new('String', ["SUPPORTED", "UNSUPPORTED", "NOT_IMPLEMENTED", "UNKNOWN"]) + return false unless coverage_status_validator.valid?(@coverage_status) + return false if @scope_config_setting.nil? + scope_config_setting_validator = EnumAttributeValidator.new('String', ["ENABLED", "DISABLED", "OPTIONAL"]) + return false unless scope_config_setting_validator.valid?(@scope_config_setting) + return false if @opted_out_by_customer.nil? + return false if @fields.nil? + true + end + + # Custom attribute writer method with validation + # @param [Object] id Value to be assigned + def id=(id) + if id.nil? + fail ArgumentError, 'id cannot be nil' + end + + @id = id + end + + # Custom attribute writer method with validation + # @param [Object] label Value to be assigned + def label=(label) + if label.nil? + fail ArgumentError, 'label cannot be nil' + end + + @label = label + end + + # Custom attribute writer method with validation + # @param [Object] is_available Value to be assigned + def is_available=(is_available) + if is_available.nil? + fail ArgumentError, 'is_available cannot be nil' + end + + @is_available = is_available + end + + # Custom attribute writer method checking allowed values (enum). + # @param [Object] coverage_status Object to be assigned + def coverage_status=(coverage_status) + validator = EnumAttributeValidator.new('String', ["SUPPORTED", "UNSUPPORTED", "NOT_IMPLEMENTED", "UNKNOWN"]) + unless validator.valid?(coverage_status) + fail ArgumentError, "invalid value for \"coverage_status\", must be one of #{validator.allowable_values}." + end + @coverage_status = coverage_status + end + + # Custom attribute writer method checking allowed values (enum). + # @param [Object] scope_config_setting Object to be assigned + def scope_config_setting=(scope_config_setting) + validator = EnumAttributeValidator.new('String', ["ENABLED", "DISABLED", "OPTIONAL"]) + unless validator.valid?(scope_config_setting) + fail ArgumentError, "invalid value for \"scope_config_setting\", must be one of #{validator.allowable_values}." + end + @scope_config_setting = scope_config_setting + end + + # Custom attribute writer method with validation + # @param [Object] opted_out_by_customer Value to be assigned + def opted_out_by_customer=(opted_out_by_customer) + if opted_out_by_customer.nil? + fail ArgumentError, 'opted_out_by_customer cannot be nil' + end + + @opted_out_by_customer = opted_out_by_customer + end + + # Custom attribute writer method with validation + # @param [Object] fields Value to be assigned + def fields=(fields) + if fields.nil? + fail ArgumentError, 'fields cannot be nil' + end + + @fields = fields + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + id == o.id && + label == o.label && + is_available == o.is_available && + coverage_status == o.coverage_status && + scope_config_setting == o.scope_config_setting && + opted_out_by_customer == o.opted_out_by_customer && + fields == o.fields + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [id, label, is_available, coverage_status, scope_config_setting, opted_out_by_customer, fields].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + transformed_hash = {} + openapi_types.each_pair do |key, type| + if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = nil + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[attribute_map[key]].is_a?(Array) + transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) } + end + elsif !attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]]) + end + end + new(transformed_hash) + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + end + +end diff --git a/lib/kombo_client/models/get_integrations_integration_id_positive_response_data_read_models_inner_fields_inner.rb b/lib/kombo_client/models/get_integrations_integration_id_positive_response_data_read_models_inner_fields_inner.rb new file mode 100644 index 0000000..6282bc1 --- /dev/null +++ b/lib/kombo_client/models/get_integrations_integration_id_positive_response_data_read_models_inner_fields_inner.rb @@ -0,0 +1,299 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.17.0 + +=end + +require 'date' +require 'time' + +module Kombo + class GetIntegrationsIntegrationIdPositiveResponseDataReadModelsInnerFieldsInner < ApiModelBase + # Key of the field in the API (e.g. first_name). + attr_accessor :id + + # Whether the datapoint is available and enabled and not opted out of. + attr_accessor :is_available + + # 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. + attr_accessor :coverage_status + + # The setting of the datapoint in the scope config that you configured in the Kombo dashboard. + attr_accessor :scope_config_setting + + # Whether the datapoint is opted out by your customer in the connection flow. + attr_accessor :opted_out_by_customer + + class EnumAttributeValidator + attr_reader :datatype + attr_reader :allowable_values + + def initialize(datatype, allowable_values) + @allowable_values = allowable_values.map do |value| + case datatype.to_s + when /Integer/i + value.to_i + when /Float/i + value.to_f + else + value + end + end + end + + def valid?(value) + !value || allowable_values.include?(value) + end + end + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'id' => :'id', + :'is_available' => :'is_available', + :'coverage_status' => :'coverage_status', + :'scope_config_setting' => :'scope_config_setting', + :'opted_out_by_customer' => :'opted_out_by_customer' + } + end + + # Returns attribute mapping this model knows about + def self.acceptable_attribute_map + attribute_map + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + acceptable_attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'id' => :'String', + :'is_available' => :'Boolean', + :'coverage_status' => :'String', + :'scope_config_setting' => :'String', + :'opted_out_by_customer' => :'Boolean' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Kombo::GetIntegrationsIntegrationIdPositiveResponseDataReadModelsInnerFieldsInner` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + acceptable_attribute_map = self.class.acceptable_attribute_map + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!acceptable_attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Kombo::GetIntegrationsIntegrationIdPositiveResponseDataReadModelsInnerFieldsInner`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'id') + self.id = attributes[:'id'] + else + self.id = nil + end + + if attributes.key?(:'is_available') + self.is_available = attributes[:'is_available'] + else + self.is_available = nil + end + + if attributes.key?(:'coverage_status') + self.coverage_status = attributes[:'coverage_status'] + else + self.coverage_status = nil + end + + if attributes.key?(:'scope_config_setting') + self.scope_config_setting = attributes[:'scope_config_setting'] + else + self.scope_config_setting = nil + end + + if attributes.key?(:'opted_out_by_customer') + self.opted_out_by_customer = attributes[:'opted_out_by_customer'] + else + self.opted_out_by_customer = nil + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + warn '[DEPRECATED] the `list_invalid_properties` method is obsolete' + invalid_properties = Array.new + if @id.nil? + invalid_properties.push('invalid value for "id", id cannot be nil.') + end + + if @is_available.nil? + invalid_properties.push('invalid value for "is_available", is_available cannot be nil.') + end + + if @coverage_status.nil? + invalid_properties.push('invalid value for "coverage_status", coverage_status cannot be nil.') + end + + if @scope_config_setting.nil? + invalid_properties.push('invalid value for "scope_config_setting", scope_config_setting cannot be nil.') + end + + if @opted_out_by_customer.nil? + invalid_properties.push('invalid value for "opted_out_by_customer", opted_out_by_customer cannot be nil.') + end + + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + warn '[DEPRECATED] the `valid?` method is obsolete' + return false if @id.nil? + return false if @is_available.nil? + return false if @coverage_status.nil? + coverage_status_validator = EnumAttributeValidator.new('String', ["SUPPORTED", "UNSUPPORTED", "NOT_IMPLEMENTED", "UNKNOWN"]) + return false unless coverage_status_validator.valid?(@coverage_status) + return false if @scope_config_setting.nil? + scope_config_setting_validator = EnumAttributeValidator.new('String', ["ENABLED", "DISABLED", "OPTIONAL"]) + return false unless scope_config_setting_validator.valid?(@scope_config_setting) + return false if @opted_out_by_customer.nil? + true + end + + # Custom attribute writer method with validation + # @param [Object] id Value to be assigned + def id=(id) + if id.nil? + fail ArgumentError, 'id cannot be nil' + end + + @id = id + end + + # Custom attribute writer method with validation + # @param [Object] is_available Value to be assigned + def is_available=(is_available) + if is_available.nil? + fail ArgumentError, 'is_available cannot be nil' + end + + @is_available = is_available + end + + # Custom attribute writer method checking allowed values (enum). + # @param [Object] coverage_status Object to be assigned + def coverage_status=(coverage_status) + validator = EnumAttributeValidator.new('String', ["SUPPORTED", "UNSUPPORTED", "NOT_IMPLEMENTED", "UNKNOWN"]) + unless validator.valid?(coverage_status) + fail ArgumentError, "invalid value for \"coverage_status\", must be one of #{validator.allowable_values}." + end + @coverage_status = coverage_status + end + + # Custom attribute writer method checking allowed values (enum). + # @param [Object] scope_config_setting Object to be assigned + def scope_config_setting=(scope_config_setting) + validator = EnumAttributeValidator.new('String', ["ENABLED", "DISABLED", "OPTIONAL"]) + unless validator.valid?(scope_config_setting) + fail ArgumentError, "invalid value for \"scope_config_setting\", must be one of #{validator.allowable_values}." + end + @scope_config_setting = scope_config_setting + end + + # Custom attribute writer method with validation + # @param [Object] opted_out_by_customer Value to be assigned + def opted_out_by_customer=(opted_out_by_customer) + if opted_out_by_customer.nil? + fail ArgumentError, 'opted_out_by_customer cannot be nil' + end + + @opted_out_by_customer = opted_out_by_customer + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + id == o.id && + is_available == o.is_available && + coverage_status == o.coverage_status && + scope_config_setting == o.scope_config_setting && + opted_out_by_customer == o.opted_out_by_customer + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [id, is_available, coverage_status, scope_config_setting, opted_out_by_customer].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + transformed_hash = {} + openapi_types.each_pair do |key, type| + if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = nil + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[attribute_map[key]].is_a?(Array) + transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) } + end + elsif !attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]]) + end + end + new(transformed_hash) + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + end + +end diff --git a/lib/kombo_client/models/get_integrations_integration_id_positive_response_data_scope_config.rb b/lib/kombo_client/models/get_integrations_integration_id_positive_response_data_scope_config.rb new file mode 100644 index 0000000..8975c75 --- /dev/null +++ b/lib/kombo_client/models/get_integrations_integration_id_positive_response_data_scope_config.rb @@ -0,0 +1,176 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.17.0 + +=end + +require 'date' +require 'time' + +module Kombo + class GetIntegrationsIntegrationIdPositiveResponseDataScopeConfig < ApiModelBase + attr_accessor :id + + attr_accessor :name + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'id' => :'id', + :'name' => :'name' + } + end + + # Returns attribute mapping this model knows about + def self.acceptable_attribute_map + attribute_map + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + acceptable_attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'id' => :'String', + :'name' => :'String' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + :'name' + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Kombo::GetIntegrationsIntegrationIdPositiveResponseDataScopeConfig` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + acceptable_attribute_map = self.class.acceptable_attribute_map + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!acceptable_attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Kombo::GetIntegrationsIntegrationIdPositiveResponseDataScopeConfig`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'id') + self.id = attributes[:'id'] + else + self.id = nil + end + + if attributes.key?(:'name') + self.name = attributes[:'name'] + else + self.name = nil + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + warn '[DEPRECATED] the `list_invalid_properties` method is obsolete' + invalid_properties = Array.new + if @id.nil? + invalid_properties.push('invalid value for "id", id cannot be nil.') + end + + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + warn '[DEPRECATED] the `valid?` method is obsolete' + return false if @id.nil? + true + end + + # Custom attribute writer method with validation + # @param [Object] id Value to be assigned + def id=(id) + if id.nil? + fail ArgumentError, 'id cannot be nil' + end + + @id = id + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + id == o.id && + name == o.name + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [id, name].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + transformed_hash = {} + openapi_types.each_pair do |key, type| + if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = nil + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[attribute_map[key]].is_a?(Array) + transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) } + end + elsif !attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]]) + end + end + new(transformed_hash) + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + end + +end diff --git a/lib/kombo_client/models/get_integrations_integration_id_positive_response_data_tool.rb b/lib/kombo_client/models/get_integrations_integration_id_positive_response_data_tool.rb new file mode 100644 index 0000000..dc1a79e --- /dev/null +++ b/lib/kombo_client/models/get_integrations_integration_id_positive_response_data_tool.rb @@ -0,0 +1,258 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.17.0 + +=end + +require 'date' +require 'time' + +module Kombo + class GetIntegrationsIntegrationIdPositiveResponseDataTool < ApiModelBase + # The ID of the connected tool in Kombo (e.g. `factorial`). + attr_accessor :id + + attr_accessor :label + + # Internal label that can help you debug specific variants of the integration. Only show the `label` to your users. + attr_accessor :internal_label + + # URL to an SVG logo of the connected tool. The logo usually contains the tool name. + attr_accessor :logo_url + + # URL to a square SVG icon of the connected tool. + attr_accessor :icon_url + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'id' => :'id', + :'label' => :'label', + :'internal_label' => :'internal_label', + :'logo_url' => :'logo_url', + :'icon_url' => :'icon_url' + } + end + + # Returns attribute mapping this model knows about + def self.acceptable_attribute_map + attribute_map + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + acceptable_attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'id' => :'String', + :'label' => :'String', + :'internal_label' => :'String', + :'logo_url' => :'String', + :'icon_url' => :'String' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + :'internal_label', + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Kombo::GetIntegrationsIntegrationIdPositiveResponseDataTool` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + acceptable_attribute_map = self.class.acceptable_attribute_map + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!acceptable_attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Kombo::GetIntegrationsIntegrationIdPositiveResponseDataTool`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'id') + self.id = attributes[:'id'] + else + self.id = nil + end + + if attributes.key?(:'label') + self.label = attributes[:'label'] + else + self.label = nil + end + + if attributes.key?(:'internal_label') + self.internal_label = attributes[:'internal_label'] + else + self.internal_label = nil + end + + if attributes.key?(:'logo_url') + self.logo_url = attributes[:'logo_url'] + else + self.logo_url = nil + end + + if attributes.key?(:'icon_url') + self.icon_url = attributes[:'icon_url'] + else + self.icon_url = nil + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + warn '[DEPRECATED] the `list_invalid_properties` method is obsolete' + invalid_properties = Array.new + if @id.nil? + invalid_properties.push('invalid value for "id", id cannot be nil.') + end + + if @label.nil? + invalid_properties.push('invalid value for "label", label cannot be nil.') + end + + if @logo_url.nil? + invalid_properties.push('invalid value for "logo_url", logo_url cannot be nil.') + end + + if @icon_url.nil? + invalid_properties.push('invalid value for "icon_url", icon_url cannot be nil.') + end + + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + warn '[DEPRECATED] the `valid?` method is obsolete' + return false if @id.nil? + return false if @label.nil? + return false if @logo_url.nil? + return false if @icon_url.nil? + true + end + + # Custom attribute writer method with validation + # @param [Object] id Value to be assigned + def id=(id) + if id.nil? + fail ArgumentError, 'id cannot be nil' + end + + @id = id + end + + # Custom attribute writer method with validation + # @param [Object] label Value to be assigned + def label=(label) + if label.nil? + fail ArgumentError, 'label cannot be nil' + end + + @label = label + end + + # Custom attribute writer method with validation + # @param [Object] logo_url Value to be assigned + def logo_url=(logo_url) + if logo_url.nil? + fail ArgumentError, 'logo_url cannot be nil' + end + + @logo_url = logo_url + end + + # Custom attribute writer method with validation + # @param [Object] icon_url Value to be assigned + def icon_url=(icon_url) + if icon_url.nil? + fail ArgumentError, 'icon_url cannot be nil' + end + + @icon_url = icon_url + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + id == o.id && + label == o.label && + internal_label == o.internal_label && + logo_url == o.logo_url && + icon_url == o.icon_url + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [id, label, internal_label, logo_url, icon_url].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + transformed_hash = {} + openapi_types.each_pair do |key, type| + if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = nil + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[attribute_map[key]].is_a?(Array) + transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) } + end + elsif !attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]]) + end + end + new(transformed_hash) + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + end + +end diff --git a/lib/kombo_client/models/get_lms_courses_positive_response.rb b/lib/kombo_client/models/get_lms_courses_positive_response.rb new file mode 100644 index 0000000..45838a3 --- /dev/null +++ b/lib/kombo_client/models/get_lms_courses_positive_response.rb @@ -0,0 +1,214 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.17.0 + +=end + +require 'date' +require 'time' + +module Kombo + class GetLmsCoursesPositiveResponse < ApiModelBase + attr_accessor :status + + attr_accessor :data + + class EnumAttributeValidator + attr_reader :datatype + attr_reader :allowable_values + + def initialize(datatype, allowable_values) + @allowable_values = allowable_values.map do |value| + case datatype.to_s + when /Integer/i + value.to_i + when /Float/i + value.to_f + else + value + end + end + end + + def valid?(value) + !value || allowable_values.include?(value) + end + end + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'status' => :'status', + :'data' => :'data' + } + end + + # Returns attribute mapping this model knows about + def self.acceptable_attribute_map + attribute_map + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + acceptable_attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'status' => :'String', + :'data' => :'GetLmsCoursesPositiveResponseData' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Kombo::GetLmsCoursesPositiveResponse` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + acceptable_attribute_map = self.class.acceptable_attribute_map + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!acceptable_attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Kombo::GetLmsCoursesPositiveResponse`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'status') + self.status = attributes[:'status'] + else + self.status = nil + end + + if attributes.key?(:'data') + self.data = attributes[:'data'] + else + self.data = nil + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + warn '[DEPRECATED] the `list_invalid_properties` method is obsolete' + invalid_properties = Array.new + if @status.nil? + invalid_properties.push('invalid value for "status", status cannot be nil.') + end + + if @data.nil? + invalid_properties.push('invalid value for "data", data cannot be nil.') + end + + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + warn '[DEPRECATED] the `valid?` method is obsolete' + return false if @status.nil? + status_validator = EnumAttributeValidator.new('String', ["success"]) + return false unless status_validator.valid?(@status) + return false if @data.nil? + true + end + + # Custom attribute writer method checking allowed values (enum). + # @param [Object] status Object to be assigned + def status=(status) + validator = EnumAttributeValidator.new('String', ["success"]) + unless validator.valid?(status) + fail ArgumentError, "invalid value for \"status\", must be one of #{validator.allowable_values}." + end + @status = status + end + + # Custom attribute writer method with validation + # @param [Object] data Value to be assigned + def data=(data) + if data.nil? + fail ArgumentError, 'data cannot be nil' + end + + @data = data + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + status == o.status && + data == o.data + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [status, data].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + transformed_hash = {} + openapi_types.each_pair do |key, type| + if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = nil + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[attribute_map[key]].is_a?(Array) + transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) } + end + elsif !attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]]) + end + end + new(transformed_hash) + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + end + +end diff --git a/lib/kombo_client/models/get_lms_courses_positive_response_data.rb b/lib/kombo_client/models/get_lms_courses_positive_response_data.rb new file mode 100644 index 0000000..8b953f6 --- /dev/null +++ b/lib/kombo_client/models/get_lms_courses_positive_response_data.rb @@ -0,0 +1,179 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.17.0 + +=end + +require 'date' +require 'time' + +module Kombo + class GetLmsCoursesPositiveResponseData < ApiModelBase + # 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. + attr_accessor :_next + + attr_accessor :results + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'_next' => :'next', + :'results' => :'results' + } + end + + # Returns attribute mapping this model knows about + def self.acceptable_attribute_map + attribute_map + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + acceptable_attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'_next' => :'String', + :'results' => :'Array' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + :'_next', + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Kombo::GetLmsCoursesPositiveResponseData` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + acceptable_attribute_map = self.class.acceptable_attribute_map + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!acceptable_attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Kombo::GetLmsCoursesPositiveResponseData`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'_next') + self._next = attributes[:'_next'] + else + self._next = nil + end + + if attributes.key?(:'results') + if (value = attributes[:'results']).is_a?(Array) + self.results = value + end + else + self.results = nil + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + warn '[DEPRECATED] the `list_invalid_properties` method is obsolete' + invalid_properties = Array.new + if @results.nil? + invalid_properties.push('invalid value for "results", results cannot be nil.') + end + + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + warn '[DEPRECATED] the `valid?` method is obsolete' + return false if @results.nil? + true + end + + # Custom attribute writer method with validation + # @param [Object] results Value to be assigned + def results=(results) + if results.nil? + fail ArgumentError, 'results cannot be nil' + end + + @results = results + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + _next == o._next && + results == o.results + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [_next, results].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + transformed_hash = {} + openapi_types.each_pair do |key, type| + if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = nil + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[attribute_map[key]].is_a?(Array) + transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) } + end + elsif !attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]]) + end + end + new(transformed_hash) + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + end + +end diff --git a/lib/kombo_client/models/get_lms_courses_positive_response_data_results_inner.rb b/lib/kombo_client/models/get_lms_courses_positive_response_data_results_inner.rb new file mode 100644 index 0000000..e71089d --- /dev/null +++ b/lib/kombo_client/models/get_lms_courses_positive_response_data_results_inner.rb @@ -0,0 +1,357 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.17.0 + +=end + +require 'date' +require 'time' + +module Kombo + class GetLmsCoursesPositiveResponseDataResultsInner < ApiModelBase + # The globally unique ID of this object generated by Kombo. We recommend using this as a stable primary key for syncing. + attr_accessor :id + + # 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. + attr_accessor :remote_id + + # The title of the course. + attr_accessor :title + + # A description of the course. + attr_accessor :description + + # URL where the course can be accessed. + attr_accessor :url + + # The date and time the object was created in the remote system. + attr_accessor :remote_created_at + + # Skills that learners will develop by completing this course. + attr_accessor :skills + + # Ordered list of content items that make up this course. + attr_accessor :ordered_content + + # 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. + attr_accessor :changed_at + + # Date when the course was deleted. + attr_accessor :remote_deleted_at + + # 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. + attr_accessor :remote_data + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'id' => :'id', + :'remote_id' => :'remote_id', + :'title' => :'title', + :'description' => :'description', + :'url' => :'url', + :'remote_created_at' => :'remote_created_at', + :'skills' => :'skills', + :'ordered_content' => :'ordered_content', + :'changed_at' => :'changed_at', + :'remote_deleted_at' => :'remote_deleted_at', + :'remote_data' => :'remote_data' + } + end + + # Returns attribute mapping this model knows about + def self.acceptable_attribute_map + attribute_map + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + acceptable_attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'id' => :'String', + :'remote_id' => :'String', + :'title' => :'String', + :'description' => :'String', + :'url' => :'String', + :'remote_created_at' => :'Time', + :'skills' => :'Array', + :'ordered_content' => :'Array', + :'changed_at' => :'Time', + :'remote_deleted_at' => :'String', + :'remote_data' => :'Hash' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + :'description', + :'url', + :'remote_created_at', + :'skills', + :'remote_deleted_at', + :'remote_data' + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Kombo::GetLmsCoursesPositiveResponseDataResultsInner` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + acceptable_attribute_map = self.class.acceptable_attribute_map + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!acceptable_attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Kombo::GetLmsCoursesPositiveResponseDataResultsInner`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'id') + self.id = attributes[:'id'] + else + self.id = nil + end + + if attributes.key?(:'remote_id') + self.remote_id = attributes[:'remote_id'] + else + self.remote_id = nil + end + + if attributes.key?(:'title') + self.title = attributes[:'title'] + else + self.title = nil + end + + if attributes.key?(:'description') + self.description = attributes[:'description'] + else + self.description = nil + end + + if attributes.key?(:'url') + self.url = attributes[:'url'] + else + self.url = nil + end + + if attributes.key?(:'remote_created_at') + self.remote_created_at = attributes[:'remote_created_at'] + else + self.remote_created_at = nil + end + + if attributes.key?(:'skills') + if (value = attributes[:'skills']).is_a?(Array) + self.skills = value + end + else + self.skills = nil + end + + if attributes.key?(:'ordered_content') + if (value = attributes[:'ordered_content']).is_a?(Array) + self.ordered_content = value + end + else + self.ordered_content = nil + end + + if attributes.key?(:'changed_at') + self.changed_at = attributes[:'changed_at'] + else + self.changed_at = nil + end + + if attributes.key?(:'remote_deleted_at') + self.remote_deleted_at = attributes[:'remote_deleted_at'] + else + self.remote_deleted_at = nil + end + + if attributes.key?(:'remote_data') + if (value = attributes[:'remote_data']).is_a?(Hash) + self.remote_data = value + end + else + self.remote_data = nil + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + warn '[DEPRECATED] the `list_invalid_properties` method is obsolete' + invalid_properties = Array.new + if @id.nil? + invalid_properties.push('invalid value for "id", id cannot be nil.') + end + + if @remote_id.nil? + invalid_properties.push('invalid value for "remote_id", remote_id cannot be nil.') + end + + if @title.nil? + invalid_properties.push('invalid value for "title", title cannot be nil.') + end + + if @ordered_content.nil? + invalid_properties.push('invalid value for "ordered_content", ordered_content cannot be nil.') + end + + if @changed_at.nil? + invalid_properties.push('invalid value for "changed_at", changed_at cannot be nil.') + end + + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + warn '[DEPRECATED] the `valid?` method is obsolete' + return false if @id.nil? + return false if @remote_id.nil? + return false if @title.nil? + return false if @ordered_content.nil? + return false if @changed_at.nil? + true + end + + # Custom attribute writer method with validation + # @param [Object] id Value to be assigned + def id=(id) + if id.nil? + fail ArgumentError, 'id cannot be nil' + end + + @id = id + end + + # Custom attribute writer method with validation + # @param [Object] remote_id Value to be assigned + def remote_id=(remote_id) + if remote_id.nil? + fail ArgumentError, 'remote_id cannot be nil' + end + + @remote_id = remote_id + end + + # Custom attribute writer method with validation + # @param [Object] title Value to be assigned + def title=(title) + if title.nil? + fail ArgumentError, 'title cannot be nil' + end + + @title = title + end + + # Custom attribute writer method with validation + # @param [Object] ordered_content Value to be assigned + def ordered_content=(ordered_content) + if ordered_content.nil? + fail ArgumentError, 'ordered_content cannot be nil' + end + + @ordered_content = ordered_content + end + + # Custom attribute writer method with validation + # @param [Object] changed_at Value to be assigned + def changed_at=(changed_at) + if changed_at.nil? + fail ArgumentError, 'changed_at cannot be nil' + end + + @changed_at = changed_at + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + id == o.id && + remote_id == o.remote_id && + title == o.title && + description == o.description && + url == o.url && + remote_created_at == o.remote_created_at && + skills == o.skills && + ordered_content == o.ordered_content && + changed_at == o.changed_at && + remote_deleted_at == o.remote_deleted_at && + remote_data == o.remote_data + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [id, remote_id, title, description, url, remote_created_at, skills, ordered_content, changed_at, remote_deleted_at, remote_data].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + transformed_hash = {} + openapi_types.each_pair do |key, type| + if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = nil + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[attribute_map[key]].is_a?(Array) + transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) } + end + elsif !attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]]) + end + end + new(transformed_hash) + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + end + +end diff --git a/lib/kombo_client/models/get_lms_courses_positive_response_data_results_inner_ordered_content_inner.rb b/lib/kombo_client/models/get_lms_courses_positive_response_data_results_inner_ordered_content_inner.rb new file mode 100644 index 0000000..dadb91a --- /dev/null +++ b/lib/kombo_client/models/get_lms_courses_positive_response_data_results_inner_ordered_content_inner.rb @@ -0,0 +1,309 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.17.0 + +=end + +require 'date' +require 'time' + +module Kombo + class GetLmsCoursesPositiveResponseDataResultsInnerOrderedContentInner < ApiModelBase + # The Kombo ID of the content item. + attr_accessor :id + + # The remote ID of the content item. + attr_accessor :remote_id + + # The title of the content item. + attr_accessor :title + + # A description of the content item. + attr_accessor :description + + # URL where the content can be accessed. + attr_accessor :url + + # The type of learning content. + attr_accessor :type + + # The date and time the object was created in the remote system. + attr_accessor :remote_created_at + + class EnumAttributeValidator + attr_reader :datatype + attr_reader :allowable_values + + def initialize(datatype, allowable_values) + @allowable_values = allowable_values.map do |value| + case datatype.to_s + when /Integer/i + value.to_i + when /Float/i + value.to_f + else + value + end + end + end + + def valid?(value) + !value || allowable_values.include?(value) + end + end + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'id' => :'id', + :'remote_id' => :'remote_id', + :'title' => :'title', + :'description' => :'description', + :'url' => :'url', + :'type' => :'type', + :'remote_created_at' => :'remote_created_at' + } + end + + # Returns attribute mapping this model knows about + def self.acceptable_attribute_map + attribute_map + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + acceptable_attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'id' => :'String', + :'remote_id' => :'String', + :'title' => :'String', + :'description' => :'String', + :'url' => :'String', + :'type' => :'String', + :'remote_created_at' => :'Time' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + :'description', + :'url', + :'remote_created_at' + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Kombo::GetLmsCoursesPositiveResponseDataResultsInnerOrderedContentInner` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + acceptable_attribute_map = self.class.acceptable_attribute_map + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!acceptable_attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Kombo::GetLmsCoursesPositiveResponseDataResultsInnerOrderedContentInner`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'id') + self.id = attributes[:'id'] + else + self.id = nil + end + + if attributes.key?(:'remote_id') + self.remote_id = attributes[:'remote_id'] + else + self.remote_id = nil + end + + if attributes.key?(:'title') + self.title = attributes[:'title'] + else + self.title = nil + end + + if attributes.key?(:'description') + self.description = attributes[:'description'] + else + self.description = nil + end + + if attributes.key?(:'url') + self.url = attributes[:'url'] + else + self.url = nil + end + + if attributes.key?(:'type') + self.type = attributes[:'type'] + else + self.type = nil + end + + if attributes.key?(:'remote_created_at') + self.remote_created_at = attributes[:'remote_created_at'] + else + self.remote_created_at = nil + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + warn '[DEPRECATED] the `list_invalid_properties` method is obsolete' + invalid_properties = Array.new + if @id.nil? + invalid_properties.push('invalid value for "id", id cannot be nil.') + end + + if @remote_id.nil? + invalid_properties.push('invalid value for "remote_id", remote_id cannot be nil.') + end + + if @title.nil? + invalid_properties.push('invalid value for "title", title cannot be nil.') + end + + if @type.nil? + invalid_properties.push('invalid value for "type", type cannot be nil.') + end + + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + warn '[DEPRECATED] the `valid?` method is obsolete' + return false if @id.nil? + return false if @remote_id.nil? + return false if @title.nil? + return false if @type.nil? + type_validator = EnumAttributeValidator.new('String', ["COACHING", "VIDEO", "TEXT", "QUIZ"]) + return false unless type_validator.valid?(@type) + true + end + + # Custom attribute writer method with validation + # @param [Object] id Value to be assigned + def id=(id) + if id.nil? + fail ArgumentError, 'id cannot be nil' + end + + @id = id + end + + # Custom attribute writer method with validation + # @param [Object] remote_id Value to be assigned + def remote_id=(remote_id) + if remote_id.nil? + fail ArgumentError, 'remote_id cannot be nil' + end + + @remote_id = remote_id + end + + # Custom attribute writer method with validation + # @param [Object] title Value to be assigned + def title=(title) + if title.nil? + fail ArgumentError, 'title cannot be nil' + end + + @title = title + end + + # Custom attribute writer method checking allowed values (enum). + # @param [Object] type Object to be assigned + def type=(type) + validator = EnumAttributeValidator.new('String', ["COACHING", "VIDEO", "TEXT", "QUIZ"]) + unless validator.valid?(type) + fail ArgumentError, "invalid value for \"type\", must be one of #{validator.allowable_values}." + end + @type = type + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + id == o.id && + remote_id == o.remote_id && + title == o.title && + description == o.description && + url == o.url && + type == o.type && + remote_created_at == o.remote_created_at + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [id, remote_id, title, description, url, type, remote_created_at].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + transformed_hash = {} + openapi_types.each_pair do |key, type| + if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = nil + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[attribute_map[key]].is_a?(Array) + transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) } + end + elsif !attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]]) + end + end + new(transformed_hash) + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + end + +end diff --git a/lib/kombo_client/models/get_lms_courses_positive_response_data_results_inner_skills_inner.rb b/lib/kombo_client/models/get_lms_courses_positive_response_data_results_inner_skills_inner.rb new file mode 100644 index 0000000..a8dc8d6 --- /dev/null +++ b/lib/kombo_client/models/get_lms_courses_positive_response_data_results_inner_skills_inner.rb @@ -0,0 +1,178 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.17.0 + +=end + +require 'date' +require 'time' + +module Kombo + class GetLmsCoursesPositiveResponseDataResultsInnerSkillsInner < ApiModelBase + # The name of the skill. + attr_accessor :name + + # The proficiency level of the skill (e.g., \"Beginner\", \"Intermediate\", \"Advanced\"). + attr_accessor :skill_level + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'name' => :'name', + :'skill_level' => :'skill_level' + } + end + + # Returns attribute mapping this model knows about + def self.acceptable_attribute_map + attribute_map + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + acceptable_attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'name' => :'String', + :'skill_level' => :'String' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + :'skill_level' + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Kombo::GetLmsCoursesPositiveResponseDataResultsInnerSkillsInner` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + acceptable_attribute_map = self.class.acceptable_attribute_map + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!acceptable_attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Kombo::GetLmsCoursesPositiveResponseDataResultsInnerSkillsInner`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'name') + self.name = attributes[:'name'] + else + self.name = nil + end + + if attributes.key?(:'skill_level') + self.skill_level = attributes[:'skill_level'] + else + self.skill_level = nil + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + warn '[DEPRECATED] the `list_invalid_properties` method is obsolete' + invalid_properties = Array.new + if @name.nil? + invalid_properties.push('invalid value for "name", name cannot be nil.') + end + + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + warn '[DEPRECATED] the `valid?` method is obsolete' + return false if @name.nil? + true + end + + # Custom attribute writer method with validation + # @param [Object] name Value to be assigned + def name=(name) + if name.nil? + fail ArgumentError, 'name cannot be nil' + end + + @name = name + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + name == o.name && + skill_level == o.skill_level + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [name, skill_level].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + transformed_hash = {} + openapi_types.each_pair do |key, type| + if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = nil + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[attribute_map[key]].is_a?(Array) + transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) } + end + elsif !attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]]) + end + end + new(transformed_hash) + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + end + +end diff --git a/lib/kombo_client/models/get_lms_users_parameter_status.rb b/lib/kombo_client/models/get_lms_users_parameter_status.rb new file mode 100644 index 0000000..6659f7e --- /dev/null +++ b/lib/kombo_client/models/get_lms_users_parameter_status.rb @@ -0,0 +1,40 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.17.0 + +=end + +require 'date' +require 'time' + +module Kombo + class GetLmsUsersParameterStatus + ACTIVE = "ACTIVE".freeze + INACTIVE = "INACTIVE".freeze + + def self.all_vars + @all_vars ||= [ACTIVE, INACTIVE].freeze + end + + # Builds the enum from string + # @param [String] The enum value in the form of the string + # @return [String] The enum value + def self.build_from_hash(value) + new.build_from_hash(value) + end + + # Builds the enum from string + # @param [String] The enum value in the form of the string + # @return [String] The enum value + def build_from_hash(value) + return value if GetLmsUsersParameterStatus.all_vars.include?(value) + raise "Invalid ENUM value #{value} for class #GetLmsUsersParameterStatus" + end + end +end diff --git a/lib/kombo_client/models/get_lms_users_positive_response.rb b/lib/kombo_client/models/get_lms_users_positive_response.rb new file mode 100644 index 0000000..072d3dd --- /dev/null +++ b/lib/kombo_client/models/get_lms_users_positive_response.rb @@ -0,0 +1,214 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.17.0 + +=end + +require 'date' +require 'time' + +module Kombo + class GetLmsUsersPositiveResponse < ApiModelBase + attr_accessor :status + + attr_accessor :data + + class EnumAttributeValidator + attr_reader :datatype + attr_reader :allowable_values + + def initialize(datatype, allowable_values) + @allowable_values = allowable_values.map do |value| + case datatype.to_s + when /Integer/i + value.to_i + when /Float/i + value.to_f + else + value + end + end + end + + def valid?(value) + !value || allowable_values.include?(value) + end + end + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'status' => :'status', + :'data' => :'data' + } + end + + # Returns attribute mapping this model knows about + def self.acceptable_attribute_map + attribute_map + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + acceptable_attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'status' => :'String', + :'data' => :'GetLmsUsersPositiveResponseData' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Kombo::GetLmsUsersPositiveResponse` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + acceptable_attribute_map = self.class.acceptable_attribute_map + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!acceptable_attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Kombo::GetLmsUsersPositiveResponse`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'status') + self.status = attributes[:'status'] + else + self.status = nil + end + + if attributes.key?(:'data') + self.data = attributes[:'data'] + else + self.data = nil + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + warn '[DEPRECATED] the `list_invalid_properties` method is obsolete' + invalid_properties = Array.new + if @status.nil? + invalid_properties.push('invalid value for "status", status cannot be nil.') + end + + if @data.nil? + invalid_properties.push('invalid value for "data", data cannot be nil.') + end + + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + warn '[DEPRECATED] the `valid?` method is obsolete' + return false if @status.nil? + status_validator = EnumAttributeValidator.new('String', ["success"]) + return false unless status_validator.valid?(@status) + return false if @data.nil? + true + end + + # Custom attribute writer method checking allowed values (enum). + # @param [Object] status Object to be assigned + def status=(status) + validator = EnumAttributeValidator.new('String', ["success"]) + unless validator.valid?(status) + fail ArgumentError, "invalid value for \"status\", must be one of #{validator.allowable_values}." + end + @status = status + end + + # Custom attribute writer method with validation + # @param [Object] data Value to be assigned + def data=(data) + if data.nil? + fail ArgumentError, 'data cannot be nil' + end + + @data = data + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + status == o.status && + data == o.data + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [status, data].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + transformed_hash = {} + openapi_types.each_pair do |key, type| + if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = nil + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[attribute_map[key]].is_a?(Array) + transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) } + end + elsif !attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]]) + end + end + new(transformed_hash) + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + end + +end diff --git a/lib/kombo_client/models/get_lms_users_positive_response_data.rb b/lib/kombo_client/models/get_lms_users_positive_response_data.rb new file mode 100644 index 0000000..e39bf78 --- /dev/null +++ b/lib/kombo_client/models/get_lms_users_positive_response_data.rb @@ -0,0 +1,179 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.17.0 + +=end + +require 'date' +require 'time' + +module Kombo + class GetLmsUsersPositiveResponseData < ApiModelBase + # 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. + attr_accessor :_next + + attr_accessor :results + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'_next' => :'next', + :'results' => :'results' + } + end + + # Returns attribute mapping this model knows about + def self.acceptable_attribute_map + attribute_map + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + acceptable_attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'_next' => :'String', + :'results' => :'Array' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + :'_next', + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Kombo::GetLmsUsersPositiveResponseData` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + acceptable_attribute_map = self.class.acceptable_attribute_map + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!acceptable_attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Kombo::GetLmsUsersPositiveResponseData`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'_next') + self._next = attributes[:'_next'] + else + self._next = nil + end + + if attributes.key?(:'results') + if (value = attributes[:'results']).is_a?(Array) + self.results = value + end + else + self.results = nil + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + warn '[DEPRECATED] the `list_invalid_properties` method is obsolete' + invalid_properties = Array.new + if @results.nil? + invalid_properties.push('invalid value for "results", results cannot be nil.') + end + + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + warn '[DEPRECATED] the `valid?` method is obsolete' + return false if @results.nil? + true + end + + # Custom attribute writer method with validation + # @param [Object] results Value to be assigned + def results=(results) + if results.nil? + fail ArgumentError, 'results cannot be nil' + end + + @results = results + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + _next == o._next && + results == o.results + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [_next, results].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + transformed_hash = {} + openapi_types.each_pair do |key, type| + if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = nil + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[attribute_map[key]].is_a?(Array) + transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) } + end + elsif !attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]]) + end + end + new(transformed_hash) + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + end + +end diff --git a/lib/kombo_client/models/get_lms_users_positive_response_data_results_inner.rb b/lib/kombo_client/models/get_lms_users_positive_response_data_results_inner.rb new file mode 100644 index 0000000..5e14981 --- /dev/null +++ b/lib/kombo_client/models/get_lms_users_positive_response_data_results_inner.rb @@ -0,0 +1,366 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.17.0 + +=end + +require 'date' +require 'time' + +module Kombo + class GetLmsUsersPositiveResponseDataResultsInner < ApiModelBase + # The globally unique ID of this object generated by Kombo. We recommend using this as a stable primary key for syncing. + attr_accessor :id + + # 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. + attr_accessor :remote_id + + # The user's first name. + attr_accessor :first_name + + # The user's last name. + attr_accessor :last_name + + # The user's work email address. + attr_accessor :work_email + + # Current status of the user in the LMS. + attr_accessor :status + + # The date and time the object was created in the remote system. + attr_accessor :remote_created_at + + # Array of course progress records for this user. + attr_accessor :progress + + # 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. + attr_accessor :changed_at + + # 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. + attr_accessor :remote_data + + class EnumAttributeValidator + attr_reader :datatype + attr_reader :allowable_values + + def initialize(datatype, allowable_values) + @allowable_values = allowable_values.map do |value| + case datatype.to_s + when /Integer/i + value.to_i + when /Float/i + value.to_f + else + value + end + end + end + + def valid?(value) + !value || allowable_values.include?(value) + end + end + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'id' => :'id', + :'remote_id' => :'remote_id', + :'first_name' => :'first_name', + :'last_name' => :'last_name', + :'work_email' => :'work_email', + :'status' => :'status', + :'remote_created_at' => :'remote_created_at', + :'progress' => :'progress', + :'changed_at' => :'changed_at', + :'remote_data' => :'remote_data' + } + end + + # Returns attribute mapping this model knows about + def self.acceptable_attribute_map + attribute_map + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + acceptable_attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'id' => :'String', + :'remote_id' => :'String', + :'first_name' => :'String', + :'last_name' => :'String', + :'work_email' => :'String', + :'status' => :'String', + :'remote_created_at' => :'Time', + :'progress' => :'Array', + :'changed_at' => :'Time', + :'remote_data' => :'Hash' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + :'first_name', + :'last_name', + :'work_email', + :'remote_created_at', + :'remote_data' + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Kombo::GetLmsUsersPositiveResponseDataResultsInner` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + acceptable_attribute_map = self.class.acceptable_attribute_map + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!acceptable_attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Kombo::GetLmsUsersPositiveResponseDataResultsInner`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'id') + self.id = attributes[:'id'] + else + self.id = nil + end + + if attributes.key?(:'remote_id') + self.remote_id = attributes[:'remote_id'] + else + self.remote_id = nil + end + + if attributes.key?(:'first_name') + self.first_name = attributes[:'first_name'] + else + self.first_name = nil + end + + if attributes.key?(:'last_name') + self.last_name = attributes[:'last_name'] + else + self.last_name = nil + end + + if attributes.key?(:'work_email') + self.work_email = attributes[:'work_email'] + else + self.work_email = nil + end + + if attributes.key?(:'status') + self.status = attributes[:'status'] + else + self.status = nil + end + + if attributes.key?(:'remote_created_at') + self.remote_created_at = attributes[:'remote_created_at'] + else + self.remote_created_at = nil + end + + if attributes.key?(:'progress') + if (value = attributes[:'progress']).is_a?(Array) + self.progress = value + end + else + self.progress = nil + end + + if attributes.key?(:'changed_at') + self.changed_at = attributes[:'changed_at'] + else + self.changed_at = nil + end + + if attributes.key?(:'remote_data') + if (value = attributes[:'remote_data']).is_a?(Hash) + self.remote_data = value + end + else + self.remote_data = nil + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + warn '[DEPRECATED] the `list_invalid_properties` method is obsolete' + invalid_properties = Array.new + if @id.nil? + invalid_properties.push('invalid value for "id", id cannot be nil.') + end + + if @remote_id.nil? + invalid_properties.push('invalid value for "remote_id", remote_id cannot be nil.') + end + + if @status.nil? + invalid_properties.push('invalid value for "status", status cannot be nil.') + end + + if @progress.nil? + invalid_properties.push('invalid value for "progress", progress cannot be nil.') + end + + if @changed_at.nil? + invalid_properties.push('invalid value for "changed_at", changed_at cannot be nil.') + end + + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + warn '[DEPRECATED] the `valid?` method is obsolete' + return false if @id.nil? + return false if @remote_id.nil? + return false if @status.nil? + status_validator = EnumAttributeValidator.new('String', ["ACTIVE", "INACTIVE"]) + return false unless status_validator.valid?(@status) + return false if @progress.nil? + return false if @changed_at.nil? + true + end + + # Custom attribute writer method with validation + # @param [Object] id Value to be assigned + def id=(id) + if id.nil? + fail ArgumentError, 'id cannot be nil' + end + + @id = id + end + + # Custom attribute writer method with validation + # @param [Object] remote_id Value to be assigned + def remote_id=(remote_id) + if remote_id.nil? + fail ArgumentError, 'remote_id cannot be nil' + end + + @remote_id = remote_id + end + + # Custom attribute writer method checking allowed values (enum). + # @param [Object] status Object to be assigned + def status=(status) + validator = EnumAttributeValidator.new('String', ["ACTIVE", "INACTIVE"]) + unless validator.valid?(status) + fail ArgumentError, "invalid value for \"status\", must be one of #{validator.allowable_values}." + end + @status = status + end + + # Custom attribute writer method with validation + # @param [Object] progress Value to be assigned + def progress=(progress) + if progress.nil? + fail ArgumentError, 'progress cannot be nil' + end + + @progress = progress + end + + # Custom attribute writer method with validation + # @param [Object] changed_at Value to be assigned + def changed_at=(changed_at) + if changed_at.nil? + fail ArgumentError, 'changed_at cannot be nil' + end + + @changed_at = changed_at + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + id == o.id && + remote_id == o.remote_id && + first_name == o.first_name && + last_name == o.last_name && + work_email == o.work_email && + status == o.status && + remote_created_at == o.remote_created_at && + progress == o.progress && + changed_at == o.changed_at && + remote_data == o.remote_data + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [id, remote_id, first_name, last_name, work_email, status, remote_created_at, progress, changed_at, remote_data].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + transformed_hash = {} + openapi_types.each_pair do |key, type| + if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = nil + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[attribute_map[key]].is_a?(Array) + transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) } + end + elsif !attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]]) + end + end + new(transformed_hash) + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + end + +end diff --git a/lib/kombo_client/models/get_lms_users_positive_response_data_results_inner_progress_inner.rb b/lib/kombo_client/models/get_lms_users_positive_response_data_results_inner_progress_inner.rb new file mode 100644 index 0000000..1a74919 --- /dev/null +++ b/lib/kombo_client/models/get_lms_users_positive_response_data_results_inner_progress_inner.rb @@ -0,0 +1,338 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.17.0 + +=end + +require 'date' +require 'time' + +module Kombo + class GetLmsUsersPositiveResponseDataResultsInnerProgressInner < ApiModelBase + # The ID of the course this progress relates to. + attr_accessor :course_id + + # Unique identifier for this progress entry. + attr_accessor :progress_id + + # Current status of the learner in this course. + attr_accessor :status + + # Date when the user enrolled in the course. + attr_accessor :enrollment_date + + # Date when the user completed the course. + attr_accessor :completion_date + + # Numerical score achieved by the user (e.g., 85.5). + attr_accessor :score + + # Total time spent on the course in minutes. + attr_accessor :duration + + # Additional comments or notes about the progress. + attr_accessor :comments + + class EnumAttributeValidator + attr_reader :datatype + attr_reader :allowable_values + + def initialize(datatype, allowable_values) + @allowable_values = allowable_values.map do |value| + case datatype.to_s + when /Integer/i + value.to_i + when /Float/i + value.to_f + else + value + end + end + end + + def valid?(value) + !value || allowable_values.include?(value) + end + end + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'course_id' => :'course_id', + :'progress_id' => :'progress_id', + :'status' => :'status', + :'enrollment_date' => :'enrollment_date', + :'completion_date' => :'completion_date', + :'score' => :'score', + :'duration' => :'duration', + :'comments' => :'comments' + } + end + + # Returns attribute mapping this model knows about + def self.acceptable_attribute_map + attribute_map + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + acceptable_attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'course_id' => :'String', + :'progress_id' => :'String', + :'status' => :'String', + :'enrollment_date' => :'String', + :'completion_date' => :'String', + :'score' => :'Float', + :'duration' => :'Float', + :'comments' => :'String' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + :'enrollment_date', + :'completion_date', + :'score', + :'duration', + :'comments' + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Kombo::GetLmsUsersPositiveResponseDataResultsInnerProgressInner` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + acceptable_attribute_map = self.class.acceptable_attribute_map + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!acceptable_attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Kombo::GetLmsUsersPositiveResponseDataResultsInnerProgressInner`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'course_id') + self.course_id = attributes[:'course_id'] + else + self.course_id = nil + end + + if attributes.key?(:'progress_id') + self.progress_id = attributes[:'progress_id'] + else + self.progress_id = nil + end + + if attributes.key?(:'status') + self.status = attributes[:'status'] + else + self.status = nil + end + + if attributes.key?(:'enrollment_date') + self.enrollment_date = attributes[:'enrollment_date'] + else + self.enrollment_date = nil + end + + if attributes.key?(:'completion_date') + self.completion_date = attributes[:'completion_date'] + else + self.completion_date = nil + end + + if attributes.key?(:'score') + self.score = attributes[:'score'] + else + self.score = nil + end + + if attributes.key?(:'duration') + self.duration = attributes[:'duration'] + else + self.duration = nil + end + + if attributes.key?(:'comments') + self.comments = attributes[:'comments'] + else + self.comments = nil + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + warn '[DEPRECATED] the `list_invalid_properties` method is obsolete' + invalid_properties = Array.new + if @course_id.nil? + invalid_properties.push('invalid value for "course_id", course_id cannot be nil.') + end + + if @progress_id.nil? + invalid_properties.push('invalid value for "progress_id", progress_id cannot be nil.') + end + + if @status.nil? + invalid_properties.push('invalid value for "status", status cannot be nil.') + end + + if @score < -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + invalid_properties.push('invalid value for "score", must be greater than or equal to -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.') + end + + if @duration < -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + invalid_properties.push('invalid value for "duration", must be greater than or equal to -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.') + end + + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + warn '[DEPRECATED] the `valid?` method is obsolete' + return false if @course_id.nil? + return false if @progress_id.nil? + return false if @status.nil? + status_validator = EnumAttributeValidator.new('String', ["ENROLLED", "STARTED", "COMPLETED", "STOPPED"]) + return false unless status_validator.valid?(@status) + return false if @score < -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + return false if @duration < -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + true + end + + # Custom attribute writer method with validation + # @param [Object] course_id Value to be assigned + def course_id=(course_id) + if course_id.nil? + fail ArgumentError, 'course_id cannot be nil' + end + + @course_id = course_id + end + + # Custom attribute writer method with validation + # @param [Object] progress_id Value to be assigned + def progress_id=(progress_id) + if progress_id.nil? + fail ArgumentError, 'progress_id cannot be nil' + end + + @progress_id = progress_id + end + + # Custom attribute writer method checking allowed values (enum). + # @param [Object] status Object to be assigned + def status=(status) + validator = EnumAttributeValidator.new('String', ["ENROLLED", "STARTED", "COMPLETED", "STOPPED"]) + unless validator.valid?(status) + fail ArgumentError, "invalid value for \"status\", must be one of #{validator.allowable_values}." + end + @status = status + end + + # Custom attribute writer method with validation + # @param [Object] score Value to be assigned + def score=(score) + if !score.nil? && score < -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + fail ArgumentError, 'invalid value for "score", must be greater than or equal to -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.' + end + + @score = score + end + + # Custom attribute writer method with validation + # @param [Object] duration Value to be assigned + def duration=(duration) + if !duration.nil? && duration < -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + fail ArgumentError, 'invalid value for "duration", must be greater than or equal to -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.' + end + + @duration = duration + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + course_id == o.course_id && + progress_id == o.progress_id && + status == o.status && + enrollment_date == o.enrollment_date && + completion_date == o.completion_date && + score == o.score && + duration == o.duration && + comments == o.comments + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [course_id, progress_id, status, enrollment_date, completion_date, score, duration, comments].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + transformed_hash = {} + openapi_types.each_pair do |key, type| + if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = nil + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[attribute_map[key]].is_a?(Array) + transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) } + end + elsif !attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]]) + end + end + new(transformed_hash) + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + end + +end diff --git a/lib/kombo_client/models/get_tools_category_parameter_category.rb b/lib/kombo_client/models/get_tools_category_parameter_category.rb new file mode 100644 index 0000000..c0cb0ba --- /dev/null +++ b/lib/kombo_client/models/get_tools_category_parameter_category.rb @@ -0,0 +1,41 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.17.0 + +=end + +require 'date' +require 'time' + +module Kombo + class GetToolsCategoryParameterCategory + HRIS = "hris".freeze + ATS = "ats".freeze + ASSESSMENT = "assessment".freeze + + def self.all_vars + @all_vars ||= [HRIS, ATS, ASSESSMENT].freeze + end + + # Builds the enum from string + # @param [String] The enum value in the form of the string + # @return [String] The enum value + def self.build_from_hash(value) + new.build_from_hash(value) + end + + # Builds the enum from string + # @param [String] The enum value in the form of the string + # @return [String] The enum value + def build_from_hash(value) + return value if GetToolsCategoryParameterCategory.all_vars.include?(value) + raise "Invalid ENUM value #{value} for class #GetToolsCategoryParameterCategory" + end + end +end diff --git a/lib/kombo_client/models/get_tools_category_positive_response.rb b/lib/kombo_client/models/get_tools_category_positive_response.rb new file mode 100644 index 0000000..2d0712c --- /dev/null +++ b/lib/kombo_client/models/get_tools_category_positive_response.rb @@ -0,0 +1,214 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.17.0 + +=end + +require 'date' +require 'time' + +module Kombo + class GetToolsCategoryPositiveResponse < ApiModelBase + attr_accessor :status + + attr_accessor :data + + class EnumAttributeValidator + attr_reader :datatype + attr_reader :allowable_values + + def initialize(datatype, allowable_values) + @allowable_values = allowable_values.map do |value| + case datatype.to_s + when /Integer/i + value.to_i + when /Float/i + value.to_f + else + value + end + end + end + + def valid?(value) + !value || allowable_values.include?(value) + end + end + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'status' => :'status', + :'data' => :'data' + } + end + + # Returns attribute mapping this model knows about + def self.acceptable_attribute_map + attribute_map + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + acceptable_attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'status' => :'String', + :'data' => :'GetToolsCategoryPositiveResponseData' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Kombo::GetToolsCategoryPositiveResponse` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + acceptable_attribute_map = self.class.acceptable_attribute_map + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!acceptable_attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Kombo::GetToolsCategoryPositiveResponse`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'status') + self.status = attributes[:'status'] + else + self.status = nil + end + + if attributes.key?(:'data') + self.data = attributes[:'data'] + else + self.data = nil + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + warn '[DEPRECATED] the `list_invalid_properties` method is obsolete' + invalid_properties = Array.new + if @status.nil? + invalid_properties.push('invalid value for "status", status cannot be nil.') + end + + if @data.nil? + invalid_properties.push('invalid value for "data", data cannot be nil.') + end + + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + warn '[DEPRECATED] the `valid?` method is obsolete' + return false if @status.nil? + status_validator = EnumAttributeValidator.new('String', ["success"]) + return false unless status_validator.valid?(@status) + return false if @data.nil? + true + end + + # Custom attribute writer method checking allowed values (enum). + # @param [Object] status Object to be assigned + def status=(status) + validator = EnumAttributeValidator.new('String', ["success"]) + unless validator.valid?(status) + fail ArgumentError, "invalid value for \"status\", must be one of #{validator.allowable_values}." + end + @status = status + end + + # Custom attribute writer method with validation + # @param [Object] data Value to be assigned + def data=(data) + if data.nil? + fail ArgumentError, 'data cannot be nil' + end + + @data = data + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + status == o.status && + data == o.data + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [status, data].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + transformed_hash = {} + openapi_types.each_pair do |key, type| + if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = nil + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[attribute_map[key]].is_a?(Array) + transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) } + end + elsif !attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]]) + end + end + new(transformed_hash) + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + end + +end diff --git a/lib/kombo_client/models/get_tools_category_positive_response_data.rb b/lib/kombo_client/models/get_tools_category_positive_response_data.rb new file mode 100644 index 0000000..384fc86 --- /dev/null +++ b/lib/kombo_client/models/get_tools_category_positive_response_data.rb @@ -0,0 +1,166 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.17.0 + +=end + +require 'date' +require 'time' + +module Kombo + class GetToolsCategoryPositiveResponseData < ApiModelBase + attr_accessor :tools + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'tools' => :'tools' + } + end + + # Returns attribute mapping this model knows about + def self.acceptable_attribute_map + attribute_map + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + acceptable_attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'tools' => :'Array' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Kombo::GetToolsCategoryPositiveResponseData` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + acceptable_attribute_map = self.class.acceptable_attribute_map + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!acceptable_attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Kombo::GetToolsCategoryPositiveResponseData`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'tools') + if (value = attributes[:'tools']).is_a?(Array) + self.tools = value + end + else + self.tools = nil + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + warn '[DEPRECATED] the `list_invalid_properties` method is obsolete' + invalid_properties = Array.new + if @tools.nil? + invalid_properties.push('invalid value for "tools", tools cannot be nil.') + end + + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + warn '[DEPRECATED] the `valid?` method is obsolete' + return false if @tools.nil? + true + end + + # Custom attribute writer method with validation + # @param [Object] tools Value to be assigned + def tools=(tools) + if tools.nil? + fail ArgumentError, 'tools cannot be nil' + end + + @tools = tools + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + tools == o.tools + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [tools].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + transformed_hash = {} + openapi_types.each_pair do |key, type| + if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = nil + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[attribute_map[key]].is_a?(Array) + transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) } + end + elsif !attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]]) + end + end + new(transformed_hash) + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + end + +end diff --git a/lib/kombo_client/models/get_tools_category_positive_response_data_tools_inner.rb b/lib/kombo_client/models/get_tools_category_positive_response_data_tools_inner.rb new file mode 100644 index 0000000..c42e4ed --- /dev/null +++ b/lib/kombo_client/models/get_tools_category_positive_response_data_tools_inner.rb @@ -0,0 +1,307 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.17.0 + +=end + +require 'date' +require 'time' + +module Kombo + class GetToolsCategoryPositiveResponseDataToolsInner < ApiModelBase + attr_accessor :id + + attr_accessor :label + + # Internal label that can help you debug specific variants of the integration. Only show the `label` to your users. + attr_accessor :internal_label + + attr_accessor :assets + + # Markdown formatted text that describes details about the paid API. `null` if the tool is not paid. + attr_accessor :paid_api_details_markdown + + # Markdown formatted text that describes details about the fast track process. `null` if the fast track process is not available. + attr_accessor :fast_track_details_markdown + + # Markdown formatted text that describes partnership requirements. `null` if the tool does not require a partnership. + attr_accessor :partner_only_details_markdown + + # URL to the connection guide for this tool. `null` if no connection guide is available. + attr_accessor :connection_guide_url + + attr_accessor :coverage + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'id' => :'id', + :'label' => :'label', + :'internal_label' => :'internal_label', + :'assets' => :'assets', + :'paid_api_details_markdown' => :'paid_api_details_markdown', + :'fast_track_details_markdown' => :'fast_track_details_markdown', + :'partner_only_details_markdown' => :'partner_only_details_markdown', + :'connection_guide_url' => :'connection_guide_url', + :'coverage' => :'coverage' + } + end + + # Returns attribute mapping this model knows about + def self.acceptable_attribute_map + attribute_map + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + acceptable_attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'id' => :'String', + :'label' => :'String', + :'internal_label' => :'String', + :'assets' => :'GetToolsCategoryPositiveResponseDataToolsInnerAssets', + :'paid_api_details_markdown' => :'String', + :'fast_track_details_markdown' => :'String', + :'partner_only_details_markdown' => :'String', + :'connection_guide_url' => :'String', + :'coverage' => :'GetToolsCategoryPositiveResponseDataToolsInnerCoverage' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + :'internal_label', + :'paid_api_details_markdown', + :'fast_track_details_markdown', + :'partner_only_details_markdown', + :'connection_guide_url', + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Kombo::GetToolsCategoryPositiveResponseDataToolsInner` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + acceptable_attribute_map = self.class.acceptable_attribute_map + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!acceptable_attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Kombo::GetToolsCategoryPositiveResponseDataToolsInner`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'id') + self.id = attributes[:'id'] + else + self.id = nil + end + + if attributes.key?(:'label') + self.label = attributes[:'label'] + else + self.label = nil + end + + if attributes.key?(:'internal_label') + self.internal_label = attributes[:'internal_label'] + else + self.internal_label = nil + end + + if attributes.key?(:'assets') + self.assets = attributes[:'assets'] + else + self.assets = nil + end + + if attributes.key?(:'paid_api_details_markdown') + self.paid_api_details_markdown = attributes[:'paid_api_details_markdown'] + else + self.paid_api_details_markdown = nil + end + + if attributes.key?(:'fast_track_details_markdown') + self.fast_track_details_markdown = attributes[:'fast_track_details_markdown'] + else + self.fast_track_details_markdown = nil + end + + if attributes.key?(:'partner_only_details_markdown') + self.partner_only_details_markdown = attributes[:'partner_only_details_markdown'] + else + self.partner_only_details_markdown = nil + end + + if attributes.key?(:'connection_guide_url') + self.connection_guide_url = attributes[:'connection_guide_url'] + else + self.connection_guide_url = nil + end + + if attributes.key?(:'coverage') + self.coverage = attributes[:'coverage'] + else + self.coverage = nil + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + warn '[DEPRECATED] the `list_invalid_properties` method is obsolete' + invalid_properties = Array.new + if @id.nil? + invalid_properties.push('invalid value for "id", id cannot be nil.') + end + + if @label.nil? + invalid_properties.push('invalid value for "label", label cannot be nil.') + end + + if @assets.nil? + invalid_properties.push('invalid value for "assets", assets cannot be nil.') + end + + if @coverage.nil? + invalid_properties.push('invalid value for "coverage", coverage cannot be nil.') + end + + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + warn '[DEPRECATED] the `valid?` method is obsolete' + return false if @id.nil? + return false if @label.nil? + return false if @assets.nil? + return false if @coverage.nil? + true + end + + # Custom attribute writer method with validation + # @param [Object] id Value to be assigned + def id=(id) + if id.nil? + fail ArgumentError, 'id cannot be nil' + end + + @id = id + end + + # Custom attribute writer method with validation + # @param [Object] label Value to be assigned + def label=(label) + if label.nil? + fail ArgumentError, 'label cannot be nil' + end + + @label = label + end + + # Custom attribute writer method with validation + # @param [Object] assets Value to be assigned + def assets=(assets) + if assets.nil? + fail ArgumentError, 'assets cannot be nil' + end + + @assets = assets + end + + # Custom attribute writer method with validation + # @param [Object] coverage Value to be assigned + def coverage=(coverage) + if coverage.nil? + fail ArgumentError, 'coverage cannot be nil' + end + + @coverage = coverage + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + id == o.id && + label == o.label && + internal_label == o.internal_label && + assets == o.assets && + paid_api_details_markdown == o.paid_api_details_markdown && + fast_track_details_markdown == o.fast_track_details_markdown && + partner_only_details_markdown == o.partner_only_details_markdown && + connection_guide_url == o.connection_guide_url && + coverage == o.coverage + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [id, label, internal_label, assets, paid_api_details_markdown, fast_track_details_markdown, partner_only_details_markdown, connection_guide_url, coverage].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + transformed_hash = {} + openapi_types.each_pair do |key, type| + if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = nil + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[attribute_map[key]].is_a?(Array) + transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) } + end + elsif !attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]]) + end + end + new(transformed_hash) + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + end + +end diff --git a/lib/kombo_client/models/get_tools_category_positive_response_data_tools_inner_assets.rb b/lib/kombo_client/models/get_tools_category_positive_response_data_tools_inner_assets.rb new file mode 100644 index 0000000..86f42ab --- /dev/null +++ b/lib/kombo_client/models/get_tools_category_positive_response_data_tools_inner_assets.rb @@ -0,0 +1,216 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.17.0 + +=end + +require 'date' +require 'time' + +module Kombo + class GetToolsCategoryPositiveResponseDataToolsInnerAssets < ApiModelBase + attr_accessor :logo_url + + attr_accessor :icon_url + + attr_accessor :icon_black_url + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'logo_url' => :'logo_url', + :'icon_url' => :'icon_url', + :'icon_black_url' => :'icon_black_url' + } + end + + # Returns attribute mapping this model knows about + def self.acceptable_attribute_map + attribute_map + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + acceptable_attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'logo_url' => :'String', + :'icon_url' => :'String', + :'icon_black_url' => :'String' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Kombo::GetToolsCategoryPositiveResponseDataToolsInnerAssets` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + acceptable_attribute_map = self.class.acceptable_attribute_map + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!acceptable_attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Kombo::GetToolsCategoryPositiveResponseDataToolsInnerAssets`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'logo_url') + self.logo_url = attributes[:'logo_url'] + else + self.logo_url = nil + end + + if attributes.key?(:'icon_url') + self.icon_url = attributes[:'icon_url'] + else + self.icon_url = nil + end + + if attributes.key?(:'icon_black_url') + self.icon_black_url = attributes[:'icon_black_url'] + else + self.icon_black_url = nil + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + warn '[DEPRECATED] the `list_invalid_properties` method is obsolete' + invalid_properties = Array.new + if @logo_url.nil? + invalid_properties.push('invalid value for "logo_url", logo_url cannot be nil.') + end + + if @icon_url.nil? + invalid_properties.push('invalid value for "icon_url", icon_url cannot be nil.') + end + + if @icon_black_url.nil? + invalid_properties.push('invalid value for "icon_black_url", icon_black_url cannot be nil.') + end + + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + warn '[DEPRECATED] the `valid?` method is obsolete' + return false if @logo_url.nil? + return false if @icon_url.nil? + return false if @icon_black_url.nil? + true + end + + # Custom attribute writer method with validation + # @param [Object] logo_url Value to be assigned + def logo_url=(logo_url) + if logo_url.nil? + fail ArgumentError, 'logo_url cannot be nil' + end + + @logo_url = logo_url + end + + # Custom attribute writer method with validation + # @param [Object] icon_url Value to be assigned + def icon_url=(icon_url) + if icon_url.nil? + fail ArgumentError, 'icon_url cannot be nil' + end + + @icon_url = icon_url + end + + # Custom attribute writer method with validation + # @param [Object] icon_black_url Value to be assigned + def icon_black_url=(icon_black_url) + if icon_black_url.nil? + fail ArgumentError, 'icon_black_url cannot be nil' + end + + @icon_black_url = icon_black_url + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + logo_url == o.logo_url && + icon_url == o.icon_url && + icon_black_url == o.icon_black_url + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [logo_url, icon_url, icon_black_url].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + transformed_hash = {} + openapi_types.each_pair do |key, type| + if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = nil + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[attribute_map[key]].is_a?(Array) + transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) } + end + elsif !attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]]) + end + end + new(transformed_hash) + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + end + +end diff --git a/lib/kombo_client/models/get_tools_category_positive_response_data_tools_inner_coverage.rb b/lib/kombo_client/models/get_tools_category_positive_response_data_tools_inner_coverage.rb new file mode 100644 index 0000000..06909c8 --- /dev/null +++ b/lib/kombo_client/models/get_tools_category_positive_response_data_tools_inner_coverage.rb @@ -0,0 +1,223 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.17.0 + +=end + +require 'date' +require 'time' + +module Kombo + # This describes the supported models and actions of this tool. + class GetToolsCategoryPositiveResponseDataToolsInnerCoverage < ApiModelBase + attr_accessor :read_models + + attr_accessor :write_actions + + attr_accessor :features + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'read_models' => :'read_models', + :'write_actions' => :'write_actions', + :'features' => :'features' + } + end + + # Returns attribute mapping this model knows about + def self.acceptable_attribute_map + attribute_map + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + acceptable_attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'read_models' => :'Array', + :'write_actions' => :'Array', + :'features' => :'Array' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Kombo::GetToolsCategoryPositiveResponseDataToolsInnerCoverage` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + acceptable_attribute_map = self.class.acceptable_attribute_map + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!acceptable_attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Kombo::GetToolsCategoryPositiveResponseDataToolsInnerCoverage`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'read_models') + if (value = attributes[:'read_models']).is_a?(Array) + self.read_models = value + end + else + self.read_models = nil + end + + if attributes.key?(:'write_actions') + if (value = attributes[:'write_actions']).is_a?(Array) + self.write_actions = value + end + else + self.write_actions = nil + end + + if attributes.key?(:'features') + if (value = attributes[:'features']).is_a?(Array) + self.features = value + end + else + self.features = nil + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + warn '[DEPRECATED] the `list_invalid_properties` method is obsolete' + invalid_properties = Array.new + if @read_models.nil? + invalid_properties.push('invalid value for "read_models", read_models cannot be nil.') + end + + if @write_actions.nil? + invalid_properties.push('invalid value for "write_actions", write_actions cannot be nil.') + end + + if @features.nil? + invalid_properties.push('invalid value for "features", features cannot be nil.') + end + + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + warn '[DEPRECATED] the `valid?` method is obsolete' + return false if @read_models.nil? + return false if @write_actions.nil? + return false if @features.nil? + true + end + + # Custom attribute writer method with validation + # @param [Object] read_models Value to be assigned + def read_models=(read_models) + if read_models.nil? + fail ArgumentError, 'read_models cannot be nil' + end + + @read_models = read_models + end + + # Custom attribute writer method with validation + # @param [Object] write_actions Value to be assigned + def write_actions=(write_actions) + if write_actions.nil? + fail ArgumentError, 'write_actions cannot be nil' + end + + @write_actions = write_actions + end + + # Custom attribute writer method with validation + # @param [Object] features Value to be assigned + def features=(features) + if features.nil? + fail ArgumentError, 'features cannot be nil' + end + + @features = features + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + read_models == o.read_models && + write_actions == o.write_actions && + features == o.features + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [read_models, write_actions, features].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + transformed_hash = {} + openapi_types.each_pair do |key, type| + if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = nil + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[attribute_map[key]].is_a?(Array) + transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) } + end + elsif !attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]]) + end + end + new(transformed_hash) + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + end + +end diff --git a/lib/kombo_client/models/get_tools_category_positive_response_data_tools_inner_coverage_features_inner.rb b/lib/kombo_client/models/get_tools_category_positive_response_data_tools_inner_coverage_features_inner.rb new file mode 100644 index 0000000..636903a --- /dev/null +++ b/lib/kombo_client/models/get_tools_category_positive_response_data_tools_inner_coverage_features_inner.rb @@ -0,0 +1,241 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.17.0 + +=end + +require 'date' +require 'time' + +module Kombo + class GetToolsCategoryPositiveResponseDataToolsInnerCoverageFeaturesInner < ApiModelBase + attr_accessor :id + + attr_accessor :label + + # 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. + attr_accessor :coverage_status + + class EnumAttributeValidator + attr_reader :datatype + attr_reader :allowable_values + + def initialize(datatype, allowable_values) + @allowable_values = allowable_values.map do |value| + case datatype.to_s + when /Integer/i + value.to_i + when /Float/i + value.to_f + else + value + end + end + end + + def valid?(value) + !value || allowable_values.include?(value) + end + end + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'id' => :'id', + :'label' => :'label', + :'coverage_status' => :'coverage_status' + } + end + + # Returns attribute mapping this model knows about + def self.acceptable_attribute_map + attribute_map + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + acceptable_attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'id' => :'String', + :'label' => :'String', + :'coverage_status' => :'String' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Kombo::GetToolsCategoryPositiveResponseDataToolsInnerCoverageFeaturesInner` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + acceptable_attribute_map = self.class.acceptable_attribute_map + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!acceptable_attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Kombo::GetToolsCategoryPositiveResponseDataToolsInnerCoverageFeaturesInner`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'id') + self.id = attributes[:'id'] + else + self.id = nil + end + + if attributes.key?(:'label') + self.label = attributes[:'label'] + else + self.label = nil + end + + if attributes.key?(:'coverage_status') + self.coverage_status = attributes[:'coverage_status'] + else + self.coverage_status = nil + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + warn '[DEPRECATED] the `list_invalid_properties` method is obsolete' + invalid_properties = Array.new + if @id.nil? + invalid_properties.push('invalid value for "id", id cannot be nil.') + end + + if @label.nil? + invalid_properties.push('invalid value for "label", label cannot be nil.') + end + + if @coverage_status.nil? + invalid_properties.push('invalid value for "coverage_status", coverage_status cannot be nil.') + end + + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + warn '[DEPRECATED] the `valid?` method is obsolete' + return false if @id.nil? + return false if @label.nil? + return false if @coverage_status.nil? + coverage_status_validator = EnumAttributeValidator.new('String', ["SUPPORTED", "UNSUPPORTED", "NOT_IMPLEMENTED", "UNKNOWN"]) + return false unless coverage_status_validator.valid?(@coverage_status) + true + end + + # Custom attribute writer method with validation + # @param [Object] id Value to be assigned + def id=(id) + if id.nil? + fail ArgumentError, 'id cannot be nil' + end + + @id = id + end + + # Custom attribute writer method with validation + # @param [Object] label Value to be assigned + def label=(label) + if label.nil? + fail ArgumentError, 'label cannot be nil' + end + + @label = label + end + + # Custom attribute writer method checking allowed values (enum). + # @param [Object] coverage_status Object to be assigned + def coverage_status=(coverage_status) + validator = EnumAttributeValidator.new('String', ["SUPPORTED", "UNSUPPORTED", "NOT_IMPLEMENTED", "UNKNOWN"]) + unless validator.valid?(coverage_status) + fail ArgumentError, "invalid value for \"coverage_status\", must be one of #{validator.allowable_values}." + end + @coverage_status = coverage_status + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + id == o.id && + label == o.label && + coverage_status == o.coverage_status + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [id, label, coverage_status].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + transformed_hash = {} + openapi_types.each_pair do |key, type| + if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = nil + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[attribute_map[key]].is_a?(Array) + transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) } + end + elsif !attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]]) + end + end + new(transformed_hash) + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + end + +end diff --git a/lib/kombo_client/models/get_tools_category_positive_response_data_tools_inner_coverage_read_models_inner.rb b/lib/kombo_client/models/get_tools_category_positive_response_data_tools_inner_coverage_read_models_inner.rb new file mode 100644 index 0000000..ea8107f --- /dev/null +++ b/lib/kombo_client/models/get_tools_category_positive_response_data_tools_inner_coverage_read_models_inner.rb @@ -0,0 +1,272 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.17.0 + +=end + +require 'date' +require 'time' + +module Kombo + # List of models we can read for this tool. + class GetToolsCategoryPositiveResponseDataToolsInnerCoverageReadModelsInner < ApiModelBase + # ID of the model (e.g. hris_employees). + attr_accessor :id + + # Label of the model (e.g. Employees). + attr_accessor :label + + # 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. + attr_accessor :coverage_status + + attr_accessor :fields + + class EnumAttributeValidator + attr_reader :datatype + attr_reader :allowable_values + + def initialize(datatype, allowable_values) + @allowable_values = allowable_values.map do |value| + case datatype.to_s + when /Integer/i + value.to_i + when /Float/i + value.to_f + else + value + end + end + end + + def valid?(value) + !value || allowable_values.include?(value) + end + end + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'id' => :'id', + :'label' => :'label', + :'coverage_status' => :'coverage_status', + :'fields' => :'fields' + } + end + + # Returns attribute mapping this model knows about + def self.acceptable_attribute_map + attribute_map + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + acceptable_attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'id' => :'String', + :'label' => :'String', + :'coverage_status' => :'String', + :'fields' => :'Array' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Kombo::GetToolsCategoryPositiveResponseDataToolsInnerCoverageReadModelsInner` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + acceptable_attribute_map = self.class.acceptable_attribute_map + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!acceptable_attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Kombo::GetToolsCategoryPositiveResponseDataToolsInnerCoverageReadModelsInner`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'id') + self.id = attributes[:'id'] + else + self.id = nil + end + + if attributes.key?(:'label') + self.label = attributes[:'label'] + else + self.label = nil + end + + if attributes.key?(:'coverage_status') + self.coverage_status = attributes[:'coverage_status'] + else + self.coverage_status = nil + end + + if attributes.key?(:'fields') + if (value = attributes[:'fields']).is_a?(Array) + self.fields = value + end + else + self.fields = nil + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + warn '[DEPRECATED] the `list_invalid_properties` method is obsolete' + invalid_properties = Array.new + if @id.nil? + invalid_properties.push('invalid value for "id", id cannot be nil.') + end + + if @label.nil? + invalid_properties.push('invalid value for "label", label cannot be nil.') + end + + if @coverage_status.nil? + invalid_properties.push('invalid value for "coverage_status", coverage_status cannot be nil.') + end + + if @fields.nil? + invalid_properties.push('invalid value for "fields", fields cannot be nil.') + end + + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + warn '[DEPRECATED] the `valid?` method is obsolete' + return false if @id.nil? + return false if @label.nil? + return false if @coverage_status.nil? + coverage_status_validator = EnumAttributeValidator.new('String', ["SUPPORTED", "UNSUPPORTED", "NOT_IMPLEMENTED", "UNKNOWN"]) + return false unless coverage_status_validator.valid?(@coverage_status) + return false if @fields.nil? + true + end + + # Custom attribute writer method with validation + # @param [Object] id Value to be assigned + def id=(id) + if id.nil? + fail ArgumentError, 'id cannot be nil' + end + + @id = id + end + + # Custom attribute writer method with validation + # @param [Object] label Value to be assigned + def label=(label) + if label.nil? + fail ArgumentError, 'label cannot be nil' + end + + @label = label + end + + # Custom attribute writer method checking allowed values (enum). + # @param [Object] coverage_status Object to be assigned + def coverage_status=(coverage_status) + validator = EnumAttributeValidator.new('String', ["SUPPORTED", "UNSUPPORTED", "NOT_IMPLEMENTED", "UNKNOWN"]) + unless validator.valid?(coverage_status) + fail ArgumentError, "invalid value for \"coverage_status\", must be one of #{validator.allowable_values}." + end + @coverage_status = coverage_status + end + + # Custom attribute writer method with validation + # @param [Object] fields Value to be assigned + def fields=(fields) + if fields.nil? + fail ArgumentError, 'fields cannot be nil' + end + + @fields = fields + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + id == o.id && + label == o.label && + coverage_status == o.coverage_status && + fields == o.fields + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [id, label, coverage_status, fields].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + transformed_hash = {} + openapi_types.each_pair do |key, type| + if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = nil + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[attribute_map[key]].is_a?(Array) + transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) } + end + elsif !attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]]) + end + end + new(transformed_hash) + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + end + +end diff --git a/lib/kombo_client/models/get_tools_category_positive_response_data_tools_inner_coverage_read_models_inner_fields_inner.rb b/lib/kombo_client/models/get_tools_category_positive_response_data_tools_inner_coverage_read_models_inner_fields_inner.rb new file mode 100644 index 0000000..1983ca7 --- /dev/null +++ b/lib/kombo_client/models/get_tools_category_positive_response_data_tools_inner_coverage_read_models_inner_fields_inner.rb @@ -0,0 +1,216 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.17.0 + +=end + +require 'date' +require 'time' + +module Kombo + class GetToolsCategoryPositiveResponseDataToolsInnerCoverageReadModelsInnerFieldsInner < ApiModelBase + # Key of the field in the model (e.g. first_name). + attr_accessor :id + + # 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. + attr_accessor :coverage_status + + class EnumAttributeValidator + attr_reader :datatype + attr_reader :allowable_values + + def initialize(datatype, allowable_values) + @allowable_values = allowable_values.map do |value| + case datatype.to_s + when /Integer/i + value.to_i + when /Float/i + value.to_f + else + value + end + end + end + + def valid?(value) + !value || allowable_values.include?(value) + end + end + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'id' => :'id', + :'coverage_status' => :'coverage_status' + } + end + + # Returns attribute mapping this model knows about + def self.acceptable_attribute_map + attribute_map + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + acceptable_attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'id' => :'String', + :'coverage_status' => :'String' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Kombo::GetToolsCategoryPositiveResponseDataToolsInnerCoverageReadModelsInnerFieldsInner` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + acceptable_attribute_map = self.class.acceptable_attribute_map + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!acceptable_attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Kombo::GetToolsCategoryPositiveResponseDataToolsInnerCoverageReadModelsInnerFieldsInner`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'id') + self.id = attributes[:'id'] + else + self.id = nil + end + + if attributes.key?(:'coverage_status') + self.coverage_status = attributes[:'coverage_status'] + else + self.coverage_status = nil + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + warn '[DEPRECATED] the `list_invalid_properties` method is obsolete' + invalid_properties = Array.new + if @id.nil? + invalid_properties.push('invalid value for "id", id cannot be nil.') + end + + if @coverage_status.nil? + invalid_properties.push('invalid value for "coverage_status", coverage_status cannot be nil.') + end + + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + warn '[DEPRECATED] the `valid?` method is obsolete' + return false if @id.nil? + return false if @coverage_status.nil? + coverage_status_validator = EnumAttributeValidator.new('String', ["SUPPORTED", "UNSUPPORTED", "NOT_IMPLEMENTED", "UNKNOWN"]) + return false unless coverage_status_validator.valid?(@coverage_status) + true + end + + # Custom attribute writer method with validation + # @param [Object] id Value to be assigned + def id=(id) + if id.nil? + fail ArgumentError, 'id cannot be nil' + end + + @id = id + end + + # Custom attribute writer method checking allowed values (enum). + # @param [Object] coverage_status Object to be assigned + def coverage_status=(coverage_status) + validator = EnumAttributeValidator.new('String', ["SUPPORTED", "UNSUPPORTED", "NOT_IMPLEMENTED", "UNKNOWN"]) + unless validator.valid?(coverage_status) + fail ArgumentError, "invalid value for \"coverage_status\", must be one of #{validator.allowable_values}." + end + @coverage_status = coverage_status + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + id == o.id && + coverage_status == o.coverage_status + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [id, coverage_status].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + transformed_hash = {} + openapi_types.each_pair do |key, type| + if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = nil + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[attribute_map[key]].is_a?(Array) + transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) } + end + elsif !attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]]) + end + end + new(transformed_hash) + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + end + +end diff --git a/lib/kombo_client/models/get_tools_category_positive_response_data_tools_inner_coverage_write_actions_inner.rb b/lib/kombo_client/models/get_tools_category_positive_response_data_tools_inner_coverage_write_actions_inner.rb new file mode 100644 index 0000000..e942ea0 --- /dev/null +++ b/lib/kombo_client/models/get_tools_category_positive_response_data_tools_inner_coverage_write_actions_inner.rb @@ -0,0 +1,242 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.17.0 + +=end + +require 'date' +require 'time' + +module Kombo + # List of supported write actions for this tool. + class GetToolsCategoryPositiveResponseDataToolsInnerCoverageWriteActionsInner < ApiModelBase + attr_accessor :id + + attr_accessor :label + + # 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. + attr_accessor :coverage_status + + class EnumAttributeValidator + attr_reader :datatype + attr_reader :allowable_values + + def initialize(datatype, allowable_values) + @allowable_values = allowable_values.map do |value| + case datatype.to_s + when /Integer/i + value.to_i + when /Float/i + value.to_f + else + value + end + end + end + + def valid?(value) + !value || allowable_values.include?(value) + end + end + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'id' => :'id', + :'label' => :'label', + :'coverage_status' => :'coverage_status' + } + end + + # Returns attribute mapping this model knows about + def self.acceptable_attribute_map + attribute_map + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + acceptable_attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'id' => :'String', + :'label' => :'String', + :'coverage_status' => :'String' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Kombo::GetToolsCategoryPositiveResponseDataToolsInnerCoverageWriteActionsInner` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + acceptable_attribute_map = self.class.acceptable_attribute_map + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!acceptable_attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Kombo::GetToolsCategoryPositiveResponseDataToolsInnerCoverageWriteActionsInner`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'id') + self.id = attributes[:'id'] + else + self.id = nil + end + + if attributes.key?(:'label') + self.label = attributes[:'label'] + else + self.label = nil + end + + if attributes.key?(:'coverage_status') + self.coverage_status = attributes[:'coverage_status'] + else + self.coverage_status = nil + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + warn '[DEPRECATED] the `list_invalid_properties` method is obsolete' + invalid_properties = Array.new + if @id.nil? + invalid_properties.push('invalid value for "id", id cannot be nil.') + end + + if @label.nil? + invalid_properties.push('invalid value for "label", label cannot be nil.') + end + + if @coverage_status.nil? + invalid_properties.push('invalid value for "coverage_status", coverage_status cannot be nil.') + end + + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + warn '[DEPRECATED] the `valid?` method is obsolete' + return false if @id.nil? + return false if @label.nil? + return false if @coverage_status.nil? + coverage_status_validator = EnumAttributeValidator.new('String', ["SUPPORTED", "UNSUPPORTED", "NOT_IMPLEMENTED", "UNKNOWN"]) + return false unless coverage_status_validator.valid?(@coverage_status) + true + end + + # Custom attribute writer method with validation + # @param [Object] id Value to be assigned + def id=(id) + if id.nil? + fail ArgumentError, 'id cannot be nil' + end + + @id = id + end + + # Custom attribute writer method with validation + # @param [Object] label Value to be assigned + def label=(label) + if label.nil? + fail ArgumentError, 'label cannot be nil' + end + + @label = label + end + + # Custom attribute writer method checking allowed values (enum). + # @param [Object] coverage_status Object to be assigned + def coverage_status=(coverage_status) + validator = EnumAttributeValidator.new('String', ["SUPPORTED", "UNSUPPORTED", "NOT_IMPLEMENTED", "UNKNOWN"]) + unless validator.valid?(coverage_status) + fail ArgumentError, "invalid value for \"coverage_status\", must be one of #{validator.allowable_values}." + end + @coverage_status = coverage_status + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + id == o.id && + label == o.label && + coverage_status == o.coverage_status + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [id, label, coverage_status].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + transformed_hash = {} + openapi_types.each_pair do |key, type| + if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = nil + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[attribute_map[key]].is_a?(Array) + transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) } + end + elsif !attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]]) + end + end + new(transformed_hash) + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + end + +end diff --git a/lib/kombo_client/models/inline_assessment_order_received_webhook_payload.rb b/lib/kombo_client/models/inline_assessment_order_received_webhook_payload.rb new file mode 100644 index 0000000..9e6f6b8 --- /dev/null +++ b/lib/kombo_client/models/inline_assessment_order_received_webhook_payload.rb @@ -0,0 +1,242 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.17.0 + +=end + +require 'date' +require 'time' + +module Kombo + class InlineAssessmentOrderReceivedWebhookPayload < ApiModelBase + # Unique identifier for this webhook event + attr_accessor :id + + # Type of the webhook event + attr_accessor :type + + attr_accessor :data + + class EnumAttributeValidator + attr_reader :datatype + attr_reader :allowable_values + + def initialize(datatype, allowable_values) + @allowable_values = allowable_values.map do |value| + case datatype.to_s + when /Integer/i + value.to_i + when /Float/i + value.to_f + else + value + end + end + end + + def valid?(value) + !value || allowable_values.include?(value) + end + end + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'id' => :'id', + :'type' => :'type', + :'data' => :'data' + } + end + + # Returns attribute mapping this model knows about + def self.acceptable_attribute_map + attribute_map + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + acceptable_attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'id' => :'String', + :'type' => :'String', + :'data' => :'AssessmentOrderReceivedWebhookPayloadData' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Kombo::InlineAssessmentOrderReceivedWebhookPayload` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + acceptable_attribute_map = self.class.acceptable_attribute_map + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!acceptable_attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Kombo::InlineAssessmentOrderReceivedWebhookPayload`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'id') + self.id = attributes[:'id'] + else + self.id = nil + end + + if attributes.key?(:'type') + self.type = attributes[:'type'] + else + self.type = nil + end + + if attributes.key?(:'data') + self.data = attributes[:'data'] + else + self.data = nil + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + warn '[DEPRECATED] the `list_invalid_properties` method is obsolete' + invalid_properties = Array.new + if @id.nil? + invalid_properties.push('invalid value for "id", id cannot be nil.') + end + + if @type.nil? + invalid_properties.push('invalid value for "type", type cannot be nil.') + end + + if @data.nil? + invalid_properties.push('invalid value for "data", data cannot be nil.') + end + + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + warn '[DEPRECATED] the `valid?` method is obsolete' + return false if @id.nil? + return false if @type.nil? + type_validator = EnumAttributeValidator.new('String', ["inline-assessment:order-received"]) + return false unless type_validator.valid?(@type) + return false if @data.nil? + true + end + + # Custom attribute writer method with validation + # @param [Object] id Value to be assigned + def id=(id) + if id.nil? + fail ArgumentError, 'id cannot be nil' + end + + @id = id + end + + # Custom attribute writer method checking allowed values (enum). + # @param [Object] type Object to be assigned + def type=(type) + validator = EnumAttributeValidator.new('String', ["inline-assessment:order-received"]) + unless validator.valid?(type) + fail ArgumentError, "invalid value for \"type\", must be one of #{validator.allowable_values}." + end + @type = type + end + + # Custom attribute writer method with validation + # @param [Object] data Value to be assigned + def data=(data) + if data.nil? + fail ArgumentError, 'data cannot be nil' + end + + @data = data + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + id == o.id && + type == o.type && + data == o.data + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [id, type, data].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + transformed_hash = {} + openapi_types.each_pair do |key, type| + if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = nil + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[attribute_map[key]].is_a?(Array) + transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) } + end + elsif !attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]]) + end + end + new(transformed_hash) + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + end + +end diff --git a/lib/kombo_client/models/inline_object.rb b/lib/kombo_client/models/inline_object.rb new file mode 100644 index 0000000..930c647 --- /dev/null +++ b/lib/kombo_client/models/inline_object.rb @@ -0,0 +1,214 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.17.0 + +=end + +require 'date' +require 'time' + +module Kombo + class InlineObject < ApiModelBase + attr_accessor :status + + attr_accessor :error + + class EnumAttributeValidator + attr_reader :datatype + attr_reader :allowable_values + + def initialize(datatype, allowable_values) + @allowable_values = allowable_values.map do |value| + case datatype.to_s + when /Integer/i + value.to_i + when /Float/i + value.to_f + else + value + end + end + end + + def valid?(value) + !value || allowable_values.include?(value) + end + end + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'status' => :'status', + :'error' => :'error' + } + end + + # Returns attribute mapping this model knows about + def self.acceptable_attribute_map + attribute_map + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + acceptable_attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'status' => :'String', + :'error' => :'InlineObjectError' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Kombo::InlineObject` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + acceptable_attribute_map = self.class.acceptable_attribute_map + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!acceptable_attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Kombo::InlineObject`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'status') + self.status = attributes[:'status'] + else + self.status = nil + end + + if attributes.key?(:'error') + self.error = attributes[:'error'] + else + self.error = nil + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + warn '[DEPRECATED] the `list_invalid_properties` method is obsolete' + invalid_properties = Array.new + if @status.nil? + invalid_properties.push('invalid value for "status", status cannot be nil.') + end + + if @error.nil? + invalid_properties.push('invalid value for "error", error cannot be nil.') + end + + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + warn '[DEPRECATED] the `valid?` method is obsolete' + return false if @status.nil? + status_validator = EnumAttributeValidator.new('String', ["error"]) + return false unless status_validator.valid?(@status) + return false if @error.nil? + true + end + + # Custom attribute writer method checking allowed values (enum). + # @param [Object] status Object to be assigned + def status=(status) + validator = EnumAttributeValidator.new('String', ["error"]) + unless validator.valid?(status) + fail ArgumentError, "invalid value for \"status\", must be one of #{validator.allowable_values}." + end + @status = status + end + + # Custom attribute writer method with validation + # @param [Object] error Value to be assigned + def error=(error) + if error.nil? + fail ArgumentError, 'error cannot be nil' + end + + @error = error + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + status == o.status && + error == o.error + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [status, error].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + transformed_hash = {} + openapi_types.each_pair do |key, type| + if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = nil + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[attribute_map[key]].is_a?(Array) + transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) } + end + elsif !attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]]) + end + end + new(transformed_hash) + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + end + +end diff --git a/lib/kombo_client/models/inline_object1.rb b/lib/kombo_client/models/inline_object1.rb new file mode 100644 index 0000000..40490da --- /dev/null +++ b/lib/kombo_client/models/inline_object1.rb @@ -0,0 +1,214 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.17.0 + +=end + +require 'date' +require 'time' + +module Kombo + class InlineObject1 < ApiModelBase + attr_accessor :status + + attr_accessor :error + + class EnumAttributeValidator + attr_reader :datatype + attr_reader :allowable_values + + def initialize(datatype, allowable_values) + @allowable_values = allowable_values.map do |value| + case datatype.to_s + when /Integer/i + value.to_i + when /Float/i + value.to_f + else + value + end + end + end + + def valid?(value) + !value || allowable_values.include?(value) + end + end + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'status' => :'status', + :'error' => :'error' + } + end + + # Returns attribute mapping this model knows about + def self.acceptable_attribute_map + attribute_map + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + acceptable_attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'status' => :'String', + :'error' => :'InlineObject1Error' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Kombo::InlineObject1` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + acceptable_attribute_map = self.class.acceptable_attribute_map + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!acceptable_attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Kombo::InlineObject1`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'status') + self.status = attributes[:'status'] + else + self.status = nil + end + + if attributes.key?(:'error') + self.error = attributes[:'error'] + else + self.error = nil + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + warn '[DEPRECATED] the `list_invalid_properties` method is obsolete' + invalid_properties = Array.new + if @status.nil? + invalid_properties.push('invalid value for "status", status cannot be nil.') + end + + if @error.nil? + invalid_properties.push('invalid value for "error", error cannot be nil.') + end + + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + warn '[DEPRECATED] the `valid?` method is obsolete' + return false if @status.nil? + status_validator = EnumAttributeValidator.new('String', ["error"]) + return false unless status_validator.valid?(@status) + return false if @error.nil? + true + end + + # Custom attribute writer method checking allowed values (enum). + # @param [Object] status Object to be assigned + def status=(status) + validator = EnumAttributeValidator.new('String', ["error"]) + unless validator.valid?(status) + fail ArgumentError, "invalid value for \"status\", must be one of #{validator.allowable_values}." + end + @status = status + end + + # Custom attribute writer method with validation + # @param [Object] error Value to be assigned + def error=(error) + if error.nil? + fail ArgumentError, 'error cannot be nil' + end + + @error = error + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + status == o.status && + error == o.error + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [status, error].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + transformed_hash = {} + openapi_types.each_pair do |key, type| + if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = nil + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[attribute_map[key]].is_a?(Array) + transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) } + end + elsif !attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]]) + end + end + new(transformed_hash) + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + end + +end diff --git a/lib/kombo_client/models/inline_object1_error.rb b/lib/kombo_client/models/inline_object1_error.rb new file mode 100644 index 0000000..120078e --- /dev/null +++ b/lib/kombo_client/models/inline_object1_error.rb @@ -0,0 +1,239 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.17.0 + +=end + +require 'date' +require 'time' + +module Kombo + # Error details with structured code for programmatic handling. + class InlineObject1Error < ApiModelBase + # 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, ...). + attr_accessor :code + + # A static, human-readable label. + attr_accessor :title + + # A dynamic, detailed description of what went wrong in this specific instance. + attr_accessor :message + + # The log page in the Kombo UI lists every interaction with full details. If you need assistance, share that link with our support team. + attr_accessor :log_url + + class EnumAttributeValidator + attr_reader :datatype + attr_reader :allowable_values + + def initialize(datatype, allowable_values) + @allowable_values = allowable_values.map do |value| + case datatype.to_s + when /Integer/i + value.to_i + when /Float/i + value.to_f + else + value + end + end + end + + def valid?(value) + !value || allowable_values.include?(value) + end + end + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'code' => :'code', + :'title' => :'title', + :'message' => :'message', + :'log_url' => :'log_url' + } + end + + # Returns attribute mapping this model knows about + def self.acceptable_attribute_map + attribute_map + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + acceptable_attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'code' => :'String', + :'title' => :'String', + :'message' => :'String', + :'log_url' => :'String' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + :'code', + :'title', + :'log_url' + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Kombo::InlineObject1Error` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + acceptable_attribute_map = self.class.acceptable_attribute_map + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!acceptable_attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Kombo::InlineObject1Error`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'code') + self.code = attributes[:'code'] + else + self.code = nil + end + + if attributes.key?(:'title') + self.title = attributes[:'title'] + else + self.title = nil + end + + if attributes.key?(:'message') + self.message = attributes[:'message'] + else + self.message = nil + end + + if attributes.key?(:'log_url') + self.log_url = attributes[:'log_url'] + else + self.log_url = nil + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + warn '[DEPRECATED] the `list_invalid_properties` method is obsolete' + invalid_properties = Array.new + if @message.nil? + invalid_properties.push('invalid value for "message", message cannot be nil.') + end + + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + warn '[DEPRECATED] the `valid?` method is obsolete' + code_validator = EnumAttributeValidator.new('String', ["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"]) + return false unless code_validator.valid?(@code) + return false if @message.nil? + true + end + + # Custom attribute writer method checking allowed values (enum). + # @param [Object] code Object to be assigned + def code=(code) + validator = EnumAttributeValidator.new('String', ["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"]) + unless validator.valid?(code) + fail ArgumentError, "invalid value for \"code\", must be one of #{validator.allowable_values}." + end + @code = code + end + + # Custom attribute writer method with validation + # @param [Object] message Value to be assigned + def message=(message) + if message.nil? + fail ArgumentError, 'message cannot be nil' + end + + @message = message + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + code == o.code && + title == o.title && + message == o.message && + log_url == o.log_url + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [code, title, message, log_url].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + transformed_hash = {} + openapi_types.each_pair do |key, type| + if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = nil + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[attribute_map[key]].is_a?(Array) + transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) } + end + elsif !attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]]) + end + end + new(transformed_hash) + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + end + +end diff --git a/lib/kombo_client/models/inline_object2.rb b/lib/kombo_client/models/inline_object2.rb new file mode 100644 index 0000000..2c2ffb5 --- /dev/null +++ b/lib/kombo_client/models/inline_object2.rb @@ -0,0 +1,214 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.17.0 + +=end + +require 'date' +require 'time' + +module Kombo + class InlineObject2 < ApiModelBase + attr_accessor :status + + attr_accessor :error + + class EnumAttributeValidator + attr_reader :datatype + attr_reader :allowable_values + + def initialize(datatype, allowable_values) + @allowable_values = allowable_values.map do |value| + case datatype.to_s + when /Integer/i + value.to_i + when /Float/i + value.to_f + else + value + end + end + end + + def valid?(value) + !value || allowable_values.include?(value) + end + end + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'status' => :'status', + :'error' => :'error' + } + end + + # Returns attribute mapping this model knows about + def self.acceptable_attribute_map + attribute_map + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + acceptable_attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'status' => :'String', + :'error' => :'InlineObject2Error' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Kombo::InlineObject2` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + acceptable_attribute_map = self.class.acceptable_attribute_map + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!acceptable_attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Kombo::InlineObject2`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'status') + self.status = attributes[:'status'] + else + self.status = nil + end + + if attributes.key?(:'error') + self.error = attributes[:'error'] + else + self.error = nil + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + warn '[DEPRECATED] the `list_invalid_properties` method is obsolete' + invalid_properties = Array.new + if @status.nil? + invalid_properties.push('invalid value for "status", status cannot be nil.') + end + + if @error.nil? + invalid_properties.push('invalid value for "error", error cannot be nil.') + end + + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + warn '[DEPRECATED] the `valid?` method is obsolete' + return false if @status.nil? + status_validator = EnumAttributeValidator.new('String', ["error"]) + return false unless status_validator.valid?(@status) + return false if @error.nil? + true + end + + # Custom attribute writer method checking allowed values (enum). + # @param [Object] status Object to be assigned + def status=(status) + validator = EnumAttributeValidator.new('String', ["error"]) + unless validator.valid?(status) + fail ArgumentError, "invalid value for \"status\", must be one of #{validator.allowable_values}." + end + @status = status + end + + # Custom attribute writer method with validation + # @param [Object] error Value to be assigned + def error=(error) + if error.nil? + fail ArgumentError, 'error cannot be nil' + end + + @error = error + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + status == o.status && + error == o.error + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [status, error].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + transformed_hash = {} + openapi_types.each_pair do |key, type| + if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = nil + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[attribute_map[key]].is_a?(Array) + transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) } + end + elsif !attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]]) + end + end + new(transformed_hash) + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + end + +end diff --git a/lib/kombo_client/models/inline_object2_error.rb b/lib/kombo_client/models/inline_object2_error.rb new file mode 100644 index 0000000..8f595b3 --- /dev/null +++ b/lib/kombo_client/models/inline_object2_error.rb @@ -0,0 +1,239 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.17.0 + +=end + +require 'date' +require 'time' + +module Kombo + # Error details with structured code for programmatic handling. + class InlineObject2Error < ApiModelBase + # 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, ...). + attr_accessor :code + + # A static, human-readable label. + attr_accessor :title + + # A dynamic, detailed description of what went wrong in this specific instance. + attr_accessor :message + + # The log page in the Kombo UI lists every interaction with full details. If you need assistance, share that link with our support team. + attr_accessor :log_url + + class EnumAttributeValidator + attr_reader :datatype + attr_reader :allowable_values + + def initialize(datatype, allowable_values) + @allowable_values = allowable_values.map do |value| + case datatype.to_s + when /Integer/i + value.to_i + when /Float/i + value.to_f + else + value + end + end + end + + def valid?(value) + !value || allowable_values.include?(value) + end + end + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'code' => :'code', + :'title' => :'title', + :'message' => :'message', + :'log_url' => :'log_url' + } + end + + # Returns attribute mapping this model knows about + def self.acceptable_attribute_map + attribute_map + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + acceptable_attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'code' => :'String', + :'title' => :'String', + :'message' => :'String', + :'log_url' => :'String' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + :'code', + :'title', + :'log_url' + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Kombo::InlineObject2Error` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + acceptable_attribute_map = self.class.acceptable_attribute_map + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!acceptable_attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Kombo::InlineObject2Error`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'code') + self.code = attributes[:'code'] + else + self.code = nil + end + + if attributes.key?(:'title') + self.title = attributes[:'title'] + else + self.title = nil + end + + if attributes.key?(:'message') + self.message = attributes[:'message'] + else + self.message = nil + end + + if attributes.key?(:'log_url') + self.log_url = attributes[:'log_url'] + else + self.log_url = nil + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + warn '[DEPRECATED] the `list_invalid_properties` method is obsolete' + invalid_properties = Array.new + if @message.nil? + invalid_properties.push('invalid value for "message", message cannot be nil.') + end + + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + warn '[DEPRECATED] the `valid?` method is obsolete' + code_validator = EnumAttributeValidator.new('String', ["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"]) + return false unless code_validator.valid?(@code) + return false if @message.nil? + true + end + + # Custom attribute writer method checking allowed values (enum). + # @param [Object] code Object to be assigned + def code=(code) + validator = EnumAttributeValidator.new('String', ["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"]) + unless validator.valid?(code) + fail ArgumentError, "invalid value for \"code\", must be one of #{validator.allowable_values}." + end + @code = code + end + + # Custom attribute writer method with validation + # @param [Object] message Value to be assigned + def message=(message) + if message.nil? + fail ArgumentError, 'message cannot be nil' + end + + @message = message + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + code == o.code && + title == o.title && + message == o.message && + log_url == o.log_url + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [code, title, message, log_url].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + transformed_hash = {} + openapi_types.each_pair do |key, type| + if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = nil + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[attribute_map[key]].is_a?(Array) + transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) } + end + elsif !attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]]) + end + end + new(transformed_hash) + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + end + +end diff --git a/lib/kombo_client/models/inline_object3.rb b/lib/kombo_client/models/inline_object3.rb new file mode 100644 index 0000000..5aa3b79 --- /dev/null +++ b/lib/kombo_client/models/inline_object3.rb @@ -0,0 +1,214 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.17.0 + +=end + +require 'date' +require 'time' + +module Kombo + class InlineObject3 < ApiModelBase + attr_accessor :status + + attr_accessor :error + + class EnumAttributeValidator + attr_reader :datatype + attr_reader :allowable_values + + def initialize(datatype, allowable_values) + @allowable_values = allowable_values.map do |value| + case datatype.to_s + when /Integer/i + value.to_i + when /Float/i + value.to_f + else + value + end + end + end + + def valid?(value) + !value || allowable_values.include?(value) + end + end + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'status' => :'status', + :'error' => :'error' + } + end + + # Returns attribute mapping this model knows about + def self.acceptable_attribute_map + attribute_map + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + acceptable_attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'status' => :'String', + :'error' => :'InlineObject3Error' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Kombo::InlineObject3` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + acceptable_attribute_map = self.class.acceptable_attribute_map + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!acceptable_attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Kombo::InlineObject3`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'status') + self.status = attributes[:'status'] + else + self.status = nil + end + + if attributes.key?(:'error') + self.error = attributes[:'error'] + else + self.error = nil + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + warn '[DEPRECATED] the `list_invalid_properties` method is obsolete' + invalid_properties = Array.new + if @status.nil? + invalid_properties.push('invalid value for "status", status cannot be nil.') + end + + if @error.nil? + invalid_properties.push('invalid value for "error", error cannot be nil.') + end + + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + warn '[DEPRECATED] the `valid?` method is obsolete' + return false if @status.nil? + status_validator = EnumAttributeValidator.new('String', ["error"]) + return false unless status_validator.valid?(@status) + return false if @error.nil? + true + end + + # Custom attribute writer method checking allowed values (enum). + # @param [Object] status Object to be assigned + def status=(status) + validator = EnumAttributeValidator.new('String', ["error"]) + unless validator.valid?(status) + fail ArgumentError, "invalid value for \"status\", must be one of #{validator.allowable_values}." + end + @status = status + end + + # Custom attribute writer method with validation + # @param [Object] error Value to be assigned + def error=(error) + if error.nil? + fail ArgumentError, 'error cannot be nil' + end + + @error = error + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + status == o.status && + error == o.error + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [status, error].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + transformed_hash = {} + openapi_types.each_pair do |key, type| + if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = nil + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[attribute_map[key]].is_a?(Array) + transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) } + end + elsif !attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]]) + end + end + new(transformed_hash) + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + end + +end diff --git a/lib/kombo_client/models/inline_object3_error.rb b/lib/kombo_client/models/inline_object3_error.rb new file mode 100644 index 0000000..9f5a8f9 --- /dev/null +++ b/lib/kombo_client/models/inline_object3_error.rb @@ -0,0 +1,239 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.17.0 + +=end + +require 'date' +require 'time' + +module Kombo + # Error details with structured code for programmatic handling. + class InlineObject3Error < ApiModelBase + # 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, ...). + attr_accessor :code + + # A static, human-readable label. + attr_accessor :title + + # A dynamic, detailed description of what went wrong in this specific instance. + attr_accessor :message + + # The log page in the Kombo UI lists every interaction with full details. If you need assistance, share that link with our support team. + attr_accessor :log_url + + class EnumAttributeValidator + attr_reader :datatype + attr_reader :allowable_values + + def initialize(datatype, allowable_values) + @allowable_values = allowable_values.map do |value| + case datatype.to_s + when /Integer/i + value.to_i + when /Float/i + value.to_f + else + value + end + end + end + + def valid?(value) + !value || allowable_values.include?(value) + end + end + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'code' => :'code', + :'title' => :'title', + :'message' => :'message', + :'log_url' => :'log_url' + } + end + + # Returns attribute mapping this model knows about + def self.acceptable_attribute_map + attribute_map + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + acceptable_attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'code' => :'String', + :'title' => :'String', + :'message' => :'String', + :'log_url' => :'String' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + :'code', + :'title', + :'log_url' + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Kombo::InlineObject3Error` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + acceptable_attribute_map = self.class.acceptable_attribute_map + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!acceptable_attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Kombo::InlineObject3Error`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'code') + self.code = attributes[:'code'] + else + self.code = nil + end + + if attributes.key?(:'title') + self.title = attributes[:'title'] + else + self.title = nil + end + + if attributes.key?(:'message') + self.message = attributes[:'message'] + else + self.message = nil + end + + if attributes.key?(:'log_url') + self.log_url = attributes[:'log_url'] + else + self.log_url = nil + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + warn '[DEPRECATED] the `list_invalid_properties` method is obsolete' + invalid_properties = Array.new + if @message.nil? + invalid_properties.push('invalid value for "message", message cannot be nil.') + end + + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + warn '[DEPRECATED] the `valid?` method is obsolete' + code_validator = EnumAttributeValidator.new('String', ["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"]) + return false unless code_validator.valid?(@code) + return false if @message.nil? + true + end + + # Custom attribute writer method checking allowed values (enum). + # @param [Object] code Object to be assigned + def code=(code) + validator = EnumAttributeValidator.new('String', ["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"]) + unless validator.valid?(code) + fail ArgumentError, "invalid value for \"code\", must be one of #{validator.allowable_values}." + end + @code = code + end + + # Custom attribute writer method with validation + # @param [Object] message Value to be assigned + def message=(message) + if message.nil? + fail ArgumentError, 'message cannot be nil' + end + + @message = message + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + code == o.code && + title == o.title && + message == o.message && + log_url == o.log_url + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [code, title, message, log_url].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + transformed_hash = {} + openapi_types.each_pair do |key, type| + if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = nil + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[attribute_map[key]].is_a?(Array) + transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) } + end + elsif !attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]]) + end + end + new(transformed_hash) + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + end + +end diff --git a/lib/kombo_client/models/inline_object_error.rb b/lib/kombo_client/models/inline_object_error.rb new file mode 100644 index 0000000..3702300 --- /dev/null +++ b/lib/kombo_client/models/inline_object_error.rb @@ -0,0 +1,239 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.17.0 + +=end + +require 'date' +require 'time' + +module Kombo + # Error details with structured code for programmatic handling. + class InlineObjectError < ApiModelBase + # 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, ...). + attr_accessor :code + + # A static, human-readable label. + attr_accessor :title + + # A dynamic, detailed description of what went wrong in this specific instance. + attr_accessor :message + + # The log page in the Kombo UI lists every interaction with full details. If you need assistance, share that link with our support team. + attr_accessor :log_url + + class EnumAttributeValidator + attr_reader :datatype + attr_reader :allowable_values + + def initialize(datatype, allowable_values) + @allowable_values = allowable_values.map do |value| + case datatype.to_s + when /Integer/i + value.to_i + when /Float/i + value.to_f + else + value + end + end + end + + def valid?(value) + !value || allowable_values.include?(value) + end + end + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'code' => :'code', + :'title' => :'title', + :'message' => :'message', + :'log_url' => :'log_url' + } + end + + # Returns attribute mapping this model knows about + def self.acceptable_attribute_map + attribute_map + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + acceptable_attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'code' => :'String', + :'title' => :'String', + :'message' => :'String', + :'log_url' => :'String' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + :'code', + :'title', + :'log_url' + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Kombo::InlineObjectError` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + acceptable_attribute_map = self.class.acceptable_attribute_map + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!acceptable_attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Kombo::InlineObjectError`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'code') + self.code = attributes[:'code'] + else + self.code = nil + end + + if attributes.key?(:'title') + self.title = attributes[:'title'] + else + self.title = nil + end + + if attributes.key?(:'message') + self.message = attributes[:'message'] + else + self.message = nil + end + + if attributes.key?(:'log_url') + self.log_url = attributes[:'log_url'] + else + self.log_url = nil + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + warn '[DEPRECATED] the `list_invalid_properties` method is obsolete' + invalid_properties = Array.new + if @message.nil? + invalid_properties.push('invalid value for "message", message cannot be nil.') + end + + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + warn '[DEPRECATED] the `valid?` method is obsolete' + code_validator = EnumAttributeValidator.new('String', ["PLATFORM.RATE_LIMIT_EXCEEDED", "PLATFORM.INTEGRATION_NOT_FOUND", "PLATFORM.INPUT_INVALID", "PLATFORM.UNKNOWN_ERROR", "PLATFORM.IP_NOT_WHITELISTED", "PLATFORM.AUTHENTICATION_INVALID"]) + return false unless code_validator.valid?(@code) + return false if @message.nil? + true + end + + # Custom attribute writer method checking allowed values (enum). + # @param [Object] code Object to be assigned + def code=(code) + validator = EnumAttributeValidator.new('String', ["PLATFORM.RATE_LIMIT_EXCEEDED", "PLATFORM.INTEGRATION_NOT_FOUND", "PLATFORM.INPUT_INVALID", "PLATFORM.UNKNOWN_ERROR", "PLATFORM.IP_NOT_WHITELISTED", "PLATFORM.AUTHENTICATION_INVALID"]) + unless validator.valid?(code) + fail ArgumentError, "invalid value for \"code\", must be one of #{validator.allowable_values}." + end + @code = code + end + + # Custom attribute writer method with validation + # @param [Object] message Value to be assigned + def message=(message) + if message.nil? + fail ArgumentError, 'message cannot be nil' + end + + @message = message + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + code == o.code && + title == o.title && + message == o.message && + log_url == o.log_url + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [code, title, message, log_url].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + transformed_hash = {} + openapi_types.each_pair do |key, type| + if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = nil + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[attribute_map[key]].is_a?(Array) + transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) } + end + elsif !attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]]) + end + end + new(transformed_hash) + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + end + +end diff --git a/lib/kombo_client/models/integration_created_webhook_payload.rb b/lib/kombo_client/models/integration_created_webhook_payload.rb new file mode 100644 index 0000000..8dc7ed3 --- /dev/null +++ b/lib/kombo_client/models/integration_created_webhook_payload.rb @@ -0,0 +1,242 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.17.0 + +=end + +require 'date' +require 'time' + +module Kombo + class IntegrationCreatedWebhookPayload < ApiModelBase + # Unique identifier for this webhook event + attr_accessor :id + + # Type of the webhook event + attr_accessor :type + + attr_accessor :data + + class EnumAttributeValidator + attr_reader :datatype + attr_reader :allowable_values + + def initialize(datatype, allowable_values) + @allowable_values = allowable_values.map do |value| + case datatype.to_s + when /Integer/i + value.to_i + when /Float/i + value.to_f + else + value + end + end + end + + def valid?(value) + !value || allowable_values.include?(value) + end + end + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'id' => :'id', + :'type' => :'type', + :'data' => :'data' + } + end + + # Returns attribute mapping this model knows about + def self.acceptable_attribute_map + attribute_map + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + acceptable_attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'id' => :'String', + :'type' => :'String', + :'data' => :'IntegrationCreatedWebhookPayloadData' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Kombo::IntegrationCreatedWebhookPayload` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + acceptable_attribute_map = self.class.acceptable_attribute_map + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!acceptable_attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Kombo::IntegrationCreatedWebhookPayload`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'id') + self.id = attributes[:'id'] + else + self.id = nil + end + + if attributes.key?(:'type') + self.type = attributes[:'type'] + else + self.type = nil + end + + if attributes.key?(:'data') + self.data = attributes[:'data'] + else + self.data = nil + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + warn '[DEPRECATED] the `list_invalid_properties` method is obsolete' + invalid_properties = Array.new + if @id.nil? + invalid_properties.push('invalid value for "id", id cannot be nil.') + end + + if @type.nil? + invalid_properties.push('invalid value for "type", type cannot be nil.') + end + + if @data.nil? + invalid_properties.push('invalid value for "data", data cannot be nil.') + end + + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + warn '[DEPRECATED] the `valid?` method is obsolete' + return false if @id.nil? + return false if @type.nil? + type_validator = EnumAttributeValidator.new('String', ["integration-created"]) + return false unless type_validator.valid?(@type) + return false if @data.nil? + true + end + + # Custom attribute writer method with validation + # @param [Object] id Value to be assigned + def id=(id) + if id.nil? + fail ArgumentError, 'id cannot be nil' + end + + @id = id + end + + # Custom attribute writer method checking allowed values (enum). + # @param [Object] type Object to be assigned + def type=(type) + validator = EnumAttributeValidator.new('String', ["integration-created"]) + unless validator.valid?(type) + fail ArgumentError, "invalid value for \"type\", must be one of #{validator.allowable_values}." + end + @type = type + end + + # Custom attribute writer method with validation + # @param [Object] data Value to be assigned + def data=(data) + if data.nil? + fail ArgumentError, 'data cannot be nil' + end + + @data = data + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + id == o.id && + type == o.type && + data == o.data + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [id, type, data].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + transformed_hash = {} + openapi_types.each_pair do |key, type| + if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = nil + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[attribute_map[key]].is_a?(Array) + transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) } + end + elsif !attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]]) + end + end + new(transformed_hash) + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + end + +end diff --git a/lib/kombo_client/models/integration_created_webhook_payload_data.rb b/lib/kombo_client/models/integration_created_webhook_payload_data.rb new file mode 100644 index 0000000..051e2f1 --- /dev/null +++ b/lib/kombo_client/models/integration_created_webhook_payload_data.rb @@ -0,0 +1,269 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.17.0 + +=end + +require 'date' +require 'time' + +module Kombo + class IntegrationCreatedWebhookPayloadData < ApiModelBase + # The unique identifier of the newly created integration. + attr_accessor :id + + # The name of the integrated tool. + attr_accessor :tool + + # The category of the integration. + attr_accessor :category + + attr_accessor :end_user + + class EnumAttributeValidator + attr_reader :datatype + attr_reader :allowable_values + + def initialize(datatype, allowable_values) + @allowable_values = allowable_values.map do |value| + case datatype.to_s + when /Integer/i + value.to_i + when /Float/i + value.to_f + else + value + end + end + end + + def valid?(value) + !value || allowable_values.include?(value) + end + end + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'id' => :'id', + :'tool' => :'tool', + :'category' => :'category', + :'end_user' => :'end_user' + } + end + + # Returns attribute mapping this model knows about + def self.acceptable_attribute_map + attribute_map + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + acceptable_attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'id' => :'String', + :'tool' => :'String', + :'category' => :'String', + :'end_user' => :'ConnectionFlowFailedWebhookPayloadDataEndUser' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Kombo::IntegrationCreatedWebhookPayloadData` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + acceptable_attribute_map = self.class.acceptable_attribute_map + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!acceptable_attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Kombo::IntegrationCreatedWebhookPayloadData`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'id') + self.id = attributes[:'id'] + else + self.id = nil + end + + if attributes.key?(:'tool') + self.tool = attributes[:'tool'] + else + self.tool = nil + end + + if attributes.key?(:'category') + self.category = attributes[:'category'] + else + self.category = nil + end + + if attributes.key?(:'end_user') + self.end_user = attributes[:'end_user'] + else + self.end_user = nil + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + warn '[DEPRECATED] the `list_invalid_properties` method is obsolete' + invalid_properties = Array.new + if @id.nil? + invalid_properties.push('invalid value for "id", id cannot be nil.') + end + + if @tool.nil? + invalid_properties.push('invalid value for "tool", tool cannot be nil.') + end + + if @category.nil? + invalid_properties.push('invalid value for "category", category cannot be nil.') + end + + if @end_user.nil? + invalid_properties.push('invalid value for "end_user", end_user cannot be nil.') + end + + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + warn '[DEPRECATED] the `valid?` method is obsolete' + return false if @id.nil? + return false if @tool.nil? + return false if @category.nil? + category_validator = EnumAttributeValidator.new('String', ["HRIS", "ATS", "ASSESSMENT"]) + return false unless category_validator.valid?(@category) + return false if @end_user.nil? + true + end + + # Custom attribute writer method with validation + # @param [Object] id Value to be assigned + def id=(id) + if id.nil? + fail ArgumentError, 'id cannot be nil' + end + + @id = id + end + + # Custom attribute writer method with validation + # @param [Object] tool Value to be assigned + def tool=(tool) + if tool.nil? + fail ArgumentError, 'tool cannot be nil' + end + + @tool = tool + end + + # Custom attribute writer method checking allowed values (enum). + # @param [Object] category Object to be assigned + def category=(category) + validator = EnumAttributeValidator.new('String', ["HRIS", "ATS", "ASSESSMENT"]) + unless validator.valid?(category) + fail ArgumentError, "invalid value for \"category\", must be one of #{validator.allowable_values}." + end + @category = category + end + + # Custom attribute writer method with validation + # @param [Object] end_user Value to be assigned + def end_user=(end_user) + if end_user.nil? + fail ArgumentError, 'end_user cannot be nil' + end + + @end_user = end_user + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + id == o.id && + tool == o.tool && + category == o.category && + end_user == o.end_user + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [id, tool, category, end_user].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + transformed_hash = {} + openapi_types.each_pair do |key, type| + if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = nil + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[attribute_map[key]].is_a?(Array) + transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) } + end + elsif !attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]]) + end + end + new(transformed_hash) + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + end + +end diff --git a/lib/kombo_client/models/integration_deleted_webhook_payload.rb b/lib/kombo_client/models/integration_deleted_webhook_payload.rb new file mode 100644 index 0000000..850e718 --- /dev/null +++ b/lib/kombo_client/models/integration_deleted_webhook_payload.rb @@ -0,0 +1,242 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.17.0 + +=end + +require 'date' +require 'time' + +module Kombo + class IntegrationDeletedWebhookPayload < ApiModelBase + # Unique identifier for this webhook event + attr_accessor :id + + # Type of the webhook event + attr_accessor :type + + attr_accessor :data + + class EnumAttributeValidator + attr_reader :datatype + attr_reader :allowable_values + + def initialize(datatype, allowable_values) + @allowable_values = allowable_values.map do |value| + case datatype.to_s + when /Integer/i + value.to_i + when /Float/i + value.to_f + else + value + end + end + end + + def valid?(value) + !value || allowable_values.include?(value) + end + end + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'id' => :'id', + :'type' => :'type', + :'data' => :'data' + } + end + + # Returns attribute mapping this model knows about + def self.acceptable_attribute_map + attribute_map + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + acceptable_attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'id' => :'String', + :'type' => :'String', + :'data' => :'IntegrationDeletedWebhookPayloadData' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Kombo::IntegrationDeletedWebhookPayload` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + acceptable_attribute_map = self.class.acceptable_attribute_map + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!acceptable_attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Kombo::IntegrationDeletedWebhookPayload`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'id') + self.id = attributes[:'id'] + else + self.id = nil + end + + if attributes.key?(:'type') + self.type = attributes[:'type'] + else + self.type = nil + end + + if attributes.key?(:'data') + self.data = attributes[:'data'] + else + self.data = nil + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + warn '[DEPRECATED] the `list_invalid_properties` method is obsolete' + invalid_properties = Array.new + if @id.nil? + invalid_properties.push('invalid value for "id", id cannot be nil.') + end + + if @type.nil? + invalid_properties.push('invalid value for "type", type cannot be nil.') + end + + if @data.nil? + invalid_properties.push('invalid value for "data", data cannot be nil.') + end + + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + warn '[DEPRECATED] the `valid?` method is obsolete' + return false if @id.nil? + return false if @type.nil? + type_validator = EnumAttributeValidator.new('String', ["integration-deleted"]) + return false unless type_validator.valid?(@type) + return false if @data.nil? + true + end + + # Custom attribute writer method with validation + # @param [Object] id Value to be assigned + def id=(id) + if id.nil? + fail ArgumentError, 'id cannot be nil' + end + + @id = id + end + + # Custom attribute writer method checking allowed values (enum). + # @param [Object] type Object to be assigned + def type=(type) + validator = EnumAttributeValidator.new('String', ["integration-deleted"]) + unless validator.valid?(type) + fail ArgumentError, "invalid value for \"type\", must be one of #{validator.allowable_values}." + end + @type = type + end + + # Custom attribute writer method with validation + # @param [Object] data Value to be assigned + def data=(data) + if data.nil? + fail ArgumentError, 'data cannot be nil' + end + + @data = data + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + id == o.id && + type == o.type && + data == o.data + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [id, type, data].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + transformed_hash = {} + openapi_types.each_pair do |key, type| + if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = nil + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[attribute_map[key]].is_a?(Array) + transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) } + end + elsif !attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]]) + end + end + new(transformed_hash) + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + end + +end diff --git a/lib/kombo_client/models/integration_deleted_webhook_payload_data.rb b/lib/kombo_client/models/integration_deleted_webhook_payload_data.rb new file mode 100644 index 0000000..96d6098 --- /dev/null +++ b/lib/kombo_client/models/integration_deleted_webhook_payload_data.rb @@ -0,0 +1,296 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.17.0 + +=end + +require 'date' +require 'time' + +module Kombo + class IntegrationDeletedWebhookPayloadData < ApiModelBase + # The unique identifier of the deleted integration. + attr_accessor :id + + # The name of the integrated tool. + attr_accessor :tool + + # The category of the integration. + attr_accessor :category + + attr_accessor :end_user + + # ISO 8601 timestamp when the integration was deleted. + attr_accessor :deleted_at + + class EnumAttributeValidator + attr_reader :datatype + attr_reader :allowable_values + + def initialize(datatype, allowable_values) + @allowable_values = allowable_values.map do |value| + case datatype.to_s + when /Integer/i + value.to_i + when /Float/i + value.to_f + else + value + end + end + end + + def valid?(value) + !value || allowable_values.include?(value) + end + end + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'id' => :'id', + :'tool' => :'tool', + :'category' => :'category', + :'end_user' => :'end_user', + :'deleted_at' => :'deleted_at' + } + end + + # Returns attribute mapping this model knows about + def self.acceptable_attribute_map + attribute_map + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + acceptable_attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'id' => :'String', + :'tool' => :'String', + :'category' => :'String', + :'end_user' => :'ConnectionFlowFailedWebhookPayloadDataEndUser', + :'deleted_at' => :'Time' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Kombo::IntegrationDeletedWebhookPayloadData` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + acceptable_attribute_map = self.class.acceptable_attribute_map + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!acceptable_attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Kombo::IntegrationDeletedWebhookPayloadData`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'id') + self.id = attributes[:'id'] + else + self.id = nil + end + + if attributes.key?(:'tool') + self.tool = attributes[:'tool'] + else + self.tool = nil + end + + if attributes.key?(:'category') + self.category = attributes[:'category'] + else + self.category = nil + end + + if attributes.key?(:'end_user') + self.end_user = attributes[:'end_user'] + else + self.end_user = nil + end + + if attributes.key?(:'deleted_at') + self.deleted_at = attributes[:'deleted_at'] + else + self.deleted_at = nil + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + warn '[DEPRECATED] the `list_invalid_properties` method is obsolete' + invalid_properties = Array.new + if @id.nil? + invalid_properties.push('invalid value for "id", id cannot be nil.') + end + + if @tool.nil? + invalid_properties.push('invalid value for "tool", tool cannot be nil.') + end + + if @category.nil? + invalid_properties.push('invalid value for "category", category cannot be nil.') + end + + if @end_user.nil? + invalid_properties.push('invalid value for "end_user", end_user cannot be nil.') + end + + if @deleted_at.nil? + invalid_properties.push('invalid value for "deleted_at", deleted_at cannot be nil.') + end + + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + warn '[DEPRECATED] the `valid?` method is obsolete' + return false if @id.nil? + return false if @tool.nil? + return false if @category.nil? + category_validator = EnumAttributeValidator.new('String', ["HRIS", "ATS", "ASSESSMENT"]) + return false unless category_validator.valid?(@category) + return false if @end_user.nil? + return false if @deleted_at.nil? + true + end + + # Custom attribute writer method with validation + # @param [Object] id Value to be assigned + def id=(id) + if id.nil? + fail ArgumentError, 'id cannot be nil' + end + + @id = id + end + + # Custom attribute writer method with validation + # @param [Object] tool Value to be assigned + def tool=(tool) + if tool.nil? + fail ArgumentError, 'tool cannot be nil' + end + + @tool = tool + end + + # Custom attribute writer method checking allowed values (enum). + # @param [Object] category Object to be assigned + def category=(category) + validator = EnumAttributeValidator.new('String', ["HRIS", "ATS", "ASSESSMENT"]) + unless validator.valid?(category) + fail ArgumentError, "invalid value for \"category\", must be one of #{validator.allowable_values}." + end + @category = category + end + + # Custom attribute writer method with validation + # @param [Object] end_user Value to be assigned + def end_user=(end_user) + if end_user.nil? + fail ArgumentError, 'end_user cannot be nil' + end + + @end_user = end_user + end + + # Custom attribute writer method with validation + # @param [Object] deleted_at Value to be assigned + def deleted_at=(deleted_at) + if deleted_at.nil? + fail ArgumentError, 'deleted_at cannot be nil' + end + + @deleted_at = deleted_at + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + id == o.id && + tool == o.tool && + category == o.category && + end_user == o.end_user && + deleted_at == o.deleted_at + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [id, tool, category, end_user, deleted_at].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + transformed_hash = {} + openapi_types.each_pair do |key, type| + if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = nil + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[attribute_map[key]].is_a?(Array) + transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) } + end + elsif !attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]]) + end + end + new(transformed_hash) + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + end + +end diff --git a/lib/kombo_client/models/integration_state_changed_webhook_payload.rb b/lib/kombo_client/models/integration_state_changed_webhook_payload.rb new file mode 100644 index 0000000..860ebc2 --- /dev/null +++ b/lib/kombo_client/models/integration_state_changed_webhook_payload.rb @@ -0,0 +1,242 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.17.0 + +=end + +require 'date' +require 'time' + +module Kombo + class IntegrationStateChangedWebhookPayload < ApiModelBase + # Unique identifier for this webhook event + attr_accessor :id + + # Type of the webhook event + attr_accessor :type + + attr_accessor :data + + class EnumAttributeValidator + attr_reader :datatype + attr_reader :allowable_values + + def initialize(datatype, allowable_values) + @allowable_values = allowable_values.map do |value| + case datatype.to_s + when /Integer/i + value.to_i + when /Float/i + value.to_f + else + value + end + end + end + + def valid?(value) + !value || allowable_values.include?(value) + end + end + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'id' => :'id', + :'type' => :'type', + :'data' => :'data' + } + end + + # Returns attribute mapping this model knows about + def self.acceptable_attribute_map + attribute_map + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + acceptable_attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'id' => :'String', + :'type' => :'String', + :'data' => :'IntegrationStateChangedWebhookPayloadData' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Kombo::IntegrationStateChangedWebhookPayload` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + acceptable_attribute_map = self.class.acceptable_attribute_map + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!acceptable_attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Kombo::IntegrationStateChangedWebhookPayload`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'id') + self.id = attributes[:'id'] + else + self.id = nil + end + + if attributes.key?(:'type') + self.type = attributes[:'type'] + else + self.type = nil + end + + if attributes.key?(:'data') + self.data = attributes[:'data'] + else + self.data = nil + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + warn '[DEPRECATED] the `list_invalid_properties` method is obsolete' + invalid_properties = Array.new + if @id.nil? + invalid_properties.push('invalid value for "id", id cannot be nil.') + end + + if @type.nil? + invalid_properties.push('invalid value for "type", type cannot be nil.') + end + + if @data.nil? + invalid_properties.push('invalid value for "data", data cannot be nil.') + end + + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + warn '[DEPRECATED] the `valid?` method is obsolete' + return false if @id.nil? + return false if @type.nil? + type_validator = EnumAttributeValidator.new('String', ["integration-state-changed"]) + return false unless type_validator.valid?(@type) + return false if @data.nil? + true + end + + # Custom attribute writer method with validation + # @param [Object] id Value to be assigned + def id=(id) + if id.nil? + fail ArgumentError, 'id cannot be nil' + end + + @id = id + end + + # Custom attribute writer method checking allowed values (enum). + # @param [Object] type Object to be assigned + def type=(type) + validator = EnumAttributeValidator.new('String', ["integration-state-changed"]) + unless validator.valid?(type) + fail ArgumentError, "invalid value for \"type\", must be one of #{validator.allowable_values}." + end + @type = type + end + + # Custom attribute writer method with validation + # @param [Object] data Value to be assigned + def data=(data) + if data.nil? + fail ArgumentError, 'data cannot be nil' + end + + @data = data + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + id == o.id && + type == o.type && + data == o.data + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [id, type, data].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + transformed_hash = {} + openapi_types.each_pair do |key, type| + if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = nil + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[attribute_map[key]].is_a?(Array) + transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) } + end + elsif !attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]]) + end + end + new(transformed_hash) + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + end + +end diff --git a/lib/kombo_client/models/integration_state_changed_webhook_payload_data.rb b/lib/kombo_client/models/integration_state_changed_webhook_payload_data.rb new file mode 100644 index 0000000..14f5de3 --- /dev/null +++ b/lib/kombo_client/models/integration_state_changed_webhook_payload_data.rb @@ -0,0 +1,354 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.17.0 + +=end + +require 'date' +require 'time' + +module Kombo + class IntegrationStateChangedWebhookPayloadData < ApiModelBase + # The name of the integrated tool (e.g., \"personio\", \"greenhouse\"). + attr_accessor :integration_tool + + # The unique identifier of the integration. + attr_accessor :integration_id + + # The category of the integration (HRIS, ATS, or ASSESSMENT). + attr_accessor :integration_category + + attr_accessor :end_user + + # The quality assurance status of the integration. + attr_accessor :qa_status + + # The current state of the integration. + attr_accessor :state + + # ISO 8601 timestamp when the integration state was last updated. + attr_accessor :updated_at + + class EnumAttributeValidator + attr_reader :datatype + attr_reader :allowable_values + + def initialize(datatype, allowable_values) + @allowable_values = allowable_values.map do |value| + case datatype.to_s + when /Integer/i + value.to_i + when /Float/i + value.to_f + else + value + end + end + end + + def valid?(value) + !value || allowable_values.include?(value) + end + end + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'integration_tool' => :'integration_tool', + :'integration_id' => :'integration_id', + :'integration_category' => :'integration_category', + :'end_user' => :'end_user', + :'qa_status' => :'qa_status', + :'state' => :'state', + :'updated_at' => :'updated_at' + } + end + + # Returns attribute mapping this model knows about + def self.acceptable_attribute_map + attribute_map + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + acceptable_attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'integration_tool' => :'String', + :'integration_id' => :'String', + :'integration_category' => :'String', + :'end_user' => :'ConnectionFlowFailedWebhookPayloadDataEndUser', + :'qa_status' => :'String', + :'state' => :'String', + :'updated_at' => :'Time' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Kombo::IntegrationStateChangedWebhookPayloadData` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + acceptable_attribute_map = self.class.acceptable_attribute_map + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!acceptable_attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Kombo::IntegrationStateChangedWebhookPayloadData`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'integration_tool') + self.integration_tool = attributes[:'integration_tool'] + else + self.integration_tool = nil + end + + if attributes.key?(:'integration_id') + self.integration_id = attributes[:'integration_id'] + else + self.integration_id = nil + end + + if attributes.key?(:'integration_category') + self.integration_category = attributes[:'integration_category'] + else + self.integration_category = nil + end + + if attributes.key?(:'end_user') + self.end_user = attributes[:'end_user'] + else + self.end_user = nil + end + + if attributes.key?(:'qa_status') + self.qa_status = attributes[:'qa_status'] + else + self.qa_status = nil + end + + if attributes.key?(:'state') + self.state = attributes[:'state'] + else + self.state = nil + end + + if attributes.key?(:'updated_at') + self.updated_at = attributes[:'updated_at'] + else + self.updated_at = nil + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + warn '[DEPRECATED] the `list_invalid_properties` method is obsolete' + invalid_properties = Array.new + if @integration_tool.nil? + invalid_properties.push('invalid value for "integration_tool", integration_tool cannot be nil.') + end + + if @integration_id.nil? + invalid_properties.push('invalid value for "integration_id", integration_id cannot be nil.') + end + + if @integration_category.nil? + invalid_properties.push('invalid value for "integration_category", integration_category cannot be nil.') + end + + if @end_user.nil? + invalid_properties.push('invalid value for "end_user", end_user cannot be nil.') + end + + if @qa_status.nil? + invalid_properties.push('invalid value for "qa_status", qa_status cannot be nil.') + end + + if @state.nil? + invalid_properties.push('invalid value for "state", state cannot be nil.') + end + + if @updated_at.nil? + invalid_properties.push('invalid value for "updated_at", updated_at cannot be nil.') + end + + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + warn '[DEPRECATED] the `valid?` method is obsolete' + return false if @integration_tool.nil? + return false if @integration_id.nil? + return false if @integration_category.nil? + integration_category_validator = EnumAttributeValidator.new('String', ["HRIS", "ATS", "ASSESSMENT"]) + return false unless integration_category_validator.valid?(@integration_category) + return false if @end_user.nil? + return false if @qa_status.nil? + qa_status_validator = EnumAttributeValidator.new('String', ["PENDING", "FAILED", "PASSED"]) + return false unless qa_status_validator.valid?(@qa_status) + return false if @state.nil? + state_validator = EnumAttributeValidator.new('String', ["ACTIVE", "INVALID", "INACTIVE"]) + return false unless state_validator.valid?(@state) + return false if @updated_at.nil? + true + end + + # Custom attribute writer method with validation + # @param [Object] integration_tool Value to be assigned + def integration_tool=(integration_tool) + if integration_tool.nil? + fail ArgumentError, 'integration_tool cannot be nil' + end + + @integration_tool = integration_tool + end + + # Custom attribute writer method with validation + # @param [Object] integration_id Value to be assigned + def integration_id=(integration_id) + if integration_id.nil? + fail ArgumentError, 'integration_id cannot be nil' + end + + @integration_id = integration_id + end + + # Custom attribute writer method checking allowed values (enum). + # @param [Object] integration_category Object to be assigned + def integration_category=(integration_category) + validator = EnumAttributeValidator.new('String', ["HRIS", "ATS", "ASSESSMENT"]) + unless validator.valid?(integration_category) + fail ArgumentError, "invalid value for \"integration_category\", must be one of #{validator.allowable_values}." + end + @integration_category = integration_category + end + + # Custom attribute writer method with validation + # @param [Object] end_user Value to be assigned + def end_user=(end_user) + if end_user.nil? + fail ArgumentError, 'end_user cannot be nil' + end + + @end_user = end_user + end + + # Custom attribute writer method checking allowed values (enum). + # @param [Object] qa_status Object to be assigned + def qa_status=(qa_status) + validator = EnumAttributeValidator.new('String', ["PENDING", "FAILED", "PASSED"]) + unless validator.valid?(qa_status) + fail ArgumentError, "invalid value for \"qa_status\", must be one of #{validator.allowable_values}." + end + @qa_status = qa_status + end + + # Custom attribute writer method checking allowed values (enum). + # @param [Object] state Object to be assigned + def state=(state) + validator = EnumAttributeValidator.new('String', ["ACTIVE", "INVALID", "INACTIVE"]) + unless validator.valid?(state) + fail ArgumentError, "invalid value for \"state\", must be one of #{validator.allowable_values}." + end + @state = state + end + + # Custom attribute writer method with validation + # @param [Object] updated_at Value to be assigned + def updated_at=(updated_at) + if updated_at.nil? + fail ArgumentError, 'updated_at cannot be nil' + end + + @updated_at = updated_at + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + integration_tool == o.integration_tool && + integration_id == o.integration_id && + integration_category == o.integration_category && + end_user == o.end_user && + qa_status == o.qa_status && + state == o.state && + updated_at == o.updated_at + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [integration_tool, integration_id, integration_category, end_user, qa_status, state, updated_at].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + transformed_hash = {} + openapi_types.each_pair do |key, type| + if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = nil + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[attribute_map[key]].is_a?(Array) + transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) } + end + elsif !attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]]) + end + end + new(transformed_hash) + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + end + +end diff --git a/lib/kombo_client/models/patch_ats_applications_application_id_interviews_positive_response.rb b/lib/kombo_client/models/patch_ats_applications_application_id_interviews_positive_response.rb new file mode 100644 index 0000000..250e54e --- /dev/null +++ b/lib/kombo_client/models/patch_ats_applications_application_id_interviews_positive_response.rb @@ -0,0 +1,214 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.17.0 + +=end + +require 'date' +require 'time' + +module Kombo + class PatchAtsApplicationsApplicationIdInterviewsPositiveResponse < ApiModelBase + attr_accessor :status + + attr_accessor :data + + class EnumAttributeValidator + attr_reader :datatype + attr_reader :allowable_values + + def initialize(datatype, allowable_values) + @allowable_values = allowable_values.map do |value| + case datatype.to_s + when /Integer/i + value.to_i + when /Float/i + value.to_f + else + value + end + end + end + + def valid?(value) + !value || allowable_values.include?(value) + end + end + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'status' => :'status', + :'data' => :'data' + } + end + + # Returns attribute mapping this model knows about + def self.acceptable_attribute_map + attribute_map + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + acceptable_attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'status' => :'String', + :'data' => :'Object' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Kombo::PatchAtsApplicationsApplicationIdInterviewsPositiveResponse` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + acceptable_attribute_map = self.class.acceptable_attribute_map + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!acceptable_attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Kombo::PatchAtsApplicationsApplicationIdInterviewsPositiveResponse`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'status') + self.status = attributes[:'status'] + else + self.status = nil + end + + if attributes.key?(:'data') + self.data = attributes[:'data'] + else + self.data = nil + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + warn '[DEPRECATED] the `list_invalid_properties` method is obsolete' + invalid_properties = Array.new + if @status.nil? + invalid_properties.push('invalid value for "status", status cannot be nil.') + end + + if @data.nil? + invalid_properties.push('invalid value for "data", data cannot be nil.') + end + + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + warn '[DEPRECATED] the `valid?` method is obsolete' + return false if @status.nil? + status_validator = EnumAttributeValidator.new('String', ["success"]) + return false unless status_validator.valid?(@status) + return false if @data.nil? + true + end + + # Custom attribute writer method checking allowed values (enum). + # @param [Object] status Object to be assigned + def status=(status) + validator = EnumAttributeValidator.new('String', ["success"]) + unless validator.valid?(status) + fail ArgumentError, "invalid value for \"status\", must be one of #{validator.allowable_values}." + end + @status = status + end + + # Custom attribute writer method with validation + # @param [Object] data Value to be assigned + def data=(data) + if data.nil? + fail ArgumentError, 'data cannot be nil' + end + + @data = data + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + status == o.status && + data == o.data + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [status, data].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + transformed_hash = {} + openapi_types.each_pair do |key, type| + if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = nil + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[attribute_map[key]].is_a?(Array) + transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) } + end + elsif !attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]]) + end + end + new(transformed_hash) + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + end + +end diff --git a/lib/kombo_client/models/patch_ats_applications_application_id_interviews_request_body.rb b/lib/kombo_client/models/patch_ats_applications_application_id_interviews_request_body.rb new file mode 100644 index 0000000..d92cda3 --- /dev/null +++ b/lib/kombo_client/models/patch_ats_applications_application_id_interviews_request_body.rb @@ -0,0 +1,328 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.17.0 + +=end + +require 'date' +require 'time' + +module Kombo + class PatchAtsApplicationsApplicationIdInterviewsRequestBody < ApiModelBase + # The ID of the interview + attr_accessor :interview_id + + # The title of the interview + attr_accessor :title + + # The start time of the interview + attr_accessor :start_time + + # The end time of the interview + attr_accessor :end_time + + # The IDs of the interviewers + attr_accessor :interviewer_user_ids + + # The ID of the organizer + attr_accessor :organizer_user_id + + attr_accessor :location + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'interview_id' => :'interview_id', + :'title' => :'title', + :'start_time' => :'start_time', + :'end_time' => :'end_time', + :'interviewer_user_ids' => :'interviewer_user_ids', + :'organizer_user_id' => :'organizer_user_id', + :'location' => :'location' + } + end + + # Returns attribute mapping this model knows about + def self.acceptable_attribute_map + attribute_map + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + acceptable_attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'interview_id' => :'String', + :'title' => :'String', + :'start_time' => :'String', + :'end_time' => :'String', + :'interviewer_user_ids' => :'Array', + :'organizer_user_id' => :'String', + :'location' => :'PatchAtsApplicationsApplicationIdInterviewsRequestBodyLocation' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Kombo::PatchAtsApplicationsApplicationIdInterviewsRequestBody` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + acceptable_attribute_map = self.class.acceptable_attribute_map + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!acceptable_attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Kombo::PatchAtsApplicationsApplicationIdInterviewsRequestBody`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'interview_id') + self.interview_id = attributes[:'interview_id'] + else + self.interview_id = nil + end + + if attributes.key?(:'title') + self.title = attributes[:'title'] + else + self.title = nil + end + + if attributes.key?(:'start_time') + self.start_time = attributes[:'start_time'] + else + self.start_time = nil + end + + if attributes.key?(:'end_time') + self.end_time = attributes[:'end_time'] + else + self.end_time = nil + end + + if attributes.key?(:'interviewer_user_ids') + if (value = attributes[:'interviewer_user_ids']).is_a?(Array) + self.interviewer_user_ids = value + end + else + self.interviewer_user_ids = nil + end + + if attributes.key?(:'organizer_user_id') + self.organizer_user_id = attributes[:'organizer_user_id'] + else + self.organizer_user_id = nil + end + + if attributes.key?(:'location') + self.location = attributes[:'location'] + else + self.location = nil + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + warn '[DEPRECATED] the `list_invalid_properties` method is obsolete' + invalid_properties = Array.new + if @interview_id.nil? + invalid_properties.push('invalid value for "interview_id", interview_id cannot be nil.') + end + + if @title.nil? + invalid_properties.push('invalid value for "title", title cannot be nil.') + end + + if @start_time.nil? + invalid_properties.push('invalid value for "start_time", start_time cannot be nil.') + end + + if @end_time.nil? + invalid_properties.push('invalid value for "end_time", end_time cannot be nil.') + end + + if @interviewer_user_ids.nil? + invalid_properties.push('invalid value for "interviewer_user_ids", interviewer_user_ids cannot be nil.') + end + + if @organizer_user_id.nil? + invalid_properties.push('invalid value for "organizer_user_id", organizer_user_id cannot be nil.') + end + + if @location.nil? + invalid_properties.push('invalid value for "location", location cannot be nil.') + end + + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + warn '[DEPRECATED] the `valid?` method is obsolete' + return false if @interview_id.nil? + return false if @title.nil? + return false if @start_time.nil? + return false if @end_time.nil? + return false if @interviewer_user_ids.nil? + return false if @organizer_user_id.nil? + return false if @location.nil? + true + end + + # Custom attribute writer method with validation + # @param [Object] interview_id Value to be assigned + def interview_id=(interview_id) + if interview_id.nil? + fail ArgumentError, 'interview_id cannot be nil' + end + + @interview_id = interview_id + end + + # Custom attribute writer method with validation + # @param [Object] title Value to be assigned + def title=(title) + if title.nil? + fail ArgumentError, 'title cannot be nil' + end + + @title = title + end + + # Custom attribute writer method with validation + # @param [Object] start_time Value to be assigned + def start_time=(start_time) + if start_time.nil? + fail ArgumentError, 'start_time cannot be nil' + end + + @start_time = start_time + end + + # Custom attribute writer method with validation + # @param [Object] end_time Value to be assigned + def end_time=(end_time) + if end_time.nil? + fail ArgumentError, 'end_time cannot be nil' + end + + @end_time = end_time + end + + # Custom attribute writer method with validation + # @param [Object] interviewer_user_ids Value to be assigned + def interviewer_user_ids=(interviewer_user_ids) + if interviewer_user_ids.nil? + fail ArgumentError, 'interviewer_user_ids cannot be nil' + end + + @interviewer_user_ids = interviewer_user_ids + end + + # Custom attribute writer method with validation + # @param [Object] organizer_user_id Value to be assigned + def organizer_user_id=(organizer_user_id) + if organizer_user_id.nil? + fail ArgumentError, 'organizer_user_id cannot be nil' + end + + @organizer_user_id = organizer_user_id + end + + # Custom attribute writer method with validation + # @param [Object] location Value to be assigned + def location=(location) + if location.nil? + fail ArgumentError, 'location cannot be nil' + end + + @location = location + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + interview_id == o.interview_id && + title == o.title && + start_time == o.start_time && + end_time == o.end_time && + interviewer_user_ids == o.interviewer_user_ids && + organizer_user_id == o.organizer_user_id && + location == o.location + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [interview_id, title, start_time, end_time, interviewer_user_ids, organizer_user_id, location].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + transformed_hash = {} + openapi_types.each_pair do |key, type| + if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = nil + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[attribute_map[key]].is_a?(Array) + transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) } + end + elsif !attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]]) + end + end + new(transformed_hash) + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + end + +end diff --git a/lib/kombo_client/models/patch_ats_applications_application_id_interviews_request_body_location.rb b/lib/kombo_client/models/patch_ats_applications_application_id_interviews_request_body_location.rb new file mode 100644 index 0000000..9c2fcc9 --- /dev/null +++ b/lib/kombo_client/models/patch_ats_applications_application_id_interviews_request_body_location.rb @@ -0,0 +1,197 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.17.0 + +=end + +require 'date' +require 'time' + +module Kombo + class PatchAtsApplicationsApplicationIdInterviewsRequestBodyLocation < ApiModelBase + attr_accessor :type + + attr_accessor :address + + class EnumAttributeValidator + attr_reader :datatype + attr_reader :allowable_values + + def initialize(datatype, allowable_values) + @allowable_values = allowable_values.map do |value| + case datatype.to_s + when /Integer/i + value.to_i + when /Float/i + value.to_f + else + value + end + end + end + + def valid?(value) + !value || allowable_values.include?(value) + end + end + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'type' => :'type', + :'address' => :'address' + } + end + + # Returns attribute mapping this model knows about + def self.acceptable_attribute_map + attribute_map + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + acceptable_attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'type' => :'String', + :'address' => :'String' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Kombo::PatchAtsApplicationsApplicationIdInterviewsRequestBodyLocation` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + acceptable_attribute_map = self.class.acceptable_attribute_map + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!acceptable_attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Kombo::PatchAtsApplicationsApplicationIdInterviewsRequestBodyLocation`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'type') + self.type = attributes[:'type'] + else + self.type = nil + end + + if attributes.key?(:'address') + self.address = attributes[:'address'] + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + warn '[DEPRECATED] the `list_invalid_properties` method is obsolete' + invalid_properties = Array.new + if @type.nil? + invalid_properties.push('invalid value for "type", type cannot be nil.') + end + + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + warn '[DEPRECATED] the `valid?` method is obsolete' + return false if @type.nil? + type_validator = EnumAttributeValidator.new('String', ["PHYSICAL", "VIRTUAL"]) + return false unless type_validator.valid?(@type) + true + end + + # Custom attribute writer method checking allowed values (enum). + # @param [Object] type Object to be assigned + def type=(type) + validator = EnumAttributeValidator.new('String', ["PHYSICAL", "VIRTUAL"]) + unless validator.valid?(type) + fail ArgumentError, "invalid value for \"type\", must be one of #{validator.allowable_values}." + end + @type = type + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + type == o.type && + address == o.address + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [type, address].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + transformed_hash = {} + openapi_types.each_pair do |key, type| + if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = nil + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[attribute_map[key]].is_a?(Array) + transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) } + end + elsif !attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]]) + end + end + new(transformed_hash) + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + end + +end diff --git a/lib/kombo_client/models/patch_hris_employee_skill_assignments_employee_skill_assignment_id_positive_response.rb b/lib/kombo_client/models/patch_hris_employee_skill_assignments_employee_skill_assignment_id_positive_response.rb new file mode 100644 index 0000000..b9d14f6 --- /dev/null +++ b/lib/kombo_client/models/patch_hris_employee_skill_assignments_employee_skill_assignment_id_positive_response.rb @@ -0,0 +1,214 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.17.0 + +=end + +require 'date' +require 'time' + +module Kombo + class PatchHrisEmployeeSkillAssignmentsEmployeeSkillAssignmentIdPositiveResponse < ApiModelBase + attr_accessor :status + + attr_accessor :data + + class EnumAttributeValidator + attr_reader :datatype + attr_reader :allowable_values + + def initialize(datatype, allowable_values) + @allowable_values = allowable_values.map do |value| + case datatype.to_s + when /Integer/i + value.to_i + when /Float/i + value.to_f + else + value + end + end + end + + def valid?(value) + !value || allowable_values.include?(value) + end + end + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'status' => :'status', + :'data' => :'data' + } + end + + # Returns attribute mapping this model knows about + def self.acceptable_attribute_map + attribute_map + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + acceptable_attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'status' => :'String', + :'data' => :'GetHrisEmployeeSkillAssignmentsPositiveResponseDataResultsInner' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Kombo::PatchHrisEmployeeSkillAssignmentsEmployeeSkillAssignmentIdPositiveResponse` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + acceptable_attribute_map = self.class.acceptable_attribute_map + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!acceptable_attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Kombo::PatchHrisEmployeeSkillAssignmentsEmployeeSkillAssignmentIdPositiveResponse`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'status') + self.status = attributes[:'status'] + else + self.status = nil + end + + if attributes.key?(:'data') + self.data = attributes[:'data'] + else + self.data = nil + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + warn '[DEPRECATED] the `list_invalid_properties` method is obsolete' + invalid_properties = Array.new + if @status.nil? + invalid_properties.push('invalid value for "status", status cannot be nil.') + end + + if @data.nil? + invalid_properties.push('invalid value for "data", data cannot be nil.') + end + + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + warn '[DEPRECATED] the `valid?` method is obsolete' + return false if @status.nil? + status_validator = EnumAttributeValidator.new('String', ["success"]) + return false unless status_validator.valid?(@status) + return false if @data.nil? + true + end + + # Custom attribute writer method checking allowed values (enum). + # @param [Object] status Object to be assigned + def status=(status) + validator = EnumAttributeValidator.new('String', ["success"]) + unless validator.valid?(status) + fail ArgumentError, "invalid value for \"status\", must be one of #{validator.allowable_values}." + end + @status = status + end + + # Custom attribute writer method with validation + # @param [Object] data Value to be assigned + def data=(data) + if data.nil? + fail ArgumentError, 'data cannot be nil' + end + + @data = data + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + status == o.status && + data == o.data + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [status, data].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + transformed_hash = {} + openapi_types.each_pair do |key, type| + if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = nil + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[attribute_map[key]].is_a?(Array) + transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) } + end + elsif !attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]]) + end + end + new(transformed_hash) + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + end + +end diff --git a/lib/kombo_client/models/patch_hris_employee_skill_assignments_employee_skill_assignment_id_request_body.rb b/lib/kombo_client/models/patch_hris_employee_skill_assignments_employee_skill_assignment_id_request_body.rb new file mode 100644 index 0000000..9edcf4a --- /dev/null +++ b/lib/kombo_client/models/patch_hris_employee_skill_assignments_employee_skill_assignment_id_request_body.rb @@ -0,0 +1,151 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.17.0 + +=end + +require 'date' +require 'time' + +module Kombo + class PatchHrisEmployeeSkillAssignmentsEmployeeSkillAssignmentIdRequestBody < ApiModelBase + # The current skill level of the employee. Can be `null` to remove the skill level. + attr_accessor :current_level + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'current_level' => :'current_level' + } + end + + # Returns attribute mapping this model knows about + def self.acceptable_attribute_map + attribute_map + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + acceptable_attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'current_level' => :'String' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + :'current_level' + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Kombo::PatchHrisEmployeeSkillAssignmentsEmployeeSkillAssignmentIdRequestBody` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + acceptable_attribute_map = self.class.acceptable_attribute_map + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!acceptable_attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Kombo::PatchHrisEmployeeSkillAssignmentsEmployeeSkillAssignmentIdRequestBody`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'current_level') + self.current_level = attributes[:'current_level'] + else + self.current_level = nil + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + warn '[DEPRECATED] the `list_invalid_properties` method is obsolete' + invalid_properties = Array.new + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + warn '[DEPRECATED] the `valid?` method is obsolete' + true + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + current_level == o.current_level + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [current_level].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + transformed_hash = {} + openapi_types.each_pair do |key, type| + if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = nil + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[attribute_map[key]].is_a?(Array) + transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) } + end + elsif !attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]]) + end + end + new(transformed_hash) + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + end + +end diff --git a/lib/kombo_client/models/patch_hris_employees_employee_id_positive_response.rb b/lib/kombo_client/models/patch_hris_employees_employee_id_positive_response.rb new file mode 100644 index 0000000..d8ce37a --- /dev/null +++ b/lib/kombo_client/models/patch_hris_employees_employee_id_positive_response.rb @@ -0,0 +1,243 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.17.0 + +=end + +require 'date' +require 'time' + +module Kombo + class PatchHrisEmployeesEmployeeIdPositiveResponse < ApiModelBase + attr_accessor :status + + attr_accessor :data + + # 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. + attr_accessor :warnings + + class EnumAttributeValidator + attr_reader :datatype + attr_reader :allowable_values + + def initialize(datatype, allowable_values) + @allowable_values = allowable_values.map do |value| + case datatype.to_s + when /Integer/i + value.to_i + when /Float/i + value.to_f + else + value + end + end + end + + def valid?(value) + !value || allowable_values.include?(value) + end + end + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'status' => :'status', + :'data' => :'data', + :'warnings' => :'warnings' + } + end + + # Returns attribute mapping this model knows about + def self.acceptable_attribute_map + attribute_map + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + acceptable_attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'status' => :'String', + :'data' => :'PatchHrisEmployeesEmployeeIdPositiveResponseData', + :'warnings' => :'Array' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Kombo::PatchHrisEmployeesEmployeeIdPositiveResponse` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + acceptable_attribute_map = self.class.acceptable_attribute_map + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!acceptable_attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Kombo::PatchHrisEmployeesEmployeeIdPositiveResponse`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'status') + self.status = attributes[:'status'] + else + self.status = nil + end + + if attributes.key?(:'data') + self.data = attributes[:'data'] + else + self.data = nil + end + + if attributes.key?(:'warnings') + if (value = attributes[:'warnings']).is_a?(Array) + self.warnings = value + end + else + self.warnings = nil + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + warn '[DEPRECATED] the `list_invalid_properties` method is obsolete' + invalid_properties = Array.new + if @status.nil? + invalid_properties.push('invalid value for "status", status cannot be nil.') + end + + if @data.nil? + invalid_properties.push('invalid value for "data", data cannot be nil.') + end + + if @warnings.nil? + invalid_properties.push('invalid value for "warnings", warnings cannot be nil.') + end + + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + warn '[DEPRECATED] the `valid?` method is obsolete' + return false if @status.nil? + status_validator = EnumAttributeValidator.new('String', ["success"]) + return false unless status_validator.valid?(@status) + return false if @data.nil? + return false if @warnings.nil? + true + end + + # Custom attribute writer method checking allowed values (enum). + # @param [Object] status Object to be assigned + def status=(status) + validator = EnumAttributeValidator.new('String', ["success"]) + unless validator.valid?(status) + fail ArgumentError, "invalid value for \"status\", must be one of #{validator.allowable_values}." + end + @status = status + end + + # Custom attribute writer method with validation + # @param [Object] data Value to be assigned + def data=(data) + if data.nil? + fail ArgumentError, 'data cannot be nil' + end + + @data = data + end + + # Custom attribute writer method with validation + # @param [Object] warnings Value to be assigned + def warnings=(warnings) + if warnings.nil? + fail ArgumentError, 'warnings cannot be nil' + end + + @warnings = warnings + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + status == o.status && + data == o.data && + warnings == o.warnings + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [status, data, warnings].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + transformed_hash = {} + openapi_types.each_pair do |key, type| + if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = nil + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[attribute_map[key]].is_a?(Array) + transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) } + end + elsif !attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]]) + end + end + new(transformed_hash) + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + end + +end diff --git a/lib/kombo_client/models/patch_hris_employees_employee_id_positive_response_data.rb b/lib/kombo_client/models/patch_hris_employees_employee_id_positive_response_data.rb new file mode 100644 index 0000000..5b01541 --- /dev/null +++ b/lib/kombo_client/models/patch_hris_employees_employee_id_positive_response_data.rb @@ -0,0 +1,624 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.17.0 + +=end + +require 'date' +require 'time' + +module Kombo + class PatchHrisEmployeesEmployeeIdPositiveResponseData < ApiModelBase + # The globally unique ID of this object generated by Kombo. We recommend using this as a stable primary key for syncing. + attr_accessor :id + + # 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. + attr_accessor :remote_id + + # The employee’s organization-internal employee number. + attr_accessor :employee_number + + # The employee’s first name. + attr_accessor :first_name + + # The employee’s last name. + attr_accessor :last_name + + # The employee’s nationality. + attr_accessor :nationality + + # 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`. + attr_accessor :display_full_name + + # The employee’s job title. + attr_accessor :job_title + + # The employee’s work email address. If the email address is invalid, we will set this to `null`. + attr_accessor :work_email + + # The employee’s personal email address. If the email address is invalid, we will set this to `null`. + attr_accessor :personal_email + + # The employee’s mobile phone number. + attr_accessor :mobile_phone_number + + # The employee’s social security number + attr_accessor :ssn + + # The employee’s tax ID. + attr_accessor :tax_id + + attr_accessor :gender + + attr_accessor :ethnicity + + attr_accessor :marital_status + + attr_accessor :employment_status + + attr_accessor :employment_type + + # The employee’s weekly working hours. + attr_accessor :weekly_hours + + # 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. + attr_accessor :avatar + + # 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. + attr_accessor :work_location_id + + # 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. + attr_accessor :legal_entity_id + + # The Kombo ID of the employee’s manager. The ID can be used to retrieve the manager from the `get employees` endpoint. + attr_accessor :manager_id + + attr_accessor :home_address + + # The employee’s bank accounts. + attr_accessor :bank_accounts + + # The employee’s date of birth. + attr_accessor :date_of_birth + + # The date the employee started working for the organization. + attr_accessor :start_date + + # The date when the employment ends. Can be in the past or future. + attr_accessor :termination_date + + # The date and time the object was created in the remote system. + attr_accessor :remote_created_at + + # 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. + attr_accessor :changed_at + + # 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. + attr_accessor :remote_deleted_at + + # 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. + attr_accessor :remote_data + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'id' => :'id', + :'remote_id' => :'remote_id', + :'employee_number' => :'employee_number', + :'first_name' => :'first_name', + :'last_name' => :'last_name', + :'nationality' => :'nationality', + :'display_full_name' => :'display_full_name', + :'job_title' => :'job_title', + :'work_email' => :'work_email', + :'personal_email' => :'personal_email', + :'mobile_phone_number' => :'mobile_phone_number', + :'ssn' => :'ssn', + :'tax_id' => :'tax_id', + :'gender' => :'gender', + :'ethnicity' => :'ethnicity', + :'marital_status' => :'marital_status', + :'employment_status' => :'employment_status', + :'employment_type' => :'employment_type', + :'weekly_hours' => :'weekly_hours', + :'avatar' => :'avatar', + :'work_location_id' => :'work_location_id', + :'legal_entity_id' => :'legal_entity_id', + :'manager_id' => :'manager_id', + :'home_address' => :'home_address', + :'bank_accounts' => :'bank_accounts', + :'date_of_birth' => :'date_of_birth', + :'start_date' => :'start_date', + :'termination_date' => :'termination_date', + :'remote_created_at' => :'remote_created_at', + :'changed_at' => :'changed_at', + :'remote_deleted_at' => :'remote_deleted_at', + :'remote_data' => :'remote_data' + } + end + + # Returns attribute mapping this model knows about + def self.acceptable_attribute_map + attribute_map + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + acceptable_attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'id' => :'String', + :'remote_id' => :'String', + :'employee_number' => :'String', + :'first_name' => :'String', + :'last_name' => :'String', + :'nationality' => :'String', + :'display_full_name' => :'String', + :'job_title' => :'String', + :'work_email' => :'String', + :'personal_email' => :'String', + :'mobile_phone_number' => :'String', + :'ssn' => :'String', + :'tax_id' => :'String', + :'gender' => :'GetHrisEmployeesPositiveResponseDataResultsInnerGender', + :'ethnicity' => :'GetHrisEmployeesPositiveResponseDataResultsInnerEthnicity', + :'marital_status' => :'GetHrisEmployeesPositiveResponseDataResultsInnerMaritalStatus', + :'employment_status' => :'GetHrisEmployeesPositiveResponseDataResultsInnerEmploymentStatus', + :'employment_type' => :'GetHrisEmployeesPositiveResponseDataResultsInnerEmploymentType', + :'weekly_hours' => :'Float', + :'avatar' => :'String', + :'work_location_id' => :'String', + :'legal_entity_id' => :'String', + :'manager_id' => :'String', + :'home_address' => :'GetHrisEmployeesPositiveResponseDataResultsInnerHomeAddress', + :'bank_accounts' => :'Array', + :'date_of_birth' => :'Time', + :'start_date' => :'Time', + :'termination_date' => :'Time', + :'remote_created_at' => :'Time', + :'changed_at' => :'Time', + :'remote_deleted_at' => :'Time', + :'remote_data' => :'Hash' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + :'employee_number', + :'first_name', + :'last_name', + :'nationality', + :'display_full_name', + :'job_title', + :'work_email', + :'personal_email', + :'mobile_phone_number', + :'ssn', + :'tax_id', + :'gender', + :'ethnicity', + :'marital_status', + :'employment_status', + :'employment_type', + :'weekly_hours', + :'avatar', + :'work_location_id', + :'legal_entity_id', + :'manager_id', + :'bank_accounts', + :'date_of_birth', + :'start_date', + :'termination_date', + :'remote_created_at', + :'remote_deleted_at', + :'remote_data' + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Kombo::PatchHrisEmployeesEmployeeIdPositiveResponseData` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + acceptable_attribute_map = self.class.acceptable_attribute_map + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!acceptable_attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Kombo::PatchHrisEmployeesEmployeeIdPositiveResponseData`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'id') + self.id = attributes[:'id'] + else + self.id = nil + end + + if attributes.key?(:'remote_id') + self.remote_id = attributes[:'remote_id'] + else + self.remote_id = nil + end + + if attributes.key?(:'employee_number') + self.employee_number = attributes[:'employee_number'] + else + self.employee_number = nil + end + + if attributes.key?(:'first_name') + self.first_name = attributes[:'first_name'] + else + self.first_name = nil + end + + if attributes.key?(:'last_name') + self.last_name = attributes[:'last_name'] + else + self.last_name = nil + end + + if attributes.key?(:'nationality') + self.nationality = attributes[:'nationality'] + else + self.nationality = nil + end + + if attributes.key?(:'display_full_name') + self.display_full_name = attributes[:'display_full_name'] + else + self.display_full_name = nil + end + + if attributes.key?(:'job_title') + self.job_title = attributes[:'job_title'] + else + self.job_title = nil + end + + if attributes.key?(:'work_email') + self.work_email = attributes[:'work_email'] + end + + if attributes.key?(:'personal_email') + self.personal_email = attributes[:'personal_email'] + end + + if attributes.key?(:'mobile_phone_number') + self.mobile_phone_number = attributes[:'mobile_phone_number'] + else + self.mobile_phone_number = nil + end + + if attributes.key?(:'ssn') + self.ssn = attributes[:'ssn'] + else + self.ssn = nil + end + + if attributes.key?(:'tax_id') + self.tax_id = attributes[:'tax_id'] + else + self.tax_id = nil + end + + if attributes.key?(:'gender') + self.gender = attributes[:'gender'] + end + + if attributes.key?(:'ethnicity') + self.ethnicity = attributes[:'ethnicity'] + end + + if attributes.key?(:'marital_status') + self.marital_status = attributes[:'marital_status'] + end + + if attributes.key?(:'employment_status') + self.employment_status = attributes[:'employment_status'] + end + + if attributes.key?(:'employment_type') + self.employment_type = attributes[:'employment_type'] + end + + if attributes.key?(:'weekly_hours') + self.weekly_hours = attributes[:'weekly_hours'] + else + self.weekly_hours = nil + end + + if attributes.key?(:'avatar') + self.avatar = attributes[:'avatar'] + else + self.avatar = nil + end + + if attributes.key?(:'work_location_id') + self.work_location_id = attributes[:'work_location_id'] + else + self.work_location_id = nil + end + + if attributes.key?(:'legal_entity_id') + self.legal_entity_id = attributes[:'legal_entity_id'] + else + self.legal_entity_id = nil + end + + if attributes.key?(:'manager_id') + self.manager_id = attributes[:'manager_id'] + else + self.manager_id = nil + end + + if attributes.key?(:'home_address') + self.home_address = attributes[:'home_address'] + end + + if attributes.key?(:'bank_accounts') + if (value = attributes[:'bank_accounts']).is_a?(Array) + self.bank_accounts = value + end + end + + if attributes.key?(:'date_of_birth') + self.date_of_birth = attributes[:'date_of_birth'] + else + self.date_of_birth = nil + end + + if attributes.key?(:'start_date') + self.start_date = attributes[:'start_date'] + else + self.start_date = nil + end + + if attributes.key?(:'termination_date') + self.termination_date = attributes[:'termination_date'] + else + self.termination_date = nil + end + + if attributes.key?(:'remote_created_at') + self.remote_created_at = attributes[:'remote_created_at'] + else + self.remote_created_at = nil + end + + if attributes.key?(:'changed_at') + self.changed_at = attributes[:'changed_at'] + else + self.changed_at = nil + end + + if attributes.key?(:'remote_deleted_at') + self.remote_deleted_at = attributes[:'remote_deleted_at'] + else + self.remote_deleted_at = nil + end + + if attributes.key?(:'remote_data') + if (value = attributes[:'remote_data']).is_a?(Hash) + self.remote_data = value + end + else + self.remote_data = nil + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + warn '[DEPRECATED] the `list_invalid_properties` method is obsolete' + invalid_properties = Array.new + if @id.nil? + invalid_properties.push('invalid value for "id", id cannot be nil.') + end + + if @remote_id.nil? + invalid_properties.push('invalid value for "remote_id", remote_id cannot be nil.') + end + + pattern = Regexp.new(/^(?!\.)(?!.*\.\.)([\w'+-.]*)[\w+-]@([\da-z][\da-z-]*\.)+[a-z]{2,}$/) + if !@work_email.nil? && @work_email !~ pattern + invalid_properties.push("invalid value for \"work_email\", must conform to the pattern #{pattern}.") + end + + pattern = Regexp.new(/^(?!\.)(?!.*\.\.)([\w'+-.]*)[\w+-]@([\da-z][\da-z-]*\.)+[a-z]{2,}$/) + if !@personal_email.nil? && @personal_email !~ pattern + invalid_properties.push("invalid value for \"personal_email\", must conform to the pattern #{pattern}.") + end + + if @weekly_hours < -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + invalid_properties.push('invalid value for "weekly_hours", must be greater than or equal to -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.') + end + + if @changed_at.nil? + invalid_properties.push('invalid value for "changed_at", changed_at cannot be nil.') + end + + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + warn '[DEPRECATED] the `valid?` method is obsolete' + return false if @id.nil? + return false if @remote_id.nil? + return false if !@work_email.nil? && @work_email !~ Regexp.new(/^(?!\.)(?!.*\.\.)([\w'+-.]*)[\w+-]@([\da-z][\da-z-]*\.)+[a-z]{2,}$/) + return false if !@personal_email.nil? && @personal_email !~ Regexp.new(/^(?!\.)(?!.*\.\.)([\w'+-.]*)[\w+-]@([\da-z][\da-z-]*\.)+[a-z]{2,}$/) + return false if @weekly_hours < -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + return false if @changed_at.nil? + true + end + + # Custom attribute writer method with validation + # @param [Object] id Value to be assigned + def id=(id) + if id.nil? + fail ArgumentError, 'id cannot be nil' + end + + @id = id + end + + # Custom attribute writer method with validation + # @param [Object] remote_id Value to be assigned + def remote_id=(remote_id) + if remote_id.nil? + fail ArgumentError, 'remote_id cannot be nil' + end + + @remote_id = remote_id + end + + # Custom attribute writer method with validation + # @param [Object] work_email Value to be assigned + def work_email=(work_email) + pattern = Regexp.new(/^(?!\.)(?!.*\.\.)([\w'+-.]*)[\w+-]@([\da-z][\da-z-]*\.)+[a-z]{2,}$/) + if !work_email.nil? && work_email !~ pattern + fail ArgumentError, "invalid value for \"work_email\", must conform to the pattern #{pattern}." + end + + @work_email = work_email + end + + # Custom attribute writer method with validation + # @param [Object] personal_email Value to be assigned + def personal_email=(personal_email) + pattern = Regexp.new(/^(?!\.)(?!.*\.\.)([\w'+-.]*)[\w+-]@([\da-z][\da-z-]*\.)+[a-z]{2,}$/) + if !personal_email.nil? && personal_email !~ pattern + fail ArgumentError, "invalid value for \"personal_email\", must conform to the pattern #{pattern}." + end + + @personal_email = personal_email + end + + # Custom attribute writer method with validation + # @param [Object] weekly_hours Value to be assigned + def weekly_hours=(weekly_hours) + if !weekly_hours.nil? && weekly_hours < -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + fail ArgumentError, 'invalid value for "weekly_hours", must be greater than or equal to -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.' + end + + @weekly_hours = weekly_hours + end + + # Custom attribute writer method with validation + # @param [Object] changed_at Value to be assigned + def changed_at=(changed_at) + if changed_at.nil? + fail ArgumentError, 'changed_at cannot be nil' + end + + @changed_at = changed_at + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + id == o.id && + remote_id == o.remote_id && + employee_number == o.employee_number && + first_name == o.first_name && + last_name == o.last_name && + nationality == o.nationality && + display_full_name == o.display_full_name && + job_title == o.job_title && + work_email == o.work_email && + personal_email == o.personal_email && + mobile_phone_number == o.mobile_phone_number && + ssn == o.ssn && + tax_id == o.tax_id && + gender == o.gender && + ethnicity == o.ethnicity && + marital_status == o.marital_status && + employment_status == o.employment_status && + employment_type == o.employment_type && + weekly_hours == o.weekly_hours && + avatar == o.avatar && + work_location_id == o.work_location_id && + legal_entity_id == o.legal_entity_id && + manager_id == o.manager_id && + home_address == o.home_address && + bank_accounts == o.bank_accounts && + date_of_birth == o.date_of_birth && + start_date == o.start_date && + termination_date == o.termination_date && + remote_created_at == o.remote_created_at && + changed_at == o.changed_at && + remote_deleted_at == o.remote_deleted_at && + remote_data == o.remote_data + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [id, remote_id, employee_number, first_name, last_name, nationality, display_full_name, job_title, work_email, personal_email, mobile_phone_number, ssn, tax_id, gender, ethnicity, marital_status, employment_status, employment_type, weekly_hours, avatar, work_location_id, legal_entity_id, manager_id, home_address, bank_accounts, date_of_birth, start_date, termination_date, remote_created_at, changed_at, remote_deleted_at, remote_data].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + transformed_hash = {} + openapi_types.each_pair do |key, type| + if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = nil + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[attribute_map[key]].is_a?(Array) + transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) } + end + elsif !attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]]) + end + end + new(transformed_hash) + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + end + +end diff --git a/lib/kombo_client/models/patch_hris_employees_employee_id_request_body.rb b/lib/kombo_client/models/patch_hris_employees_employee_id_request_body.rb new file mode 100644 index 0000000..e787a2f --- /dev/null +++ b/lib/kombo_client/models/patch_hris_employees_employee_id_request_body.rb @@ -0,0 +1,461 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.17.0 + +=end + +require 'date' +require 'time' + +module Kombo + class PatchHrisEmployeesEmployeeIdRequestBody < ApiModelBase + # The first name of the employee. + attr_accessor :first_name + + # The last name of the employee. + attr_accessor :last_name + + # 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. + attr_accessor :work_email + + # The gender of the employee. + attr_accessor :gender + + # The title of the position this person is working in. + attr_accessor :job_title + + attr_accessor :home_address + + # The employee's date of birth. This is a plain date (i.e., `yyyy-MM-dd`), all time information is discarded. + attr_accessor :date_of_birth + + attr_accessor :mobile_phone_number + + attr_accessor :home_phone_number + + # 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. + attr_accessor :nationality + + # 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. + attr_accessor :start_date + + # The Kombo ID of the legal entity the employee should be in. This field is required for certain integrations. + attr_accessor :legal_entity_id + + # The Kombo ID of the location the employee should be in. This field is required for certain integrations. + attr_accessor :location_id + + attr_accessor :remote_fields + + # The social security number of the employee. + attr_accessor :ssn + + # The marital status of an employee. + attr_accessor :marital_status + + # 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. + attr_accessor :termination_date + + # 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`. + attr_accessor :tax_id + + class EnumAttributeValidator + attr_reader :datatype + attr_reader :allowable_values + + def initialize(datatype, allowable_values) + @allowable_values = allowable_values.map do |value| + case datatype.to_s + when /Integer/i + value.to_i + when /Float/i + value.to_f + else + value + end + end + end + + def valid?(value) + !value || allowable_values.include?(value) + end + end + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'first_name' => :'first_name', + :'last_name' => :'last_name', + :'work_email' => :'work_email', + :'gender' => :'gender', + :'job_title' => :'job_title', + :'home_address' => :'home_address', + :'date_of_birth' => :'date_of_birth', + :'mobile_phone_number' => :'mobile_phone_number', + :'home_phone_number' => :'home_phone_number', + :'nationality' => :'nationality', + :'start_date' => :'start_date', + :'legal_entity_id' => :'legal_entity_id', + :'location_id' => :'location_id', + :'remote_fields' => :'remote_fields', + :'ssn' => :'ssn', + :'marital_status' => :'marital_status', + :'termination_date' => :'termination_date', + :'tax_id' => :'tax_id' + } + end + + # Returns attribute mapping this model knows about + def self.acceptable_attribute_map + attribute_map + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + acceptable_attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'first_name' => :'String', + :'last_name' => :'String', + :'work_email' => :'String', + :'gender' => :'String', + :'job_title' => :'String', + :'home_address' => :'PostHrisEmployeesRequestBodyHomeAddress', + :'date_of_birth' => :'Time', + :'mobile_phone_number' => :'String', + :'home_phone_number' => :'String', + :'nationality' => :'String', + :'start_date' => :'Time', + :'legal_entity_id' => :'String', + :'location_id' => :'String', + :'remote_fields' => :'PostHrisEmployeesRequestBodyRemoteFields', + :'ssn' => :'String', + :'marital_status' => :'String', + :'termination_date' => :'Time', + :'tax_id' => :'String' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Kombo::PatchHrisEmployeesEmployeeIdRequestBody` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + acceptable_attribute_map = self.class.acceptable_attribute_map + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!acceptable_attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Kombo::PatchHrisEmployeesEmployeeIdRequestBody`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'first_name') + self.first_name = attributes[:'first_name'] + end + + if attributes.key?(:'last_name') + self.last_name = attributes[:'last_name'] + end + + if attributes.key?(:'work_email') + self.work_email = attributes[:'work_email'] + else + self.work_email = nil + end + + if attributes.key?(:'gender') + self.gender = attributes[:'gender'] + end + + if attributes.key?(:'job_title') + self.job_title = attributes[:'job_title'] + end + + if attributes.key?(:'home_address') + self.home_address = attributes[:'home_address'] + end + + if attributes.key?(:'date_of_birth') + self.date_of_birth = attributes[:'date_of_birth'] + end + + if attributes.key?(:'mobile_phone_number') + self.mobile_phone_number = attributes[:'mobile_phone_number'] + end + + if attributes.key?(:'home_phone_number') + self.home_phone_number = attributes[:'home_phone_number'] + end + + if attributes.key?(:'nationality') + self.nationality = attributes[:'nationality'] + end + + if attributes.key?(:'start_date') + self.start_date = attributes[:'start_date'] + end + + if attributes.key?(:'legal_entity_id') + self.legal_entity_id = attributes[:'legal_entity_id'] + end + + if attributes.key?(:'location_id') + self.location_id = attributes[:'location_id'] + end + + if attributes.key?(:'remote_fields') + self.remote_fields = attributes[:'remote_fields'] + end + + if attributes.key?(:'ssn') + self.ssn = attributes[:'ssn'] + end + + if attributes.key?(:'marital_status') + self.marital_status = attributes[:'marital_status'] + end + + if attributes.key?(:'termination_date') + self.termination_date = attributes[:'termination_date'] + end + + if attributes.key?(:'tax_id') + self.tax_id = attributes[:'tax_id'] + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + warn '[DEPRECATED] the `list_invalid_properties` method is obsolete' + invalid_properties = Array.new + if @work_email.nil? + invalid_properties.push('invalid value for "work_email", work_email cannot be nil.') + end + + pattern = Regexp.new(/^\d{4}-\d{2}-\d{2}(T\d{2}:\d{2}:\d{2}(\.\d+)?)?Z?$/) + if !@date_of_birth.nil? && @date_of_birth !~ pattern + invalid_properties.push("invalid value for \"date_of_birth\", must conform to the pattern #{pattern}.") + end + + pattern = Regexp.new(/^[A-Z]{2}$/) + if !@nationality.nil? && @nationality !~ pattern + invalid_properties.push("invalid value for \"nationality\", must conform to the pattern #{pattern}.") + end + + pattern = Regexp.new(/^\d{4}-\d{2}-\d{2}(T\d{2}:\d{2}:\d{2}(\.\d+)?)?Z?$/) + if !@start_date.nil? && @start_date !~ pattern + invalid_properties.push("invalid value for \"start_date\", must conform to the pattern #{pattern}.") + end + + pattern = Regexp.new(/^\d{4}-\d{2}-\d{2}(T\d{2}:\d{2}:\d{2}(\.\d+)?)?Z?$/) + if !@termination_date.nil? && @termination_date !~ pattern + invalid_properties.push("invalid value for \"termination_date\", must conform to the pattern #{pattern}.") + end + + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + warn '[DEPRECATED] the `valid?` method is obsolete' + return false if @work_email.nil? + gender_validator = EnumAttributeValidator.new('String', ["MALE", "FEMALE", "NON_BINARY", "NOT_SPECIFIED"]) + return false unless gender_validator.valid?(@gender) + return false if !@date_of_birth.nil? && @date_of_birth !~ Regexp.new(/^\d{4}-\d{2}-\d{2}(T\d{2}:\d{2}:\d{2}(\.\d+)?)?Z?$/) + return false if !@nationality.nil? && @nationality !~ Regexp.new(/^[A-Z]{2}$/) + return false if !@start_date.nil? && @start_date !~ Regexp.new(/^\d{4}-\d{2}-\d{2}(T\d{2}:\d{2}:\d{2}(\.\d+)?)?Z?$/) + marital_status_validator = EnumAttributeValidator.new('String', ["SINGLE", "MARRIED", "DOMESTIC_PARTNERSHIP", "WIDOWED", "DIVORCED", "SEPARATED", "NOT_MARRIED"]) + return false unless marital_status_validator.valid?(@marital_status) + return false if !@termination_date.nil? && @termination_date !~ Regexp.new(/^\d{4}-\d{2}-\d{2}(T\d{2}:\d{2}:\d{2}(\.\d+)?)?Z?$/) + true + end + + # Custom attribute writer method with validation + # @param [Object] work_email Value to be assigned + def work_email=(work_email) + if work_email.nil? + fail ArgumentError, 'work_email cannot be nil' + end + + @work_email = work_email + end + + # Custom attribute writer method checking allowed values (enum). + # @param [Object] gender Object to be assigned + def gender=(gender) + validator = EnumAttributeValidator.new('String', ["MALE", "FEMALE", "NON_BINARY", "NOT_SPECIFIED"]) + unless validator.valid?(gender) + fail ArgumentError, "invalid value for \"gender\", must be one of #{validator.allowable_values}." + end + @gender = gender + end + + # Custom attribute writer method with validation + # @param [Object] date_of_birth Value to be assigned + def date_of_birth=(date_of_birth) + if date_of_birth.nil? + fail ArgumentError, 'date_of_birth cannot be nil' + end + + pattern = Regexp.new(/^\d{4}-\d{2}-\d{2}(T\d{2}:\d{2}:\d{2}(\.\d+)?)?Z?$/) + if date_of_birth !~ pattern + fail ArgumentError, "invalid value for \"date_of_birth\", must conform to the pattern #{pattern}." + end + + @date_of_birth = date_of_birth + end + + # Custom attribute writer method with validation + # @param [Object] nationality Value to be assigned + def nationality=(nationality) + if nationality.nil? + fail ArgumentError, 'nationality cannot be nil' + end + + pattern = Regexp.new(/^[A-Z]{2}$/) + if nationality !~ pattern + fail ArgumentError, "invalid value for \"nationality\", must conform to the pattern #{pattern}." + end + + @nationality = nationality + end + + # Custom attribute writer method with validation + # @param [Object] start_date Value to be assigned + def start_date=(start_date) + if start_date.nil? + fail ArgumentError, 'start_date cannot be nil' + end + + pattern = Regexp.new(/^\d{4}-\d{2}-\d{2}(T\d{2}:\d{2}:\d{2}(\.\d+)?)?Z?$/) + if start_date !~ pattern + fail ArgumentError, "invalid value for \"start_date\", must conform to the pattern #{pattern}." + end + + @start_date = start_date + end + + # Custom attribute writer method checking allowed values (enum). + # @param [Object] marital_status Object to be assigned + def marital_status=(marital_status) + validator = EnumAttributeValidator.new('String', ["SINGLE", "MARRIED", "DOMESTIC_PARTNERSHIP", "WIDOWED", "DIVORCED", "SEPARATED", "NOT_MARRIED"]) + unless validator.valid?(marital_status) + fail ArgumentError, "invalid value for \"marital_status\", must be one of #{validator.allowable_values}." + end + @marital_status = marital_status + end + + # Custom attribute writer method with validation + # @param [Object] termination_date Value to be assigned + def termination_date=(termination_date) + if termination_date.nil? + fail ArgumentError, 'termination_date cannot be nil' + end + + pattern = Regexp.new(/^\d{4}-\d{2}-\d{2}(T\d{2}:\d{2}:\d{2}(\.\d+)?)?Z?$/) + if termination_date !~ pattern + fail ArgumentError, "invalid value for \"termination_date\", must conform to the pattern #{pattern}." + end + + @termination_date = termination_date + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + first_name == o.first_name && + last_name == o.last_name && + work_email == o.work_email && + gender == o.gender && + job_title == o.job_title && + home_address == o.home_address && + date_of_birth == o.date_of_birth && + mobile_phone_number == o.mobile_phone_number && + home_phone_number == o.home_phone_number && + nationality == o.nationality && + start_date == o.start_date && + legal_entity_id == o.legal_entity_id && + location_id == o.location_id && + remote_fields == o.remote_fields && + ssn == o.ssn && + marital_status == o.marital_status && + termination_date == o.termination_date && + tax_id == o.tax_id + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [first_name, last_name, work_email, gender, job_title, home_address, date_of_birth, mobile_phone_number, home_phone_number, nationality, start_date, legal_entity_id, location_id, remote_fields, ssn, marital_status, termination_date, tax_id].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + transformed_hash = {} + openapi_types.each_pair do |key, type| + if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = nil + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[attribute_map[key]].is_a?(Array) + transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) } + end + elsif !attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]]) + end + end + new(transformed_hash) + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + end + +end diff --git a/lib/kombo_client/models/patch_hris_skills_skill_id_positive_response.rb b/lib/kombo_client/models/patch_hris_skills_skill_id_positive_response.rb new file mode 100644 index 0000000..eac8804 --- /dev/null +++ b/lib/kombo_client/models/patch_hris_skills_skill_id_positive_response.rb @@ -0,0 +1,214 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.17.0 + +=end + +require 'date' +require 'time' + +module Kombo + class PatchHrisSkillsSkillIdPositiveResponse < ApiModelBase + attr_accessor :status + + attr_accessor :data + + class EnumAttributeValidator + attr_reader :datatype + attr_reader :allowable_values + + def initialize(datatype, allowable_values) + @allowable_values = allowable_values.map do |value| + case datatype.to_s + when /Integer/i + value.to_i + when /Float/i + value.to_f + else + value + end + end + end + + def valid?(value) + !value || allowable_values.include?(value) + end + end + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'status' => :'status', + :'data' => :'data' + } + end + + # Returns attribute mapping this model knows about + def self.acceptable_attribute_map + attribute_map + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + acceptable_attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'status' => :'String', + :'data' => :'GetHrisSkillsPositiveResponseDataResultsInner' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Kombo::PatchHrisSkillsSkillIdPositiveResponse` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + acceptable_attribute_map = self.class.acceptable_attribute_map + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!acceptable_attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Kombo::PatchHrisSkillsSkillIdPositiveResponse`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'status') + self.status = attributes[:'status'] + else + self.status = nil + end + + if attributes.key?(:'data') + self.data = attributes[:'data'] + else + self.data = nil + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + warn '[DEPRECATED] the `list_invalid_properties` method is obsolete' + invalid_properties = Array.new + if @status.nil? + invalid_properties.push('invalid value for "status", status cannot be nil.') + end + + if @data.nil? + invalid_properties.push('invalid value for "data", data cannot be nil.') + end + + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + warn '[DEPRECATED] the `valid?` method is obsolete' + return false if @status.nil? + status_validator = EnumAttributeValidator.new('String', ["success"]) + return false unless status_validator.valid?(@status) + return false if @data.nil? + true + end + + # Custom attribute writer method checking allowed values (enum). + # @param [Object] status Object to be assigned + def status=(status) + validator = EnumAttributeValidator.new('String', ["success"]) + unless validator.valid?(status) + fail ArgumentError, "invalid value for \"status\", must be one of #{validator.allowable_values}." + end + @status = status + end + + # Custom attribute writer method with validation + # @param [Object] data Value to be assigned + def data=(data) + if data.nil? + fail ArgumentError, 'data cannot be nil' + end + + @data = data + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + status == o.status && + data == o.data + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [status, data].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + transformed_hash = {} + openapi_types.each_pair do |key, type| + if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = nil + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[attribute_map[key]].is_a?(Array) + transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) } + end + elsif !attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]]) + end + end + new(transformed_hash) + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + end + +end diff --git a/lib/kombo_client/models/patch_hris_skills_skill_id_request_body.rb b/lib/kombo_client/models/patch_hris_skills_skill_id_request_body.rb new file mode 100644 index 0000000..2f36ba1 --- /dev/null +++ b/lib/kombo_client/models/patch_hris_skills_skill_id_request_body.rb @@ -0,0 +1,160 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.17.0 + +=end + +require 'date' +require 'time' + +module Kombo + class PatchHrisSkillsSkillIdRequestBody < ApiModelBase + # The name of the skill + attr_accessor :name + + # List of available skill levels (e.g., [\"Beginner\", \"Intermediate\", \"Advanced\"]) + attr_accessor :levels + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'name' => :'name', + :'levels' => :'levels' + } + end + + # Returns attribute mapping this model knows about + def self.acceptable_attribute_map + attribute_map + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + acceptable_attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'name' => :'String', + :'levels' => :'Array' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Kombo::PatchHrisSkillsSkillIdRequestBody` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + acceptable_attribute_map = self.class.acceptable_attribute_map + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!acceptable_attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Kombo::PatchHrisSkillsSkillIdRequestBody`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'name') + self.name = attributes[:'name'] + end + + if attributes.key?(:'levels') + if (value = attributes[:'levels']).is_a?(Array) + self.levels = value + end + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + warn '[DEPRECATED] the `list_invalid_properties` method is obsolete' + invalid_properties = Array.new + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + warn '[DEPRECATED] the `valid?` method is obsolete' + true + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + name == o.name && + levels == o.levels + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [name, levels].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + transformed_hash = {} + openapi_types.each_pair do |key, type| + if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = nil + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[attribute_map[key]].is_a?(Array) + transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) } + end + elsif !attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]]) + end + end + new(transformed_hash) + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + end + +end diff --git a/lib/kombo_client/models/patch_integrations_integration_id_integration_fields_integration_field_id_positive_response.rb b/lib/kombo_client/models/patch_integrations_integration_id_integration_fields_integration_field_id_positive_response.rb new file mode 100644 index 0000000..a3603dd --- /dev/null +++ b/lib/kombo_client/models/patch_integrations_integration_id_integration_fields_integration_field_id_positive_response.rb @@ -0,0 +1,214 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.17.0 + +=end + +require 'date' +require 'time' + +module Kombo + class PatchIntegrationsIntegrationIdIntegrationFieldsIntegrationFieldIdPositiveResponse < ApiModelBase + attr_accessor :status + + attr_accessor :data + + class EnumAttributeValidator + attr_reader :datatype + attr_reader :allowable_values + + def initialize(datatype, allowable_values) + @allowable_values = allowable_values.map do |value| + case datatype.to_s + when /Integer/i + value.to_i + when /Float/i + value.to_f + else + value + end + end + end + + def valid?(value) + !value || allowable_values.include?(value) + end + end + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'status' => :'status', + :'data' => :'data' + } + end + + # Returns attribute mapping this model knows about + def self.acceptable_attribute_map + attribute_map + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + acceptable_attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'status' => :'String', + :'data' => :'GetIntegrationsIntegrationIdIntegrationFieldsPositiveResponseDataResultsInner' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Kombo::PatchIntegrationsIntegrationIdIntegrationFieldsIntegrationFieldIdPositiveResponse` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + acceptable_attribute_map = self.class.acceptable_attribute_map + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!acceptable_attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Kombo::PatchIntegrationsIntegrationIdIntegrationFieldsIntegrationFieldIdPositiveResponse`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'status') + self.status = attributes[:'status'] + else + self.status = nil + end + + if attributes.key?(:'data') + self.data = attributes[:'data'] + else + self.data = nil + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + warn '[DEPRECATED] the `list_invalid_properties` method is obsolete' + invalid_properties = Array.new + if @status.nil? + invalid_properties.push('invalid value for "status", status cannot be nil.') + end + + if @data.nil? + invalid_properties.push('invalid value for "data", data cannot be nil.') + end + + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + warn '[DEPRECATED] the `valid?` method is obsolete' + return false if @status.nil? + status_validator = EnumAttributeValidator.new('String', ["success"]) + return false unless status_validator.valid?(@status) + return false if @data.nil? + true + end + + # Custom attribute writer method checking allowed values (enum). + # @param [Object] status Object to be assigned + def status=(status) + validator = EnumAttributeValidator.new('String', ["success"]) + unless validator.valid?(status) + fail ArgumentError, "invalid value for \"status\", must be one of #{validator.allowable_values}." + end + @status = status + end + + # Custom attribute writer method with validation + # @param [Object] data Value to be assigned + def data=(data) + if data.nil? + fail ArgumentError, 'data cannot be nil' + end + + @data = data + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + status == o.status && + data == o.data + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [status, data].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + transformed_hash = {} + openapi_types.each_pair do |key, type| + if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = nil + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[attribute_map[key]].is_a?(Array) + transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) } + end + elsif !attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]]) + end + end + new(transformed_hash) + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + end + +end diff --git a/lib/kombo_client/models/patch_integrations_integration_id_integration_fields_integration_field_id_request_body.rb b/lib/kombo_client/models/patch_integrations_integration_id_integration_fields_integration_field_id_request_body.rb new file mode 100644 index 0000000..77992c7 --- /dev/null +++ b/lib/kombo_client/models/patch_integrations_integration_id_integration_fields_integration_field_id_request_body.rb @@ -0,0 +1,150 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.17.0 + +=end + +require 'date' +require 'time' + +module Kombo + class PatchIntegrationsIntegrationIdIntegrationFieldsIntegrationFieldIdRequestBody < ApiModelBase + attr_accessor :enable_passthrough + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'enable_passthrough' => :'enable_passthrough' + } + end + + # Returns attribute mapping this model knows about + def self.acceptable_attribute_map + attribute_map + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + acceptable_attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'enable_passthrough' => :'Boolean' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + :'enable_passthrough' + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Kombo::PatchIntegrationsIntegrationIdIntegrationFieldsIntegrationFieldIdRequestBody` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + acceptable_attribute_map = self.class.acceptable_attribute_map + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!acceptable_attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Kombo::PatchIntegrationsIntegrationIdIntegrationFieldsIntegrationFieldIdRequestBody`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'enable_passthrough') + self.enable_passthrough = attributes[:'enable_passthrough'] + else + self.enable_passthrough = nil + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + warn '[DEPRECATED] the `list_invalid_properties` method is obsolete' + invalid_properties = Array.new + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + warn '[DEPRECATED] the `valid?` method is obsolete' + true + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + enable_passthrough == o.enable_passthrough + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [enable_passthrough].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + transformed_hash = {} + openapi_types.each_pair do |key, type| + if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = nil + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[attribute_map[key]].is_a?(Array) + transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) } + end + elsif !attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]]) + end + end + new(transformed_hash) + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + end + +end diff --git a/lib/kombo_client/models/patch_lms_progress_progress_id_positive_response.rb b/lib/kombo_client/models/patch_lms_progress_progress_id_positive_response.rb new file mode 100644 index 0000000..37ef8c9 --- /dev/null +++ b/lib/kombo_client/models/patch_lms_progress_progress_id_positive_response.rb @@ -0,0 +1,214 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.17.0 + +=end + +require 'date' +require 'time' + +module Kombo + class PatchLmsProgressProgressIdPositiveResponse < ApiModelBase + attr_accessor :status + + attr_accessor :data + + class EnumAttributeValidator + attr_reader :datatype + attr_reader :allowable_values + + def initialize(datatype, allowable_values) + @allowable_values = allowable_values.map do |value| + case datatype.to_s + when /Integer/i + value.to_i + when /Float/i + value.to_f + else + value + end + end + end + + def valid?(value) + !value || allowable_values.include?(value) + end + end + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'status' => :'status', + :'data' => :'data' + } + end + + # Returns attribute mapping this model knows about + def self.acceptable_attribute_map + attribute_map + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + acceptable_attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'status' => :'String', + :'data' => :'PostLmsProgressPositiveResponseData' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Kombo::PatchLmsProgressProgressIdPositiveResponse` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + acceptable_attribute_map = self.class.acceptable_attribute_map + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!acceptable_attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Kombo::PatchLmsProgressProgressIdPositiveResponse`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'status') + self.status = attributes[:'status'] + else + self.status = nil + end + + if attributes.key?(:'data') + self.data = attributes[:'data'] + else + self.data = nil + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + warn '[DEPRECATED] the `list_invalid_properties` method is obsolete' + invalid_properties = Array.new + if @status.nil? + invalid_properties.push('invalid value for "status", status cannot be nil.') + end + + if @data.nil? + invalid_properties.push('invalid value for "data", data cannot be nil.') + end + + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + warn '[DEPRECATED] the `valid?` method is obsolete' + return false if @status.nil? + status_validator = EnumAttributeValidator.new('String', ["success"]) + return false unless status_validator.valid?(@status) + return false if @data.nil? + true + end + + # Custom attribute writer method checking allowed values (enum). + # @param [Object] status Object to be assigned + def status=(status) + validator = EnumAttributeValidator.new('String', ["success"]) + unless validator.valid?(status) + fail ArgumentError, "invalid value for \"status\", must be one of #{validator.allowable_values}." + end + @status = status + end + + # Custom attribute writer method with validation + # @param [Object] data Value to be assigned + def data=(data) + if data.nil? + fail ArgumentError, 'data cannot be nil' + end + + @data = data + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + status == o.status && + data == o.data + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [status, data].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + transformed_hash = {} + openapi_types.each_pair do |key, type| + if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = nil + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[attribute_map[key]].is_a?(Array) + transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) } + end + elsif !attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]]) + end + end + new(transformed_hash) + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + end + +end diff --git a/lib/kombo_client/models/patch_lms_progress_progress_id_request_body.rb b/lib/kombo_client/models/patch_lms_progress_progress_id_request_body.rb new file mode 100644 index 0000000..651b04c --- /dev/null +++ b/lib/kombo_client/models/patch_lms_progress_progress_id_request_body.rb @@ -0,0 +1,286 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.17.0 + +=end + +require 'date' +require 'time' + +module Kombo + class PatchLmsProgressProgressIdRequestBody < ApiModelBase + # The ID of the course. + attr_accessor :course_id + + # The ID of the user. + attr_accessor :user_id + + # Current status of the learner in this course. + attr_accessor :status + + # Date when the user enrolled in the course. + attr_accessor :enrollment_date + + # Date when the user completed the course. + attr_accessor :completion_date + + # Numerical score achieved (e.g., 85.5). + attr_accessor :score + + # Total time spent on the course in minutes. + attr_accessor :duration + + # Additional comments or notes. + attr_accessor :comments + + class EnumAttributeValidator + attr_reader :datatype + attr_reader :allowable_values + + def initialize(datatype, allowable_values) + @allowable_values = allowable_values.map do |value| + case datatype.to_s + when /Integer/i + value.to_i + when /Float/i + value.to_f + else + value + end + end + end + + def valid?(value) + !value || allowable_values.include?(value) + end + end + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'course_id' => :'course_id', + :'user_id' => :'user_id', + :'status' => :'status', + :'enrollment_date' => :'enrollment_date', + :'completion_date' => :'completion_date', + :'score' => :'score', + :'duration' => :'duration', + :'comments' => :'comments' + } + end + + # Returns attribute mapping this model knows about + def self.acceptable_attribute_map + attribute_map + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + acceptable_attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'course_id' => :'String', + :'user_id' => :'String', + :'status' => :'String', + :'enrollment_date' => :'String', + :'completion_date' => :'String', + :'score' => :'Float', + :'duration' => :'Float', + :'comments' => :'String' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + :'completion_date', + :'score', + :'duration', + :'comments' + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Kombo::PatchLmsProgressProgressIdRequestBody` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + acceptable_attribute_map = self.class.acceptable_attribute_map + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!acceptable_attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Kombo::PatchLmsProgressProgressIdRequestBody`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'course_id') + self.course_id = attributes[:'course_id'] + end + + if attributes.key?(:'user_id') + self.user_id = attributes[:'user_id'] + end + + if attributes.key?(:'status') + self.status = attributes[:'status'] + end + + if attributes.key?(:'enrollment_date') + self.enrollment_date = attributes[:'enrollment_date'] + end + + if attributes.key?(:'completion_date') + self.completion_date = attributes[:'completion_date'] + end + + if attributes.key?(:'score') + self.score = attributes[:'score'] + end + + if attributes.key?(:'duration') + self.duration = attributes[:'duration'] + end + + if attributes.key?(:'comments') + self.comments = attributes[:'comments'] + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + warn '[DEPRECATED] the `list_invalid_properties` method is obsolete' + invalid_properties = Array.new + if !@score.nil? && @score < -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + invalid_properties.push('invalid value for "score", must be greater than or equal to -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.') + end + + if !@duration.nil? && @duration < -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + invalid_properties.push('invalid value for "duration", must be greater than or equal to -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.') + end + + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + warn '[DEPRECATED] the `valid?` method is obsolete' + status_validator = EnumAttributeValidator.new('String', ["ENROLLED", "STARTED", "COMPLETED", "STOPPED"]) + return false unless status_validator.valid?(@status) + return false if !@score.nil? && @score < -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + return false if !@duration.nil? && @duration < -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + true + end + + # Custom attribute writer method checking allowed values (enum). + # @param [Object] status Object to be assigned + def status=(status) + validator = EnumAttributeValidator.new('String', ["ENROLLED", "STARTED", "COMPLETED", "STOPPED"]) + unless validator.valid?(status) + fail ArgumentError, "invalid value for \"status\", must be one of #{validator.allowable_values}." + end + @status = status + end + + # Custom attribute writer method with validation + # @param [Object] score Value to be assigned + def score=(score) + if !score.nil? && score < -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + fail ArgumentError, 'invalid value for "score", must be greater than or equal to -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.' + end + + @score = score + end + + # Custom attribute writer method with validation + # @param [Object] duration Value to be assigned + def duration=(duration) + if !duration.nil? && duration < -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + fail ArgumentError, 'invalid value for "duration", must be greater than or equal to -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.' + end + + @duration = duration + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + course_id == o.course_id && + user_id == o.user_id && + status == o.status && + enrollment_date == o.enrollment_date && + completion_date == o.completion_date && + score == o.score && + duration == o.duration && + comments == o.comments + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [course_id, user_id, status, enrollment_date, completion_date, score, duration, comments].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + transformed_hash = {} + openapi_types.each_pair do |key, type| + if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = nil + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[attribute_map[key]].is_a?(Array) + transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) } + end + elsif !attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]]) + end + end + new(transformed_hash) + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + end + +end diff --git a/lib/kombo_client/models/post_ai_apply_apply_positive_response.rb b/lib/kombo_client/models/post_ai_apply_apply_positive_response.rb new file mode 100644 index 0000000..3dd09d6 --- /dev/null +++ b/lib/kombo_client/models/post_ai_apply_apply_positive_response.rb @@ -0,0 +1,214 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.17.0 + +=end + +require 'date' +require 'time' + +module Kombo + class PostAiApplyApplyPositiveResponse < ApiModelBase + attr_accessor :status + + attr_accessor :data + + class EnumAttributeValidator + attr_reader :datatype + attr_reader :allowable_values + + def initialize(datatype, allowable_values) + @allowable_values = allowable_values.map do |value| + case datatype.to_s + when /Integer/i + value.to_i + when /Float/i + value.to_f + else + value + end + end + end + + def valid?(value) + !value || allowable_values.include?(value) + end + end + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'status' => :'status', + :'data' => :'data' + } + end + + # Returns attribute mapping this model knows about + def self.acceptable_attribute_map + attribute_map + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + acceptable_attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'status' => :'String', + :'data' => :'PostAiApplyApplyPositiveResponseData' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Kombo::PostAiApplyApplyPositiveResponse` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + acceptable_attribute_map = self.class.acceptable_attribute_map + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!acceptable_attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Kombo::PostAiApplyApplyPositiveResponse`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'status') + self.status = attributes[:'status'] + else + self.status = nil + end + + if attributes.key?(:'data') + self.data = attributes[:'data'] + else + self.data = nil + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + warn '[DEPRECATED] the `list_invalid_properties` method is obsolete' + invalid_properties = Array.new + if @status.nil? + invalid_properties.push('invalid value for "status", status cannot be nil.') + end + + if @data.nil? + invalid_properties.push('invalid value for "data", data cannot be nil.') + end + + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + warn '[DEPRECATED] the `valid?` method is obsolete' + return false if @status.nil? + status_validator = EnumAttributeValidator.new('String', ["success"]) + return false unless status_validator.valid?(@status) + return false if @data.nil? + true + end + + # Custom attribute writer method checking allowed values (enum). + # @param [Object] status Object to be assigned + def status=(status) + validator = EnumAttributeValidator.new('String', ["success"]) + unless validator.valid?(status) + fail ArgumentError, "invalid value for \"status\", must be one of #{validator.allowable_values}." + end + @status = status + end + + # Custom attribute writer method with validation + # @param [Object] data Value to be assigned + def data=(data) + if data.nil? + fail ArgumentError, 'data cannot be nil' + end + + @data = data + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + status == o.status && + data == o.data + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [status, data].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + transformed_hash = {} + openapi_types.each_pair do |key, type| + if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = nil + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[attribute_map[key]].is_a?(Array) + transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) } + end + elsif !attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]]) + end + end + new(transformed_hash) + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + end + +end diff --git a/lib/kombo_client/models/post_ai_apply_apply_positive_response_data.rb b/lib/kombo_client/models/post_ai_apply_apply_positive_response_data.rb new file mode 100644 index 0000000..c9b9c60 --- /dev/null +++ b/lib/kombo_client/models/post_ai_apply_apply_positive_response_data.rb @@ -0,0 +1,272 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.17.0 + +=end + +require 'date' +require 'time' + +module Kombo + class PostAiApplyApplyPositiveResponseData < ApiModelBase + # The globally unique ID of this object generated by Kombo. We recommend using this as a stable primary key for syncing. + attr_accessor :id + + # The globally unique ID of this object generated by Kombo. We recommend using this as a stable primary key for syncing. + attr_accessor :posting_id + + attr_accessor :status + + # YYYY-MM-DDTHH:mm:ss.sssZ + attr_accessor :created_at + + # YYYY-MM-DDTHH:mm:ss.sssZ + attr_accessor :updated_at + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'id' => :'id', + :'posting_id' => :'posting_id', + :'status' => :'status', + :'created_at' => :'created_at', + :'updated_at' => :'updated_at' + } + end + + # Returns attribute mapping this model knows about + def self.acceptable_attribute_map + attribute_map + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + acceptable_attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'id' => :'String', + :'posting_id' => :'String', + :'status' => :'String', + :'created_at' => :'Time', + :'updated_at' => :'Time' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Kombo::PostAiApplyApplyPositiveResponseData` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + acceptable_attribute_map = self.class.acceptable_attribute_map + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!acceptable_attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Kombo::PostAiApplyApplyPositiveResponseData`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'id') + self.id = attributes[:'id'] + else + self.id = nil + end + + if attributes.key?(:'posting_id') + self.posting_id = attributes[:'posting_id'] + else + self.posting_id = nil + end + + if attributes.key?(:'status') + self.status = attributes[:'status'] + else + self.status = nil + end + + if attributes.key?(:'created_at') + self.created_at = attributes[:'created_at'] + else + self.created_at = nil + end + + if attributes.key?(:'updated_at') + self.updated_at = attributes[:'updated_at'] + else + self.updated_at = nil + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + warn '[DEPRECATED] the `list_invalid_properties` method is obsolete' + invalid_properties = Array.new + if @id.nil? + invalid_properties.push('invalid value for "id", id cannot be nil.') + end + + if @posting_id.nil? + invalid_properties.push('invalid value for "posting_id", posting_id cannot be nil.') + end + + if @status.nil? + invalid_properties.push('invalid value for "status", status cannot be nil.') + end + + if @created_at.nil? + invalid_properties.push('invalid value for "created_at", created_at cannot be nil.') + end + + if @updated_at.nil? + invalid_properties.push('invalid value for "updated_at", updated_at cannot be nil.') + end + + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + warn '[DEPRECATED] the `valid?` method is obsolete' + return false if @id.nil? + return false if @posting_id.nil? + return false if @status.nil? + return false if @created_at.nil? + return false if @updated_at.nil? + true + end + + # Custom attribute writer method with validation + # @param [Object] id Value to be assigned + def id=(id) + if id.nil? + fail ArgumentError, 'id cannot be nil' + end + + @id = id + end + + # Custom attribute writer method with validation + # @param [Object] posting_id Value to be assigned + def posting_id=(posting_id) + if posting_id.nil? + fail ArgumentError, 'posting_id cannot be nil' + end + + @posting_id = posting_id + end + + # Custom attribute writer method with validation + # @param [Object] status Value to be assigned + def status=(status) + if status.nil? + fail ArgumentError, 'status cannot be nil' + end + + @status = status + end + + # Custom attribute writer method with validation + # @param [Object] created_at Value to be assigned + def created_at=(created_at) + if created_at.nil? + fail ArgumentError, 'created_at cannot be nil' + end + + @created_at = created_at + end + + # Custom attribute writer method with validation + # @param [Object] updated_at Value to be assigned + def updated_at=(updated_at) + if updated_at.nil? + fail ArgumentError, 'updated_at cannot be nil' + end + + @updated_at = updated_at + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + id == o.id && + posting_id == o.posting_id && + status == o.status && + created_at == o.created_at && + updated_at == o.updated_at + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [id, posting_id, status, created_at, updated_at].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + transformed_hash = {} + openapi_types.each_pair do |key, type| + if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = nil + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[attribute_map[key]].is_a?(Array) + transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) } + end + elsif !attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]]) + end + end + new(transformed_hash) + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + end + +end diff --git a/lib/kombo_client/models/post_ai_apply_apply_request_body.rb b/lib/kombo_client/models/post_ai_apply_apply_request_body.rb new file mode 100644 index 0000000..a716305 --- /dev/null +++ b/lib/kombo_client/models/post_ai_apply_apply_request_body.rb @@ -0,0 +1,233 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.17.0 + +=end + +require 'date' +require 'time' + +module Kombo + class PostAiApplyApplyRequestBody < ApiModelBase + # JWT token obtained from the POST /postings/:id/inquire endpoint. Valid for 12 hours. + attr_accessor :submission_token + + # 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. + attr_accessor :candidate_email + + # Query parameters to be appended to the job posting URL when applying. + attr_accessor :_query_params + + # 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. + attr_accessor :screening_question_answers + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'submission_token' => :'submission_token', + :'candidate_email' => :'candidate_email', + :'_query_params' => :'query_params', + :'screening_question_answers' => :'screening_question_answers' + } + end + + # Returns attribute mapping this model knows about + def self.acceptable_attribute_map + attribute_map + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + acceptable_attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'submission_token' => :'String', + :'candidate_email' => :'String', + :'_query_params' => :'Hash', + :'screening_question_answers' => :'Array' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Kombo::PostAiApplyApplyRequestBody` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + acceptable_attribute_map = self.class.acceptable_attribute_map + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!acceptable_attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Kombo::PostAiApplyApplyRequestBody`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'submission_token') + self.submission_token = attributes[:'submission_token'] + else + self.submission_token = nil + end + + if attributes.key?(:'candidate_email') + self.candidate_email = attributes[:'candidate_email'] + else + self.candidate_email = nil + end + + if attributes.key?(:'_query_params') + if (value = attributes[:'_query_params']).is_a?(Hash) + self._query_params = value + end + end + + if attributes.key?(:'screening_question_answers') + if (value = attributes[:'screening_question_answers']).is_a?(Array) + self.screening_question_answers = value + end + else + self.screening_question_answers = nil + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + warn '[DEPRECATED] the `list_invalid_properties` method is obsolete' + invalid_properties = Array.new + if @submission_token.nil? + invalid_properties.push('invalid value for "submission_token", submission_token cannot be nil.') + end + + if @candidate_email.nil? + invalid_properties.push('invalid value for "candidate_email", candidate_email cannot be nil.') + end + + if @screening_question_answers.nil? + invalid_properties.push('invalid value for "screening_question_answers", screening_question_answers cannot be nil.') + end + + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + warn '[DEPRECATED] the `valid?` method is obsolete' + return false if @submission_token.nil? + return false if @candidate_email.nil? + return false if @screening_question_answers.nil? + true + end + + # Custom attribute writer method with validation + # @param [Object] submission_token Value to be assigned + def submission_token=(submission_token) + if submission_token.nil? + fail ArgumentError, 'submission_token cannot be nil' + end + + @submission_token = submission_token + end + + # Custom attribute writer method with validation + # @param [Object] candidate_email Value to be assigned + def candidate_email=(candidate_email) + if candidate_email.nil? + fail ArgumentError, 'candidate_email cannot be nil' + end + + @candidate_email = candidate_email + end + + # Custom attribute writer method with validation + # @param [Object] screening_question_answers Value to be assigned + def screening_question_answers=(screening_question_answers) + if screening_question_answers.nil? + fail ArgumentError, 'screening_question_answers cannot be nil' + end + + @screening_question_answers = screening_question_answers + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + submission_token == o.submission_token && + candidate_email == o.candidate_email && + _query_params == o._query_params && + screening_question_answers == o.screening_question_answers + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [submission_token, candidate_email, _query_params, screening_question_answers].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + transformed_hash = {} + openapi_types.each_pair do |key, type| + if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = nil + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[attribute_map[key]].is_a?(Array) + transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) } + end + elsif !attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]]) + end + end + new(transformed_hash) + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + end + +end diff --git a/lib/kombo_client/models/post_ai_apply_apply_request_body_screening_question_answers_inner.rb b/lib/kombo_client/models/post_ai_apply_apply_request_body_screening_question_answers_inner.rb new file mode 100644 index 0000000..a3aac21 --- /dev/null +++ b/lib/kombo_client/models/post_ai_apply_apply_request_body_screening_question_answers_inner.rb @@ -0,0 +1,191 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.17.0 + +=end + +require 'date' +require 'time' + +module Kombo + class PostAiApplyApplyRequestBodyScreeningQuestionAnswersInner < ApiModelBase + # The globally unique ID of this object generated by Kombo. We recommend using this as a stable primary key for syncing. + attr_accessor :question_id + + attr_accessor :answer + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'question_id' => :'question_id', + :'answer' => :'answer' + } + end + + # Returns attribute mapping this model knows about + def self.acceptable_attribute_map + attribute_map + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + acceptable_attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'question_id' => :'String', + :'answer' => :'PostAiApplyPostingsPostingIdInquirePositiveResponseDataApplicationFormInnerAnyOfDisplayWhenAnswerEquals' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Kombo::PostAiApplyApplyRequestBodyScreeningQuestionAnswersInner` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + acceptable_attribute_map = self.class.acceptable_attribute_map + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!acceptable_attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Kombo::PostAiApplyApplyRequestBodyScreeningQuestionAnswersInner`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'question_id') + self.question_id = attributes[:'question_id'] + else + self.question_id = nil + end + + if attributes.key?(:'answer') + self.answer = attributes[:'answer'] + else + self.answer = nil + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + warn '[DEPRECATED] the `list_invalid_properties` method is obsolete' + invalid_properties = Array.new + if @question_id.nil? + invalid_properties.push('invalid value for "question_id", question_id cannot be nil.') + end + + if @answer.nil? + invalid_properties.push('invalid value for "answer", answer cannot be nil.') + end + + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + warn '[DEPRECATED] the `valid?` method is obsolete' + return false if @question_id.nil? + return false if @answer.nil? + true + end + + # Custom attribute writer method with validation + # @param [Object] question_id Value to be assigned + def question_id=(question_id) + if question_id.nil? + fail ArgumentError, 'question_id cannot be nil' + end + + @question_id = question_id + end + + # Custom attribute writer method with validation + # @param [Object] answer Value to be assigned + def answer=(answer) + if answer.nil? + fail ArgumentError, 'answer cannot be nil' + end + + @answer = answer + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + question_id == o.question_id && + answer == o.answer + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [question_id, answer].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + transformed_hash = {} + openapi_types.each_pair do |key, type| + if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = nil + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[attribute_map[key]].is_a?(Array) + transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) } + end + elsif !attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]]) + end + end + new(transformed_hash) + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + end + +end diff --git a/lib/kombo_client/models/post_ai_apply_career_sites_positive_response.rb b/lib/kombo_client/models/post_ai_apply_career_sites_positive_response.rb new file mode 100644 index 0000000..4cf079b --- /dev/null +++ b/lib/kombo_client/models/post_ai_apply_career_sites_positive_response.rb @@ -0,0 +1,214 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.17.0 + +=end + +require 'date' +require 'time' + +module Kombo + class PostAiApplyCareerSitesPositiveResponse < ApiModelBase + attr_accessor :status + + attr_accessor :data + + class EnumAttributeValidator + attr_reader :datatype + attr_reader :allowable_values + + def initialize(datatype, allowable_values) + @allowable_values = allowable_values.map do |value| + case datatype.to_s + when /Integer/i + value.to_i + when /Float/i + value.to_f + else + value + end + end + end + + def valid?(value) + !value || allowable_values.include?(value) + end + end + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'status' => :'status', + :'data' => :'data' + } + end + + # Returns attribute mapping this model knows about + def self.acceptable_attribute_map + attribute_map + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + acceptable_attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'status' => :'String', + :'data' => :'PostAiApplyCareerSitesPositiveResponseData' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Kombo::PostAiApplyCareerSitesPositiveResponse` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + acceptable_attribute_map = self.class.acceptable_attribute_map + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!acceptable_attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Kombo::PostAiApplyCareerSitesPositiveResponse`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'status') + self.status = attributes[:'status'] + else + self.status = nil + end + + if attributes.key?(:'data') + self.data = attributes[:'data'] + else + self.data = nil + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + warn '[DEPRECATED] the `list_invalid_properties` method is obsolete' + invalid_properties = Array.new + if @status.nil? + invalid_properties.push('invalid value for "status", status cannot be nil.') + end + + if @data.nil? + invalid_properties.push('invalid value for "data", data cannot be nil.') + end + + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + warn '[DEPRECATED] the `valid?` method is obsolete' + return false if @status.nil? + status_validator = EnumAttributeValidator.new('String', ["success"]) + return false unless status_validator.valid?(@status) + return false if @data.nil? + true + end + + # Custom attribute writer method checking allowed values (enum). + # @param [Object] status Object to be assigned + def status=(status) + validator = EnumAttributeValidator.new('String', ["success"]) + unless validator.valid?(status) + fail ArgumentError, "invalid value for \"status\", must be one of #{validator.allowable_values}." + end + @status = status + end + + # Custom attribute writer method with validation + # @param [Object] data Value to be assigned + def data=(data) + if data.nil? + fail ArgumentError, 'data cannot be nil' + end + + @data = data + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + status == o.status && + data == o.data + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [status, data].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + transformed_hash = {} + openapi_types.each_pair do |key, type| + if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = nil + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[attribute_map[key]].is_a?(Array) + transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) } + end + elsif !attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]]) + end + end + new(transformed_hash) + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + end + +end diff --git a/lib/kombo_client/models/post_ai_apply_career_sites_positive_response_data.rb b/lib/kombo_client/models/post_ai_apply_career_sites_positive_response_data.rb new file mode 100644 index 0000000..c740bdd --- /dev/null +++ b/lib/kombo_client/models/post_ai_apply_career_sites_positive_response_data.rb @@ -0,0 +1,192 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.17.0 + +=end + +require 'date' +require 'time' + +module Kombo + class PostAiApplyCareerSitesPositiveResponseData < ApiModelBase + # The globally unique ID of this object generated by Kombo. We recommend using this as a stable primary key for syncing. + attr_accessor :id + + # The label of the career site + attr_accessor :label + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'id' => :'id', + :'label' => :'label' + } + end + + # Returns attribute mapping this model knows about + def self.acceptable_attribute_map + attribute_map + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + acceptable_attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'id' => :'String', + :'label' => :'String' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Kombo::PostAiApplyCareerSitesPositiveResponseData` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + acceptable_attribute_map = self.class.acceptable_attribute_map + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!acceptable_attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Kombo::PostAiApplyCareerSitesPositiveResponseData`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'id') + self.id = attributes[:'id'] + else + self.id = nil + end + + if attributes.key?(:'label') + self.label = attributes[:'label'] + else + self.label = nil + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + warn '[DEPRECATED] the `list_invalid_properties` method is obsolete' + invalid_properties = Array.new + if @id.nil? + invalid_properties.push('invalid value for "id", id cannot be nil.') + end + + if @label.nil? + invalid_properties.push('invalid value for "label", label cannot be nil.') + end + + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + warn '[DEPRECATED] the `valid?` method is obsolete' + return false if @id.nil? + return false if @label.nil? + true + end + + # Custom attribute writer method with validation + # @param [Object] id Value to be assigned + def id=(id) + if id.nil? + fail ArgumentError, 'id cannot be nil' + end + + @id = id + end + + # Custom attribute writer method with validation + # @param [Object] label Value to be assigned + def label=(label) + if label.nil? + fail ArgumentError, 'label cannot be nil' + end + + @label = label + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + id == o.id && + label == o.label + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [id, label].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + transformed_hash = {} + openapi_types.each_pair do |key, type| + if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = nil + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[attribute_map[key]].is_a?(Array) + transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) } + end + elsif !attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]]) + end + end + new(transformed_hash) + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + end + +end diff --git a/lib/kombo_client/models/post_ai_apply_career_sites_request_body.rb b/lib/kombo_client/models/post_ai_apply_career_sites_request_body.rb new file mode 100644 index 0000000..39b68b1 --- /dev/null +++ b/lib/kombo_client/models/post_ai_apply_career_sites_request_body.rb @@ -0,0 +1,165 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.17.0 + +=end + +require 'date' +require 'time' + +module Kombo + class PostAiApplyCareerSitesRequestBody < ApiModelBase + # The label of the career site + attr_accessor :label + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'label' => :'label' + } + end + + # Returns attribute mapping this model knows about + def self.acceptable_attribute_map + attribute_map + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + acceptable_attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'label' => :'String' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Kombo::PostAiApplyCareerSitesRequestBody` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + acceptable_attribute_map = self.class.acceptable_attribute_map + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!acceptable_attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Kombo::PostAiApplyCareerSitesRequestBody`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'label') + self.label = attributes[:'label'] + else + self.label = nil + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + warn '[DEPRECATED] the `list_invalid_properties` method is obsolete' + invalid_properties = Array.new + if @label.nil? + invalid_properties.push('invalid value for "label", label cannot be nil.') + end + + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + warn '[DEPRECATED] the `valid?` method is obsolete' + return false if @label.nil? + true + end + + # Custom attribute writer method with validation + # @param [Object] label Value to be assigned + def label=(label) + if label.nil? + fail ArgumentError, 'label cannot be nil' + end + + @label = label + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + label == o.label + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [label].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + transformed_hash = {} + openapi_types.each_pair do |key, type| + if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = nil + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[attribute_map[key]].is_a?(Array) + transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) } + end + elsif !attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]]) + end + end + new(transformed_hash) + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + end + +end diff --git a/lib/kombo_client/models/post_ai_apply_postings_positive_response.rb b/lib/kombo_client/models/post_ai_apply_postings_positive_response.rb new file mode 100644 index 0000000..89faf77 --- /dev/null +++ b/lib/kombo_client/models/post_ai_apply_postings_positive_response.rb @@ -0,0 +1,214 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.17.0 + +=end + +require 'date' +require 'time' + +module Kombo + class PostAiApplyPostingsPositiveResponse < ApiModelBase + attr_accessor :status + + attr_accessor :data + + class EnumAttributeValidator + attr_reader :datatype + attr_reader :allowable_values + + def initialize(datatype, allowable_values) + @allowable_values = allowable_values.map do |value| + case datatype.to_s + when /Integer/i + value.to_i + when /Float/i + value.to_f + else + value + end + end + end + + def valid?(value) + !value || allowable_values.include?(value) + end + end + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'status' => :'status', + :'data' => :'data' + } + end + + # Returns attribute mapping this model knows about + def self.acceptable_attribute_map + attribute_map + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + acceptable_attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'status' => :'String', + :'data' => :'GetAiApplyPostingsPositiveResponseDataResultsInner' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Kombo::PostAiApplyPostingsPositiveResponse` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + acceptable_attribute_map = self.class.acceptable_attribute_map + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!acceptable_attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Kombo::PostAiApplyPostingsPositiveResponse`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'status') + self.status = attributes[:'status'] + else + self.status = nil + end + + if attributes.key?(:'data') + self.data = attributes[:'data'] + else + self.data = nil + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + warn '[DEPRECATED] the `list_invalid_properties` method is obsolete' + invalid_properties = Array.new + if @status.nil? + invalid_properties.push('invalid value for "status", status cannot be nil.') + end + + if @data.nil? + invalid_properties.push('invalid value for "data", data cannot be nil.') + end + + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + warn '[DEPRECATED] the `valid?` method is obsolete' + return false if @status.nil? + status_validator = EnumAttributeValidator.new('String', ["success"]) + return false unless status_validator.valid?(@status) + return false if @data.nil? + true + end + + # Custom attribute writer method checking allowed values (enum). + # @param [Object] status Object to be assigned + def status=(status) + validator = EnumAttributeValidator.new('String', ["success"]) + unless validator.valid?(status) + fail ArgumentError, "invalid value for \"status\", must be one of #{validator.allowable_values}." + end + @status = status + end + + # Custom attribute writer method with validation + # @param [Object] data Value to be assigned + def data=(data) + if data.nil? + fail ArgumentError, 'data cannot be nil' + end + + @data = data + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + status == o.status && + data == o.data + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [status, data].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + transformed_hash = {} + openapi_types.each_pair do |key, type| + if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = nil + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[attribute_map[key]].is_a?(Array) + transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) } + end + elsif !attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]]) + end + end + new(transformed_hash) + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + end + +end diff --git a/lib/kombo_client/models/post_ai_apply_postings_posting_id_inquire_positive_response.rb b/lib/kombo_client/models/post_ai_apply_postings_posting_id_inquire_positive_response.rb new file mode 100644 index 0000000..45468f8 --- /dev/null +++ b/lib/kombo_client/models/post_ai_apply_postings_posting_id_inquire_positive_response.rb @@ -0,0 +1,214 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.17.0 + +=end + +require 'date' +require 'time' + +module Kombo + class PostAiApplyPostingsPostingIdInquirePositiveResponse < ApiModelBase + attr_accessor :status + + attr_accessor :data + + class EnumAttributeValidator + attr_reader :datatype + attr_reader :allowable_values + + def initialize(datatype, allowable_values) + @allowable_values = allowable_values.map do |value| + case datatype.to_s + when /Integer/i + value.to_i + when /Float/i + value.to_f + else + value + end + end + end + + def valid?(value) + !value || allowable_values.include?(value) + end + end + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'status' => :'status', + :'data' => :'data' + } + end + + # Returns attribute mapping this model knows about + def self.acceptable_attribute_map + attribute_map + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + acceptable_attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'status' => :'String', + :'data' => :'PostAiApplyPostingsPostingIdInquirePositiveResponseData' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Kombo::PostAiApplyPostingsPostingIdInquirePositiveResponse` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + acceptable_attribute_map = self.class.acceptable_attribute_map + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!acceptable_attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Kombo::PostAiApplyPostingsPostingIdInquirePositiveResponse`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'status') + self.status = attributes[:'status'] + else + self.status = nil + end + + if attributes.key?(:'data') + self.data = attributes[:'data'] + else + self.data = nil + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + warn '[DEPRECATED] the `list_invalid_properties` method is obsolete' + invalid_properties = Array.new + if @status.nil? + invalid_properties.push('invalid value for "status", status cannot be nil.') + end + + if @data.nil? + invalid_properties.push('invalid value for "data", data cannot be nil.') + end + + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + warn '[DEPRECATED] the `valid?` method is obsolete' + return false if @status.nil? + status_validator = EnumAttributeValidator.new('String', ["success"]) + return false unless status_validator.valid?(@status) + return false if @data.nil? + true + end + + # Custom attribute writer method checking allowed values (enum). + # @param [Object] status Object to be assigned + def status=(status) + validator = EnumAttributeValidator.new('String', ["success"]) + unless validator.valid?(status) + fail ArgumentError, "invalid value for \"status\", must be one of #{validator.allowable_values}." + end + @status = status + end + + # Custom attribute writer method with validation + # @param [Object] data Value to be assigned + def data=(data) + if data.nil? + fail ArgumentError, 'data cannot be nil' + end + + @data = data + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + status == o.status && + data == o.data + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [status, data].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + transformed_hash = {} + openapi_types.each_pair do |key, type| + if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = nil + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[attribute_map[key]].is_a?(Array) + transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) } + end + elsif !attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]]) + end + end + new(transformed_hash) + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + end + +end diff --git a/lib/kombo_client/models/post_ai_apply_postings_posting_id_inquire_positive_response_data.rb b/lib/kombo_client/models/post_ai_apply_postings_posting_id_inquire_positive_response_data.rb new file mode 100644 index 0000000..34913ee --- /dev/null +++ b/lib/kombo_client/models/post_ai_apply_postings_posting_id_inquire_positive_response_data.rb @@ -0,0 +1,193 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.17.0 + +=end + +require 'date' +require 'time' + +module Kombo + class PostAiApplyPostingsPostingIdInquirePositiveResponseData < ApiModelBase + attr_accessor :application_form + + # JWT token for submitting the application. Valid for 12 hours from generation. + attr_accessor :submission_token + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'application_form' => :'application_form', + :'submission_token' => :'submission_token' + } + end + + # Returns attribute mapping this model knows about + def self.acceptable_attribute_map + attribute_map + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + acceptable_attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'application_form' => :'Array', + :'submission_token' => :'String' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Kombo::PostAiApplyPostingsPostingIdInquirePositiveResponseData` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + acceptable_attribute_map = self.class.acceptable_attribute_map + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!acceptable_attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Kombo::PostAiApplyPostingsPostingIdInquirePositiveResponseData`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'application_form') + if (value = attributes[:'application_form']).is_a?(Array) + self.application_form = value + end + else + self.application_form = nil + end + + if attributes.key?(:'submission_token') + self.submission_token = attributes[:'submission_token'] + else + self.submission_token = nil + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + warn '[DEPRECATED] the `list_invalid_properties` method is obsolete' + invalid_properties = Array.new + if @application_form.nil? + invalid_properties.push('invalid value for "application_form", application_form cannot be nil.') + end + + if @submission_token.nil? + invalid_properties.push('invalid value for "submission_token", submission_token cannot be nil.') + end + + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + warn '[DEPRECATED] the `valid?` method is obsolete' + return false if @application_form.nil? + return false if @submission_token.nil? + true + end + + # Custom attribute writer method with validation + # @param [Object] application_form Value to be assigned + def application_form=(application_form) + if application_form.nil? + fail ArgumentError, 'application_form cannot be nil' + end + + @application_form = application_form + end + + # Custom attribute writer method with validation + # @param [Object] submission_token Value to be assigned + def submission_token=(submission_token) + if submission_token.nil? + fail ArgumentError, 'submission_token cannot be nil' + end + + @submission_token = submission_token + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + application_form == o.application_form && + submission_token == o.submission_token + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [application_form, submission_token].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + transformed_hash = {} + openapi_types.each_pair do |key, type| + if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = nil + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[attribute_map[key]].is_a?(Array) + transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) } + end + elsif !attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]]) + end + end + new(transformed_hash) + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + end + +end diff --git a/lib/kombo_client/models/post_ai_apply_postings_posting_id_inquire_positive_response_data_application_form_inner.rb b/lib/kombo_client/models/post_ai_apply_postings_posting_id_inquire_positive_response_data_application_form_inner.rb new file mode 100644 index 0000000..a823cca --- /dev/null +++ b/lib/kombo_client/models/post_ai_apply_postings_posting_id_inquire_positive_response_data_application_form_inner.rb @@ -0,0 +1,103 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.17.0 + +=end + +require 'date' +require 'time' + +module Kombo + module PostAiApplyPostingsPostingIdInquirePositiveResponseDataApplicationFormInner + class << self + # List of class defined in anyOf (OpenAPI v3) + def openapi_any_of + [ + :'PostAiApplyPostingsPostingIdInquirePositiveResponseDataApplicationFormInnerAnyOf', + :'PostAiApplyPostingsPostingIdInquirePositiveResponseDataApplicationFormInnerAnyOf1' + ] + end + + # Builds the object + # @param [Mixed] Data to be matched against the list of anyOf items + # @return [Object] Returns the model or the data itself + def build(data) + # Go through the list of anyOf items and attempt to identify the appropriate one. + # Note: + # - No advanced validation of types in some cases (e.g. "x: { type: string }" will happily match { x: 123 }) + # due to the way the deserialization is made in the base_object template (it just casts without verifying). + # - TODO: scalar values are de facto behaving as if they were nullable. + # - TODO: logging when debugging is set. + openapi_any_of.each do |klass| + begin + next if klass == :AnyType # "nullable: true" + return find_and_cast_into_type(klass, data) + rescue # rescue all errors so we keep iterating even if the current item lookup raises + end + end + + openapi_any_of.include?(:AnyType) ? data : nil + end + + private + + SchemaMismatchError = Class.new(StandardError) + + # Note: 'File' is missing here because in the regular case we get the data _after_ a call to JSON.parse. + def find_and_cast_into_type(klass, data) + return if data.nil? + + case klass.to_s + when 'Boolean' + return data if data.instance_of?(TrueClass) || data.instance_of?(FalseClass) + when 'Float' + return data if data.instance_of?(Float) + when 'Integer' + return data if data.instance_of?(Integer) + when 'Time' + return Time.parse(data) + when 'Date' + return Date.iso8601(data) + when 'String' + return data if data.instance_of?(String) + when 'Object' # "type: object" + return data if data.instance_of?(Hash) + when /\AArray<(?.+)>\z/ # "type: array" + if data.instance_of?(Array) + sub_type = Regexp.last_match[:sub_type] + return data.map { |item| find_and_cast_into_type(sub_type, item) } + end + when /\AHash.+)>\z/ # "type: object" with "additionalProperties: { ... }" + if data.instance_of?(Hash) && data.keys.all? { |k| k.instance_of?(Symbol) || k.instance_of?(String) } + sub_type = Regexp.last_match[:sub_type] + return data.each_with_object({}) { |(k, v), hsh| hsh[k] = find_and_cast_into_type(sub_type, v) } + end + else # model + const = Kombo.const_get(klass) + if const + if const.respond_to?(:openapi_any_of) # nested anyOf model + model = const.build(data) + return model if model + else + # raise if data contains keys that are not known to the model + raise if const.respond_to?(:acceptable_attributes) && !(data.keys - const.acceptable_attributes).empty? + model = const.build_from_hash(data) + return model if model + end + end + end + + raise # if no match by now, raise + rescue + raise SchemaMismatchError, "#{data} doesn't match the #{klass} type" + end + end + end + +end diff --git a/lib/kombo_client/models/post_ai_apply_postings_posting_id_inquire_positive_response_data_application_form_inner_any_of.rb b/lib/kombo_client/models/post_ai_apply_postings_posting_id_inquire_positive_response_data_application_form_inner_any_of.rb new file mode 100644 index 0000000..460e967 --- /dev/null +++ b/lib/kombo_client/models/post_ai_apply_postings_posting_id_inquire_positive_response_data_application_form_inner_any_of.rb @@ -0,0 +1,395 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.17.0 + +=end + +require 'date' +require 'time' + +module Kombo + class PostAiApplyPostingsPostingIdInquirePositiveResponseDataApplicationFormInnerAnyOf < ApiModelBase + attr_accessor :block_type + + # The globally unique ID of this object generated by Kombo. We recommend using this as a stable primary key for syncing. + attr_accessor :question_id + + attr_accessor :label + + attr_accessor :description + + attr_accessor :required + + attr_accessor :category + + attr_accessor :question_type + + attr_accessor :unified_key + + attr_accessor :options + + attr_accessor :display_when + + class EnumAttributeValidator + attr_reader :datatype + attr_reader :allowable_values + + def initialize(datatype, allowable_values) + @allowable_values = allowable_values.map do |value| + case datatype.to_s + when /Integer/i + value.to_i + when /Float/i + value.to_f + else + value + end + end + end + + def valid?(value) + !value || allowable_values.include?(value) + end + end + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'block_type' => :'block_type', + :'question_id' => :'question_id', + :'label' => :'label', + :'description' => :'description', + :'required' => :'required', + :'category' => :'category', + :'question_type' => :'question_type', + :'unified_key' => :'unified_key', + :'options' => :'options', + :'display_when' => :'display_when' + } + end + + # Returns attribute mapping this model knows about + def self.acceptable_attribute_map + attribute_map + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + acceptable_attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'block_type' => :'String', + :'question_id' => :'String', + :'label' => :'String', + :'description' => :'String', + :'required' => :'Boolean', + :'category' => :'String', + :'question_type' => :'String', + :'unified_key' => :'String', + :'options' => :'Array', + :'display_when' => :'PostAiApplyPostingsPostingIdInquirePositiveResponseDataApplicationFormInnerAnyOfDisplayWhen' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + :'description', + :'category', + :'unified_key', + :'options', + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Kombo::PostAiApplyPostingsPostingIdInquirePositiveResponseDataApplicationFormInnerAnyOf` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + acceptable_attribute_map = self.class.acceptable_attribute_map + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!acceptable_attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Kombo::PostAiApplyPostingsPostingIdInquirePositiveResponseDataApplicationFormInnerAnyOf`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'block_type') + self.block_type = attributes[:'block_type'] + else + self.block_type = nil + end + + if attributes.key?(:'question_id') + self.question_id = attributes[:'question_id'] + else + self.question_id = nil + end + + if attributes.key?(:'label') + self.label = attributes[:'label'] + else + self.label = nil + end + + if attributes.key?(:'description') + self.description = attributes[:'description'] + else + self.description = nil + end + + if attributes.key?(:'required') + self.required = attributes[:'required'] + else + self.required = nil + end + + if attributes.key?(:'category') + self.category = attributes[:'category'] + else + self.category = nil + end + + if attributes.key?(:'question_type') + self.question_type = attributes[:'question_type'] + else + self.question_type = nil + end + + if attributes.key?(:'unified_key') + self.unified_key = attributes[:'unified_key'] + else + self.unified_key = nil + end + + if attributes.key?(:'options') + if (value = attributes[:'options']).is_a?(Array) + self.options = value + end + else + self.options = nil + end + + if attributes.key?(:'display_when') + self.display_when = attributes[:'display_when'] + else + self.display_when = nil + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + warn '[DEPRECATED] the `list_invalid_properties` method is obsolete' + invalid_properties = Array.new + if @block_type.nil? + invalid_properties.push('invalid value for "block_type", block_type cannot be nil.') + end + + if @question_id.nil? + invalid_properties.push('invalid value for "question_id", question_id cannot be nil.') + end + + if @label.nil? + invalid_properties.push('invalid value for "label", label cannot be nil.') + end + + if @required.nil? + invalid_properties.push('invalid value for "required", required cannot be nil.') + end + + if @question_type.nil? + invalid_properties.push('invalid value for "question_type", question_type cannot be nil.') + end + + if @display_when.nil? + invalid_properties.push('invalid value for "display_when", display_when cannot be nil.') + end + + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + warn '[DEPRECATED] the `valid?` method is obsolete' + return false if @block_type.nil? + block_type_validator = EnumAttributeValidator.new('String', ["QUESTION"]) + return false unless block_type_validator.valid?(@block_type) + return false if @question_id.nil? + return false if @label.nil? + return false if @required.nil? + category_validator = EnumAttributeValidator.new('String', ["EEO"]) + return false unless category_validator.valid?(@category) + return false if @question_type.nil? + question_type_validator = EnumAttributeValidator.new('String', ["TEXT", "NUMBER", "BOOLEAN", "FILE", "DATE", "SINGLE_SELECT", "MULTI_SELECT"]) + return false unless question_type_validator.valid?(@question_type) + unified_key_validator = EnumAttributeValidator.new('String', ["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"]) + return false unless unified_key_validator.valid?(@unified_key) + return false if @display_when.nil? + true + end + + # Custom attribute writer method checking allowed values (enum). + # @param [Object] block_type Object to be assigned + def block_type=(block_type) + validator = EnumAttributeValidator.new('String', ["QUESTION"]) + unless validator.valid?(block_type) + fail ArgumentError, "invalid value for \"block_type\", must be one of #{validator.allowable_values}." + end + @block_type = block_type + end + + # Custom attribute writer method with validation + # @param [Object] question_id Value to be assigned + def question_id=(question_id) + if question_id.nil? + fail ArgumentError, 'question_id cannot be nil' + end + + @question_id = question_id + end + + # Custom attribute writer method with validation + # @param [Object] label Value to be assigned + def label=(label) + if label.nil? + fail ArgumentError, 'label cannot be nil' + end + + @label = label + end + + # Custom attribute writer method with validation + # @param [Object] required Value to be assigned + def required=(required) + if required.nil? + fail ArgumentError, 'required cannot be nil' + end + + @required = required + end + + # Custom attribute writer method checking allowed values (enum). + # @param [Object] category Object to be assigned + def category=(category) + validator = EnumAttributeValidator.new('String', ["EEO"]) + unless validator.valid?(category) + fail ArgumentError, "invalid value for \"category\", must be one of #{validator.allowable_values}." + end + @category = category + end + + # Custom attribute writer method checking allowed values (enum). + # @param [Object] question_type Object to be assigned + def question_type=(question_type) + validator = EnumAttributeValidator.new('String', ["TEXT", "NUMBER", "BOOLEAN", "FILE", "DATE", "SINGLE_SELECT", "MULTI_SELECT"]) + unless validator.valid?(question_type) + fail ArgumentError, "invalid value for \"question_type\", must be one of #{validator.allowable_values}." + end + @question_type = question_type + end + + # Custom attribute writer method checking allowed values (enum). + # @param [Object] unified_key Object to be assigned + def unified_key=(unified_key) + validator = EnumAttributeValidator.new('String', ["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"]) + unless validator.valid?(unified_key) + fail ArgumentError, "invalid value for \"unified_key\", must be one of #{validator.allowable_values}." + end + @unified_key = unified_key + end + + # Custom attribute writer method with validation + # @param [Object] display_when Value to be assigned + def display_when=(display_when) + if display_when.nil? + fail ArgumentError, 'display_when cannot be nil' + end + + @display_when = display_when + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + block_type == o.block_type && + question_id == o.question_id && + label == o.label && + description == o.description && + required == o.required && + category == o.category && + question_type == o.question_type && + unified_key == o.unified_key && + options == o.options && + display_when == o.display_when + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [block_type, question_id, label, description, required, category, question_type, unified_key, options, display_when].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + transformed_hash = {} + openapi_types.each_pair do |key, type| + if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = nil + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[attribute_map[key]].is_a?(Array) + transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) } + end + elsif !attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]]) + end + end + new(transformed_hash) + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + end + +end diff --git a/lib/kombo_client/models/post_ai_apply_postings_posting_id_inquire_positive_response_data_application_form_inner_any_of1.rb b/lib/kombo_client/models/post_ai_apply_postings_posting_id_inquire_positive_response_data_application_form_inner_any_of1.rb new file mode 100644 index 0000000..30e0af5 --- /dev/null +++ b/lib/kombo_client/models/post_ai_apply_postings_posting_id_inquire_positive_response_data_application_form_inner_any_of1.rb @@ -0,0 +1,242 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.17.0 + +=end + +require 'date' +require 'time' + +module Kombo + class PostAiApplyPostingsPostingIdInquirePositiveResponseDataApplicationFormInnerAnyOf1 < ApiModelBase + attr_accessor :block_type + + attr_accessor :label + + attr_accessor :children + + class EnumAttributeValidator + attr_reader :datatype + attr_reader :allowable_values + + def initialize(datatype, allowable_values) + @allowable_values = allowable_values.map do |value| + case datatype.to_s + when /Integer/i + value.to_i + when /Float/i + value.to_f + else + value + end + end + end + + def valid?(value) + !value || allowable_values.include?(value) + end + end + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'block_type' => :'block_type', + :'label' => :'label', + :'children' => :'children' + } + end + + # Returns attribute mapping this model knows about + def self.acceptable_attribute_map + attribute_map + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + acceptable_attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'block_type' => :'String', + :'label' => :'String', + :'children' => :'Array' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Kombo::PostAiApplyPostingsPostingIdInquirePositiveResponseDataApplicationFormInnerAnyOf1` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + acceptable_attribute_map = self.class.acceptable_attribute_map + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!acceptable_attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Kombo::PostAiApplyPostingsPostingIdInquirePositiveResponseDataApplicationFormInnerAnyOf1`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'block_type') + self.block_type = attributes[:'block_type'] + else + self.block_type = nil + end + + if attributes.key?(:'label') + self.label = attributes[:'label'] + else + self.label = nil + end + + if attributes.key?(:'children') + if (value = attributes[:'children']).is_a?(Array) + self.children = value + end + else + self.children = nil + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + warn '[DEPRECATED] the `list_invalid_properties` method is obsolete' + invalid_properties = Array.new + if @block_type.nil? + invalid_properties.push('invalid value for "block_type", block_type cannot be nil.') + end + + if @label.nil? + invalid_properties.push('invalid value for "label", label cannot be nil.') + end + + if @children.nil? + invalid_properties.push('invalid value for "children", children cannot be nil.') + end + + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + warn '[DEPRECATED] the `valid?` method is obsolete' + return false if @block_type.nil? + block_type_validator = EnumAttributeValidator.new('String', ["SECTION"]) + return false unless block_type_validator.valid?(@block_type) + return false if @label.nil? + return false if @children.nil? + true + end + + # Custom attribute writer method checking allowed values (enum). + # @param [Object] block_type Object to be assigned + def block_type=(block_type) + validator = EnumAttributeValidator.new('String', ["SECTION"]) + unless validator.valid?(block_type) + fail ArgumentError, "invalid value for \"block_type\", must be one of #{validator.allowable_values}." + end + @block_type = block_type + end + + # Custom attribute writer method with validation + # @param [Object] label Value to be assigned + def label=(label) + if label.nil? + fail ArgumentError, 'label cannot be nil' + end + + @label = label + end + + # Custom attribute writer method with validation + # @param [Object] children Value to be assigned + def children=(children) + if children.nil? + fail ArgumentError, 'children cannot be nil' + end + + @children = children + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + block_type == o.block_type && + label == o.label && + children == o.children + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [block_type, label, children].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + transformed_hash = {} + openapi_types.each_pair do |key, type| + if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = nil + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[attribute_map[key]].is_a?(Array) + transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) } + end + elsif !attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]]) + end + end + new(transformed_hash) + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + end + +end diff --git a/lib/kombo_client/models/post_ai_apply_postings_posting_id_inquire_positive_response_data_application_form_inner_any_of_display_when.rb b/lib/kombo_client/models/post_ai_apply_postings_posting_id_inquire_positive_response_data_application_form_inner_any_of_display_when.rb new file mode 100644 index 0000000..d684506 --- /dev/null +++ b/lib/kombo_client/models/post_ai_apply_postings_posting_id_inquire_positive_response_data_application_form_inner_any_of_display_when.rb @@ -0,0 +1,191 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.17.0 + +=end + +require 'date' +require 'time' + +module Kombo + class PostAiApplyPostingsPostingIdInquirePositiveResponseDataApplicationFormInnerAnyOfDisplayWhen < ApiModelBase + # The globally unique ID of this object generated by Kombo. We recommend using this as a stable primary key for syncing. + attr_accessor :question_id + + attr_accessor :answer_equals + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'question_id' => :'question_id', + :'answer_equals' => :'answer_equals' + } + end + + # Returns attribute mapping this model knows about + def self.acceptable_attribute_map + attribute_map + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + acceptable_attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'question_id' => :'String', + :'answer_equals' => :'PostAiApplyPostingsPostingIdInquirePositiveResponseDataApplicationFormInnerAnyOfDisplayWhenAnswerEquals' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Kombo::PostAiApplyPostingsPostingIdInquirePositiveResponseDataApplicationFormInnerAnyOfDisplayWhen` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + acceptable_attribute_map = self.class.acceptable_attribute_map + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!acceptable_attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Kombo::PostAiApplyPostingsPostingIdInquirePositiveResponseDataApplicationFormInnerAnyOfDisplayWhen`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'question_id') + self.question_id = attributes[:'question_id'] + else + self.question_id = nil + end + + if attributes.key?(:'answer_equals') + self.answer_equals = attributes[:'answer_equals'] + else + self.answer_equals = nil + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + warn '[DEPRECATED] the `list_invalid_properties` method is obsolete' + invalid_properties = Array.new + if @question_id.nil? + invalid_properties.push('invalid value for "question_id", question_id cannot be nil.') + end + + if @answer_equals.nil? + invalid_properties.push('invalid value for "answer_equals", answer_equals cannot be nil.') + end + + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + warn '[DEPRECATED] the `valid?` method is obsolete' + return false if @question_id.nil? + return false if @answer_equals.nil? + true + end + + # Custom attribute writer method with validation + # @param [Object] question_id Value to be assigned + def question_id=(question_id) + if question_id.nil? + fail ArgumentError, 'question_id cannot be nil' + end + + @question_id = question_id + end + + # Custom attribute writer method with validation + # @param [Object] answer_equals Value to be assigned + def answer_equals=(answer_equals) + if answer_equals.nil? + fail ArgumentError, 'answer_equals cannot be nil' + end + + @answer_equals = answer_equals + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + question_id == o.question_id && + answer_equals == o.answer_equals + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [question_id, answer_equals].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + transformed_hash = {} + openapi_types.each_pair do |key, type| + if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = nil + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[attribute_map[key]].is_a?(Array) + transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) } + end + elsif !attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]]) + end + end + new(transformed_hash) + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + end + +end diff --git a/lib/kombo_client/models/post_ai_apply_postings_posting_id_inquire_positive_response_data_application_form_inner_any_of_display_when_answer_equals.rb b/lib/kombo_client/models/post_ai_apply_postings_posting_id_inquire_positive_response_data_application_form_inner_any_of_display_when_answer_equals.rb new file mode 100644 index 0000000..347ca15 --- /dev/null +++ b/lib/kombo_client/models/post_ai_apply_postings_posting_id_inquire_positive_response_data_application_form_inner_any_of_display_when_answer_equals.rb @@ -0,0 +1,107 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.17.0 + +=end + +require 'date' +require 'time' + +module Kombo + module PostAiApplyPostingsPostingIdInquirePositiveResponseDataApplicationFormInnerAnyOfDisplayWhenAnswerEquals + class << self + # List of class defined in oneOf (OpenAPI v3) + def openapi_one_of + [ + :'Array', + :'Boolean', + :'Float', + :'PostAiApplyPostingsPostingIdInquirePositiveResponseDataApplicationFormInnerAnyOfDisplayWhenAnswerEqualsOneOf', + :'String' + ] + end + + # Builds the object + # @param [Mixed] Data to be matched against the list of oneOf items + # @return [Object] Returns the model or the data itself + def build(data) + # Go through the list of oneOf items and attempt to identify the appropriate one. + # Note: + # - We do not attempt to check whether exactly one item matches. + # - No advanced validation of types in some cases (e.g. "x: { type: string }" will happily match { x: 123 }) + # due to the way the deserialization is made in the base_object template (it just casts without verifying). + # - TODO: scalar values are de facto behaving as if they were nullable. + # - TODO: logging when debugging is set. + openapi_one_of.each do |klass| + begin + next if klass == :AnyType # "nullable: true" + return find_and_cast_into_type(klass, data) + rescue # rescue all errors so we keep iterating even if the current item lookup raises + end + end + + openapi_one_of.include?(:AnyType) ? data : nil + end + + private + + SchemaMismatchError = Class.new(StandardError) + + # Note: 'File' is missing here because in the regular case we get the data _after_ a call to JSON.parse. + def find_and_cast_into_type(klass, data) + return if data.nil? + + case klass.to_s + when 'Boolean' + return data if data.instance_of?(TrueClass) || data.instance_of?(FalseClass) + when 'Float' + return data if data.instance_of?(Float) + when 'Integer' + return data if data.instance_of?(Integer) + when 'Time' + return Time.parse(data) + when 'Date' + return Date.iso8601(data) + when 'String' + return data if data.instance_of?(String) + when 'Object' # "type: object" + return data if data.instance_of?(Hash) + when /\AArray<(?.+)>\z/ # "type: array" + if data.instance_of?(Array) + sub_type = Regexp.last_match[:sub_type] + return data.map { |item| find_and_cast_into_type(sub_type, item) } + end + when /\AHash.+)>\z/ # "type: object" with "additionalProperties: { ... }" + if data.instance_of?(Hash) && data.keys.all? { |k| k.instance_of?(Symbol) || k.instance_of?(String) } + sub_type = Regexp.last_match[:sub_type] + return data.each_with_object({}) { |(k, v), hsh| hsh[k] = find_and_cast_into_type(sub_type, v) } + end + else # model + const = Kombo.const_get(klass) + if const + if const.respond_to?(:openapi_one_of) # nested oneOf model + model = const.build(data) + return model if model + else + # raise if data contains keys that are not known to the model + raise if const.respond_to?(:acceptable_attributes) && !(data.keys - const.acceptable_attributes).empty? + model = const.build_from_hash(data) + return model if model + end + end + end + + raise # if no match by now, raise + rescue + raise SchemaMismatchError, "#{data} doesn't match the #{klass} type" + end + end + end + +end diff --git a/lib/kombo_client/models/post_ai_apply_postings_posting_id_inquire_positive_response_data_application_form_inner_any_of_display_when_answer_equals_one_of.rb b/lib/kombo_client/models/post_ai_apply_postings_posting_id_inquire_positive_response_data_application_form_inner_any_of_display_when_answer_equals_one_of.rb new file mode 100644 index 0000000..5fb2032 --- /dev/null +++ b/lib/kombo_client/models/post_ai_apply_postings_posting_id_inquire_positive_response_data_application_form_inner_any_of_display_when_answer_equals_one_of.rb @@ -0,0 +1,220 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.17.0 + +=end + +require 'date' +require 'time' + +module Kombo + # Answer to a `FILE` question. + class PostAiApplyPostingsPostingIdInquirePositiveResponseDataApplicationFormInnerAnyOfDisplayWhenAnswerEqualsOneOf < ApiModelBase + # The original name (e.g., \"resume.pdf\") + attr_accessor :name + + # The MIME type of the file (e.g., \"application/pdf\", \"image/jpeg\") + attr_accessor :content_type + + # The file content encoded as a base64 string + attr_accessor :data + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'name' => :'name', + :'content_type' => :'content_type', + :'data' => :'data' + } + end + + # Returns attribute mapping this model knows about + def self.acceptable_attribute_map + attribute_map + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + acceptable_attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'name' => :'String', + :'content_type' => :'String', + :'data' => :'String' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Kombo::PostAiApplyPostingsPostingIdInquirePositiveResponseDataApplicationFormInnerAnyOfDisplayWhenAnswerEqualsOneOf` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + acceptable_attribute_map = self.class.acceptable_attribute_map + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!acceptable_attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Kombo::PostAiApplyPostingsPostingIdInquirePositiveResponseDataApplicationFormInnerAnyOfDisplayWhenAnswerEqualsOneOf`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'name') + self.name = attributes[:'name'] + else + self.name = nil + end + + if attributes.key?(:'content_type') + self.content_type = attributes[:'content_type'] + else + self.content_type = nil + end + + if attributes.key?(:'data') + self.data = attributes[:'data'] + else + self.data = nil + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + warn '[DEPRECATED] the `list_invalid_properties` method is obsolete' + invalid_properties = Array.new + if @name.nil? + invalid_properties.push('invalid value for "name", name cannot be nil.') + end + + if @content_type.nil? + invalid_properties.push('invalid value for "content_type", content_type cannot be nil.') + end + + if @data.nil? + invalid_properties.push('invalid value for "data", data cannot be nil.') + end + + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + warn '[DEPRECATED] the `valid?` method is obsolete' + return false if @name.nil? + return false if @content_type.nil? + return false if @data.nil? + true + end + + # Custom attribute writer method with validation + # @param [Object] name Value to be assigned + def name=(name) + if name.nil? + fail ArgumentError, 'name cannot be nil' + end + + @name = name + end + + # Custom attribute writer method with validation + # @param [Object] content_type Value to be assigned + def content_type=(content_type) + if content_type.nil? + fail ArgumentError, 'content_type cannot be nil' + end + + @content_type = content_type + end + + # Custom attribute writer method with validation + # @param [Object] data Value to be assigned + def data=(data) + if data.nil? + fail ArgumentError, 'data cannot be nil' + end + + @data = data + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + name == o.name && + content_type == o.content_type && + data == o.data + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [name, content_type, data].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + transformed_hash = {} + openapi_types.each_pair do |key, type| + if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = nil + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[attribute_map[key]].is_a?(Array) + transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) } + end + elsif !attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]]) + end + end + new(transformed_hash) + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + end + +end diff --git a/lib/kombo_client/models/post_ai_apply_postings_posting_id_inquire_positive_response_data_application_form_inner_any_of_options_inner.rb b/lib/kombo_client/models/post_ai_apply_postings_posting_id_inquire_positive_response_data_application_form_inner_any_of_options_inner.rb new file mode 100644 index 0000000..83e527f --- /dev/null +++ b/lib/kombo_client/models/post_ai_apply_postings_posting_id_inquire_positive_response_data_application_form_inner_any_of_options_inner.rb @@ -0,0 +1,237 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.17.0 + +=end + +require 'date' +require 'time' + +module Kombo + class PostAiApplyPostingsPostingIdInquirePositiveResponseDataApplicationFormInnerAnyOfOptionsInner < ApiModelBase + # The globally unique ID of this object generated by Kombo. We recommend using this as a stable primary key for syncing. + attr_accessor :id + + attr_accessor :label + + attr_accessor :unified_key + + class EnumAttributeValidator + attr_reader :datatype + attr_reader :allowable_values + + def initialize(datatype, allowable_values) + @allowable_values = allowable_values.map do |value| + case datatype.to_s + when /Integer/i + value.to_i + when /Float/i + value.to_f + else + value + end + end + end + + def valid?(value) + !value || allowable_values.include?(value) + end + end + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'id' => :'id', + :'label' => :'label', + :'unified_key' => :'unified_key' + } + end + + # Returns attribute mapping this model knows about + def self.acceptable_attribute_map + attribute_map + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + acceptable_attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'id' => :'String', + :'label' => :'String', + :'unified_key' => :'String' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + :'unified_key' + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Kombo::PostAiApplyPostingsPostingIdInquirePositiveResponseDataApplicationFormInnerAnyOfOptionsInner` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + acceptable_attribute_map = self.class.acceptable_attribute_map + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!acceptable_attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Kombo::PostAiApplyPostingsPostingIdInquirePositiveResponseDataApplicationFormInnerAnyOfOptionsInner`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'id') + self.id = attributes[:'id'] + else + self.id = nil + end + + if attributes.key?(:'label') + self.label = attributes[:'label'] + else + self.label = nil + end + + if attributes.key?(:'unified_key') + self.unified_key = attributes[:'unified_key'] + else + self.unified_key = nil + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + warn '[DEPRECATED] the `list_invalid_properties` method is obsolete' + invalid_properties = Array.new + if @id.nil? + invalid_properties.push('invalid value for "id", id cannot be nil.') + end + + if @label.nil? + invalid_properties.push('invalid value for "label", label cannot be nil.') + end + + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + warn '[DEPRECATED] the `valid?` method is obsolete' + return false if @id.nil? + return false if @label.nil? + unified_key_validator = EnumAttributeValidator.new('String', ["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"]) + return false unless unified_key_validator.valid?(@unified_key) + true + end + + # Custom attribute writer method with validation + # @param [Object] id Value to be assigned + def id=(id) + if id.nil? + fail ArgumentError, 'id cannot be nil' + end + + @id = id + end + + # Custom attribute writer method with validation + # @param [Object] label Value to be assigned + def label=(label) + if label.nil? + fail ArgumentError, 'label cannot be nil' + end + + @label = label + end + + # Custom attribute writer method checking allowed values (enum). + # @param [Object] unified_key Object to be assigned + def unified_key=(unified_key) + validator = EnumAttributeValidator.new('String', ["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"]) + unless validator.valid?(unified_key) + fail ArgumentError, "invalid value for \"unified_key\", must be one of #{validator.allowable_values}." + end + @unified_key = unified_key + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + id == o.id && + label == o.label && + unified_key == o.unified_key + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [id, label, unified_key].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + transformed_hash = {} + openapi_types.each_pair do |key, type| + if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = nil + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[attribute_map[key]].is_a?(Array) + transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) } + end + elsif !attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]]) + end + end + new(transformed_hash) + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + end + +end diff --git a/lib/kombo_client/models/post_ai_apply_postings_posting_id_parse_positive_response.rb b/lib/kombo_client/models/post_ai_apply_postings_posting_id_parse_positive_response.rb new file mode 100644 index 0000000..8871045 --- /dev/null +++ b/lib/kombo_client/models/post_ai_apply_postings_posting_id_parse_positive_response.rb @@ -0,0 +1,214 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.17.0 + +=end + +require 'date' +require 'time' + +module Kombo + class PostAiApplyPostingsPostingIdParsePositiveResponse < ApiModelBase + attr_accessor :status + + attr_accessor :data + + class EnumAttributeValidator + attr_reader :datatype + attr_reader :allowable_values + + def initialize(datatype, allowable_values) + @allowable_values = allowable_values.map do |value| + case datatype.to_s + when /Integer/i + value.to_i + when /Float/i + value.to_f + else + value + end + end + end + + def valid?(value) + !value || allowable_values.include?(value) + end + end + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'status' => :'status', + :'data' => :'data' + } + end + + # Returns attribute mapping this model knows about + def self.acceptable_attribute_map + attribute_map + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + acceptable_attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'status' => :'String', + :'data' => :'GetAiApplyPostingsPositiveResponseDataResultsInner' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Kombo::PostAiApplyPostingsPostingIdParsePositiveResponse` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + acceptable_attribute_map = self.class.acceptable_attribute_map + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!acceptable_attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Kombo::PostAiApplyPostingsPostingIdParsePositiveResponse`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'status') + self.status = attributes[:'status'] + else + self.status = nil + end + + if attributes.key?(:'data') + self.data = attributes[:'data'] + else + self.data = nil + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + warn '[DEPRECATED] the `list_invalid_properties` method is obsolete' + invalid_properties = Array.new + if @status.nil? + invalid_properties.push('invalid value for "status", status cannot be nil.') + end + + if @data.nil? + invalid_properties.push('invalid value for "data", data cannot be nil.') + end + + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + warn '[DEPRECATED] the `valid?` method is obsolete' + return false if @status.nil? + status_validator = EnumAttributeValidator.new('String', ["success"]) + return false unless status_validator.valid?(@status) + return false if @data.nil? + true + end + + # Custom attribute writer method checking allowed values (enum). + # @param [Object] status Object to be assigned + def status=(status) + validator = EnumAttributeValidator.new('String', ["success"]) + unless validator.valid?(status) + fail ArgumentError, "invalid value for \"status\", must be one of #{validator.allowable_values}." + end + @status = status + end + + # Custom attribute writer method with validation + # @param [Object] data Value to be assigned + def data=(data) + if data.nil? + fail ArgumentError, 'data cannot be nil' + end + + @data = data + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + status == o.status && + data == o.data + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [status, data].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + transformed_hash = {} + openapi_types.each_pair do |key, type| + if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = nil + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[attribute_map[key]].is_a?(Array) + transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) } + end + elsif !attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]]) + end + end + new(transformed_hash) + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + end + +end diff --git a/lib/kombo_client/models/post_ai_apply_postings_request_body.rb b/lib/kombo_client/models/post_ai_apply_postings_request_body.rb new file mode 100644 index 0000000..9e8ae91 --- /dev/null +++ b/lib/kombo_client/models/post_ai_apply_postings_request_body.rb @@ -0,0 +1,222 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.17.0 + +=end + +require 'date' +require 'time' + +module Kombo + class PostAiApplyPostingsRequestBody < ApiModelBase + # The globally unique ID of this object generated by Kombo. We recommend using this as a stable primary key for syncing. + attr_accessor :career_site_id + + # The URL of the job posting to parse + attr_accessor :url + + # Job code to associate with the job posting + attr_accessor :job_code + + attr_accessor :location + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'career_site_id' => :'career_site_id', + :'url' => :'url', + :'job_code' => :'job_code', + :'location' => :'location' + } + end + + # Returns attribute mapping this model knows about + def self.acceptable_attribute_map + attribute_map + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + acceptable_attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'career_site_id' => :'String', + :'url' => :'String', + :'job_code' => :'String', + :'location' => :'PostAiApplyPostingsRequestBodyLocation' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Kombo::PostAiApplyPostingsRequestBody` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + acceptable_attribute_map = self.class.acceptable_attribute_map + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!acceptable_attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Kombo::PostAiApplyPostingsRequestBody`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'career_site_id') + self.career_site_id = attributes[:'career_site_id'] + else + self.career_site_id = nil + end + + if attributes.key?(:'url') + self.url = attributes[:'url'] + else + self.url = nil + end + + if attributes.key?(:'job_code') + self.job_code = attributes[:'job_code'] + end + + if attributes.key?(:'location') + self.location = attributes[:'location'] + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + warn '[DEPRECATED] the `list_invalid_properties` method is obsolete' + invalid_properties = Array.new + if @career_site_id.nil? + invalid_properties.push('invalid value for "career_site_id", career_site_id cannot be nil.') + end + + if @url.nil? + invalid_properties.push('invalid value for "url", url cannot be nil.') + end + + pattern = Regexp.new(/^https?:\/\//) + if @url !~ pattern + invalid_properties.push("invalid value for \"url\", must conform to the pattern #{pattern}.") + end + + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + warn '[DEPRECATED] the `valid?` method is obsolete' + return false if @career_site_id.nil? + return false if @url.nil? + return false if @url !~ Regexp.new(/^https?:\/\//) + true + end + + # Custom attribute writer method with validation + # @param [Object] career_site_id Value to be assigned + def career_site_id=(career_site_id) + if career_site_id.nil? + fail ArgumentError, 'career_site_id cannot be nil' + end + + @career_site_id = career_site_id + end + + # Custom attribute writer method with validation + # @param [Object] url Value to be assigned + def url=(url) + if url.nil? + fail ArgumentError, 'url cannot be nil' + end + + pattern = Regexp.new(/^https?:\/\//) + if url !~ pattern + fail ArgumentError, "invalid value for \"url\", must conform to the pattern #{pattern}." + end + + @url = url + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + career_site_id == o.career_site_id && + url == o.url && + job_code == o.job_code && + location == o.location + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [career_site_id, url, job_code, location].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + transformed_hash = {} + openapi_types.each_pair do |key, type| + if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = nil + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[attribute_map[key]].is_a?(Array) + transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) } + end + elsif !attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]]) + end + end + new(transformed_hash) + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + end + +end diff --git a/lib/kombo_client/models/post_ai_apply_postings_request_body_location.rb b/lib/kombo_client/models/post_ai_apply_postings_request_body_location.rb new file mode 100644 index 0000000..088a500 --- /dev/null +++ b/lib/kombo_client/models/post_ai_apply_postings_request_body_location.rb @@ -0,0 +1,200 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.17.0 + +=end + +require 'date' +require 'time' + +module Kombo + # The location in which the job is located + class PostAiApplyPostingsRequestBodyLocation < ApiModelBase + # The country in which the job is located + attr_accessor :country + + # The postal/zip code in which the job is located + attr_accessor :postal_code + + class EnumAttributeValidator + attr_reader :datatype + attr_reader :allowable_values + + def initialize(datatype, allowable_values) + @allowable_values = allowable_values.map do |value| + case datatype.to_s + when /Integer/i + value.to_i + when /Float/i + value.to_f + else + value + end + end + end + + def valid?(value) + !value || allowable_values.include?(value) + end + end + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'country' => :'country', + :'postal_code' => :'postal_code' + } + end + + # Returns attribute mapping this model knows about + def self.acceptable_attribute_map + attribute_map + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + acceptable_attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'country' => :'String', + :'postal_code' => :'String' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Kombo::PostAiApplyPostingsRequestBodyLocation` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + acceptable_attribute_map = self.class.acceptable_attribute_map + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!acceptable_attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Kombo::PostAiApplyPostingsRequestBodyLocation`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'country') + self.country = attributes[:'country'] + else + self.country = nil + end + + if attributes.key?(:'postal_code') + self.postal_code = attributes[:'postal_code'] + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + warn '[DEPRECATED] the `list_invalid_properties` method is obsolete' + invalid_properties = Array.new + if @country.nil? + invalid_properties.push('invalid value for "country", country cannot be nil.') + end + + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + warn '[DEPRECATED] the `valid?` method is obsolete' + return false if @country.nil? + country_validator = EnumAttributeValidator.new('String', ["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"]) + return false unless country_validator.valid?(@country) + true + end + + # Custom attribute writer method checking allowed values (enum). + # @param [Object] country Object to be assigned + def country=(country) + validator = EnumAttributeValidator.new('String', ["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"]) + unless validator.valid?(country) + fail ArgumentError, "invalid value for \"country\", must be one of #{validator.allowable_values}." + end + @country = country + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + country == o.country && + postal_code == o.postal_code + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [country, postal_code].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + transformed_hash = {} + openapi_types.each_pair do |key, type| + if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = nil + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[attribute_map[key]].is_a?(Array) + transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) } + end + elsif !attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]]) + end + end + new(transformed_hash) + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + end + +end diff --git a/lib/kombo_client/models/post_ai_apply_unified_api_jobs_job_id_applications_positive_response.rb b/lib/kombo_client/models/post_ai_apply_unified_api_jobs_job_id_applications_positive_response.rb new file mode 100644 index 0000000..cd812fc --- /dev/null +++ b/lib/kombo_client/models/post_ai_apply_unified_api_jobs_job_id_applications_positive_response.rb @@ -0,0 +1,214 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.17.0 + +=end + +require 'date' +require 'time' + +module Kombo + class PostAiApplyUnifiedApiJobsJobIdApplicationsPositiveResponse < ApiModelBase + attr_accessor :status + + attr_accessor :data + + class EnumAttributeValidator + attr_reader :datatype + attr_reader :allowable_values + + def initialize(datatype, allowable_values) + @allowable_values = allowable_values.map do |value| + case datatype.to_s + when /Integer/i + value.to_i + when /Float/i + value.to_f + else + value + end + end + end + + def valid?(value) + !value || allowable_values.include?(value) + end + end + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'status' => :'status', + :'data' => :'data' + } + end + + # Returns attribute mapping this model knows about + def self.acceptable_attribute_map + attribute_map + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + acceptable_attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'status' => :'String', + :'data' => :'PostAtsJobsJobIdApplicationsPositiveResponseData' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Kombo::PostAiApplyUnifiedApiJobsJobIdApplicationsPositiveResponse` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + acceptable_attribute_map = self.class.acceptable_attribute_map + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!acceptable_attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Kombo::PostAiApplyUnifiedApiJobsJobIdApplicationsPositiveResponse`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'status') + self.status = attributes[:'status'] + else + self.status = nil + end + + if attributes.key?(:'data') + self.data = attributes[:'data'] + else + self.data = nil + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + warn '[DEPRECATED] the `list_invalid_properties` method is obsolete' + invalid_properties = Array.new + if @status.nil? + invalid_properties.push('invalid value for "status", status cannot be nil.') + end + + if @data.nil? + invalid_properties.push('invalid value for "data", data cannot be nil.') + end + + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + warn '[DEPRECATED] the `valid?` method is obsolete' + return false if @status.nil? + status_validator = EnumAttributeValidator.new('String', ["success"]) + return false unless status_validator.valid?(@status) + return false if @data.nil? + true + end + + # Custom attribute writer method checking allowed values (enum). + # @param [Object] status Object to be assigned + def status=(status) + validator = EnumAttributeValidator.new('String', ["success"]) + unless validator.valid?(status) + fail ArgumentError, "invalid value for \"status\", must be one of #{validator.allowable_values}." + end + @status = status + end + + # Custom attribute writer method with validation + # @param [Object] data Value to be assigned + def data=(data) + if data.nil? + fail ArgumentError, 'data cannot be nil' + end + + @data = data + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + status == o.status && + data == o.data + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [status, data].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + transformed_hash = {} + openapi_types.each_pair do |key, type| + if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = nil + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[attribute_map[key]].is_a?(Array) + transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) } + end + elsif !attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]]) + end + end + new(transformed_hash) + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + end + +end diff --git a/lib/kombo_client/models/post_ai_apply_unified_api_jobs_job_id_applications_request_body.rb b/lib/kombo_client/models/post_ai_apply_unified_api_jobs_job_id_applications_request_body.rb new file mode 100644 index 0000000..130ccd6 --- /dev/null +++ b/lib/kombo_client/models/post_ai_apply_unified_api_jobs_job_id_applications_request_body.rb @@ -0,0 +1,246 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.17.0 + +=end + +require 'date' +require 'time' + +module Kombo + class PostAiApplyUnifiedApiJobsJobIdApplicationsRequestBody < ApiModelBase + # 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. + attr_accessor :stage_id + + attr_accessor :candidate + + # 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. + attr_accessor :attachments + + attr_accessor :source + + attr_accessor :sourced_by + + attr_accessor :gdpr_consent + + attr_accessor :remote_fields + + # 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. + attr_accessor :screening_question_answers + + # Query parameters to be appended to the job posting URL when applying. + attr_accessor :_query_params + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'stage_id' => :'stage_id', + :'candidate' => :'candidate', + :'attachments' => :'attachments', + :'source' => :'source', + :'sourced_by' => :'sourced_by', + :'gdpr_consent' => :'gdpr_consent', + :'remote_fields' => :'remote_fields', + :'screening_question_answers' => :'screening_question_answers', + :'_query_params' => :'query_params' + } + end + + # Returns attribute mapping this model knows about + def self.acceptable_attribute_map + attribute_map + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + acceptable_attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'stage_id' => :'String', + :'candidate' => :'PostAtsCandidatesRequestBodyCandidate', + :'attachments' => :'Array', + :'source' => :'PostAtsCandidatesRequestBodySource', + :'sourced_by' => :'PostAtsCandidatesRequestBodySourcedBy', + :'gdpr_consent' => :'PostAtsCandidatesRequestBodyGdprConsent', + :'remote_fields' => :'PostAtsCandidatesRequestBodyRemoteFields', + :'screening_question_answers' => :'Array', + :'_query_params' => :'Hash' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Kombo::PostAiApplyUnifiedApiJobsJobIdApplicationsRequestBody` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + acceptable_attribute_map = self.class.acceptable_attribute_map + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!acceptable_attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Kombo::PostAiApplyUnifiedApiJobsJobIdApplicationsRequestBody`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'stage_id') + self.stage_id = attributes[:'stage_id'] + end + + if attributes.key?(:'candidate') + self.candidate = attributes[:'candidate'] + else + self.candidate = nil + end + + if attributes.key?(:'attachments') + if (value = attributes[:'attachments']).is_a?(Array) + self.attachments = value + end + end + + if attributes.key?(:'source') + self.source = attributes[:'source'] + end + + if attributes.key?(:'sourced_by') + self.sourced_by = attributes[:'sourced_by'] + end + + if attributes.key?(:'gdpr_consent') + self.gdpr_consent = attributes[:'gdpr_consent'] + end + + if attributes.key?(:'remote_fields') + self.remote_fields = attributes[:'remote_fields'] + end + + if attributes.key?(:'screening_question_answers') + if (value = attributes[:'screening_question_answers']).is_a?(Array) + self.screening_question_answers = value + end + end + + if attributes.key?(:'_query_params') + if (value = attributes[:'_query_params']).is_a?(Hash) + self._query_params = value + end + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + warn '[DEPRECATED] the `list_invalid_properties` method is obsolete' + invalid_properties = Array.new + if @candidate.nil? + invalid_properties.push('invalid value for "candidate", candidate cannot be nil.') + end + + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + warn '[DEPRECATED] the `valid?` method is obsolete' + return false if @candidate.nil? + true + end + + # Custom attribute writer method with validation + # @param [Object] candidate Value to be assigned + def candidate=(candidate) + if candidate.nil? + fail ArgumentError, 'candidate cannot be nil' + end + + @candidate = candidate + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + stage_id == o.stage_id && + candidate == o.candidate && + attachments == o.attachments && + source == o.source && + sourced_by == o.sourced_by && + gdpr_consent == o.gdpr_consent && + remote_fields == o.remote_fields && + screening_question_answers == o.screening_question_answers && + _query_params == o._query_params + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [stage_id, candidate, attachments, source, sourced_by, gdpr_consent, remote_fields, screening_question_answers, _query_params].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + transformed_hash = {} + openapi_types.each_pair do |key, type| + if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = nil + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[attribute_map[key]].is_a?(Array) + transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) } + end + elsif !attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]]) + end + end + new(transformed_hash) + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + end + +end diff --git a/lib/kombo_client/models/post_ats_applications_application_id_attachments_positive_response.rb b/lib/kombo_client/models/post_ats_applications_application_id_attachments_positive_response.rb new file mode 100644 index 0000000..1e71122 --- /dev/null +++ b/lib/kombo_client/models/post_ats_applications_application_id_attachments_positive_response.rb @@ -0,0 +1,243 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.17.0 + +=end + +require 'date' +require 'time' + +module Kombo + class PostAtsApplicationsApplicationIdAttachmentsPositiveResponse < ApiModelBase + attr_accessor :status + + attr_accessor :data + + # 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. + attr_accessor :warnings + + class EnumAttributeValidator + attr_reader :datatype + attr_reader :allowable_values + + def initialize(datatype, allowable_values) + @allowable_values = allowable_values.map do |value| + case datatype.to_s + when /Integer/i + value.to_i + when /Float/i + value.to_f + else + value + end + end + end + + def valid?(value) + !value || allowable_values.include?(value) + end + end + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'status' => :'status', + :'data' => :'data', + :'warnings' => :'warnings' + } + end + + # Returns attribute mapping this model knows about + def self.acceptable_attribute_map + attribute_map + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + acceptable_attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'status' => :'String', + :'data' => :'Object', + :'warnings' => :'Array' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Kombo::PostAtsApplicationsApplicationIdAttachmentsPositiveResponse` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + acceptable_attribute_map = self.class.acceptable_attribute_map + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!acceptable_attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Kombo::PostAtsApplicationsApplicationIdAttachmentsPositiveResponse`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'status') + self.status = attributes[:'status'] + else + self.status = nil + end + + if attributes.key?(:'data') + self.data = attributes[:'data'] + else + self.data = nil + end + + if attributes.key?(:'warnings') + if (value = attributes[:'warnings']).is_a?(Array) + self.warnings = value + end + else + self.warnings = nil + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + warn '[DEPRECATED] the `list_invalid_properties` method is obsolete' + invalid_properties = Array.new + if @status.nil? + invalid_properties.push('invalid value for "status", status cannot be nil.') + end + + if @data.nil? + invalid_properties.push('invalid value for "data", data cannot be nil.') + end + + if @warnings.nil? + invalid_properties.push('invalid value for "warnings", warnings cannot be nil.') + end + + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + warn '[DEPRECATED] the `valid?` method is obsolete' + return false if @status.nil? + status_validator = EnumAttributeValidator.new('String', ["success"]) + return false unless status_validator.valid?(@status) + return false if @data.nil? + return false if @warnings.nil? + true + end + + # Custom attribute writer method checking allowed values (enum). + # @param [Object] status Object to be assigned + def status=(status) + validator = EnumAttributeValidator.new('String', ["success"]) + unless validator.valid?(status) + fail ArgumentError, "invalid value for \"status\", must be one of #{validator.allowable_values}." + end + @status = status + end + + # Custom attribute writer method with validation + # @param [Object] data Value to be assigned + def data=(data) + if data.nil? + fail ArgumentError, 'data cannot be nil' + end + + @data = data + end + + # Custom attribute writer method with validation + # @param [Object] warnings Value to be assigned + def warnings=(warnings) + if warnings.nil? + fail ArgumentError, 'warnings cannot be nil' + end + + @warnings = warnings + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + status == o.status && + data == o.data && + warnings == o.warnings + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [status, data, warnings].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + transformed_hash = {} + openapi_types.each_pair do |key, type| + if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = nil + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[attribute_map[key]].is_a?(Array) + transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) } + end + elsif !attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]]) + end + end + new(transformed_hash) + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + end + +end diff --git a/lib/kombo_client/models/post_ats_applications_application_id_attachments_request_body.rb b/lib/kombo_client/models/post_ats_applications_application_id_attachments_request_body.rb new file mode 100644 index 0000000..6e92ad7 --- /dev/null +++ b/lib/kombo_client/models/post_ats_applications_application_id_attachments_request_body.rb @@ -0,0 +1,173 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.17.0 + +=end + +require 'date' +require 'time' + +module Kombo + class PostAtsApplicationsApplicationIdAttachmentsRequestBody < ApiModelBase + attr_accessor :attachment + + attr_accessor :remote_fields + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'attachment' => :'attachment', + :'remote_fields' => :'remote_fields' + } + end + + # Returns attribute mapping this model knows about + def self.acceptable_attribute_map + attribute_map + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + acceptable_attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'attachment' => :'PostAtsApplicationsApplicationIdAttachmentsRequestBodyAttachment', + :'remote_fields' => :'PostAtsApplicationsApplicationIdAttachmentsRequestBodyRemoteFields' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Kombo::PostAtsApplicationsApplicationIdAttachmentsRequestBody` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + acceptable_attribute_map = self.class.acceptable_attribute_map + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!acceptable_attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Kombo::PostAtsApplicationsApplicationIdAttachmentsRequestBody`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'attachment') + self.attachment = attributes[:'attachment'] + else + self.attachment = nil + end + + if attributes.key?(:'remote_fields') + self.remote_fields = attributes[:'remote_fields'] + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + warn '[DEPRECATED] the `list_invalid_properties` method is obsolete' + invalid_properties = Array.new + if @attachment.nil? + invalid_properties.push('invalid value for "attachment", attachment cannot be nil.') + end + + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + warn '[DEPRECATED] the `valid?` method is obsolete' + return false if @attachment.nil? + true + end + + # Custom attribute writer method with validation + # @param [Object] attachment Value to be assigned + def attachment=(attachment) + if attachment.nil? + fail ArgumentError, 'attachment cannot be nil' + end + + @attachment = attachment + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + attachment == o.attachment && + remote_fields == o.remote_fields + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [attachment, remote_fields].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + transformed_hash = {} + openapi_types.each_pair do |key, type| + if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = nil + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[attribute_map[key]].is_a?(Array) + transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) } + end + elsif !attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]]) + end + end + new(transformed_hash) + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + end + +end diff --git a/lib/kombo_client/models/post_ats_applications_application_id_attachments_request_body_attachment.rb b/lib/kombo_client/models/post_ats_applications_application_id_attachments_request_body_attachment.rb new file mode 100644 index 0000000..c03f983 --- /dev/null +++ b/lib/kombo_client/models/post_ats_applications_application_id_attachments_request_body_attachment.rb @@ -0,0 +1,267 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.17.0 + +=end + +require 'date' +require 'time' + +module Kombo + class PostAtsApplicationsApplicationIdAttachmentsRequestBodyAttachment < ApiModelBase + # 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. + attr_accessor :name + + # 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)). + attr_accessor :content_type + + # 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. + attr_accessor :data_url + + # 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. + attr_accessor :data + + # Type of the attachment in the ATS. This may affect where the uploaded file will be shown in your customer's system. + attr_accessor :type + + class EnumAttributeValidator + attr_reader :datatype + attr_reader :allowable_values + + def initialize(datatype, allowable_values) + @allowable_values = allowable_values.map do |value| + case datatype.to_s + when /Integer/i + value.to_i + when /Float/i + value.to_f + else + value + end + end + end + + def valid?(value) + !value || allowable_values.include?(value) + end + end + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'name' => :'name', + :'content_type' => :'content_type', + :'data_url' => :'data_url', + :'data' => :'data', + :'type' => :'type' + } + end + + # Returns attribute mapping this model knows about + def self.acceptable_attribute_map + attribute_map + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + acceptable_attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'name' => :'String', + :'content_type' => :'String', + :'data_url' => :'String', + :'data' => :'String', + :'type' => :'String' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Kombo::PostAtsApplicationsApplicationIdAttachmentsRequestBodyAttachment` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + acceptable_attribute_map = self.class.acceptable_attribute_map + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!acceptable_attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Kombo::PostAtsApplicationsApplicationIdAttachmentsRequestBodyAttachment`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'name') + self.name = attributes[:'name'] + else + self.name = nil + end + + if attributes.key?(:'content_type') + self.content_type = attributes[:'content_type'] + end + + if attributes.key?(:'data_url') + self.data_url = attributes[:'data_url'] + end + + if attributes.key?(:'data') + self.data = attributes[:'data'] + end + + if attributes.key?(:'type') + self.type = attributes[:'type'] + else + self.type = nil + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + warn '[DEPRECATED] the `list_invalid_properties` method is obsolete' + invalid_properties = Array.new + if @name.nil? + invalid_properties.push('invalid value for "name", name cannot be nil.') + end + + pattern = Regexp.new(/^[\w.-]+\/[\w.-]+$/) + if !@content_type.nil? && @content_type !~ pattern + invalid_properties.push("invalid value for \"content_type\", must conform to the pattern #{pattern}.") + end + + if @type.nil? + invalid_properties.push('invalid value for "type", type cannot be nil.') + end + + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + warn '[DEPRECATED] the `valid?` method is obsolete' + return false if @name.nil? + return false if !@content_type.nil? && @content_type !~ Regexp.new(/^[\w.-]+\/[\w.-]+$/) + return false if @type.nil? + type_validator = EnumAttributeValidator.new('String', ["CV", "COVER_LETTER", "OTHER"]) + return false unless type_validator.valid?(@type) + true + end + + # Custom attribute writer method with validation + # @param [Object] name Value to be assigned + def name=(name) + if name.nil? + fail ArgumentError, 'name cannot be nil' + end + + @name = name + end + + # Custom attribute writer method with validation + # @param [Object] content_type Value to be assigned + def content_type=(content_type) + if content_type.nil? + fail ArgumentError, 'content_type cannot be nil' + end + + pattern = Regexp.new(/^[\w.-]+\/[\w.-]+$/) + if content_type !~ pattern + fail ArgumentError, "invalid value for \"content_type\", must conform to the pattern #{pattern}." + end + + @content_type = content_type + end + + # Custom attribute writer method checking allowed values (enum). + # @param [Object] type Object to be assigned + def type=(type) + validator = EnumAttributeValidator.new('String', ["CV", "COVER_LETTER", "OTHER"]) + unless validator.valid?(type) + fail ArgumentError, "invalid value for \"type\", must be one of #{validator.allowable_values}." + end + @type = type + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + name == o.name && + content_type == o.content_type && + data_url == o.data_url && + data == o.data && + type == o.type + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [name, content_type, data_url, data, type].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + transformed_hash = {} + openapi_types.each_pair do |key, type| + if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = nil + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[attribute_map[key]].is_a?(Array) + transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) } + end + elsif !attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]]) + end + end + new(transformed_hash) + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + end + +end diff --git a/lib/kombo_client/models/post_ats_applications_application_id_attachments_request_body_remote_fields.rb b/lib/kombo_client/models/post_ats_applications_application_id_attachments_request_body_remote_fields.rb new file mode 100644 index 0000000..52a195e --- /dev/null +++ b/lib/kombo_client/models/post_ats_applications_application_id_attachments_request_body_remote_fields.rb @@ -0,0 +1,165 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.17.0 + +=end + +require 'date' +require 'time' + +module Kombo + class PostAtsApplicationsApplicationIdAttachmentsRequestBodyRemoteFields < ApiModelBase + attr_accessor :oracle + + attr_accessor :greenhouse + + attr_accessor :workable + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'oracle' => :'oracle', + :'greenhouse' => :'greenhouse', + :'workable' => :'workable' + } + end + + # Returns attribute mapping this model knows about + def self.acceptable_attribute_map + attribute_map + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + acceptable_attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'oracle' => :'PostAtsApplicationsApplicationIdAttachmentsRequestBodyRemoteFieldsAllOfOracle', + :'greenhouse' => :'PutAtsApplicationsApplicationIdStageRequestBodyRemoteFieldsGreenhouse', + :'workable' => :'PutAtsApplicationsApplicationIdStageRequestBodyRemoteFieldsWorkable' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Kombo::PostAtsApplicationsApplicationIdAttachmentsRequestBodyRemoteFields` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + acceptable_attribute_map = self.class.acceptable_attribute_map + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!acceptable_attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Kombo::PostAtsApplicationsApplicationIdAttachmentsRequestBodyRemoteFields`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'oracle') + self.oracle = attributes[:'oracle'] + end + + if attributes.key?(:'greenhouse') + self.greenhouse = attributes[:'greenhouse'] + end + + if attributes.key?(:'workable') + self.workable = attributes[:'workable'] + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + warn '[DEPRECATED] the `list_invalid_properties` method is obsolete' + invalid_properties = Array.new + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + warn '[DEPRECATED] the `valid?` method is obsolete' + true + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + oracle == o.oracle && + greenhouse == o.greenhouse && + workable == o.workable + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [oracle, greenhouse, workable].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + transformed_hash = {} + openapi_types.each_pair do |key, type| + if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = nil + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[attribute_map[key]].is_a?(Array) + transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) } + end + elsif !attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]]) + end + end + new(transformed_hash) + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + end + +end diff --git a/lib/kombo_client/models/post_ats_applications_application_id_attachments_request_body_remote_fields_all_of_oracle.rb b/lib/kombo_client/models/post_ats_applications_application_id_attachments_request_body_remote_fields_all_of_oracle.rb new file mode 100644 index 0000000..7557447 --- /dev/null +++ b/lib/kombo_client/models/post_ats_applications_application_id_attachments_request_body_remote_fields_all_of_oracle.rb @@ -0,0 +1,193 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.17.0 + +=end + +require 'date' +require 'time' + +module Kombo + # Oracle specific remote fields for the attachment. + class PostAtsApplicationsApplicationIdAttachmentsRequestBodyRemoteFieldsAllOfOracle < ApiModelBase + # Allows you to override the document category for the attachment. + attr_accessor :override_document_category + + # If true, the attachment will be posted to all current applications for the candidate. + attr_accessor :multi_post_to_all_current_applications + + class EnumAttributeValidator + attr_reader :datatype + attr_reader :allowable_values + + def initialize(datatype, allowable_values) + @allowable_values = allowable_values.map do |value| + case datatype.to_s + when /Integer/i + value.to_i + when /Float/i + value.to_f + else + value + end + end + end + + def valid?(value) + !value || allowable_values.include?(value) + end + end + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'override_document_category' => :'override_document_category', + :'multi_post_to_all_current_applications' => :'multi_post_to_all_current_applications' + } + end + + # Returns attribute mapping this model knows about + def self.acceptable_attribute_map + attribute_map + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + acceptable_attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'override_document_category' => :'String', + :'multi_post_to_all_current_applications' => :'Boolean' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Kombo::PostAtsApplicationsApplicationIdAttachmentsRequestBodyRemoteFieldsAllOfOracle` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + acceptable_attribute_map = self.class.acceptable_attribute_map + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!acceptable_attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Kombo::PostAtsApplicationsApplicationIdAttachmentsRequestBodyRemoteFieldsAllOfOracle`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'override_document_category') + self.override_document_category = attributes[:'override_document_category'] + end + + if attributes.key?(:'multi_post_to_all_current_applications') + self.multi_post_to_all_current_applications = attributes[:'multi_post_to_all_current_applications'] + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + warn '[DEPRECATED] the `list_invalid_properties` method is obsolete' + invalid_properties = Array.new + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + warn '[DEPRECATED] the `valid?` method is obsolete' + override_document_category_validator = EnumAttributeValidator.new('String', ["IRC_CANDIDATE_RESUME", "IRC_CANDIDATE_COVERLETTER", "MISC", "IRC_INTERNAL"]) + return false unless override_document_category_validator.valid?(@override_document_category) + true + end + + # Custom attribute writer method checking allowed values (enum). + # @param [Object] override_document_category Object to be assigned + def override_document_category=(override_document_category) + validator = EnumAttributeValidator.new('String', ["IRC_CANDIDATE_RESUME", "IRC_CANDIDATE_COVERLETTER", "MISC", "IRC_INTERNAL"]) + unless validator.valid?(override_document_category) + fail ArgumentError, "invalid value for \"override_document_category\", must be one of #{validator.allowable_values}." + end + @override_document_category = override_document_category + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + override_document_category == o.override_document_category && + multi_post_to_all_current_applications == o.multi_post_to_all_current_applications + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [override_document_category, multi_post_to_all_current_applications].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + transformed_hash = {} + openapi_types.each_pair do |key, type| + if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = nil + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[attribute_map[key]].is_a?(Array) + transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) } + end + elsif !attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]]) + end + end + new(transformed_hash) + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + end + +end diff --git a/lib/kombo_client/models/post_ats_applications_application_id_interviews_positive_response.rb b/lib/kombo_client/models/post_ats_applications_application_id_interviews_positive_response.rb new file mode 100644 index 0000000..7fbcb0e --- /dev/null +++ b/lib/kombo_client/models/post_ats_applications_application_id_interviews_positive_response.rb @@ -0,0 +1,214 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.17.0 + +=end + +require 'date' +require 'time' + +module Kombo + class PostAtsApplicationsApplicationIdInterviewsPositiveResponse < ApiModelBase + attr_accessor :status + + attr_accessor :data + + class EnumAttributeValidator + attr_reader :datatype + attr_reader :allowable_values + + def initialize(datatype, allowable_values) + @allowable_values = allowable_values.map do |value| + case datatype.to_s + when /Integer/i + value.to_i + when /Float/i + value.to_f + else + value + end + end + end + + def valid?(value) + !value || allowable_values.include?(value) + end + end + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'status' => :'status', + :'data' => :'data' + } + end + + # Returns attribute mapping this model knows about + def self.acceptable_attribute_map + attribute_map + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + acceptable_attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'status' => :'String', + :'data' => :'Object' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Kombo::PostAtsApplicationsApplicationIdInterviewsPositiveResponse` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + acceptable_attribute_map = self.class.acceptable_attribute_map + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!acceptable_attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Kombo::PostAtsApplicationsApplicationIdInterviewsPositiveResponse`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'status') + self.status = attributes[:'status'] + else + self.status = nil + end + + if attributes.key?(:'data') + self.data = attributes[:'data'] + else + self.data = nil + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + warn '[DEPRECATED] the `list_invalid_properties` method is obsolete' + invalid_properties = Array.new + if @status.nil? + invalid_properties.push('invalid value for "status", status cannot be nil.') + end + + if @data.nil? + invalid_properties.push('invalid value for "data", data cannot be nil.') + end + + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + warn '[DEPRECATED] the `valid?` method is obsolete' + return false if @status.nil? + status_validator = EnumAttributeValidator.new('String', ["success"]) + return false unless status_validator.valid?(@status) + return false if @data.nil? + true + end + + # Custom attribute writer method checking allowed values (enum). + # @param [Object] status Object to be assigned + def status=(status) + validator = EnumAttributeValidator.new('String', ["success"]) + unless validator.valid?(status) + fail ArgumentError, "invalid value for \"status\", must be one of #{validator.allowable_values}." + end + @status = status + end + + # Custom attribute writer method with validation + # @param [Object] data Value to be assigned + def data=(data) + if data.nil? + fail ArgumentError, 'data cannot be nil' + end + + @data = data + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + status == o.status && + data == o.data + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [status, data].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + transformed_hash = {} + openapi_types.each_pair do |key, type| + if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = nil + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[attribute_map[key]].is_a?(Array) + transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) } + end + elsif !attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]]) + end + end + new(transformed_hash) + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + end + +end diff --git a/lib/kombo_client/models/post_ats_applications_application_id_interviews_request_body.rb b/lib/kombo_client/models/post_ats_applications_application_id_interviews_request_body.rb new file mode 100644 index 0000000..36f44be --- /dev/null +++ b/lib/kombo_client/models/post_ats_applications_application_id_interviews_request_body.rb @@ -0,0 +1,301 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.17.0 + +=end + +require 'date' +require 'time' + +module Kombo + class PostAtsApplicationsApplicationIdInterviewsRequestBody < ApiModelBase + # The title of the interview + attr_accessor :title + + # The start time of the interview + attr_accessor :start_time + + # The end time of the interview + attr_accessor :end_time + + # The IDs of the interviewers + attr_accessor :interviewer_user_ids + + # The ID of the organizer + attr_accessor :organizer_user_id + + attr_accessor :location + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'title' => :'title', + :'start_time' => :'start_time', + :'end_time' => :'end_time', + :'interviewer_user_ids' => :'interviewer_user_ids', + :'organizer_user_id' => :'organizer_user_id', + :'location' => :'location' + } + end + + # Returns attribute mapping this model knows about + def self.acceptable_attribute_map + attribute_map + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + acceptable_attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'title' => :'String', + :'start_time' => :'String', + :'end_time' => :'String', + :'interviewer_user_ids' => :'Array', + :'organizer_user_id' => :'String', + :'location' => :'PostAtsApplicationsApplicationIdInterviewsRequestBodyLocation' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Kombo::PostAtsApplicationsApplicationIdInterviewsRequestBody` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + acceptable_attribute_map = self.class.acceptable_attribute_map + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!acceptable_attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Kombo::PostAtsApplicationsApplicationIdInterviewsRequestBody`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'title') + self.title = attributes[:'title'] + else + self.title = nil + end + + if attributes.key?(:'start_time') + self.start_time = attributes[:'start_time'] + else + self.start_time = nil + end + + if attributes.key?(:'end_time') + self.end_time = attributes[:'end_time'] + else + self.end_time = nil + end + + if attributes.key?(:'interviewer_user_ids') + if (value = attributes[:'interviewer_user_ids']).is_a?(Array) + self.interviewer_user_ids = value + end + else + self.interviewer_user_ids = nil + end + + if attributes.key?(:'organizer_user_id') + self.organizer_user_id = attributes[:'organizer_user_id'] + else + self.organizer_user_id = nil + end + + if attributes.key?(:'location') + self.location = attributes[:'location'] + else + self.location = nil + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + warn '[DEPRECATED] the `list_invalid_properties` method is obsolete' + invalid_properties = Array.new + if @title.nil? + invalid_properties.push('invalid value for "title", title cannot be nil.') + end + + if @start_time.nil? + invalid_properties.push('invalid value for "start_time", start_time cannot be nil.') + end + + if @end_time.nil? + invalid_properties.push('invalid value for "end_time", end_time cannot be nil.') + end + + if @interviewer_user_ids.nil? + invalid_properties.push('invalid value for "interviewer_user_ids", interviewer_user_ids cannot be nil.') + end + + if @organizer_user_id.nil? + invalid_properties.push('invalid value for "organizer_user_id", organizer_user_id cannot be nil.') + end + + if @location.nil? + invalid_properties.push('invalid value for "location", location cannot be nil.') + end + + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + warn '[DEPRECATED] the `valid?` method is obsolete' + return false if @title.nil? + return false if @start_time.nil? + return false if @end_time.nil? + return false if @interviewer_user_ids.nil? + return false if @organizer_user_id.nil? + return false if @location.nil? + true + end + + # Custom attribute writer method with validation + # @param [Object] title Value to be assigned + def title=(title) + if title.nil? + fail ArgumentError, 'title cannot be nil' + end + + @title = title + end + + # Custom attribute writer method with validation + # @param [Object] start_time Value to be assigned + def start_time=(start_time) + if start_time.nil? + fail ArgumentError, 'start_time cannot be nil' + end + + @start_time = start_time + end + + # Custom attribute writer method with validation + # @param [Object] end_time Value to be assigned + def end_time=(end_time) + if end_time.nil? + fail ArgumentError, 'end_time cannot be nil' + end + + @end_time = end_time + end + + # Custom attribute writer method with validation + # @param [Object] interviewer_user_ids Value to be assigned + def interviewer_user_ids=(interviewer_user_ids) + if interviewer_user_ids.nil? + fail ArgumentError, 'interviewer_user_ids cannot be nil' + end + + @interviewer_user_ids = interviewer_user_ids + end + + # Custom attribute writer method with validation + # @param [Object] organizer_user_id Value to be assigned + def organizer_user_id=(organizer_user_id) + if organizer_user_id.nil? + fail ArgumentError, 'organizer_user_id cannot be nil' + end + + @organizer_user_id = organizer_user_id + end + + # Custom attribute writer method with validation + # @param [Object] location Value to be assigned + def location=(location) + if location.nil? + fail ArgumentError, 'location cannot be nil' + end + + @location = location + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + title == o.title && + start_time == o.start_time && + end_time == o.end_time && + interviewer_user_ids == o.interviewer_user_ids && + organizer_user_id == o.organizer_user_id && + location == o.location + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [title, start_time, end_time, interviewer_user_ids, organizer_user_id, location].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + transformed_hash = {} + openapi_types.each_pair do |key, type| + if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = nil + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[attribute_map[key]].is_a?(Array) + transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) } + end + elsif !attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]]) + end + end + new(transformed_hash) + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + end + +end diff --git a/lib/kombo_client/models/post_ats_applications_application_id_interviews_request_body_location.rb b/lib/kombo_client/models/post_ats_applications_application_id_interviews_request_body_location.rb new file mode 100644 index 0000000..73730be --- /dev/null +++ b/lib/kombo_client/models/post_ats_applications_application_id_interviews_request_body_location.rb @@ -0,0 +1,198 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.17.0 + +=end + +require 'date' +require 'time' + +module Kombo + class PostAtsApplicationsApplicationIdInterviewsRequestBodyLocation < ApiModelBase + attr_accessor :type + + # The address of the interview + attr_accessor :address + + class EnumAttributeValidator + attr_reader :datatype + attr_reader :allowable_values + + def initialize(datatype, allowable_values) + @allowable_values = allowable_values.map do |value| + case datatype.to_s + when /Integer/i + value.to_i + when /Float/i + value.to_f + else + value + end + end + end + + def valid?(value) + !value || allowable_values.include?(value) + end + end + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'type' => :'type', + :'address' => :'address' + } + end + + # Returns attribute mapping this model knows about + def self.acceptable_attribute_map + attribute_map + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + acceptable_attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'type' => :'String', + :'address' => :'String' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Kombo::PostAtsApplicationsApplicationIdInterviewsRequestBodyLocation` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + acceptable_attribute_map = self.class.acceptable_attribute_map + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!acceptable_attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Kombo::PostAtsApplicationsApplicationIdInterviewsRequestBodyLocation`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'type') + self.type = attributes[:'type'] + else + self.type = nil + end + + if attributes.key?(:'address') + self.address = attributes[:'address'] + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + warn '[DEPRECATED] the `list_invalid_properties` method is obsolete' + invalid_properties = Array.new + if @type.nil? + invalid_properties.push('invalid value for "type", type cannot be nil.') + end + + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + warn '[DEPRECATED] the `valid?` method is obsolete' + return false if @type.nil? + type_validator = EnumAttributeValidator.new('String', ["PHYSICAL", "VIRTUAL"]) + return false unless type_validator.valid?(@type) + true + end + + # Custom attribute writer method checking allowed values (enum). + # @param [Object] type Object to be assigned + def type=(type) + validator = EnumAttributeValidator.new('String', ["PHYSICAL", "VIRTUAL"]) + unless validator.valid?(type) + fail ArgumentError, "invalid value for \"type\", must be one of #{validator.allowable_values}." + end + @type = type + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + type == o.type && + address == o.address + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [type, address].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + transformed_hash = {} + openapi_types.each_pair do |key, type| + if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = nil + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[attribute_map[key]].is_a?(Array) + transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) } + end + elsif !attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]]) + end + end + new(transformed_hash) + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + end + +end diff --git a/lib/kombo_client/models/post_ats_applications_application_id_notes_positive_response.rb b/lib/kombo_client/models/post_ats_applications_application_id_notes_positive_response.rb new file mode 100644 index 0000000..ea3c29d --- /dev/null +++ b/lib/kombo_client/models/post_ats_applications_application_id_notes_positive_response.rb @@ -0,0 +1,243 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.17.0 + +=end + +require 'date' +require 'time' + +module Kombo + class PostAtsApplicationsApplicationIdNotesPositiveResponse < ApiModelBase + attr_accessor :status + + attr_accessor :data + + # 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. + attr_accessor :warnings + + class EnumAttributeValidator + attr_reader :datatype + attr_reader :allowable_values + + def initialize(datatype, allowable_values) + @allowable_values = allowable_values.map do |value| + case datatype.to_s + when /Integer/i + value.to_i + when /Float/i + value.to_f + else + value + end + end + end + + def valid?(value) + !value || allowable_values.include?(value) + end + end + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'status' => :'status', + :'data' => :'data', + :'warnings' => :'warnings' + } + end + + # Returns attribute mapping this model knows about + def self.acceptable_attribute_map + attribute_map + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + acceptable_attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'status' => :'String', + :'data' => :'Object', + :'warnings' => :'Array' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Kombo::PostAtsApplicationsApplicationIdNotesPositiveResponse` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + acceptable_attribute_map = self.class.acceptable_attribute_map + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!acceptable_attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Kombo::PostAtsApplicationsApplicationIdNotesPositiveResponse`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'status') + self.status = attributes[:'status'] + else + self.status = nil + end + + if attributes.key?(:'data') + self.data = attributes[:'data'] + else + self.data = nil + end + + if attributes.key?(:'warnings') + if (value = attributes[:'warnings']).is_a?(Array) + self.warnings = value + end + else + self.warnings = nil + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + warn '[DEPRECATED] the `list_invalid_properties` method is obsolete' + invalid_properties = Array.new + if @status.nil? + invalid_properties.push('invalid value for "status", status cannot be nil.') + end + + if @data.nil? + invalid_properties.push('invalid value for "data", data cannot be nil.') + end + + if @warnings.nil? + invalid_properties.push('invalid value for "warnings", warnings cannot be nil.') + end + + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + warn '[DEPRECATED] the `valid?` method is obsolete' + return false if @status.nil? + status_validator = EnumAttributeValidator.new('String', ["success"]) + return false unless status_validator.valid?(@status) + return false if @data.nil? + return false if @warnings.nil? + true + end + + # Custom attribute writer method checking allowed values (enum). + # @param [Object] status Object to be assigned + def status=(status) + validator = EnumAttributeValidator.new('String', ["success"]) + unless validator.valid?(status) + fail ArgumentError, "invalid value for \"status\", must be one of #{validator.allowable_values}." + end + @status = status + end + + # Custom attribute writer method with validation + # @param [Object] data Value to be assigned + def data=(data) + if data.nil? + fail ArgumentError, 'data cannot be nil' + end + + @data = data + end + + # Custom attribute writer method with validation + # @param [Object] warnings Value to be assigned + def warnings=(warnings) + if warnings.nil? + fail ArgumentError, 'warnings cannot be nil' + end + + @warnings = warnings + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + status == o.status && + data == o.data && + warnings == o.warnings + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [status, data, warnings].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + transformed_hash = {} + openapi_types.each_pair do |key, type| + if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = nil + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[attribute_map[key]].is_a?(Array) + transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) } + end + elsif !attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]]) + end + end + new(transformed_hash) + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + end + +end diff --git a/lib/kombo_client/models/post_ats_applications_application_id_notes_request_body.rb b/lib/kombo_client/models/post_ats_applications_application_id_notes_request_body.rb new file mode 100644 index 0000000..ba263b6 --- /dev/null +++ b/lib/kombo_client/models/post_ats_applications_application_id_notes_request_body.rb @@ -0,0 +1,225 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.17.0 + +=end + +require 'date' +require 'time' + +module Kombo + class PostAtsApplicationsApplicationIdNotesRequestBody < ApiModelBase + # UTF-8 content of the note. + attr_accessor :content + + # Content type of the note. Currently only `PLAIN_TEXT` is supported. + attr_accessor :content_type + + attr_accessor :remote_fields + + class EnumAttributeValidator + attr_reader :datatype + attr_reader :allowable_values + + def initialize(datatype, allowable_values) + @allowable_values = allowable_values.map do |value| + case datatype.to_s + when /Integer/i + value.to_i + when /Float/i + value.to_f + else + value + end + end + end + + def valid?(value) + !value || allowable_values.include?(value) + end + end + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'content' => :'content', + :'content_type' => :'content_type', + :'remote_fields' => :'remote_fields' + } + end + + # Returns attribute mapping this model knows about + def self.acceptable_attribute_map + attribute_map + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + acceptable_attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'content' => :'String', + :'content_type' => :'String', + :'remote_fields' => :'PostAtsApplicationsApplicationIdNotesRequestBodyRemoteFields' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Kombo::PostAtsApplicationsApplicationIdNotesRequestBody` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + acceptable_attribute_map = self.class.acceptable_attribute_map + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!acceptable_attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Kombo::PostAtsApplicationsApplicationIdNotesRequestBody`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'content') + self.content = attributes[:'content'] + else + self.content = nil + end + + if attributes.key?(:'content_type') + self.content_type = attributes[:'content_type'] + else + self.content_type = nil + end + + if attributes.key?(:'remote_fields') + self.remote_fields = attributes[:'remote_fields'] + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + warn '[DEPRECATED] the `list_invalid_properties` method is obsolete' + invalid_properties = Array.new + if @content.nil? + invalid_properties.push('invalid value for "content", content cannot be nil.') + end + + if @content_type.nil? + invalid_properties.push('invalid value for "content_type", content_type cannot be nil.') + end + + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + warn '[DEPRECATED] the `valid?` method is obsolete' + return false if @content.nil? + return false if @content_type.nil? + content_type_validator = EnumAttributeValidator.new('String', ["PLAIN_TEXT"]) + return false unless content_type_validator.valid?(@content_type) + true + end + + # Custom attribute writer method with validation + # @param [Object] content Value to be assigned + def content=(content) + if content.nil? + fail ArgumentError, 'content cannot be nil' + end + + @content = content + end + + # Custom attribute writer method checking allowed values (enum). + # @param [Object] content_type Object to be assigned + def content_type=(content_type) + validator = EnumAttributeValidator.new('String', ["PLAIN_TEXT"]) + unless validator.valid?(content_type) + fail ArgumentError, "invalid value for \"content_type\", must be one of #{validator.allowable_values}." + end + @content_type = content_type + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + content == o.content && + content_type == o.content_type && + remote_fields == o.remote_fields + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [content, content_type, remote_fields].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + transformed_hash = {} + openapi_types.each_pair do |key, type| + if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = nil + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[attribute_map[key]].is_a?(Array) + transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) } + end + elsif !attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]]) + end + end + new(transformed_hash) + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + end + +end diff --git a/lib/kombo_client/models/post_ats_applications_application_id_notes_request_body_remote_fields.rb b/lib/kombo_client/models/post_ats_applications_application_id_notes_request_body_remote_fields.rb new file mode 100644 index 0000000..258df91 --- /dev/null +++ b/lib/kombo_client/models/post_ats_applications_application_id_notes_request_body_remote_fields.rb @@ -0,0 +1,184 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.17.0 + +=end + +require 'date' +require 'time' + +module Kombo + # Tool specific remote fields for the note. + class PostAtsApplicationsApplicationIdNotesRequestBodyRemoteFields < ApiModelBase + attr_accessor :teamtailor + + attr_accessor :greenhouse + + attr_accessor :recruitee + + attr_accessor :bullhorn + + attr_accessor :workable + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'teamtailor' => :'teamtailor', + :'greenhouse' => :'greenhouse', + :'recruitee' => :'recruitee', + :'bullhorn' => :'bullhorn', + :'workable' => :'workable' + } + end + + # Returns attribute mapping this model knows about + def self.acceptable_attribute_map + attribute_map + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + acceptable_attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'teamtailor' => :'PostAtsApplicationsApplicationIdNotesRequestBodyRemoteFieldsAllOfTeamtailor', + :'greenhouse' => :'PutAtsApplicationsApplicationIdStageRequestBodyRemoteFieldsGreenhouse', + :'recruitee' => :'PostAtsApplicationsApplicationIdNotesRequestBodyRemoteFieldsAllOfRecruitee', + :'bullhorn' => :'PostAtsApplicationsApplicationIdNotesRequestBodyRemoteFieldsAllOfBullhorn', + :'workable' => :'PutAtsApplicationsApplicationIdStageRequestBodyRemoteFieldsWorkable' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Kombo::PostAtsApplicationsApplicationIdNotesRequestBodyRemoteFields` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + acceptable_attribute_map = self.class.acceptable_attribute_map + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!acceptable_attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Kombo::PostAtsApplicationsApplicationIdNotesRequestBodyRemoteFields`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'teamtailor') + self.teamtailor = attributes[:'teamtailor'] + end + + if attributes.key?(:'greenhouse') + self.greenhouse = attributes[:'greenhouse'] + end + + if attributes.key?(:'recruitee') + self.recruitee = attributes[:'recruitee'] + end + + if attributes.key?(:'bullhorn') + self.bullhorn = attributes[:'bullhorn'] + end + + if attributes.key?(:'workable') + self.workable = attributes[:'workable'] + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + warn '[DEPRECATED] the `list_invalid_properties` method is obsolete' + invalid_properties = Array.new + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + warn '[DEPRECATED] the `valid?` method is obsolete' + true + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + teamtailor == o.teamtailor && + greenhouse == o.greenhouse && + recruitee == o.recruitee && + bullhorn == o.bullhorn && + workable == o.workable + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [teamtailor, greenhouse, recruitee, bullhorn, workable].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + transformed_hash = {} + openapi_types.each_pair do |key, type| + if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = nil + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[attribute_map[key]].is_a?(Array) + transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) } + end + elsif !attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]]) + end + end + new(transformed_hash) + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + end + +end diff --git a/lib/kombo_client/models/post_ats_applications_application_id_notes_request_body_remote_fields_all_of_bullhorn.rb b/lib/kombo_client/models/post_ats_applications_application_id_notes_request_body_remote_fields_all_of_bullhorn.rb new file mode 100644 index 0000000..0f7bb13 --- /dev/null +++ b/lib/kombo_client/models/post_ats_applications_application_id_notes_request_body_remote_fields_all_of_bullhorn.rb @@ -0,0 +1,149 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.17.0 + +=end + +require 'date' +require 'time' + +module Kombo + # Bullhorn specific remote fields for the note. + class PostAtsApplicationsApplicationIdNotesRequestBodyRemoteFieldsAllOfBullhorn < ApiModelBase + # 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`. + attr_accessor :action + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'action' => :'action' + } + end + + # Returns attribute mapping this model knows about + def self.acceptable_attribute_map + attribute_map + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + acceptable_attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'action' => :'String' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Kombo::PostAtsApplicationsApplicationIdNotesRequestBodyRemoteFieldsAllOfBullhorn` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + acceptable_attribute_map = self.class.acceptable_attribute_map + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!acceptable_attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Kombo::PostAtsApplicationsApplicationIdNotesRequestBodyRemoteFieldsAllOfBullhorn`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'action') + self.action = attributes[:'action'] + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + warn '[DEPRECATED] the `list_invalid_properties` method is obsolete' + invalid_properties = Array.new + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + warn '[DEPRECATED] the `valid?` method is obsolete' + true + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + action == o.action + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [action].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + transformed_hash = {} + openapi_types.each_pair do |key, type| + if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = nil + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[attribute_map[key]].is_a?(Array) + transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) } + end + elsif !attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]]) + end + end + new(transformed_hash) + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + end + +end diff --git a/lib/kombo_client/models/post_ats_applications_application_id_notes_request_body_remote_fields_all_of_greenhouse.rb b/lib/kombo_client/models/post_ats_applications_application_id_notes_request_body_remote_fields_all_of_greenhouse.rb new file mode 100644 index 0000000..fbeec37 --- /dev/null +++ b/lib/kombo_client/models/post_ats_applications_application_id_notes_request_body_remote_fields_all_of_greenhouse.rb @@ -0,0 +1,183 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.17.0 + +=end + +require 'date' +require 'time' + +module Kombo + # Greenhouse specific remote fields for the note. + class PostAtsApplicationsApplicationIdNotesRequestBodyRemoteFieldsAllOfGreenhouse < ApiModelBase + # Visibility of the created note. + attr_accessor :visibility + + class EnumAttributeValidator + attr_reader :datatype + attr_reader :allowable_values + + def initialize(datatype, allowable_values) + @allowable_values = allowable_values.map do |value| + case datatype.to_s + when /Integer/i + value.to_i + when /Float/i + value.to_f + else + value + end + end + end + + def valid?(value) + !value || allowable_values.include?(value) + end + end + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'visibility' => :'visibility' + } + end + + # Returns attribute mapping this model knows about + def self.acceptable_attribute_map + attribute_map + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + acceptable_attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'visibility' => :'String' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Kombo::PostAtsApplicationsApplicationIdNotesRequestBodyRemoteFieldsAllOfGreenhouse` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + acceptable_attribute_map = self.class.acceptable_attribute_map + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!acceptable_attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Kombo::PostAtsApplicationsApplicationIdNotesRequestBodyRemoteFieldsAllOfGreenhouse`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'visibility') + self.visibility = attributes[:'visibility'] + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + warn '[DEPRECATED] the `list_invalid_properties` method is obsolete' + invalid_properties = Array.new + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + warn '[DEPRECATED] the `valid?` method is obsolete' + visibility_validator = EnumAttributeValidator.new('String', ["admin_only", "private", "public"]) + return false unless visibility_validator.valid?(@visibility) + true + end + + # Custom attribute writer method checking allowed values (enum). + # @param [Object] visibility Object to be assigned + def visibility=(visibility) + validator = EnumAttributeValidator.new('String', ["admin_only", "private", "public"]) + unless validator.valid?(visibility) + fail ArgumentError, "invalid value for \"visibility\", must be one of #{validator.allowable_values}." + end + @visibility = visibility + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + visibility == o.visibility + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [visibility].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + transformed_hash = {} + openapi_types.each_pair do |key, type| + if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = nil + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[attribute_map[key]].is_a?(Array) + transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) } + end + elsif !attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]]) + end + end + new(transformed_hash) + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + end + +end diff --git a/lib/kombo_client/models/post_ats_applications_application_id_notes_request_body_remote_fields_all_of_recruitee.rb b/lib/kombo_client/models/post_ats_applications_application_id_notes_request_body_remote_fields_all_of_recruitee.rb new file mode 100644 index 0000000..aa3b76b --- /dev/null +++ b/lib/kombo_client/models/post_ats_applications_application_id_notes_request_body_remote_fields_all_of_recruitee.rb @@ -0,0 +1,159 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.17.0 + +=end + +require 'date' +require 'time' + +module Kombo + # Recruitee specific remote fields for the note. + class PostAtsApplicationsApplicationIdNotesRequestBodyRemoteFieldsAllOfRecruitee < ApiModelBase + attr_accessor :visibility + + # 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. + attr_accessor :is_json + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'visibility' => :'visibility', + :'is_json' => :'is_json' + } + end + + # Returns attribute mapping this model knows about + def self.acceptable_attribute_map + attribute_map + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + acceptable_attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'visibility' => :'Object', + :'is_json' => :'Boolean' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + :'visibility', + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Kombo::PostAtsApplicationsApplicationIdNotesRequestBodyRemoteFieldsAllOfRecruitee` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + acceptable_attribute_map = self.class.acceptable_attribute_map + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!acceptable_attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Kombo::PostAtsApplicationsApplicationIdNotesRequestBodyRemoteFieldsAllOfRecruitee`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'visibility') + self.visibility = attributes[:'visibility'] + end + + if attributes.key?(:'is_json') + self.is_json = attributes[:'is_json'] + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + warn '[DEPRECATED] the `list_invalid_properties` method is obsolete' + invalid_properties = Array.new + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + warn '[DEPRECATED] the `valid?` method is obsolete' + true + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + visibility == o.visibility && + is_json == o.is_json + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [visibility, is_json].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + transformed_hash = {} + openapi_types.each_pair do |key, type| + if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = nil + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[attribute_map[key]].is_a?(Array) + transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) } + end + elsif !attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]]) + end + end + new(transformed_hash) + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + end + +end diff --git a/lib/kombo_client/models/post_ats_applications_application_id_notes_request_body_remote_fields_all_of_teamtailor.rb b/lib/kombo_client/models/post_ats_applications_application_id_notes_request_body_remote_fields_all_of_teamtailor.rb new file mode 100644 index 0000000..0e20e79 --- /dev/null +++ b/lib/kombo_client/models/post_ats_applications_application_id_notes_request_body_remote_fields_all_of_teamtailor.rb @@ -0,0 +1,149 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.17.0 + +=end + +require 'date' +require 'time' + +module Kombo + # Teamtailor specific remote fields for the note. + class PostAtsApplicationsApplicationIdNotesRequestBodyRemoteFieldsAllOfTeamtailor < ApiModelBase + # ID of the user that created the note. Defaults to the first admin user found. + attr_accessor :user_id + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'user_id' => :'user_id' + } + end + + # Returns attribute mapping this model knows about + def self.acceptable_attribute_map + attribute_map + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + acceptable_attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'user_id' => :'String' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Kombo::PostAtsApplicationsApplicationIdNotesRequestBodyRemoteFieldsAllOfTeamtailor` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + acceptable_attribute_map = self.class.acceptable_attribute_map + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!acceptable_attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Kombo::PostAtsApplicationsApplicationIdNotesRequestBodyRemoteFieldsAllOfTeamtailor`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'user_id') + self.user_id = attributes[:'user_id'] + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + warn '[DEPRECATED] the `list_invalid_properties` method is obsolete' + invalid_properties = Array.new + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + warn '[DEPRECATED] the `valid?` method is obsolete' + true + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + user_id == o.user_id + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [user_id].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + transformed_hash = {} + openapi_types.each_pair do |key, type| + if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = nil + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[attribute_map[key]].is_a?(Array) + transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) } + end + elsif !attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]]) + end + end + new(transformed_hash) + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + end + +end diff --git a/lib/kombo_client/models/post_ats_applications_application_id_reject_positive_response.rb b/lib/kombo_client/models/post_ats_applications_application_id_reject_positive_response.rb new file mode 100644 index 0000000..914cb0b --- /dev/null +++ b/lib/kombo_client/models/post_ats_applications_application_id_reject_positive_response.rb @@ -0,0 +1,243 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.17.0 + +=end + +require 'date' +require 'time' + +module Kombo + class PostAtsApplicationsApplicationIdRejectPositiveResponse < ApiModelBase + attr_accessor :status + + attr_accessor :data + + # 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. + attr_accessor :warnings + + class EnumAttributeValidator + attr_reader :datatype + attr_reader :allowable_values + + def initialize(datatype, allowable_values) + @allowable_values = allowable_values.map do |value| + case datatype.to_s + when /Integer/i + value.to_i + when /Float/i + value.to_f + else + value + end + end + end + + def valid?(value) + !value || allowable_values.include?(value) + end + end + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'status' => :'status', + :'data' => :'data', + :'warnings' => :'warnings' + } + end + + # Returns attribute mapping this model knows about + def self.acceptable_attribute_map + attribute_map + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + acceptable_attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'status' => :'String', + :'data' => :'Object', + :'warnings' => :'Array' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Kombo::PostAtsApplicationsApplicationIdRejectPositiveResponse` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + acceptable_attribute_map = self.class.acceptable_attribute_map + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!acceptable_attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Kombo::PostAtsApplicationsApplicationIdRejectPositiveResponse`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'status') + self.status = attributes[:'status'] + else + self.status = nil + end + + if attributes.key?(:'data') + self.data = attributes[:'data'] + else + self.data = nil + end + + if attributes.key?(:'warnings') + if (value = attributes[:'warnings']).is_a?(Array) + self.warnings = value + end + else + self.warnings = nil + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + warn '[DEPRECATED] the `list_invalid_properties` method is obsolete' + invalid_properties = Array.new + if @status.nil? + invalid_properties.push('invalid value for "status", status cannot be nil.') + end + + if @data.nil? + invalid_properties.push('invalid value for "data", data cannot be nil.') + end + + if @warnings.nil? + invalid_properties.push('invalid value for "warnings", warnings cannot be nil.') + end + + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + warn '[DEPRECATED] the `valid?` method is obsolete' + return false if @status.nil? + status_validator = EnumAttributeValidator.new('String', ["success"]) + return false unless status_validator.valid?(@status) + return false if @data.nil? + return false if @warnings.nil? + true + end + + # Custom attribute writer method checking allowed values (enum). + # @param [Object] status Object to be assigned + def status=(status) + validator = EnumAttributeValidator.new('String', ["success"]) + unless validator.valid?(status) + fail ArgumentError, "invalid value for \"status\", must be one of #{validator.allowable_values}." + end + @status = status + end + + # Custom attribute writer method with validation + # @param [Object] data Value to be assigned + def data=(data) + if data.nil? + fail ArgumentError, 'data cannot be nil' + end + + @data = data + end + + # Custom attribute writer method with validation + # @param [Object] warnings Value to be assigned + def warnings=(warnings) + if warnings.nil? + fail ArgumentError, 'warnings cannot be nil' + end + + @warnings = warnings + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + status == o.status && + data == o.data && + warnings == o.warnings + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [status, data, warnings].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + transformed_hash = {} + openapi_types.each_pair do |key, type| + if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = nil + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[attribute_map[key]].is_a?(Array) + transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) } + end + elsif !attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]]) + end + end + new(transformed_hash) + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + end + +end diff --git a/lib/kombo_client/models/post_ats_applications_application_id_reject_request_body.rb b/lib/kombo_client/models/post_ats_applications_application_id_reject_request_body.rb new file mode 100644 index 0000000..a18ae16 --- /dev/null +++ b/lib/kombo_client/models/post_ats_applications_application_id_reject_request_body.rb @@ -0,0 +1,184 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.17.0 + +=end + +require 'date' +require 'time' + +module Kombo + class PostAtsApplicationsApplicationIdRejectRequestBody < ApiModelBase + # The Kombo ID of the rejection reason. + attr_accessor :rejection_reason_id + + # A optional free text rejection note. Passed through if possible. + attr_accessor :note + + attr_accessor :remote_fields + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'rejection_reason_id' => :'rejection_reason_id', + :'note' => :'note', + :'remote_fields' => :'remote_fields' + } + end + + # Returns attribute mapping this model knows about + def self.acceptable_attribute_map + attribute_map + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + acceptable_attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'rejection_reason_id' => :'String', + :'note' => :'String', + :'remote_fields' => :'PostAtsApplicationsApplicationIdRejectRequestBodyRemoteFields' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Kombo::PostAtsApplicationsApplicationIdRejectRequestBody` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + acceptable_attribute_map = self.class.acceptable_attribute_map + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!acceptable_attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Kombo::PostAtsApplicationsApplicationIdRejectRequestBody`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'rejection_reason_id') + self.rejection_reason_id = attributes[:'rejection_reason_id'] + else + self.rejection_reason_id = nil + end + + if attributes.key?(:'note') + self.note = attributes[:'note'] + end + + if attributes.key?(:'remote_fields') + self.remote_fields = attributes[:'remote_fields'] + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + warn '[DEPRECATED] the `list_invalid_properties` method is obsolete' + invalid_properties = Array.new + if @rejection_reason_id.nil? + invalid_properties.push('invalid value for "rejection_reason_id", rejection_reason_id cannot be nil.') + end + + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + warn '[DEPRECATED] the `valid?` method is obsolete' + return false if @rejection_reason_id.nil? + true + end + + # Custom attribute writer method with validation + # @param [Object] rejection_reason_id Value to be assigned + def rejection_reason_id=(rejection_reason_id) + if rejection_reason_id.nil? + fail ArgumentError, 'rejection_reason_id cannot be nil' + end + + @rejection_reason_id = rejection_reason_id + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + rejection_reason_id == o.rejection_reason_id && + note == o.note && + remote_fields == o.remote_fields + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [rejection_reason_id, note, remote_fields].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + transformed_hash = {} + openapi_types.each_pair do |key, type| + if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = nil + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[attribute_map[key]].is_a?(Array) + transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) } + end + elsif !attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]]) + end + end + new(transformed_hash) + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + end + +end diff --git a/lib/kombo_client/models/post_ats_applications_application_id_reject_request_body_remote_fields.rb b/lib/kombo_client/models/post_ats_applications_application_id_reject_request_body_remote_fields.rb new file mode 100644 index 0000000..17bc7fd --- /dev/null +++ b/lib/kombo_client/models/post_ats_applications_application_id_reject_request_body_remote_fields.rb @@ -0,0 +1,157 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.17.0 + +=end + +require 'date' +require 'time' + +module Kombo + # Additional fields that we will pass through to specific ATS systems. + class PostAtsApplicationsApplicationIdRejectRequestBodyRemoteFields < ApiModelBase + attr_accessor :greenhouse + + attr_accessor :workable + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'greenhouse' => :'greenhouse', + :'workable' => :'workable' + } + end + + # Returns attribute mapping this model knows about + def self.acceptable_attribute_map + attribute_map + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + acceptable_attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'greenhouse' => :'PutAtsApplicationsApplicationIdStageRequestBodyRemoteFieldsGreenhouse', + :'workable' => :'PutAtsApplicationsApplicationIdStageRequestBodyRemoteFieldsWorkable' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Kombo::PostAtsApplicationsApplicationIdRejectRequestBodyRemoteFields` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + acceptable_attribute_map = self.class.acceptable_attribute_map + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!acceptable_attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Kombo::PostAtsApplicationsApplicationIdRejectRequestBodyRemoteFields`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'greenhouse') + self.greenhouse = attributes[:'greenhouse'] + end + + if attributes.key?(:'workable') + self.workable = attributes[:'workable'] + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + warn '[DEPRECATED] the `list_invalid_properties` method is obsolete' + invalid_properties = Array.new + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + warn '[DEPRECATED] the `valid?` method is obsolete' + true + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + greenhouse == o.greenhouse && + workable == o.workable + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [greenhouse, workable].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + transformed_hash = {} + openapi_types.each_pair do |key, type| + if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = nil + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[attribute_map[key]].is_a?(Array) + transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) } + end + elsif !attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]]) + end + end + new(transformed_hash) + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + end + +end diff --git a/lib/kombo_client/models/post_ats_applications_application_id_reject_request_body_remote_fields_all_of_greenhouse.rb b/lib/kombo_client/models/post_ats_applications_application_id_reject_request_body_remote_fields_all_of_greenhouse.rb new file mode 100644 index 0000000..1039bf4 --- /dev/null +++ b/lib/kombo_client/models/post_ats_applications_application_id_reject_request_body_remote_fields_all_of_greenhouse.rb @@ -0,0 +1,151 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.17.0 + +=end + +require 'date' +require 'time' + +module Kombo + # Fields specific to Greenhouse. + class PostAtsApplicationsApplicationIdRejectRequestBodyRemoteFieldsAllOfGreenhouse < ApiModelBase + # 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. + attr_accessor :rejection_email + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'rejection_email' => :'rejection_email' + } + end + + # Returns attribute mapping this model knows about + def self.acceptable_attribute_map + attribute_map + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + acceptable_attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'rejection_email' => :'Hash' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Kombo::PostAtsApplicationsApplicationIdRejectRequestBodyRemoteFieldsAllOfGreenhouse` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + acceptable_attribute_map = self.class.acceptable_attribute_map + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!acceptable_attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Kombo::PostAtsApplicationsApplicationIdRejectRequestBodyRemoteFieldsAllOfGreenhouse`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'rejection_email') + if (value = attributes[:'rejection_email']).is_a?(Hash) + self.rejection_email = value + end + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + warn '[DEPRECATED] the `list_invalid_properties` method is obsolete' + invalid_properties = Array.new + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + warn '[DEPRECATED] the `valid?` method is obsolete' + true + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + rejection_email == o.rejection_email + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [rejection_email].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + transformed_hash = {} + openapi_types.each_pair do |key, type| + if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = nil + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[attribute_map[key]].is_a?(Array) + transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) } + end + elsif !attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]]) + end + end + new(transformed_hash) + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + end + +end diff --git a/lib/kombo_client/models/post_ats_applications_application_id_result_links_positive_response.rb b/lib/kombo_client/models/post_ats_applications_application_id_result_links_positive_response.rb new file mode 100644 index 0000000..607090f --- /dev/null +++ b/lib/kombo_client/models/post_ats_applications_application_id_result_links_positive_response.rb @@ -0,0 +1,243 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.17.0 + +=end + +require 'date' +require 'time' + +module Kombo + class PostAtsApplicationsApplicationIdResultLinksPositiveResponse < ApiModelBase + attr_accessor :status + + attr_accessor :data + + # 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. + attr_accessor :warnings + + class EnumAttributeValidator + attr_reader :datatype + attr_reader :allowable_values + + def initialize(datatype, allowable_values) + @allowable_values = allowable_values.map do |value| + case datatype.to_s + when /Integer/i + value.to_i + when /Float/i + value.to_f + else + value + end + end + end + + def valid?(value) + !value || allowable_values.include?(value) + end + end + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'status' => :'status', + :'data' => :'data', + :'warnings' => :'warnings' + } + end + + # Returns attribute mapping this model knows about + def self.acceptable_attribute_map + attribute_map + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + acceptable_attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'status' => :'String', + :'data' => :'Object', + :'warnings' => :'Array' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Kombo::PostAtsApplicationsApplicationIdResultLinksPositiveResponse` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + acceptable_attribute_map = self.class.acceptable_attribute_map + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!acceptable_attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Kombo::PostAtsApplicationsApplicationIdResultLinksPositiveResponse`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'status') + self.status = attributes[:'status'] + else + self.status = nil + end + + if attributes.key?(:'data') + self.data = attributes[:'data'] + else + self.data = nil + end + + if attributes.key?(:'warnings') + if (value = attributes[:'warnings']).is_a?(Array) + self.warnings = value + end + else + self.warnings = nil + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + warn '[DEPRECATED] the `list_invalid_properties` method is obsolete' + invalid_properties = Array.new + if @status.nil? + invalid_properties.push('invalid value for "status", status cannot be nil.') + end + + if @data.nil? + invalid_properties.push('invalid value for "data", data cannot be nil.') + end + + if @warnings.nil? + invalid_properties.push('invalid value for "warnings", warnings cannot be nil.') + end + + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + warn '[DEPRECATED] the `valid?` method is obsolete' + return false if @status.nil? + status_validator = EnumAttributeValidator.new('String', ["success"]) + return false unless status_validator.valid?(@status) + return false if @data.nil? + return false if @warnings.nil? + true + end + + # Custom attribute writer method checking allowed values (enum). + # @param [Object] status Object to be assigned + def status=(status) + validator = EnumAttributeValidator.new('String', ["success"]) + unless validator.valid?(status) + fail ArgumentError, "invalid value for \"status\", must be one of #{validator.allowable_values}." + end + @status = status + end + + # Custom attribute writer method with validation + # @param [Object] data Value to be assigned + def data=(data) + if data.nil? + fail ArgumentError, 'data cannot be nil' + end + + @data = data + end + + # Custom attribute writer method with validation + # @param [Object] warnings Value to be assigned + def warnings=(warnings) + if warnings.nil? + fail ArgumentError, 'warnings cannot be nil' + end + + @warnings = warnings + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + status == o.status && + data == o.data && + warnings == o.warnings + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [status, data, warnings].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + transformed_hash = {} + openapi_types.each_pair do |key, type| + if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = nil + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[attribute_map[key]].is_a?(Array) + transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) } + end + elsif !attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]]) + end + end + new(transformed_hash) + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + end + +end diff --git a/lib/kombo_client/models/post_ats_applications_application_id_result_links_request_body.rb b/lib/kombo_client/models/post_ats_applications_application_id_result_links_request_body.rb new file mode 100644 index 0000000..cf76e95 --- /dev/null +++ b/lib/kombo_client/models/post_ats_applications_application_id_result_links_request_body.rb @@ -0,0 +1,210 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.17.0 + +=end + +require 'date' +require 'time' + +module Kombo + class PostAtsApplicationsApplicationIdResultLinksRequestBody < ApiModelBase + # If we can display a display name for the link, we will use this label. + attr_accessor :label + + # URL of the link. + attr_accessor :url + + attr_accessor :details + + attr_accessor :remote_fields + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'label' => :'label', + :'url' => :'url', + :'details' => :'details', + :'remote_fields' => :'remote_fields' + } + end + + # Returns attribute mapping this model knows about + def self.acceptable_attribute_map + attribute_map + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + acceptable_attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'label' => :'String', + :'url' => :'String', + :'details' => :'PostAtsApplicationsApplicationIdResultLinksRequestBodyDetails', + :'remote_fields' => :'PostAtsApplicationsApplicationIdResultLinksRequestBodyRemoteFields' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Kombo::PostAtsApplicationsApplicationIdResultLinksRequestBody` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + acceptable_attribute_map = self.class.acceptable_attribute_map + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!acceptable_attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Kombo::PostAtsApplicationsApplicationIdResultLinksRequestBody`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'label') + self.label = attributes[:'label'] + else + self.label = nil + end + + if attributes.key?(:'url') + self.url = attributes[:'url'] + else + self.url = nil + end + + if attributes.key?(:'details') + self.details = attributes[:'details'] + end + + if attributes.key?(:'remote_fields') + self.remote_fields = attributes[:'remote_fields'] + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + warn '[DEPRECATED] the `list_invalid_properties` method is obsolete' + invalid_properties = Array.new + if @label.nil? + invalid_properties.push('invalid value for "label", label cannot be nil.') + end + + if @url.nil? + invalid_properties.push('invalid value for "url", url cannot be nil.') + end + + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + warn '[DEPRECATED] the `valid?` method is obsolete' + return false if @label.nil? + return false if @url.nil? + true + end + + # Custom attribute writer method with validation + # @param [Object] label Value to be assigned + def label=(label) + if label.nil? + fail ArgumentError, 'label cannot be nil' + end + + @label = label + end + + # Custom attribute writer method with validation + # @param [Object] url Value to be assigned + def url=(url) + if url.nil? + fail ArgumentError, 'url cannot be nil' + end + + @url = url + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + label == o.label && + url == o.url && + details == o.details && + remote_fields == o.remote_fields + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [label, url, details, remote_fields].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + transformed_hash = {} + openapi_types.each_pair do |key, type| + if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = nil + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[attribute_map[key]].is_a?(Array) + transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) } + end + elsif !attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]]) + end + end + new(transformed_hash) + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + end + +end diff --git a/lib/kombo_client/models/post_ats_applications_application_id_result_links_request_body_details.rb b/lib/kombo_client/models/post_ats_applications_application_id_result_links_request_body_details.rb new file mode 100644 index 0000000..764ddd2 --- /dev/null +++ b/lib/kombo_client/models/post_ats_applications_application_id_result_links_request_body_details.rb @@ -0,0 +1,194 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.17.0 + +=end + +require 'date' +require 'time' + +module Kombo + # Additional details with attributes that will be added to the result. This can be percentages, scores, or any text. We generally recommend using short attribute keys and a short custom_field_name_prefix to avoid overflowing the ATS UI. + class PostAtsApplicationsApplicationIdResultLinksRequestBodyDetails < ApiModelBase + # 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. + attr_accessor :custom_field_name_prefix + + attr_accessor :attributes + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'custom_field_name_prefix' => :'custom_field_name_prefix', + :'attributes' => :'attributes' + } + end + + # Returns attribute mapping this model knows about + def self.acceptable_attribute_map + attribute_map + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + acceptable_attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'custom_field_name_prefix' => :'String', + :'attributes' => :'Array' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Kombo::PostAtsApplicationsApplicationIdResultLinksRequestBodyDetails` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + acceptable_attribute_map = self.class.acceptable_attribute_map + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!acceptable_attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Kombo::PostAtsApplicationsApplicationIdResultLinksRequestBodyDetails`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'custom_field_name_prefix') + self.custom_field_name_prefix = attributes[:'custom_field_name_prefix'] + else + self.custom_field_name_prefix = nil + end + + if attributes.key?(:'attributes') + if (value = attributes[:'attributes']).is_a?(Array) + self.attributes = value + end + else + self.attributes = nil + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + warn '[DEPRECATED] the `list_invalid_properties` method is obsolete' + invalid_properties = Array.new + if @custom_field_name_prefix.nil? + invalid_properties.push('invalid value for "custom_field_name_prefix", custom_field_name_prefix cannot be nil.') + end + + if @attributes.nil? + invalid_properties.push('invalid value for "attributes", attributes cannot be nil.') + end + + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + warn '[DEPRECATED] the `valid?` method is obsolete' + return false if @custom_field_name_prefix.nil? + return false if @attributes.nil? + true + end + + # Custom attribute writer method with validation + # @param [Object] custom_field_name_prefix Value to be assigned + def custom_field_name_prefix=(custom_field_name_prefix) + if custom_field_name_prefix.nil? + fail ArgumentError, 'custom_field_name_prefix cannot be nil' + end + + @custom_field_name_prefix = custom_field_name_prefix + end + + # Custom attribute writer method with validation + # @param [Object] attributes Value to be assigned + def attributes=(attributes) + if attributes.nil? + fail ArgumentError, 'attributes cannot be nil' + end + + @attributes = attributes + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + custom_field_name_prefix == o.custom_field_name_prefix && + attributes == o.attributes + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [custom_field_name_prefix, attributes].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + transformed_hash = {} + openapi_types.each_pair do |key, type| + if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = nil + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[attribute_map[key]].is_a?(Array) + transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) } + end + elsif !attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]]) + end + end + new(transformed_hash) + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + end + +end diff --git a/lib/kombo_client/models/post_ats_applications_application_id_result_links_request_body_details_attributes_inner.rb b/lib/kombo_client/models/post_ats_applications_application_id_result_links_request_body_details_attributes_inner.rb new file mode 100644 index 0000000..d061567 --- /dev/null +++ b/lib/kombo_client/models/post_ats_applications_application_id_result_links_request_body_details_attributes_inner.rb @@ -0,0 +1,192 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.17.0 + +=end + +require 'date' +require 'time' + +module Kombo + class PostAtsApplicationsApplicationIdResultLinksRequestBodyDetailsAttributesInner < ApiModelBase + # The name of the attribute + attr_accessor :key + + # The value of the attribute + attr_accessor :value + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'key' => :'key', + :'value' => :'value' + } + end + + # Returns attribute mapping this model knows about + def self.acceptable_attribute_map + attribute_map + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + acceptable_attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'key' => :'String', + :'value' => :'String' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Kombo::PostAtsApplicationsApplicationIdResultLinksRequestBodyDetailsAttributesInner` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + acceptable_attribute_map = self.class.acceptable_attribute_map + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!acceptable_attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Kombo::PostAtsApplicationsApplicationIdResultLinksRequestBodyDetailsAttributesInner`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'key') + self.key = attributes[:'key'] + else + self.key = nil + end + + if attributes.key?(:'value') + self.value = attributes[:'value'] + else + self.value = nil + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + warn '[DEPRECATED] the `list_invalid_properties` method is obsolete' + invalid_properties = Array.new + if @key.nil? + invalid_properties.push('invalid value for "key", key cannot be nil.') + end + + if @value.nil? + invalid_properties.push('invalid value for "value", value cannot be nil.') + end + + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + warn '[DEPRECATED] the `valid?` method is obsolete' + return false if @key.nil? + return false if @value.nil? + true + end + + # Custom attribute writer method with validation + # @param [Object] key Value to be assigned + def key=(key) + if key.nil? + fail ArgumentError, 'key cannot be nil' + end + + @key = key + end + + # Custom attribute writer method with validation + # @param [Object] value Value to be assigned + def value=(value) + if value.nil? + fail ArgumentError, 'value cannot be nil' + end + + @value = value + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + key == o.key && + value == o.value + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [key, value].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + transformed_hash = {} + openapi_types.each_pair do |key, type| + if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = nil + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[attribute_map[key]].is_a?(Array) + transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) } + end + elsif !attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]]) + end + end + new(transformed_hash) + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + end + +end diff --git a/lib/kombo_client/models/post_ats_applications_application_id_result_links_request_body_remote_fields.rb b/lib/kombo_client/models/post_ats_applications_application_id_result_links_request_body_remote_fields.rb new file mode 100644 index 0000000..3a7c9b0 --- /dev/null +++ b/lib/kombo_client/models/post_ats_applications_application_id_result_links_request_body_remote_fields.rb @@ -0,0 +1,175 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.17.0 + +=end + +require 'date' +require 'time' + +module Kombo + # Additional fields that we will pass through to specific ATS systems. + class PostAtsApplicationsApplicationIdResultLinksRequestBodyRemoteFields < ApiModelBase + attr_accessor :icims + + attr_accessor :oracle + + attr_accessor :greenhouse + + attr_accessor :workable + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'icims' => :'icims', + :'oracle' => :'oracle', + :'greenhouse' => :'greenhouse', + :'workable' => :'workable' + } + end + + # Returns attribute mapping this model knows about + def self.acceptable_attribute_map + attribute_map + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + acceptable_attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'icims' => :'PostAtsApplicationsApplicationIdResultLinksRequestBodyRemoteFieldsAllOfIcims', + :'oracle' => :'PostAtsApplicationsApplicationIdResultLinksRequestBodyRemoteFieldsAllOfOracle', + :'greenhouse' => :'PutAtsApplicationsApplicationIdStageRequestBodyRemoteFieldsGreenhouse', + :'workable' => :'PutAtsApplicationsApplicationIdStageRequestBodyRemoteFieldsWorkable' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Kombo::PostAtsApplicationsApplicationIdResultLinksRequestBodyRemoteFields` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + acceptable_attribute_map = self.class.acceptable_attribute_map + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!acceptable_attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Kombo::PostAtsApplicationsApplicationIdResultLinksRequestBodyRemoteFields`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'icims') + self.icims = attributes[:'icims'] + end + + if attributes.key?(:'oracle') + self.oracle = attributes[:'oracle'] + end + + if attributes.key?(:'greenhouse') + self.greenhouse = attributes[:'greenhouse'] + end + + if attributes.key?(:'workable') + self.workable = attributes[:'workable'] + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + warn '[DEPRECATED] the `list_invalid_properties` method is obsolete' + invalid_properties = Array.new + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + warn '[DEPRECATED] the `valid?` method is obsolete' + true + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + icims == o.icims && + oracle == o.oracle && + greenhouse == o.greenhouse && + workable == o.workable + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [icims, oracle, greenhouse, workable].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + transformed_hash = {} + openapi_types.each_pair do |key, type| + if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = nil + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[attribute_map[key]].is_a?(Array) + transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) } + end + elsif !attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]]) + end + end + new(transformed_hash) + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + end + +end diff --git a/lib/kombo_client/models/post_ats_applications_application_id_result_links_request_body_remote_fields_all_of_icims.rb b/lib/kombo_client/models/post_ats_applications_application_id_result_links_request_body_remote_fields_all_of_icims.rb new file mode 100644 index 0000000..617ee8a --- /dev/null +++ b/lib/kombo_client/models/post_ats_applications_application_id_result_links_request_body_remote_fields_all_of_icims.rb @@ -0,0 +1,149 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.17.0 + +=end + +require 'date' +require 'time' + +module Kombo + # Fields specific to iCIMS. + class PostAtsApplicationsApplicationIdResultLinksRequestBodyRemoteFieldsAllOfIcims < ApiModelBase + # The package ID of the assessment that the result link will be added to. + attr_accessor :assessment_package_id + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'assessment_package_id' => :'assessment_package_id' + } + end + + # Returns attribute mapping this model knows about + def self.acceptable_attribute_map + attribute_map + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + acceptable_attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'assessment_package_id' => :'String' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Kombo::PostAtsApplicationsApplicationIdResultLinksRequestBodyRemoteFieldsAllOfIcims` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + acceptable_attribute_map = self.class.acceptable_attribute_map + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!acceptable_attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Kombo::PostAtsApplicationsApplicationIdResultLinksRequestBodyRemoteFieldsAllOfIcims`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'assessment_package_id') + self.assessment_package_id = attributes[:'assessment_package_id'] + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + warn '[DEPRECATED] the `list_invalid_properties` method is obsolete' + invalid_properties = Array.new + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + warn '[DEPRECATED] the `valid?` method is obsolete' + true + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + assessment_package_id == o.assessment_package_id + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [assessment_package_id].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + transformed_hash = {} + openapi_types.each_pair do |key, type| + if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = nil + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[attribute_map[key]].is_a?(Array) + transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) } + end + elsif !attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]]) + end + end + new(transformed_hash) + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + end + +end diff --git a/lib/kombo_client/models/post_ats_applications_application_id_result_links_request_body_remote_fields_all_of_oracle.rb b/lib/kombo_client/models/post_ats_applications_application_id_result_links_request_body_remote_fields_all_of_oracle.rb new file mode 100644 index 0000000..6291391 --- /dev/null +++ b/lib/kombo_client/models/post_ats_applications_application_id_result_links_request_body_remote_fields_all_of_oracle.rb @@ -0,0 +1,193 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.17.0 + +=end + +require 'date' +require 'time' + +module Kombo + # Fields specific to Oracle. + class PostAtsApplicationsApplicationIdResultLinksRequestBodyRemoteFieldsAllOfOracle < ApiModelBase + # Allows you to override the document category for the url. (Default: MISC) + attr_accessor :override_document_category + + # If true, the result link will be posted to all current applications for the candidate. + attr_accessor :multi_post_to_all_current_applications + + class EnumAttributeValidator + attr_reader :datatype + attr_reader :allowable_values + + def initialize(datatype, allowable_values) + @allowable_values = allowable_values.map do |value| + case datatype.to_s + when /Integer/i + value.to_i + when /Float/i + value.to_f + else + value + end + end + end + + def valid?(value) + !value || allowable_values.include?(value) + end + end + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'override_document_category' => :'override_document_category', + :'multi_post_to_all_current_applications' => :'multi_post_to_all_current_applications' + } + end + + # Returns attribute mapping this model knows about + def self.acceptable_attribute_map + attribute_map + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + acceptable_attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'override_document_category' => :'String', + :'multi_post_to_all_current_applications' => :'Boolean' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Kombo::PostAtsApplicationsApplicationIdResultLinksRequestBodyRemoteFieldsAllOfOracle` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + acceptable_attribute_map = self.class.acceptable_attribute_map + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!acceptable_attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Kombo::PostAtsApplicationsApplicationIdResultLinksRequestBodyRemoteFieldsAllOfOracle`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'override_document_category') + self.override_document_category = attributes[:'override_document_category'] + end + + if attributes.key?(:'multi_post_to_all_current_applications') + self.multi_post_to_all_current_applications = attributes[:'multi_post_to_all_current_applications'] + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + warn '[DEPRECATED] the `list_invalid_properties` method is obsolete' + invalid_properties = Array.new + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + warn '[DEPRECATED] the `valid?` method is obsolete' + override_document_category_validator = EnumAttributeValidator.new('String', ["IRC_CANDIDATE_RESUME", "IRC_CANDIDATE_COVERLETTER", "MISC", "IRC_INTERNAL"]) + return false unless override_document_category_validator.valid?(@override_document_category) + true + end + + # Custom attribute writer method checking allowed values (enum). + # @param [Object] override_document_category Object to be assigned + def override_document_category=(override_document_category) + validator = EnumAttributeValidator.new('String', ["IRC_CANDIDATE_RESUME", "IRC_CANDIDATE_COVERLETTER", "MISC", "IRC_INTERNAL"]) + unless validator.valid?(override_document_category) + fail ArgumentError, "invalid value for \"override_document_category\", must be one of #{validator.allowable_values}." + end + @override_document_category = override_document_category + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + override_document_category == o.override_document_category && + multi_post_to_all_current_applications == o.multi_post_to_all_current_applications + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [override_document_category, multi_post_to_all_current_applications].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + transformed_hash = {} + openapi_types.each_pair do |key, type| + if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = nil + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[attribute_map[key]].is_a?(Array) + transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) } + end + elsif !attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]]) + end + end + new(transformed_hash) + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + end + +end diff --git a/lib/kombo_client/models/post_ats_candidates_candidate_id_attachments_positive_response.rb b/lib/kombo_client/models/post_ats_candidates_candidate_id_attachments_positive_response.rb new file mode 100644 index 0000000..2ac6df0 --- /dev/null +++ b/lib/kombo_client/models/post_ats_candidates_candidate_id_attachments_positive_response.rb @@ -0,0 +1,243 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.17.0 + +=end + +require 'date' +require 'time' + +module Kombo + class PostAtsCandidatesCandidateIdAttachmentsPositiveResponse < ApiModelBase + attr_accessor :status + + attr_accessor :data + + # 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. + attr_accessor :warnings + + class EnumAttributeValidator + attr_reader :datatype + attr_reader :allowable_values + + def initialize(datatype, allowable_values) + @allowable_values = allowable_values.map do |value| + case datatype.to_s + when /Integer/i + value.to_i + when /Float/i + value.to_f + else + value + end + end + end + + def valid?(value) + !value || allowable_values.include?(value) + end + end + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'status' => :'status', + :'data' => :'data', + :'warnings' => :'warnings' + } + end + + # Returns attribute mapping this model knows about + def self.acceptable_attribute_map + attribute_map + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + acceptable_attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'status' => :'String', + :'data' => :'Object', + :'warnings' => :'Array' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Kombo::PostAtsCandidatesCandidateIdAttachmentsPositiveResponse` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + acceptable_attribute_map = self.class.acceptable_attribute_map + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!acceptable_attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Kombo::PostAtsCandidatesCandidateIdAttachmentsPositiveResponse`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'status') + self.status = attributes[:'status'] + else + self.status = nil + end + + if attributes.key?(:'data') + self.data = attributes[:'data'] + else + self.data = nil + end + + if attributes.key?(:'warnings') + if (value = attributes[:'warnings']).is_a?(Array) + self.warnings = value + end + else + self.warnings = nil + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + warn '[DEPRECATED] the `list_invalid_properties` method is obsolete' + invalid_properties = Array.new + if @status.nil? + invalid_properties.push('invalid value for "status", status cannot be nil.') + end + + if @data.nil? + invalid_properties.push('invalid value for "data", data cannot be nil.') + end + + if @warnings.nil? + invalid_properties.push('invalid value for "warnings", warnings cannot be nil.') + end + + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + warn '[DEPRECATED] the `valid?` method is obsolete' + return false if @status.nil? + status_validator = EnumAttributeValidator.new('String', ["success"]) + return false unless status_validator.valid?(@status) + return false if @data.nil? + return false if @warnings.nil? + true + end + + # Custom attribute writer method checking allowed values (enum). + # @param [Object] status Object to be assigned + def status=(status) + validator = EnumAttributeValidator.new('String', ["success"]) + unless validator.valid?(status) + fail ArgumentError, "invalid value for \"status\", must be one of #{validator.allowable_values}." + end + @status = status + end + + # Custom attribute writer method with validation + # @param [Object] data Value to be assigned + def data=(data) + if data.nil? + fail ArgumentError, 'data cannot be nil' + end + + @data = data + end + + # Custom attribute writer method with validation + # @param [Object] warnings Value to be assigned + def warnings=(warnings) + if warnings.nil? + fail ArgumentError, 'warnings cannot be nil' + end + + @warnings = warnings + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + status == o.status && + data == o.data && + warnings == o.warnings + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [status, data, warnings].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + transformed_hash = {} + openapi_types.each_pair do |key, type| + if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = nil + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[attribute_map[key]].is_a?(Array) + transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) } + end + elsif !attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]]) + end + end + new(transformed_hash) + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + end + +end diff --git a/lib/kombo_client/models/post_ats_candidates_candidate_id_attachments_request_body.rb b/lib/kombo_client/models/post_ats_candidates_candidate_id_attachments_request_body.rb new file mode 100644 index 0000000..ab7c328 --- /dev/null +++ b/lib/kombo_client/models/post_ats_candidates_candidate_id_attachments_request_body.rb @@ -0,0 +1,173 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.17.0 + +=end + +require 'date' +require 'time' + +module Kombo + class PostAtsCandidatesCandidateIdAttachmentsRequestBody < ApiModelBase + attr_accessor :attachment + + attr_accessor :remote_fields + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'attachment' => :'attachment', + :'remote_fields' => :'remote_fields' + } + end + + # Returns attribute mapping this model knows about + def self.acceptable_attribute_map + attribute_map + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + acceptable_attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'attachment' => :'PostAtsApplicationsApplicationIdAttachmentsRequestBodyAttachment', + :'remote_fields' => :'PutAtsApplicationsApplicationIdStageRequestBodyRemoteFields' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Kombo::PostAtsCandidatesCandidateIdAttachmentsRequestBody` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + acceptable_attribute_map = self.class.acceptable_attribute_map + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!acceptable_attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Kombo::PostAtsCandidatesCandidateIdAttachmentsRequestBody`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'attachment') + self.attachment = attributes[:'attachment'] + else + self.attachment = nil + end + + if attributes.key?(:'remote_fields') + self.remote_fields = attributes[:'remote_fields'] + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + warn '[DEPRECATED] the `list_invalid_properties` method is obsolete' + invalid_properties = Array.new + if @attachment.nil? + invalid_properties.push('invalid value for "attachment", attachment cannot be nil.') + end + + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + warn '[DEPRECATED] the `valid?` method is obsolete' + return false if @attachment.nil? + true + end + + # Custom attribute writer method with validation + # @param [Object] attachment Value to be assigned + def attachment=(attachment) + if attachment.nil? + fail ArgumentError, 'attachment cannot be nil' + end + + @attachment = attachment + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + attachment == o.attachment && + remote_fields == o.remote_fields + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [attachment, remote_fields].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + transformed_hash = {} + openapi_types.each_pair do |key, type| + if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = nil + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[attribute_map[key]].is_a?(Array) + transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) } + end + elsif !attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]]) + end + end + new(transformed_hash) + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + end + +end diff --git a/lib/kombo_client/models/post_ats_candidates_candidate_id_result_links_positive_response.rb b/lib/kombo_client/models/post_ats_candidates_candidate_id_result_links_positive_response.rb new file mode 100644 index 0000000..9c0642f --- /dev/null +++ b/lib/kombo_client/models/post_ats_candidates_candidate_id_result_links_positive_response.rb @@ -0,0 +1,243 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.17.0 + +=end + +require 'date' +require 'time' + +module Kombo + class PostAtsCandidatesCandidateIdResultLinksPositiveResponse < ApiModelBase + attr_accessor :status + + attr_accessor :data + + # 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. + attr_accessor :warnings + + class EnumAttributeValidator + attr_reader :datatype + attr_reader :allowable_values + + def initialize(datatype, allowable_values) + @allowable_values = allowable_values.map do |value| + case datatype.to_s + when /Integer/i + value.to_i + when /Float/i + value.to_f + else + value + end + end + end + + def valid?(value) + !value || allowable_values.include?(value) + end + end + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'status' => :'status', + :'data' => :'data', + :'warnings' => :'warnings' + } + end + + # Returns attribute mapping this model knows about + def self.acceptable_attribute_map + attribute_map + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + acceptable_attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'status' => :'String', + :'data' => :'Object', + :'warnings' => :'Array' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Kombo::PostAtsCandidatesCandidateIdResultLinksPositiveResponse` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + acceptable_attribute_map = self.class.acceptable_attribute_map + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!acceptable_attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Kombo::PostAtsCandidatesCandidateIdResultLinksPositiveResponse`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'status') + self.status = attributes[:'status'] + else + self.status = nil + end + + if attributes.key?(:'data') + self.data = attributes[:'data'] + else + self.data = nil + end + + if attributes.key?(:'warnings') + if (value = attributes[:'warnings']).is_a?(Array) + self.warnings = value + end + else + self.warnings = nil + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + warn '[DEPRECATED] the `list_invalid_properties` method is obsolete' + invalid_properties = Array.new + if @status.nil? + invalid_properties.push('invalid value for "status", status cannot be nil.') + end + + if @data.nil? + invalid_properties.push('invalid value for "data", data cannot be nil.') + end + + if @warnings.nil? + invalid_properties.push('invalid value for "warnings", warnings cannot be nil.') + end + + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + warn '[DEPRECATED] the `valid?` method is obsolete' + return false if @status.nil? + status_validator = EnumAttributeValidator.new('String', ["success"]) + return false unless status_validator.valid?(@status) + return false if @data.nil? + return false if @warnings.nil? + true + end + + # Custom attribute writer method checking allowed values (enum). + # @param [Object] status Object to be assigned + def status=(status) + validator = EnumAttributeValidator.new('String', ["success"]) + unless validator.valid?(status) + fail ArgumentError, "invalid value for \"status\", must be one of #{validator.allowable_values}." + end + @status = status + end + + # Custom attribute writer method with validation + # @param [Object] data Value to be assigned + def data=(data) + if data.nil? + fail ArgumentError, 'data cannot be nil' + end + + @data = data + end + + # Custom attribute writer method with validation + # @param [Object] warnings Value to be assigned + def warnings=(warnings) + if warnings.nil? + fail ArgumentError, 'warnings cannot be nil' + end + + @warnings = warnings + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + status == o.status && + data == o.data && + warnings == o.warnings + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [status, data, warnings].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + transformed_hash = {} + openapi_types.each_pair do |key, type| + if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = nil + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[attribute_map[key]].is_a?(Array) + transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) } + end + elsif !attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]]) + end + end + new(transformed_hash) + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + end + +end diff --git a/lib/kombo_client/models/post_ats_candidates_candidate_id_result_links_request_body.rb b/lib/kombo_client/models/post_ats_candidates_candidate_id_result_links_request_body.rb new file mode 100644 index 0000000..9b76170 --- /dev/null +++ b/lib/kombo_client/models/post_ats_candidates_candidate_id_result_links_request_body.rb @@ -0,0 +1,210 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.17.0 + +=end + +require 'date' +require 'time' + +module Kombo + class PostAtsCandidatesCandidateIdResultLinksRequestBody < ApiModelBase + # If the system allows us to display a display name for the link, we will use this label. + attr_accessor :label + + # URL of the link. + attr_accessor :url + + attr_accessor :details + + attr_accessor :remote_fields + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'label' => :'label', + :'url' => :'url', + :'details' => :'details', + :'remote_fields' => :'remote_fields' + } + end + + # Returns attribute mapping this model knows about + def self.acceptable_attribute_map + attribute_map + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + acceptable_attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'label' => :'String', + :'url' => :'String', + :'details' => :'PostAtsApplicationsApplicationIdResultLinksRequestBodyDetails', + :'remote_fields' => :'PostAtsApplicationsApplicationIdResultLinksRequestBodyRemoteFields' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Kombo::PostAtsCandidatesCandidateIdResultLinksRequestBody` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + acceptable_attribute_map = self.class.acceptable_attribute_map + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!acceptable_attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Kombo::PostAtsCandidatesCandidateIdResultLinksRequestBody`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'label') + self.label = attributes[:'label'] + else + self.label = nil + end + + if attributes.key?(:'url') + self.url = attributes[:'url'] + else + self.url = nil + end + + if attributes.key?(:'details') + self.details = attributes[:'details'] + end + + if attributes.key?(:'remote_fields') + self.remote_fields = attributes[:'remote_fields'] + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + warn '[DEPRECATED] the `list_invalid_properties` method is obsolete' + invalid_properties = Array.new + if @label.nil? + invalid_properties.push('invalid value for "label", label cannot be nil.') + end + + if @url.nil? + invalid_properties.push('invalid value for "url", url cannot be nil.') + end + + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + warn '[DEPRECATED] the `valid?` method is obsolete' + return false if @label.nil? + return false if @url.nil? + true + end + + # Custom attribute writer method with validation + # @param [Object] label Value to be assigned + def label=(label) + if label.nil? + fail ArgumentError, 'label cannot be nil' + end + + @label = label + end + + # Custom attribute writer method with validation + # @param [Object] url Value to be assigned + def url=(url) + if url.nil? + fail ArgumentError, 'url cannot be nil' + end + + @url = url + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + label == o.label && + url == o.url && + details == o.details && + remote_fields == o.remote_fields + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [label, url, details, remote_fields].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + transformed_hash = {} + openapi_types.each_pair do |key, type| + if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = nil + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[attribute_map[key]].is_a?(Array) + transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) } + end + elsif !attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]]) + end + end + new(transformed_hash) + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + end + +end diff --git a/lib/kombo_client/models/post_ats_candidates_candidate_id_tags_positive_response.rb b/lib/kombo_client/models/post_ats_candidates_candidate_id_tags_positive_response.rb new file mode 100644 index 0000000..4bb02b9 --- /dev/null +++ b/lib/kombo_client/models/post_ats_candidates_candidate_id_tags_positive_response.rb @@ -0,0 +1,243 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.17.0 + +=end + +require 'date' +require 'time' + +module Kombo + class PostAtsCandidatesCandidateIdTagsPositiveResponse < ApiModelBase + attr_accessor :status + + attr_accessor :data + + # 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. + attr_accessor :warnings + + class EnumAttributeValidator + attr_reader :datatype + attr_reader :allowable_values + + def initialize(datatype, allowable_values) + @allowable_values = allowable_values.map do |value| + case datatype.to_s + when /Integer/i + value.to_i + when /Float/i + value.to_f + else + value + end + end + end + + def valid?(value) + !value || allowable_values.include?(value) + end + end + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'status' => :'status', + :'data' => :'data', + :'warnings' => :'warnings' + } + end + + # Returns attribute mapping this model knows about + def self.acceptable_attribute_map + attribute_map + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + acceptable_attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'status' => :'String', + :'data' => :'Object', + :'warnings' => :'Array' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Kombo::PostAtsCandidatesCandidateIdTagsPositiveResponse` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + acceptable_attribute_map = self.class.acceptable_attribute_map + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!acceptable_attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Kombo::PostAtsCandidatesCandidateIdTagsPositiveResponse`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'status') + self.status = attributes[:'status'] + else + self.status = nil + end + + if attributes.key?(:'data') + self.data = attributes[:'data'] + else + self.data = nil + end + + if attributes.key?(:'warnings') + if (value = attributes[:'warnings']).is_a?(Array) + self.warnings = value + end + else + self.warnings = nil + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + warn '[DEPRECATED] the `list_invalid_properties` method is obsolete' + invalid_properties = Array.new + if @status.nil? + invalid_properties.push('invalid value for "status", status cannot be nil.') + end + + if @data.nil? + invalid_properties.push('invalid value for "data", data cannot be nil.') + end + + if @warnings.nil? + invalid_properties.push('invalid value for "warnings", warnings cannot be nil.') + end + + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + warn '[DEPRECATED] the `valid?` method is obsolete' + return false if @status.nil? + status_validator = EnumAttributeValidator.new('String', ["success"]) + return false unless status_validator.valid?(@status) + return false if @data.nil? + return false if @warnings.nil? + true + end + + # Custom attribute writer method checking allowed values (enum). + # @param [Object] status Object to be assigned + def status=(status) + validator = EnumAttributeValidator.new('String', ["success"]) + unless validator.valid?(status) + fail ArgumentError, "invalid value for \"status\", must be one of #{validator.allowable_values}." + end + @status = status + end + + # Custom attribute writer method with validation + # @param [Object] data Value to be assigned + def data=(data) + if data.nil? + fail ArgumentError, 'data cannot be nil' + end + + @data = data + end + + # Custom attribute writer method with validation + # @param [Object] warnings Value to be assigned + def warnings=(warnings) + if warnings.nil? + fail ArgumentError, 'warnings cannot be nil' + end + + @warnings = warnings + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + status == o.status && + data == o.data && + warnings == o.warnings + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [status, data, warnings].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + transformed_hash = {} + openapi_types.each_pair do |key, type| + if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = nil + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[attribute_map[key]].is_a?(Array) + transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) } + end + elsif !attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]]) + end + end + new(transformed_hash) + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + end + +end diff --git a/lib/kombo_client/models/post_ats_candidates_candidate_id_tags_request_body.rb b/lib/kombo_client/models/post_ats_candidates_candidate_id_tags_request_body.rb new file mode 100644 index 0000000..184eb9f --- /dev/null +++ b/lib/kombo_client/models/post_ats_candidates_candidate_id_tags_request_body.rb @@ -0,0 +1,173 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.17.0 + +=end + +require 'date' +require 'time' + +module Kombo + class PostAtsCandidatesCandidateIdTagsRequestBody < ApiModelBase + attr_accessor :tag + + attr_accessor :remote_fields + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'tag' => :'tag', + :'remote_fields' => :'remote_fields' + } + end + + # Returns attribute mapping this model knows about + def self.acceptable_attribute_map + attribute_map + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + acceptable_attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'tag' => :'PostAtsCandidatesCandidateIdTagsRequestBodyTag', + :'remote_fields' => :'PutAtsApplicationsApplicationIdStageRequestBodyRemoteFields' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Kombo::PostAtsCandidatesCandidateIdTagsRequestBody` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + acceptable_attribute_map = self.class.acceptable_attribute_map + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!acceptable_attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Kombo::PostAtsCandidatesCandidateIdTagsRequestBody`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'tag') + self.tag = attributes[:'tag'] + else + self.tag = nil + end + + if attributes.key?(:'remote_fields') + self.remote_fields = attributes[:'remote_fields'] + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + warn '[DEPRECATED] the `list_invalid_properties` method is obsolete' + invalid_properties = Array.new + if @tag.nil? + invalid_properties.push('invalid value for "tag", tag cannot be nil.') + end + + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + warn '[DEPRECATED] the `valid?` method is obsolete' + return false if @tag.nil? + true + end + + # Custom attribute writer method with validation + # @param [Object] tag Value to be assigned + def tag=(tag) + if tag.nil? + fail ArgumentError, 'tag cannot be nil' + end + + @tag = tag + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + tag == o.tag && + remote_fields == o.remote_fields + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [tag, remote_fields].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + transformed_hash = {} + openapi_types.each_pair do |key, type| + if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = nil + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[attribute_map[key]].is_a?(Array) + transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) } + end + elsif !attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]]) + end + end + new(transformed_hash) + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + end + +end diff --git a/lib/kombo_client/models/post_ats_candidates_candidate_id_tags_request_body_tag.rb b/lib/kombo_client/models/post_ats_candidates_candidate_id_tags_request_body_tag.rb new file mode 100644 index 0000000..2b7b450 --- /dev/null +++ b/lib/kombo_client/models/post_ats_candidates_candidate_id_tags_request_body_tag.rb @@ -0,0 +1,174 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.17.0 + +=end + +require 'date' +require 'time' + +module Kombo + class PostAtsCandidatesCandidateIdTagsRequestBodyTag < ApiModelBase + # The name of the tag you would like to add. We will automatically find the matching ID of the tag in the system. + attr_accessor :name + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'name' => :'name' + } + end + + # Returns attribute mapping this model knows about + def self.acceptable_attribute_map + attribute_map + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + acceptable_attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'name' => :'String' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Kombo::PostAtsCandidatesCandidateIdTagsRequestBodyTag` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + acceptable_attribute_map = self.class.acceptable_attribute_map + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!acceptable_attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Kombo::PostAtsCandidatesCandidateIdTagsRequestBodyTag`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'name') + self.name = attributes[:'name'] + else + self.name = nil + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + warn '[DEPRECATED] the `list_invalid_properties` method is obsolete' + invalid_properties = Array.new + if @name.nil? + invalid_properties.push('invalid value for "name", name cannot be nil.') + end + + if @name.to_s.length < 1 + invalid_properties.push('invalid value for "name", the character length must be greater than or equal to 1.') + end + + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + warn '[DEPRECATED] the `valid?` method is obsolete' + return false if @name.nil? + return false if @name.to_s.length < 1 + true + end + + # Custom attribute writer method with validation + # @param [Object] name Value to be assigned + def name=(name) + if name.nil? + fail ArgumentError, 'name cannot be nil' + end + + if name.to_s.length < 1 + fail ArgumentError, 'invalid value for "name", the character length must be greater than or equal to 1.' + end + + @name = name + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + name == o.name + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [name].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + transformed_hash = {} + openapi_types.each_pair do |key, type| + if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = nil + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[attribute_map[key]].is_a?(Array) + transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) } + end + elsif !attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]]) + end + end + new(transformed_hash) + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + end + +end diff --git a/lib/kombo_client/models/post_ats_candidates_positive_response.rb b/lib/kombo_client/models/post_ats_candidates_positive_response.rb new file mode 100644 index 0000000..a3e1dd3 --- /dev/null +++ b/lib/kombo_client/models/post_ats_candidates_positive_response.rb @@ -0,0 +1,243 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.17.0 + +=end + +require 'date' +require 'time' + +module Kombo + class PostAtsCandidatesPositiveResponse < ApiModelBase + attr_accessor :status + + attr_accessor :data + + # 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. + attr_accessor :warnings + + class EnumAttributeValidator + attr_reader :datatype + attr_reader :allowable_values + + def initialize(datatype, allowable_values) + @allowable_values = allowable_values.map do |value| + case datatype.to_s + when /Integer/i + value.to_i + when /Float/i + value.to_f + else + value + end + end + end + + def valid?(value) + !value || allowable_values.include?(value) + end + end + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'status' => :'status', + :'data' => :'data', + :'warnings' => :'warnings' + } + end + + # Returns attribute mapping this model knows about + def self.acceptable_attribute_map + attribute_map + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + acceptable_attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'status' => :'String', + :'data' => :'GetAtsCandidatesPositiveResponseDataResultsInner', + :'warnings' => :'Array' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Kombo::PostAtsCandidatesPositiveResponse` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + acceptable_attribute_map = self.class.acceptable_attribute_map + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!acceptable_attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Kombo::PostAtsCandidatesPositiveResponse`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'status') + self.status = attributes[:'status'] + else + self.status = nil + end + + if attributes.key?(:'data') + self.data = attributes[:'data'] + else + self.data = nil + end + + if attributes.key?(:'warnings') + if (value = attributes[:'warnings']).is_a?(Array) + self.warnings = value + end + else + self.warnings = nil + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + warn '[DEPRECATED] the `list_invalid_properties` method is obsolete' + invalid_properties = Array.new + if @status.nil? + invalid_properties.push('invalid value for "status", status cannot be nil.') + end + + if @data.nil? + invalid_properties.push('invalid value for "data", data cannot be nil.') + end + + if @warnings.nil? + invalid_properties.push('invalid value for "warnings", warnings cannot be nil.') + end + + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + warn '[DEPRECATED] the `valid?` method is obsolete' + return false if @status.nil? + status_validator = EnumAttributeValidator.new('String', ["success"]) + return false unless status_validator.valid?(@status) + return false if @data.nil? + return false if @warnings.nil? + true + end + + # Custom attribute writer method checking allowed values (enum). + # @param [Object] status Object to be assigned + def status=(status) + validator = EnumAttributeValidator.new('String', ["success"]) + unless validator.valid?(status) + fail ArgumentError, "invalid value for \"status\", must be one of #{validator.allowable_values}." + end + @status = status + end + + # Custom attribute writer method with validation + # @param [Object] data Value to be assigned + def data=(data) + if data.nil? + fail ArgumentError, 'data cannot be nil' + end + + @data = data + end + + # Custom attribute writer method with validation + # @param [Object] warnings Value to be assigned + def warnings=(warnings) + if warnings.nil? + fail ArgumentError, 'warnings cannot be nil' + end + + @warnings = warnings + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + status == o.status && + data == o.data && + warnings == o.warnings + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [status, data, warnings].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + transformed_hash = {} + openapi_types.each_pair do |key, type| + if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = nil + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[attribute_map[key]].is_a?(Array) + transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) } + end + elsif !attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]]) + end + end + new(transformed_hash) + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + end + +end diff --git a/lib/kombo_client/models/post_ats_candidates_request_body.rb b/lib/kombo_client/models/post_ats_candidates_request_body.rb new file mode 100644 index 0000000..2e32edf --- /dev/null +++ b/lib/kombo_client/models/post_ats_candidates_request_body.rb @@ -0,0 +1,250 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.17.0 + +=end + +require 'date' +require 'time' + +module Kombo + class PostAtsCandidatesRequestBody < ApiModelBase + attr_accessor :candidate + + attr_accessor :application + + # 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. + attr_accessor :screening_question_answers + + # An array of the attachments you would like upload. + attr_accessor :attachments + + attr_accessor :source + + attr_accessor :sourced_by + + attr_accessor :gdpr_consent + + attr_accessor :remote_fields + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'candidate' => :'candidate', + :'application' => :'application', + :'screening_question_answers' => :'screening_question_answers', + :'attachments' => :'attachments', + :'source' => :'source', + :'sourced_by' => :'sourced_by', + :'gdpr_consent' => :'gdpr_consent', + :'remote_fields' => :'remote_fields' + } + end + + # Returns attribute mapping this model knows about + def self.acceptable_attribute_map + attribute_map + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + acceptable_attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'candidate' => :'PostAtsCandidatesRequestBodyCandidate', + :'application' => :'PostAtsCandidatesRequestBodyApplication', + :'screening_question_answers' => :'Array', + :'attachments' => :'Array', + :'source' => :'PostAtsCandidatesRequestBodySource', + :'sourced_by' => :'PostAtsCandidatesRequestBodySourcedBy', + :'gdpr_consent' => :'PostAtsCandidatesRequestBodyGdprConsent', + :'remote_fields' => :'PostAtsCandidatesRequestBodyRemoteFields' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Kombo::PostAtsCandidatesRequestBody` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + acceptable_attribute_map = self.class.acceptable_attribute_map + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!acceptable_attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Kombo::PostAtsCandidatesRequestBody`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'candidate') + self.candidate = attributes[:'candidate'] + else + self.candidate = nil + end + + if attributes.key?(:'application') + self.application = attributes[:'application'] + else + self.application = nil + end + + if attributes.key?(:'screening_question_answers') + if (value = attributes[:'screening_question_answers']).is_a?(Array) + self.screening_question_answers = value + end + end + + if attributes.key?(:'attachments') + if (value = attributes[:'attachments']).is_a?(Array) + self.attachments = value + end + end + + if attributes.key?(:'source') + self.source = attributes[:'source'] + end + + if attributes.key?(:'sourced_by') + self.sourced_by = attributes[:'sourced_by'] + end + + if attributes.key?(:'gdpr_consent') + self.gdpr_consent = attributes[:'gdpr_consent'] + end + + if attributes.key?(:'remote_fields') + self.remote_fields = attributes[:'remote_fields'] + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + warn '[DEPRECATED] the `list_invalid_properties` method is obsolete' + invalid_properties = Array.new + if @candidate.nil? + invalid_properties.push('invalid value for "candidate", candidate cannot be nil.') + end + + if @application.nil? + invalid_properties.push('invalid value for "application", application cannot be nil.') + end + + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + warn '[DEPRECATED] the `valid?` method is obsolete' + return false if @candidate.nil? + return false if @application.nil? + true + end + + # Custom attribute writer method with validation + # @param [Object] candidate Value to be assigned + def candidate=(candidate) + if candidate.nil? + fail ArgumentError, 'candidate cannot be nil' + end + + @candidate = candidate + end + + # Custom attribute writer method with validation + # @param [Object] application Value to be assigned + def application=(application) + if application.nil? + fail ArgumentError, 'application cannot be nil' + end + + @application = application + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + candidate == o.candidate && + application == o.application && + screening_question_answers == o.screening_question_answers && + attachments == o.attachments && + source == o.source && + sourced_by == o.sourced_by && + gdpr_consent == o.gdpr_consent && + remote_fields == o.remote_fields + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [candidate, application, screening_question_answers, attachments, source, sourced_by, gdpr_consent, remote_fields].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + transformed_hash = {} + openapi_types.each_pair do |key, type| + if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = nil + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[attribute_map[key]].is_a?(Array) + transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) } + end + elsif !attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]]) + end + end + new(transformed_hash) + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + end + +end diff --git a/lib/kombo_client/models/post_ats_candidates_request_body_application.rb b/lib/kombo_client/models/post_ats_candidates_request_body_application.rb new file mode 100644 index 0000000..0ce1cac --- /dev/null +++ b/lib/kombo_client/models/post_ats_candidates_request_body_application.rb @@ -0,0 +1,176 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.17.0 + +=end + +require 'date' +require 'time' + +module Kombo + # Currently, every candidate has one application. If you are interested in talent pools, please contact Kombo. + class PostAtsCandidatesRequestBodyApplication < ApiModelBase + # 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. + attr_accessor :job_id + + # Stage this candidate should be in. If left out, the default stage for this job will be used. + attr_accessor :stage_id + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'job_id' => :'job_id', + :'stage_id' => :'stage_id' + } + end + + # Returns attribute mapping this model knows about + def self.acceptable_attribute_map + attribute_map + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + acceptable_attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'job_id' => :'String', + :'stage_id' => :'String' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Kombo::PostAtsCandidatesRequestBodyApplication` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + acceptable_attribute_map = self.class.acceptable_attribute_map + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!acceptable_attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Kombo::PostAtsCandidatesRequestBodyApplication`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'job_id') + self.job_id = attributes[:'job_id'] + else + self.job_id = nil + end + + if attributes.key?(:'stage_id') + self.stage_id = attributes[:'stage_id'] + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + warn '[DEPRECATED] the `list_invalid_properties` method is obsolete' + invalid_properties = Array.new + if @job_id.nil? + invalid_properties.push('invalid value for "job_id", job_id cannot be nil.') + end + + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + warn '[DEPRECATED] the `valid?` method is obsolete' + return false if @job_id.nil? + true + end + + # Custom attribute writer method with validation + # @param [Object] job_id Value to be assigned + def job_id=(job_id) + if job_id.nil? + fail ArgumentError, 'job_id cannot be nil' + end + + @job_id = job_id + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + job_id == o.job_id && + stage_id == o.stage_id + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [job_id, stage_id].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + transformed_hash = {} + openapi_types.each_pair do |key, type| + if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = nil + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[attribute_map[key]].is_a?(Array) + transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) } + end + elsif !attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]]) + end + end + new(transformed_hash) + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + end + +end diff --git a/lib/kombo_client/models/post_ats_candidates_request_body_candidate.rb b/lib/kombo_client/models/post_ats_candidates_request_body_candidate.rb new file mode 100644 index 0000000..a465b40 --- /dev/null +++ b/lib/kombo_client/models/post_ats_candidates_request_body_candidate.rb @@ -0,0 +1,376 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.17.0 + +=end + +require 'date' +require 'time' + +module Kombo + class PostAtsCandidatesRequestBodyCandidate < ApiModelBase + # The first name of the candidate. + attr_accessor :first_name + + # The last name of the candidate. + attr_accessor :last_name + + # The primary email address this application will be created with. + attr_accessor :email_address + + attr_accessor :additional_email_addresses + + # The company where the candidate is currently working. + attr_accessor :company + + # The current job title of the candidate. + attr_accessor :title + + # The phone number of the candidate. + attr_accessor :phone_number + + attr_accessor :additional_phone_numbers + + attr_accessor :location + + # The gender of the candidate. Must be one of `MALE`, `FEMALE`, or `OTHER`. + attr_accessor :gender + + # The date the candidate is available to start working. + attr_accessor :availability_date + + attr_accessor :salary_expectations + + # A list of social media links of the candidate. The links must be valid URLs. + attr_accessor :social_links + + class EnumAttributeValidator + attr_reader :datatype + attr_reader :allowable_values + + def initialize(datatype, allowable_values) + @allowable_values = allowable_values.map do |value| + case datatype.to_s + when /Integer/i + value.to_i + when /Float/i + value.to_f + else + value + end + end + end + + def valid?(value) + !value || allowable_values.include?(value) + end + end + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'first_name' => :'first_name', + :'last_name' => :'last_name', + :'email_address' => :'email_address', + :'additional_email_addresses' => :'additional_email_addresses', + :'company' => :'company', + :'title' => :'title', + :'phone_number' => :'phone_number', + :'additional_phone_numbers' => :'additional_phone_numbers', + :'location' => :'location', + :'gender' => :'gender', + :'availability_date' => :'availability_date', + :'salary_expectations' => :'salary_expectations', + :'social_links' => :'social_links' + } + end + + # Returns attribute mapping this model knows about + def self.acceptable_attribute_map + attribute_map + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + acceptable_attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'first_name' => :'String', + :'last_name' => :'String', + :'email_address' => :'String', + :'additional_email_addresses' => :'Array', + :'company' => :'String', + :'title' => :'String', + :'phone_number' => :'String', + :'additional_phone_numbers' => :'Array', + :'location' => :'PostAtsCandidatesRequestBodyCandidateLocation', + :'gender' => :'String', + :'availability_date' => :'Time', + :'salary_expectations' => :'PostAtsCandidatesRequestBodyCandidateSalaryExpectations', + :'social_links' => :'Array' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Kombo::PostAtsCandidatesRequestBodyCandidate` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + acceptable_attribute_map = self.class.acceptable_attribute_map + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!acceptable_attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Kombo::PostAtsCandidatesRequestBodyCandidate`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'first_name') + self.first_name = attributes[:'first_name'] + else + self.first_name = nil + end + + if attributes.key?(:'last_name') + self.last_name = attributes[:'last_name'] + else + self.last_name = nil + end + + if attributes.key?(:'email_address') + self.email_address = attributes[:'email_address'] + else + self.email_address = nil + end + + if attributes.key?(:'additional_email_addresses') + if (value = attributes[:'additional_email_addresses']).is_a?(Array) + self.additional_email_addresses = value + end + end + + if attributes.key?(:'company') + self.company = attributes[:'company'] + end + + if attributes.key?(:'title') + self.title = attributes[:'title'] + end + + if attributes.key?(:'phone_number') + self.phone_number = attributes[:'phone_number'] + end + + if attributes.key?(:'additional_phone_numbers') + if (value = attributes[:'additional_phone_numbers']).is_a?(Array) + self.additional_phone_numbers = value + end + end + + if attributes.key?(:'location') + self.location = attributes[:'location'] + end + + if attributes.key?(:'gender') + self.gender = attributes[:'gender'] + end + + if attributes.key?(:'availability_date') + self.availability_date = attributes[:'availability_date'] + end + + if attributes.key?(:'salary_expectations') + self.salary_expectations = attributes[:'salary_expectations'] + end + + if attributes.key?(:'social_links') + if (value = attributes[:'social_links']).is_a?(Array) + self.social_links = value + end + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + warn '[DEPRECATED] the `list_invalid_properties` method is obsolete' + invalid_properties = Array.new + if @first_name.nil? + invalid_properties.push('invalid value for "first_name", first_name cannot be nil.') + end + + if @last_name.nil? + invalid_properties.push('invalid value for "last_name", last_name cannot be nil.') + end + + if @email_address.nil? + invalid_properties.push('invalid value for "email_address", email_address cannot be nil.') + end + + pattern = Regexp.new(/^\d{4}-\d{2}-\d{2}(T\d{2}:\d{2}:\d{2}(\.\d+)?)?Z?$/) + if !@availability_date.nil? && @availability_date !~ pattern + invalid_properties.push("invalid value for \"availability_date\", must conform to the pattern #{pattern}.") + end + + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + warn '[DEPRECATED] the `valid?` method is obsolete' + return false if @first_name.nil? + return false if @last_name.nil? + return false if @email_address.nil? + gender_validator = EnumAttributeValidator.new('String', ["MALE", "FEMALE", "OTHER"]) + return false unless gender_validator.valid?(@gender) + return false if !@availability_date.nil? && @availability_date !~ Regexp.new(/^\d{4}-\d{2}-\d{2}(T\d{2}:\d{2}:\d{2}(\.\d+)?)?Z?$/) + true + end + + # Custom attribute writer method with validation + # @param [Object] first_name Value to be assigned + def first_name=(first_name) + if first_name.nil? + fail ArgumentError, 'first_name cannot be nil' + end + + @first_name = first_name + end + + # Custom attribute writer method with validation + # @param [Object] last_name Value to be assigned + def last_name=(last_name) + if last_name.nil? + fail ArgumentError, 'last_name cannot be nil' + end + + @last_name = last_name + end + + # Custom attribute writer method with validation + # @param [Object] email_address Value to be assigned + def email_address=(email_address) + if email_address.nil? + fail ArgumentError, 'email_address cannot be nil' + end + + @email_address = email_address + end + + # Custom attribute writer method checking allowed values (enum). + # @param [Object] gender Object to be assigned + def gender=(gender) + validator = EnumAttributeValidator.new('String', ["MALE", "FEMALE", "OTHER"]) + unless validator.valid?(gender) + fail ArgumentError, "invalid value for \"gender\", must be one of #{validator.allowable_values}." + end + @gender = gender + end + + # Custom attribute writer method with validation + # @param [Object] availability_date Value to be assigned + def availability_date=(availability_date) + if availability_date.nil? + fail ArgumentError, 'availability_date cannot be nil' + end + + pattern = Regexp.new(/^\d{4}-\d{2}-\d{2}(T\d{2}:\d{2}:\d{2}(\.\d+)?)?Z?$/) + if availability_date !~ pattern + fail ArgumentError, "invalid value for \"availability_date\", must conform to the pattern #{pattern}." + end + + @availability_date = availability_date + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + first_name == o.first_name && + last_name == o.last_name && + email_address == o.email_address && + additional_email_addresses == o.additional_email_addresses && + company == o.company && + title == o.title && + phone_number == o.phone_number && + additional_phone_numbers == o.additional_phone_numbers && + location == o.location && + gender == o.gender && + availability_date == o.availability_date && + salary_expectations == o.salary_expectations && + social_links == o.social_links + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [first_name, last_name, email_address, additional_email_addresses, company, title, phone_number, additional_phone_numbers, location, gender, availability_date, salary_expectations, social_links].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + transformed_hash = {} + openapi_types.each_pair do |key, type| + if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = nil + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[attribute_map[key]].is_a?(Array) + transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) } + end + elsif !attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]]) + end + end + new(transformed_hash) + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + end + +end diff --git a/lib/kombo_client/models/post_ats_candidates_request_body_candidate_additional_email_addresses_inner.rb b/lib/kombo_client/models/post_ats_candidates_request_body_candidate_additional_email_addresses_inner.rb new file mode 100644 index 0000000..af1fd8c --- /dev/null +++ b/lib/kombo_client/models/post_ats_candidates_request_body_candidate_additional_email_addresses_inner.rb @@ -0,0 +1,214 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.17.0 + +=end + +require 'date' +require 'time' + +module Kombo + class PostAtsCandidatesRequestBodyCandidateAdditionalEmailAddressesInner < ApiModelBase + attr_accessor :type + + attr_accessor :email_address + + class EnumAttributeValidator + attr_reader :datatype + attr_reader :allowable_values + + def initialize(datatype, allowable_values) + @allowable_values = allowable_values.map do |value| + case datatype.to_s + when /Integer/i + value.to_i + when /Float/i + value.to_f + else + value + end + end + end + + def valid?(value) + !value || allowable_values.include?(value) + end + end + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'type' => :'type', + :'email_address' => :'email_address' + } + end + + # Returns attribute mapping this model knows about + def self.acceptable_attribute_map + attribute_map + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + acceptable_attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'type' => :'String', + :'email_address' => :'String' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Kombo::PostAtsCandidatesRequestBodyCandidateAdditionalEmailAddressesInner` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + acceptable_attribute_map = self.class.acceptable_attribute_map + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!acceptable_attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Kombo::PostAtsCandidatesRequestBodyCandidateAdditionalEmailAddressesInner`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'type') + self.type = attributes[:'type'] + else + self.type = nil + end + + if attributes.key?(:'email_address') + self.email_address = attributes[:'email_address'] + else + self.email_address = nil + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + warn '[DEPRECATED] the `list_invalid_properties` method is obsolete' + invalid_properties = Array.new + if @type.nil? + invalid_properties.push('invalid value for "type", type cannot be nil.') + end + + if @email_address.nil? + invalid_properties.push('invalid value for "email_address", email_address cannot be nil.') + end + + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + warn '[DEPRECATED] the `valid?` method is obsolete' + return false if @type.nil? + type_validator = EnumAttributeValidator.new('String', ["PERSONAL", "WORK", "OTHER"]) + return false unless type_validator.valid?(@type) + return false if @email_address.nil? + true + end + + # Custom attribute writer method checking allowed values (enum). + # @param [Object] type Object to be assigned + def type=(type) + validator = EnumAttributeValidator.new('String', ["PERSONAL", "WORK", "OTHER"]) + unless validator.valid?(type) + fail ArgumentError, "invalid value for \"type\", must be one of #{validator.allowable_values}." + end + @type = type + end + + # Custom attribute writer method with validation + # @param [Object] email_address Value to be assigned + def email_address=(email_address) + if email_address.nil? + fail ArgumentError, 'email_address cannot be nil' + end + + @email_address = email_address + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + type == o.type && + email_address == o.email_address + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [type, email_address].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + transformed_hash = {} + openapi_types.each_pair do |key, type| + if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = nil + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[attribute_map[key]].is_a?(Array) + transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) } + end + elsif !attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]]) + end + end + new(transformed_hash) + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + end + +end diff --git a/lib/kombo_client/models/post_ats_candidates_request_body_candidate_additional_phone_numbers_inner.rb b/lib/kombo_client/models/post_ats_candidates_request_body_candidate_additional_phone_numbers_inner.rb new file mode 100644 index 0000000..674977b --- /dev/null +++ b/lib/kombo_client/models/post_ats_candidates_request_body_candidate_additional_phone_numbers_inner.rb @@ -0,0 +1,214 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.17.0 + +=end + +require 'date' +require 'time' + +module Kombo + class PostAtsCandidatesRequestBodyCandidateAdditionalPhoneNumbersInner < ApiModelBase + attr_accessor :type + + attr_accessor :phone_number + + class EnumAttributeValidator + attr_reader :datatype + attr_reader :allowable_values + + def initialize(datatype, allowable_values) + @allowable_values = allowable_values.map do |value| + case datatype.to_s + when /Integer/i + value.to_i + when /Float/i + value.to_f + else + value + end + end + end + + def valid?(value) + !value || allowable_values.include?(value) + end + end + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'type' => :'type', + :'phone_number' => :'phone_number' + } + end + + # Returns attribute mapping this model knows about + def self.acceptable_attribute_map + attribute_map + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + acceptable_attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'type' => :'String', + :'phone_number' => :'String' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Kombo::PostAtsCandidatesRequestBodyCandidateAdditionalPhoneNumbersInner` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + acceptable_attribute_map = self.class.acceptable_attribute_map + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!acceptable_attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Kombo::PostAtsCandidatesRequestBodyCandidateAdditionalPhoneNumbersInner`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'type') + self.type = attributes[:'type'] + else + self.type = nil + end + + if attributes.key?(:'phone_number') + self.phone_number = attributes[:'phone_number'] + else + self.phone_number = nil + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + warn '[DEPRECATED] the `list_invalid_properties` method is obsolete' + invalid_properties = Array.new + if @type.nil? + invalid_properties.push('invalid value for "type", type cannot be nil.') + end + + if @phone_number.nil? + invalid_properties.push('invalid value for "phone_number", phone_number cannot be nil.') + end + + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + warn '[DEPRECATED] the `valid?` method is obsolete' + return false if @type.nil? + type_validator = EnumAttributeValidator.new('String', ["PERSONAL", "WORK", "OTHER"]) + return false unless type_validator.valid?(@type) + return false if @phone_number.nil? + true + end + + # Custom attribute writer method checking allowed values (enum). + # @param [Object] type Object to be assigned + def type=(type) + validator = EnumAttributeValidator.new('String', ["PERSONAL", "WORK", "OTHER"]) + unless validator.valid?(type) + fail ArgumentError, "invalid value for \"type\", must be one of #{validator.allowable_values}." + end + @type = type + end + + # Custom attribute writer method with validation + # @param [Object] phone_number Value to be assigned + def phone_number=(phone_number) + if phone_number.nil? + fail ArgumentError, 'phone_number cannot be nil' + end + + @phone_number = phone_number + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + type == o.type && + phone_number == o.phone_number + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [type, phone_number].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + transformed_hash = {} + openapi_types.each_pair do |key, type| + if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = nil + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[attribute_map[key]].is_a?(Array) + transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) } + end + elsif !attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]]) + end + end + new(transformed_hash) + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + end + +end diff --git a/lib/kombo_client/models/post_ats_candidates_request_body_candidate_location.rb b/lib/kombo_client/models/post_ats_candidates_request_body_candidate_location.rb new file mode 100644 index 0000000..7d02c2f --- /dev/null +++ b/lib/kombo_client/models/post_ats_candidates_request_body_candidate_location.rb @@ -0,0 +1,204 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.17.0 + +=end + +require 'date' +require 'time' + +module Kombo + # The location of the candidate. + class PostAtsCandidatesRequestBodyCandidateLocation < ApiModelBase + attr_accessor :city + + # 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. + attr_accessor :country + + attr_accessor :state + + attr_accessor :zip_code + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'city' => :'city', + :'country' => :'country', + :'state' => :'state', + :'zip_code' => :'zip_code' + } + end + + # Returns attribute mapping this model knows about + def self.acceptable_attribute_map + attribute_map + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + acceptable_attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'city' => :'String', + :'country' => :'String', + :'state' => :'String', + :'zip_code' => :'String' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Kombo::PostAtsCandidatesRequestBodyCandidateLocation` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + acceptable_attribute_map = self.class.acceptable_attribute_map + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!acceptable_attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Kombo::PostAtsCandidatesRequestBodyCandidateLocation`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'city') + self.city = attributes[:'city'] + end + + if attributes.key?(:'country') + self.country = attributes[:'country'] + else + self.country = nil + end + + if attributes.key?(:'state') + self.state = attributes[:'state'] + end + + if attributes.key?(:'zip_code') + self.zip_code = attributes[:'zip_code'] + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + warn '[DEPRECATED] the `list_invalid_properties` method is obsolete' + invalid_properties = Array.new + if @country.nil? + invalid_properties.push('invalid value for "country", country cannot be nil.') + end + + pattern = Regexp.new(/^[A-Z]{2}$/) + if @country !~ pattern + invalid_properties.push("invalid value for \"country\", must conform to the pattern #{pattern}.") + end + + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + warn '[DEPRECATED] the `valid?` method is obsolete' + return false if @country.nil? + return false if @country !~ Regexp.new(/^[A-Z]{2}$/) + true + end + + # Custom attribute writer method with validation + # @param [Object] country Value to be assigned + def country=(country) + if country.nil? + fail ArgumentError, 'country cannot be nil' + end + + pattern = Regexp.new(/^[A-Z]{2}$/) + if country !~ pattern + fail ArgumentError, "invalid value for \"country\", must conform to the pattern #{pattern}." + end + + @country = country + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + city == o.city && + country == o.country && + state == o.state && + zip_code == o.zip_code + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [city, country, state, zip_code].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + transformed_hash = {} + openapi_types.each_pair do |key, type| + if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = nil + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[attribute_map[key]].is_a?(Array) + transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) } + end + elsif !attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]]) + end + end + new(transformed_hash) + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + end + +end diff --git a/lib/kombo_client/models/post_ats_candidates_request_body_candidate_salary_expectations.rb b/lib/kombo_client/models/post_ats_candidates_request_body_candidate_salary_expectations.rb new file mode 100644 index 0000000..93d8532 --- /dev/null +++ b/lib/kombo_client/models/post_ats_candidates_request_body_candidate_salary_expectations.rb @@ -0,0 +1,226 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.17.0 + +=end + +require 'date' +require 'time' + +module Kombo + # 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. + class PostAtsCandidatesRequestBodyCandidateSalaryExpectations < ApiModelBase + # The period of the salary expectations. Must be one of `MONTH` or `YEAR`. + attr_accessor :period + + # The amount of the salary expectations. + attr_accessor :amount + + class EnumAttributeValidator + attr_reader :datatype + attr_reader :allowable_values + + def initialize(datatype, allowable_values) + @allowable_values = allowable_values.map do |value| + case datatype.to_s + when /Integer/i + value.to_i + when /Float/i + value.to_f + else + value + end + end + end + + def valid?(value) + !value || allowable_values.include?(value) + end + end + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'period' => :'period', + :'amount' => :'amount' + } + end + + # Returns attribute mapping this model knows about + def self.acceptable_attribute_map + attribute_map + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + acceptable_attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'period' => :'String', + :'amount' => :'Float' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Kombo::PostAtsCandidatesRequestBodyCandidateSalaryExpectations` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + acceptable_attribute_map = self.class.acceptable_attribute_map + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!acceptable_attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Kombo::PostAtsCandidatesRequestBodyCandidateSalaryExpectations`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'period') + self.period = attributes[:'period'] + else + self.period = nil + end + + if attributes.key?(:'amount') + self.amount = attributes[:'amount'] + else + self.amount = nil + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + warn '[DEPRECATED] the `list_invalid_properties` method is obsolete' + invalid_properties = Array.new + if @period.nil? + invalid_properties.push('invalid value for "period", period cannot be nil.') + end + + if @amount.nil? + invalid_properties.push('invalid value for "amount", amount cannot be nil.') + end + + if @amount < -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + invalid_properties.push('invalid value for "amount", must be greater than or equal to -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.') + end + + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + warn '[DEPRECATED] the `valid?` method is obsolete' + return false if @period.nil? + period_validator = EnumAttributeValidator.new('String', ["MONTH", "YEAR"]) + return false unless period_validator.valid?(@period) + return false if @amount.nil? + return false if @amount < -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + true + end + + # Custom attribute writer method checking allowed values (enum). + # @param [Object] period Object to be assigned + def period=(period) + validator = EnumAttributeValidator.new('String', ["MONTH", "YEAR"]) + unless validator.valid?(period) + fail ArgumentError, "invalid value for \"period\", must be one of #{validator.allowable_values}." + end + @period = period + end + + # Custom attribute writer method with validation + # @param [Object] amount Value to be assigned + def amount=(amount) + if amount.nil? + fail ArgumentError, 'amount cannot be nil' + end + + if amount < -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + fail ArgumentError, 'invalid value for "amount", must be greater than or equal to -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.' + end + + @amount = amount + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + period == o.period && + amount == o.amount + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [period, amount].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + transformed_hash = {} + openapi_types.each_pair do |key, type| + if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = nil + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[attribute_map[key]].is_a?(Array) + transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) } + end + elsif !attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]]) + end + end + new(transformed_hash) + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + end + +end diff --git a/lib/kombo_client/models/post_ats_candidates_request_body_candidate_social_links_inner.rb b/lib/kombo_client/models/post_ats_candidates_request_body_candidate_social_links_inner.rb new file mode 100644 index 0000000..4f9e3ce --- /dev/null +++ b/lib/kombo_client/models/post_ats_candidates_request_body_candidate_social_links_inner.rb @@ -0,0 +1,164 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.17.0 + +=end + +require 'date' +require 'time' + +module Kombo + class PostAtsCandidatesRequestBodyCandidateSocialLinksInner < ApiModelBase + attr_accessor :url + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'url' => :'url' + } + end + + # Returns attribute mapping this model knows about + def self.acceptable_attribute_map + attribute_map + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + acceptable_attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'url' => :'String' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Kombo::PostAtsCandidatesRequestBodyCandidateSocialLinksInner` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + acceptable_attribute_map = self.class.acceptable_attribute_map + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!acceptable_attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Kombo::PostAtsCandidatesRequestBodyCandidateSocialLinksInner`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'url') + self.url = attributes[:'url'] + else + self.url = nil + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + warn '[DEPRECATED] the `list_invalid_properties` method is obsolete' + invalid_properties = Array.new + if @url.nil? + invalid_properties.push('invalid value for "url", url cannot be nil.') + end + + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + warn '[DEPRECATED] the `valid?` method is obsolete' + return false if @url.nil? + true + end + + # Custom attribute writer method with validation + # @param [Object] url Value to be assigned + def url=(url) + if url.nil? + fail ArgumentError, 'url cannot be nil' + end + + @url = url + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + url == o.url + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [url].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + transformed_hash = {} + openapi_types.each_pair do |key, type| + if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = nil + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[attribute_map[key]].is_a?(Array) + transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) } + end + elsif !attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]]) + end + end + new(transformed_hash) + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + end + +end diff --git a/lib/kombo_client/models/post_ats_candidates_request_body_gdpr_consent.rb b/lib/kombo_client/models/post_ats_candidates_request_body_gdpr_consent.rb new file mode 100644 index 0000000..cba5d84 --- /dev/null +++ b/lib/kombo_client/models/post_ats_candidates_request_body_gdpr_consent.rb @@ -0,0 +1,180 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.17.0 + +=end + +require 'date' +require 'time' + +module Kombo + # Optional GDPR consent information required in some jurisdictions (like the Czech Republic or Slovakia). + class PostAtsCandidatesRequestBodyGdprConsent < ApiModelBase + # Until when the candidate has granted the company they're applying to permission to process their personal data. + attr_accessor :expires_at + + # Whether the candidate has given consent. + attr_accessor :given + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'expires_at' => :'expires_at', + :'given' => :'given' + } + end + + # Returns attribute mapping this model knows about + def self.acceptable_attribute_map + attribute_map + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + acceptable_attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'expires_at' => :'Time', + :'given' => :'Boolean' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Kombo::PostAtsCandidatesRequestBodyGdprConsent` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + acceptable_attribute_map = self.class.acceptable_attribute_map + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!acceptable_attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Kombo::PostAtsCandidatesRequestBodyGdprConsent`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'expires_at') + self.expires_at = attributes[:'expires_at'] + end + + if attributes.key?(:'given') + self.given = attributes[:'given'] + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + warn '[DEPRECATED] the `list_invalid_properties` method is obsolete' + invalid_properties = Array.new + pattern = Regexp.new(/^\d{4}-\d{2}-\d{2}(T\d{2}:\d{2}:\d{2}(\.\d+)?)?Z?$/) + if !@expires_at.nil? && @expires_at !~ pattern + invalid_properties.push("invalid value for \"expires_at\", must conform to the pattern #{pattern}.") + end + + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + warn '[DEPRECATED] the `valid?` method is obsolete' + return false if !@expires_at.nil? && @expires_at !~ Regexp.new(/^\d{4}-\d{2}-\d{2}(T\d{2}:\d{2}:\d{2}(\.\d+)?)?Z?$/) + true + end + + # Custom attribute writer method with validation + # @param [Object] expires_at Value to be assigned + def expires_at=(expires_at) + if expires_at.nil? + fail ArgumentError, 'expires_at cannot be nil' + end + + pattern = Regexp.new(/^\d{4}-\d{2}-\d{2}(T\d{2}:\d{2}:\d{2}(\.\d+)?)?Z?$/) + if expires_at !~ pattern + fail ArgumentError, "invalid value for \"expires_at\", must conform to the pattern #{pattern}." + end + + @expires_at = expires_at + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + expires_at == o.expires_at && + given == o.given + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [expires_at, given].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + transformed_hash = {} + openapi_types.each_pair do |key, type| + if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = nil + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[attribute_map[key]].is_a?(Array) + transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) } + end + elsif !attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]]) + end + end + new(transformed_hash) + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + end + +end diff --git a/lib/kombo_client/models/post_ats_candidates_request_body_remote_fields.rb b/lib/kombo_client/models/post_ats_candidates_request_body_remote_fields.rb new file mode 100644 index 0000000..cfeea6f --- /dev/null +++ b/lib/kombo_client/models/post_ats_candidates_request_body_remote_fields.rb @@ -0,0 +1,319 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.17.0 + +=end + +require 'date' +require 'time' + +module Kombo + # Additional fields that we will pass through to specific ATS systems. + class PostAtsCandidatesRequestBodyRemoteFields < ApiModelBase + attr_accessor :successfactors + + attr_accessor :personio + + attr_accessor :talentsoft + + attr_accessor :teamtailor + + attr_accessor :greenhouse + + attr_accessor :lever + + attr_accessor :workable + + attr_accessor :workday + + attr_accessor :zohorecruit + + attr_accessor :bullhorn + + attr_accessor :smartrecruiters + + attr_accessor :talentadore + + attr_accessor :guidecom + + attr_accessor :dvinci + + attr_accessor :hrworks + + attr_accessor :jobylon + + attr_accessor :avature + + attr_accessor :recruitee + + attr_accessor :umantis + + attr_accessor :piloga + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'successfactors' => :'successfactors', + :'personio' => :'personio', + :'talentsoft' => :'talentsoft', + :'teamtailor' => :'teamtailor', + :'greenhouse' => :'greenhouse', + :'lever' => :'lever', + :'workable' => :'workable', + :'workday' => :'workday', + :'zohorecruit' => :'zohorecruit', + :'bullhorn' => :'bullhorn', + :'smartrecruiters' => :'smartrecruiters', + :'talentadore' => :'talentadore', + :'guidecom' => :'guidecom', + :'dvinci' => :'dvinci', + :'hrworks' => :'hrworks', + :'jobylon' => :'jobylon', + :'avature' => :'avature', + :'recruitee' => :'recruitee', + :'umantis' => :'umantis', + :'piloga' => :'piloga' + } + end + + # Returns attribute mapping this model knows about + def self.acceptable_attribute_map + attribute_map + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + acceptable_attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'successfactors' => :'PostAtsCandidatesRequestBodyRemoteFieldsAllOfSuccessfactors', + :'personio' => :'PostAtsCandidatesRequestBodyRemoteFieldsAllOfPersonio', + :'talentsoft' => :'PostAtsCandidatesRequestBodyRemoteFieldsAllOfTalentsoft', + :'teamtailor' => :'PostAtsCandidatesRequestBodyRemoteFieldsAllOfTeamtailor', + :'greenhouse' => :'PutAtsApplicationsApplicationIdStageRequestBodyRemoteFieldsGreenhouse', + :'lever' => :'PostAtsCandidatesRequestBodyRemoteFieldsAllOfLever', + :'workable' => :'PutAtsApplicationsApplicationIdStageRequestBodyRemoteFieldsWorkable', + :'workday' => :'PostAtsCandidatesRequestBodyRemoteFieldsAllOfWorkday', + :'zohorecruit' => :'PostAtsCandidatesRequestBodyRemoteFieldsAllOfZohorecruit', + :'bullhorn' => :'PostAtsCandidatesRequestBodyRemoteFieldsAllOfBullhorn', + :'smartrecruiters' => :'PostAtsCandidatesRequestBodyRemoteFieldsAllOfSmartrecruiters', + :'talentadore' => :'PostAtsCandidatesRequestBodyRemoteFieldsAllOfTalentadore', + :'guidecom' => :'PostAtsCandidatesRequestBodyRemoteFieldsAllOfGuidecom', + :'dvinci' => :'PostAtsCandidatesRequestBodyRemoteFieldsAllOfDvinci', + :'hrworks' => :'PostAtsCandidatesRequestBodyRemoteFieldsAllOfHrworks', + :'jobylon' => :'PostAtsCandidatesRequestBodyRemoteFieldsAllOfJobylon', + :'avature' => :'PostAtsCandidatesRequestBodyRemoteFieldsAllOfAvature', + :'recruitee' => :'PostAtsCandidatesRequestBodyRemoteFieldsAllOfRecruitee', + :'umantis' => :'PostAtsCandidatesRequestBodyRemoteFieldsAllOfUmantis', + :'piloga' => :'PostAtsCandidatesRequestBodyRemoteFieldsAllOfPiloga' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Kombo::PostAtsCandidatesRequestBodyRemoteFields` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + acceptable_attribute_map = self.class.acceptable_attribute_map + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!acceptable_attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Kombo::PostAtsCandidatesRequestBodyRemoteFields`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'successfactors') + self.successfactors = attributes[:'successfactors'] + end + + if attributes.key?(:'personio') + self.personio = attributes[:'personio'] + end + + if attributes.key?(:'talentsoft') + self.talentsoft = attributes[:'talentsoft'] + end + + if attributes.key?(:'teamtailor') + self.teamtailor = attributes[:'teamtailor'] + end + + if attributes.key?(:'greenhouse') + self.greenhouse = attributes[:'greenhouse'] + end + + if attributes.key?(:'lever') + self.lever = attributes[:'lever'] + end + + if attributes.key?(:'workable') + self.workable = attributes[:'workable'] + end + + if attributes.key?(:'workday') + self.workday = attributes[:'workday'] + end + + if attributes.key?(:'zohorecruit') + self.zohorecruit = attributes[:'zohorecruit'] + end + + if attributes.key?(:'bullhorn') + self.bullhorn = attributes[:'bullhorn'] + end + + if attributes.key?(:'smartrecruiters') + self.smartrecruiters = attributes[:'smartrecruiters'] + end + + if attributes.key?(:'talentadore') + self.talentadore = attributes[:'talentadore'] + end + + if attributes.key?(:'guidecom') + self.guidecom = attributes[:'guidecom'] + end + + if attributes.key?(:'dvinci') + self.dvinci = attributes[:'dvinci'] + end + + if attributes.key?(:'hrworks') + self.hrworks = attributes[:'hrworks'] + end + + if attributes.key?(:'jobylon') + self.jobylon = attributes[:'jobylon'] + end + + if attributes.key?(:'avature') + self.avature = attributes[:'avature'] + end + + if attributes.key?(:'recruitee') + self.recruitee = attributes[:'recruitee'] + end + + if attributes.key?(:'umantis') + self.umantis = attributes[:'umantis'] + end + + if attributes.key?(:'piloga') + self.piloga = attributes[:'piloga'] + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + warn '[DEPRECATED] the `list_invalid_properties` method is obsolete' + invalid_properties = Array.new + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + warn '[DEPRECATED] the `valid?` method is obsolete' + true + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + successfactors == o.successfactors && + personio == o.personio && + talentsoft == o.talentsoft && + teamtailor == o.teamtailor && + greenhouse == o.greenhouse && + lever == o.lever && + workable == o.workable && + workday == o.workday && + zohorecruit == o.zohorecruit && + bullhorn == o.bullhorn && + smartrecruiters == o.smartrecruiters && + talentadore == o.talentadore && + guidecom == o.guidecom && + dvinci == o.dvinci && + hrworks == o.hrworks && + jobylon == o.jobylon && + avature == o.avature && + recruitee == o.recruitee && + umantis == o.umantis && + piloga == o.piloga + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [successfactors, personio, talentsoft, teamtailor, greenhouse, lever, workable, workday, zohorecruit, bullhorn, smartrecruiters, talentadore, guidecom, dvinci, hrworks, jobylon, avature, recruitee, umantis, piloga].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + transformed_hash = {} + openapi_types.each_pair do |key, type| + if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = nil + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[attribute_map[key]].is_a?(Array) + transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) } + end + elsif !attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]]) + end + end + new(transformed_hash) + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + end + +end diff --git a/lib/kombo_client/models/post_ats_candidates_request_body_remote_fields_all_of_avature.rb b/lib/kombo_client/models/post_ats_candidates_request_body_remote_fields_all_of_avature.rb new file mode 100644 index 0000000..c6e0120 --- /dev/null +++ b/lib/kombo_client/models/post_ats_candidates_request_body_remote_fields_all_of_avature.rb @@ -0,0 +1,148 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.17.0 + +=end + +require 'date' +require 'time' + +module Kombo + # Fields specific to Avature. + class PostAtsCandidatesRequestBodyRemoteFieldsAllOfAvature < ApiModelBase + attr_accessor :workflow + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'workflow' => :'workflow' + } + end + + # Returns attribute mapping this model knows about + def self.acceptable_attribute_map + attribute_map + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + acceptable_attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'workflow' => :'PostAtsCandidatesRequestBodyRemoteFieldsAllOfAvatureWorkflow' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Kombo::PostAtsCandidatesRequestBodyRemoteFieldsAllOfAvature` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + acceptable_attribute_map = self.class.acceptable_attribute_map + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!acceptable_attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Kombo::PostAtsCandidatesRequestBodyRemoteFieldsAllOfAvature`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'workflow') + self.workflow = attributes[:'workflow'] + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + warn '[DEPRECATED] the `list_invalid_properties` method is obsolete' + invalid_properties = Array.new + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + warn '[DEPRECATED] the `valid?` method is obsolete' + true + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + workflow == o.workflow + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [workflow].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + transformed_hash = {} + openapi_types.each_pair do |key, type| + if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = nil + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[attribute_map[key]].is_a?(Array) + transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) } + end + elsif !attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]]) + end + end + new(transformed_hash) + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + end + +end diff --git a/lib/kombo_client/models/post_ats_candidates_request_body_remote_fields_all_of_avature_workflow.rb b/lib/kombo_client/models/post_ats_candidates_request_body_remote_fields_all_of_avature_workflow.rb new file mode 100644 index 0000000..2327be3 --- /dev/null +++ b/lib/kombo_client/models/post_ats_candidates_request_body_remote_fields_all_of_avature_workflow.rb @@ -0,0 +1,147 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.17.0 + +=end + +require 'date' +require 'time' + +module Kombo + class PostAtsCandidatesRequestBodyRemoteFieldsAllOfAvatureWorkflow < ApiModelBase + attr_accessor :step + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'step' => :'step' + } + end + + # Returns attribute mapping this model knows about + def self.acceptable_attribute_map + attribute_map + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + acceptable_attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'step' => :'PostAtsCandidatesRequestBodyRemoteFieldsAllOfAvatureWorkflowStep' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Kombo::PostAtsCandidatesRequestBodyRemoteFieldsAllOfAvatureWorkflow` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + acceptable_attribute_map = self.class.acceptable_attribute_map + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!acceptable_attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Kombo::PostAtsCandidatesRequestBodyRemoteFieldsAllOfAvatureWorkflow`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'step') + self.step = attributes[:'step'] + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + warn '[DEPRECATED] the `list_invalid_properties` method is obsolete' + invalid_properties = Array.new + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + warn '[DEPRECATED] the `valid?` method is obsolete' + true + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + step == o.step + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [step].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + transformed_hash = {} + openapi_types.each_pair do |key, type| + if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = nil + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[attribute_map[key]].is_a?(Array) + transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) } + end + elsif !attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]]) + end + end + new(transformed_hash) + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + end + +end diff --git a/lib/kombo_client/models/post_ats_candidates_request_body_remote_fields_all_of_avature_workflow_step.rb b/lib/kombo_client/models/post_ats_candidates_request_body_remote_fields_all_of_avature_workflow_step.rb new file mode 100644 index 0000000..407ad4f --- /dev/null +++ b/lib/kombo_client/models/post_ats_candidates_request_body_remote_fields_all_of_avature_workflow_step.rb @@ -0,0 +1,165 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.17.0 + +=end + +require 'date' +require 'time' + +module Kombo + class PostAtsCandidatesRequestBodyRemoteFieldsAllOfAvatureWorkflowStep < ApiModelBase + # The ID of the workflow step to assign to the candidate. + attr_accessor :id + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'id' => :'id' + } + end + + # Returns attribute mapping this model knows about + def self.acceptable_attribute_map + attribute_map + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + acceptable_attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'id' => :'Integer' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Kombo::PostAtsCandidatesRequestBodyRemoteFieldsAllOfAvatureWorkflowStep` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + acceptable_attribute_map = self.class.acceptable_attribute_map + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!acceptable_attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Kombo::PostAtsCandidatesRequestBodyRemoteFieldsAllOfAvatureWorkflowStep`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'id') + self.id = attributes[:'id'] + else + self.id = nil + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + warn '[DEPRECATED] the `list_invalid_properties` method is obsolete' + invalid_properties = Array.new + if @id.nil? + invalid_properties.push('invalid value for "id", id cannot be nil.') + end + + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + warn '[DEPRECATED] the `valid?` method is obsolete' + return false if @id.nil? + true + end + + # Custom attribute writer method with validation + # @param [Object] id Value to be assigned + def id=(id) + if id.nil? + fail ArgumentError, 'id cannot be nil' + end + + @id = id + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + id == o.id + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [id].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + transformed_hash = {} + openapi_types.each_pair do |key, type| + if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = nil + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[attribute_map[key]].is_a?(Array) + transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) } + end + elsif !attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]]) + end + end + new(transformed_hash) + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + end + +end diff --git a/lib/kombo_client/models/post_ats_candidates_request_body_remote_fields_all_of_bullhorn.rb b/lib/kombo_client/models/post_ats_candidates_request_body_remote_fields_all_of_bullhorn.rb new file mode 100644 index 0000000..3fdccf8 --- /dev/null +++ b/lib/kombo_client/models/post_ats_candidates_request_body_remote_fields_all_of_bullhorn.rb @@ -0,0 +1,163 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.17.0 + +=end + +require 'date' +require 'time' + +module Kombo + # Fields specific to Bullhorn. + class PostAtsCandidatesRequestBodyRemoteFieldsAllOfBullhorn < ApiModelBase + # Fields that we will pass through to Bullhorn's `Candidate` object. + attr_accessor :candidate + + # Fields that we will pass through to Bullhorn's `JobSubmission` object. + attr_accessor :job_submission + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'candidate' => :'candidate', + :'job_submission' => :'job_submission' + } + end + + # Returns attribute mapping this model knows about + def self.acceptable_attribute_map + attribute_map + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + acceptable_attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'candidate' => :'Hash', + :'job_submission' => :'Hash' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Kombo::PostAtsCandidatesRequestBodyRemoteFieldsAllOfBullhorn` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + acceptable_attribute_map = self.class.acceptable_attribute_map + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!acceptable_attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Kombo::PostAtsCandidatesRequestBodyRemoteFieldsAllOfBullhorn`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'candidate') + if (value = attributes[:'candidate']).is_a?(Hash) + self.candidate = value + end + end + + if attributes.key?(:'job_submission') + if (value = attributes[:'job_submission']).is_a?(Hash) + self.job_submission = value + end + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + warn '[DEPRECATED] the `list_invalid_properties` method is obsolete' + invalid_properties = Array.new + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + warn '[DEPRECATED] the `valid?` method is obsolete' + true + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + candidate == o.candidate && + job_submission == o.job_submission + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [candidate, job_submission].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + transformed_hash = {} + openapi_types.each_pair do |key, type| + if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = nil + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[attribute_map[key]].is_a?(Array) + transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) } + end + elsif !attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]]) + end + end + new(transformed_hash) + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + end + +end diff --git a/lib/kombo_client/models/post_ats_candidates_request_body_remote_fields_all_of_dvinci.rb b/lib/kombo_client/models/post_ats_candidates_request_body_remote_fields_all_of_dvinci.rb new file mode 100644 index 0000000..6a2dd48 --- /dev/null +++ b/lib/kombo_client/models/post_ats_candidates_request_body_remote_fields_all_of_dvinci.rb @@ -0,0 +1,151 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.17.0 + +=end + +require 'date' +require 'time' + +module Kombo + # Fields specific to d.vinci. + class PostAtsCandidatesRequestBodyRemoteFieldsAllOfDvinci < ApiModelBase + # 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 + attr_accessor :application + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'application' => :'application' + } + end + + # Returns attribute mapping this model knows about + def self.acceptable_attribute_map + attribute_map + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + acceptable_attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'application' => :'Hash' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Kombo::PostAtsCandidatesRequestBodyRemoteFieldsAllOfDvinci` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + acceptable_attribute_map = self.class.acceptable_attribute_map + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!acceptable_attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Kombo::PostAtsCandidatesRequestBodyRemoteFieldsAllOfDvinci`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'application') + if (value = attributes[:'application']).is_a?(Hash) + self.application = value + end + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + warn '[DEPRECATED] the `list_invalid_properties` method is obsolete' + invalid_properties = Array.new + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + warn '[DEPRECATED] the `valid?` method is obsolete' + true + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + application == o.application + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [application].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + transformed_hash = {} + openapi_types.each_pair do |key, type| + if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = nil + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[attribute_map[key]].is_a?(Array) + transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) } + end + elsif !attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]]) + end + end + new(transformed_hash) + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + end + +end diff --git a/lib/kombo_client/models/post_ats_candidates_request_body_remote_fields_all_of_greenhouse.rb b/lib/kombo_client/models/post_ats_candidates_request_body_remote_fields_all_of_greenhouse.rb new file mode 100644 index 0000000..989ff44 --- /dev/null +++ b/lib/kombo_client/models/post_ats_candidates_request_body_remote_fields_all_of_greenhouse.rb @@ -0,0 +1,163 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.17.0 + +=end + +require 'date' +require 'time' + +module Kombo + # Fields specific to Greenhouse. + class PostAtsCandidatesRequestBodyRemoteFieldsAllOfGreenhouse < ApiModelBase + # Fields that we will pass through to Greenhouse's `Candidate` object. + attr_accessor :candidate + + # Fields that we will pass through to Greenhouse's `Application` object. + attr_accessor :application + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'candidate' => :'candidate', + :'application' => :'application' + } + end + + # Returns attribute mapping this model knows about + def self.acceptable_attribute_map + attribute_map + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + acceptable_attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'candidate' => :'Hash', + :'application' => :'Hash' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Kombo::PostAtsCandidatesRequestBodyRemoteFieldsAllOfGreenhouse` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + acceptable_attribute_map = self.class.acceptable_attribute_map + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!acceptable_attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Kombo::PostAtsCandidatesRequestBodyRemoteFieldsAllOfGreenhouse`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'candidate') + if (value = attributes[:'candidate']).is_a?(Hash) + self.candidate = value + end + end + + if attributes.key?(:'application') + if (value = attributes[:'application']).is_a?(Hash) + self.application = value + end + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + warn '[DEPRECATED] the `list_invalid_properties` method is obsolete' + invalid_properties = Array.new + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + warn '[DEPRECATED] the `valid?` method is obsolete' + true + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + candidate == o.candidate && + application == o.application + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [candidate, application].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + transformed_hash = {} + openapi_types.each_pair do |key, type| + if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = nil + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[attribute_map[key]].is_a?(Array) + transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) } + end + elsif !attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]]) + end + end + new(transformed_hash) + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + end + +end diff --git a/lib/kombo_client/models/post_ats_candidates_request_body_remote_fields_all_of_guidecom.rb b/lib/kombo_client/models/post_ats_candidates_request_body_remote_fields_all_of_guidecom.rb new file mode 100644 index 0000000..b222d22 --- /dev/null +++ b/lib/kombo_client/models/post_ats_candidates_request_body_remote_fields_all_of_guidecom.rb @@ -0,0 +1,151 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.17.0 + +=end + +require 'date' +require 'time' + +module Kombo + # Fields specific to GuideCom. + class PostAtsCandidatesRequestBodyRemoteFieldsAllOfGuidecom < ApiModelBase + # Fields that we will pass through to GuideCom's `Candidate` object. + attr_accessor :candidate + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'candidate' => :'candidate' + } + end + + # Returns attribute mapping this model knows about + def self.acceptable_attribute_map + attribute_map + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + acceptable_attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'candidate' => :'Hash' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Kombo::PostAtsCandidatesRequestBodyRemoteFieldsAllOfGuidecom` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + acceptable_attribute_map = self.class.acceptable_attribute_map + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!acceptable_attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Kombo::PostAtsCandidatesRequestBodyRemoteFieldsAllOfGuidecom`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'candidate') + if (value = attributes[:'candidate']).is_a?(Hash) + self.candidate = value + end + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + warn '[DEPRECATED] the `list_invalid_properties` method is obsolete' + invalid_properties = Array.new + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + warn '[DEPRECATED] the `valid?` method is obsolete' + true + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + candidate == o.candidate + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [candidate].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + transformed_hash = {} + openapi_types.each_pair do |key, type| + if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = nil + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[attribute_map[key]].is_a?(Array) + transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) } + end + elsif !attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]]) + end + end + new(transformed_hash) + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + end + +end diff --git a/lib/kombo_client/models/post_ats_candidates_request_body_remote_fields_all_of_hrworks.rb b/lib/kombo_client/models/post_ats_candidates_request_body_remote_fields_all_of_hrworks.rb new file mode 100644 index 0000000..30d7b56 --- /dev/null +++ b/lib/kombo_client/models/post_ats_candidates_request_body_remote_fields_all_of_hrworks.rb @@ -0,0 +1,151 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.17.0 + +=end + +require 'date' +require 'time' + +module Kombo + # Fields specific to GuideCom. + class PostAtsCandidatesRequestBodyRemoteFieldsAllOfHrworks < ApiModelBase + # 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 + attr_accessor :job_application + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'job_application' => :'jobApplication' + } + end + + # Returns attribute mapping this model knows about + def self.acceptable_attribute_map + attribute_map + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + acceptable_attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'job_application' => :'Hash' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Kombo::PostAtsCandidatesRequestBodyRemoteFieldsAllOfHrworks` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + acceptable_attribute_map = self.class.acceptable_attribute_map + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!acceptable_attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Kombo::PostAtsCandidatesRequestBodyRemoteFieldsAllOfHrworks`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'job_application') + if (value = attributes[:'job_application']).is_a?(Hash) + self.job_application = value + end + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + warn '[DEPRECATED] the `list_invalid_properties` method is obsolete' + invalid_properties = Array.new + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + warn '[DEPRECATED] the `valid?` method is obsolete' + true + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + job_application == o.job_application + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [job_application].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + transformed_hash = {} + openapi_types.each_pair do |key, type| + if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = nil + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[attribute_map[key]].is_a?(Array) + transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) } + end + elsif !attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]]) + end + end + new(transformed_hash) + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + end + +end diff --git a/lib/kombo_client/models/post_ats_candidates_request_body_remote_fields_all_of_jobylon.rb b/lib/kombo_client/models/post_ats_candidates_request_body_remote_fields_all_of_jobylon.rb new file mode 100644 index 0000000..f2549ee --- /dev/null +++ b/lib/kombo_client/models/post_ats_candidates_request_body_remote_fields_all_of_jobylon.rb @@ -0,0 +1,148 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.17.0 + +=end + +require 'date' +require 'time' + +module Kombo + # Fields specific to Jobylon. + class PostAtsCandidatesRequestBodyRemoteFieldsAllOfJobylon < ApiModelBase + attr_accessor :application + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'application' => :'application' + } + end + + # Returns attribute mapping this model knows about + def self.acceptable_attribute_map + attribute_map + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + acceptable_attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'application' => :'PostAtsCandidatesRequestBodyRemoteFieldsAllOfJobylonApplication' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Kombo::PostAtsCandidatesRequestBodyRemoteFieldsAllOfJobylon` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + acceptable_attribute_map = self.class.acceptable_attribute_map + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!acceptable_attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Kombo::PostAtsCandidatesRequestBodyRemoteFieldsAllOfJobylon`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'application') + self.application = attributes[:'application'] + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + warn '[DEPRECATED] the `list_invalid_properties` method is obsolete' + invalid_properties = Array.new + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + warn '[DEPRECATED] the `valid?` method is obsolete' + true + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + application == o.application + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [application].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + transformed_hash = {} + openapi_types.each_pair do |key, type| + if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = nil + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[attribute_map[key]].is_a?(Array) + transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) } + end + elsif !attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]]) + end + end + new(transformed_hash) + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + end + +end diff --git a/lib/kombo_client/models/post_ats_candidates_request_body_remote_fields_all_of_jobylon_application.rb b/lib/kombo_client/models/post_ats_candidates_request_body_remote_fields_all_of_jobylon_application.rb new file mode 100644 index 0000000..077f676 --- /dev/null +++ b/lib/kombo_client/models/post_ats_candidates_request_body_remote_fields_all_of_jobylon_application.rb @@ -0,0 +1,149 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.17.0 + +=end + +require 'date' +require 'time' + +module Kombo + # Fields that we will pass through to Jobylon's create application [endpoint](https://developer.jobylon.com/push-api-and-webhooks#-xL0v)'s request body. + class PostAtsCandidatesRequestBodyRemoteFieldsAllOfJobylonApplication < ApiModelBase + # The `message` field of Jobylon's create application endpoint's request body. + attr_accessor :message + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'message' => :'message' + } + end + + # Returns attribute mapping this model knows about + def self.acceptable_attribute_map + attribute_map + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + acceptable_attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'message' => :'String' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Kombo::PostAtsCandidatesRequestBodyRemoteFieldsAllOfJobylonApplication` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + acceptable_attribute_map = self.class.acceptable_attribute_map + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!acceptable_attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Kombo::PostAtsCandidatesRequestBodyRemoteFieldsAllOfJobylonApplication`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'message') + self.message = attributes[:'message'] + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + warn '[DEPRECATED] the `list_invalid_properties` method is obsolete' + invalid_properties = Array.new + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + warn '[DEPRECATED] the `valid?` method is obsolete' + true + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + message == o.message + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [message].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + transformed_hash = {} + openapi_types.each_pair do |key, type| + if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = nil + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[attribute_map[key]].is_a?(Array) + transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) } + end + elsif !attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]]) + end + end + new(transformed_hash) + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + end + +end diff --git a/lib/kombo_client/models/post_ats_candidates_request_body_remote_fields_all_of_lever.rb b/lib/kombo_client/models/post_ats_candidates_request_body_remote_fields_all_of_lever.rb new file mode 100644 index 0000000..1e652c7 --- /dev/null +++ b/lib/kombo_client/models/post_ats_candidates_request_body_remote_fields_all_of_lever.rb @@ -0,0 +1,151 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.17.0 + +=end + +require 'date' +require 'time' + +module Kombo + # Fields specific to Lever. + class PostAtsCandidatesRequestBodyRemoteFieldsAllOfLever < ApiModelBase + # 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. + attr_accessor :candidate + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'candidate' => :'candidate' + } + end + + # Returns attribute mapping this model knows about + def self.acceptable_attribute_map + attribute_map + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + acceptable_attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'candidate' => :'Hash' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Kombo::PostAtsCandidatesRequestBodyRemoteFieldsAllOfLever` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + acceptable_attribute_map = self.class.acceptable_attribute_map + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!acceptable_attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Kombo::PostAtsCandidatesRequestBodyRemoteFieldsAllOfLever`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'candidate') + if (value = attributes[:'candidate']).is_a?(Hash) + self.candidate = value + end + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + warn '[DEPRECATED] the `list_invalid_properties` method is obsolete' + invalid_properties = Array.new + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + warn '[DEPRECATED] the `valid?` method is obsolete' + true + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + candidate == o.candidate + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [candidate].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + transformed_hash = {} + openapi_types.each_pair do |key, type| + if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = nil + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[attribute_map[key]].is_a?(Array) + transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) } + end + elsif !attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]]) + end + end + new(transformed_hash) + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + end + +end diff --git a/lib/kombo_client/models/post_ats_candidates_request_body_remote_fields_all_of_personio.rb b/lib/kombo_client/models/post_ats_candidates_request_body_remote_fields_all_of_personio.rb new file mode 100644 index 0000000..0fd0481 --- /dev/null +++ b/lib/kombo_client/models/post_ats_candidates_request_body_remote_fields_all_of_personio.rb @@ -0,0 +1,151 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.17.0 + +=end + +require 'date' +require 'time' + +module Kombo + # Fields specific to Personio. + class PostAtsCandidatesRequestBodyRemoteFieldsAllOfPersonio < ApiModelBase + # Fields that we will pass through to Personio's `application` object. + attr_accessor :application + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'application' => :'application' + } + end + + # Returns attribute mapping this model knows about + def self.acceptable_attribute_map + attribute_map + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + acceptable_attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'application' => :'Hash' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Kombo::PostAtsCandidatesRequestBodyRemoteFieldsAllOfPersonio` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + acceptable_attribute_map = self.class.acceptable_attribute_map + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!acceptable_attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Kombo::PostAtsCandidatesRequestBodyRemoteFieldsAllOfPersonio`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'application') + if (value = attributes[:'application']).is_a?(Hash) + self.application = value + end + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + warn '[DEPRECATED] the `list_invalid_properties` method is obsolete' + invalid_properties = Array.new + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + warn '[DEPRECATED] the `valid?` method is obsolete' + true + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + application == o.application + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [application].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + transformed_hash = {} + openapi_types.each_pair do |key, type| + if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = nil + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[attribute_map[key]].is_a?(Array) + transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) } + end + elsif !attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]]) + end + end + new(transformed_hash) + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + end + +end diff --git a/lib/kombo_client/models/post_ats_candidates_request_body_remote_fields_all_of_piloga.rb b/lib/kombo_client/models/post_ats_candidates_request_body_remote_fields_all_of_piloga.rb new file mode 100644 index 0000000..1635015 --- /dev/null +++ b/lib/kombo_client/models/post_ats_candidates_request_body_remote_fields_all_of_piloga.rb @@ -0,0 +1,148 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.17.0 + +=end + +require 'date' +require 'time' + +module Kombo + # Fields specific to P&I Loga. + class PostAtsCandidatesRequestBodyRemoteFieldsAllOfPiloga < ApiModelBase + attr_accessor :candidate + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'candidate' => :'candidate' + } + end + + # Returns attribute mapping this model knows about + def self.acceptable_attribute_map + attribute_map + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + acceptable_attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'candidate' => :'PostAtsCandidatesRequestBodyRemoteFieldsAllOfPilogaCandidate' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Kombo::PostAtsCandidatesRequestBodyRemoteFieldsAllOfPiloga` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + acceptable_attribute_map = self.class.acceptable_attribute_map + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!acceptable_attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Kombo::PostAtsCandidatesRequestBodyRemoteFieldsAllOfPiloga`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'candidate') + self.candidate = attributes[:'candidate'] + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + warn '[DEPRECATED] the `list_invalid_properties` method is obsolete' + invalid_properties = Array.new + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + warn '[DEPRECATED] the `valid?` method is obsolete' + true + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + candidate == o.candidate + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [candidate].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + transformed_hash = {} + openapi_types.each_pair do |key, type| + if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = nil + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[attribute_map[key]].is_a?(Array) + transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) } + end + elsif !attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]]) + end + end + new(transformed_hash) + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + end + +end diff --git a/lib/kombo_client/models/post_ats_candidates_request_body_remote_fields_all_of_piloga_candidate.rb b/lib/kombo_client/models/post_ats_candidates_request_body_remote_fields_all_of_piloga_candidate.rb new file mode 100644 index 0000000..4ce3b17 --- /dev/null +++ b/lib/kombo_client/models/post_ats_candidates_request_body_remote_fields_all_of_piloga_candidate.rb @@ -0,0 +1,149 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.17.0 + +=end + +require 'date' +require 'time' + +module Kombo + # Additional candidate fields for P&I Loga that will be mapped to the application form. + class PostAtsCandidatesRequestBodyRemoteFieldsAllOfPilogaCandidate < ApiModelBase + # The street address of the candidate. + attr_accessor :street + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'street' => :'street' + } + end + + # Returns attribute mapping this model knows about + def self.acceptable_attribute_map + attribute_map + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + acceptable_attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'street' => :'String' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Kombo::PostAtsCandidatesRequestBodyRemoteFieldsAllOfPilogaCandidate` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + acceptable_attribute_map = self.class.acceptable_attribute_map + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!acceptable_attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Kombo::PostAtsCandidatesRequestBodyRemoteFieldsAllOfPilogaCandidate`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'street') + self.street = attributes[:'street'] + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + warn '[DEPRECATED] the `list_invalid_properties` method is obsolete' + invalid_properties = Array.new + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + warn '[DEPRECATED] the `valid?` method is obsolete' + true + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + street == o.street + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [street].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + transformed_hash = {} + openapi_types.each_pair do |key, type| + if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = nil + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[attribute_map[key]].is_a?(Array) + transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) } + end + elsif !attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]]) + end + end + new(transformed_hash) + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + end + +end diff --git a/lib/kombo_client/models/post_ats_candidates_request_body_remote_fields_all_of_recruitee.rb b/lib/kombo_client/models/post_ats_candidates_request_body_remote_fields_all_of_recruitee.rb new file mode 100644 index 0000000..49be212 --- /dev/null +++ b/lib/kombo_client/models/post_ats_candidates_request_body_remote_fields_all_of_recruitee.rb @@ -0,0 +1,148 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.17.0 + +=end + +require 'date' +require 'time' + +module Kombo + # Fields specific to Recruitee. + class PostAtsCandidatesRequestBodyRemoteFieldsAllOfRecruitee < ApiModelBase + attr_accessor :candidate + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'candidate' => :'candidate' + } + end + + # Returns attribute mapping this model knows about + def self.acceptable_attribute_map + attribute_map + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + acceptable_attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'candidate' => :'PostAtsCandidatesRequestBodyRemoteFieldsAllOfRecruiteeCandidate' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Kombo::PostAtsCandidatesRequestBodyRemoteFieldsAllOfRecruitee` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + acceptable_attribute_map = self.class.acceptable_attribute_map + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!acceptable_attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Kombo::PostAtsCandidatesRequestBodyRemoteFieldsAllOfRecruitee`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'candidate') + self.candidate = attributes[:'candidate'] + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + warn '[DEPRECATED] the `list_invalid_properties` method is obsolete' + invalid_properties = Array.new + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + warn '[DEPRECATED] the `valid?` method is obsolete' + true + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + candidate == o.candidate + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [candidate].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + transformed_hash = {} + openapi_types.each_pair do |key, type| + if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = nil + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[attribute_map[key]].is_a?(Array) + transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) } + end + elsif !attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]]) + end + end + new(transformed_hash) + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + end + +end diff --git a/lib/kombo_client/models/post_ats_candidates_request_body_remote_fields_all_of_recruitee_candidate.rb b/lib/kombo_client/models/post_ats_candidates_request_body_remote_fields_all_of_recruitee_candidate.rb new file mode 100644 index 0000000..4ba8dfe --- /dev/null +++ b/lib/kombo_client/models/post_ats_candidates_request_body_remote_fields_all_of_recruitee_candidate.rb @@ -0,0 +1,148 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.17.0 + +=end + +require 'date' +require 'time' + +module Kombo + class PostAtsCandidatesRequestBodyRemoteFieldsAllOfRecruiteeCandidate < ApiModelBase + # 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. + attr_accessor :cover_letter_text + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'cover_letter_text' => :'cover_letter_text' + } + end + + # Returns attribute mapping this model knows about + def self.acceptable_attribute_map + attribute_map + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + acceptable_attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'cover_letter_text' => :'String' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Kombo::PostAtsCandidatesRequestBodyRemoteFieldsAllOfRecruiteeCandidate` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + acceptable_attribute_map = self.class.acceptable_attribute_map + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!acceptable_attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Kombo::PostAtsCandidatesRequestBodyRemoteFieldsAllOfRecruiteeCandidate`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'cover_letter_text') + self.cover_letter_text = attributes[:'cover_letter_text'] + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + warn '[DEPRECATED] the `list_invalid_properties` method is obsolete' + invalid_properties = Array.new + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + warn '[DEPRECATED] the `valid?` method is obsolete' + true + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + cover_letter_text == o.cover_letter_text + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [cover_letter_text].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + transformed_hash = {} + openapi_types.each_pair do |key, type| + if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = nil + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[attribute_map[key]].is_a?(Array) + transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) } + end + elsif !attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]]) + end + end + new(transformed_hash) + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + end + +end diff --git a/lib/kombo_client/models/post_ats_candidates_request_body_remote_fields_all_of_smartrecruiters.rb b/lib/kombo_client/models/post_ats_candidates_request_body_remote_fields_all_of_smartrecruiters.rb new file mode 100644 index 0000000..9b24db5 --- /dev/null +++ b/lib/kombo_client/models/post_ats_candidates_request_body_remote_fields_all_of_smartrecruiters.rb @@ -0,0 +1,175 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.17.0 + +=end + +require 'date' +require 'time' + +module Kombo + # Fields specific to SmartRecruiters. + class PostAtsCandidatesRequestBodyRemoteFieldsAllOfSmartrecruiters < ApiModelBase + # **(⚠️ 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 + attr_accessor :candidate_with_questions + + # **(⚠️ 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 + attr_accessor :candidate_without_questions + + # Fields that we will pass through to the SmartRecruiters's `Candidate` object. This API is used: https://developers.smartrecruiters.com/reference/createcandidate-1 + attr_accessor :candidate + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'candidate_with_questions' => :'candidate_with_questions', + :'candidate_without_questions' => :'candidate_without_questions', + :'candidate' => :'candidate' + } + end + + # Returns attribute mapping this model knows about + def self.acceptable_attribute_map + attribute_map + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + acceptable_attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'candidate_with_questions' => :'Hash', + :'candidate_without_questions' => :'Hash', + :'candidate' => :'Hash' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Kombo::PostAtsCandidatesRequestBodyRemoteFieldsAllOfSmartrecruiters` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + acceptable_attribute_map = self.class.acceptable_attribute_map + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!acceptable_attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Kombo::PostAtsCandidatesRequestBodyRemoteFieldsAllOfSmartrecruiters`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'candidate_with_questions') + if (value = attributes[:'candidate_with_questions']).is_a?(Hash) + self.candidate_with_questions = value + end + end + + if attributes.key?(:'candidate_without_questions') + if (value = attributes[:'candidate_without_questions']).is_a?(Hash) + self.candidate_without_questions = value + end + end + + if attributes.key?(:'candidate') + if (value = attributes[:'candidate']).is_a?(Hash) + self.candidate = value + end + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + warn '[DEPRECATED] the `list_invalid_properties` method is obsolete' + invalid_properties = Array.new + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + warn '[DEPRECATED] the `valid?` method is obsolete' + true + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + candidate_with_questions == o.candidate_with_questions && + candidate_without_questions == o.candidate_without_questions && + candidate == o.candidate + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [candidate_with_questions, candidate_without_questions, candidate].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + transformed_hash = {} + openapi_types.each_pair do |key, type| + if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = nil + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[attribute_map[key]].is_a?(Array) + transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) } + end + elsif !attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]]) + end + end + new(transformed_hash) + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + end + +end diff --git a/lib/kombo_client/models/post_ats_candidates_request_body_remote_fields_all_of_successfactors.rb b/lib/kombo_client/models/post_ats_candidates_request_body_remote_fields_all_of_successfactors.rb new file mode 100644 index 0000000..d2275cc --- /dev/null +++ b/lib/kombo_client/models/post_ats_candidates_request_body_remote_fields_all_of_successfactors.rb @@ -0,0 +1,184 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.17.0 + +=end + +require 'date' +require 'time' + +module Kombo + # Fields specific to SAP SuccessFactors. + class PostAtsCandidatesRequestBodyRemoteFieldsAllOfSuccessfactors < ApiModelBase + # Fields that we will pass through to SuccessFactor's `Candidate` object. + attr_accessor :candidate + + # Fields that we will pass through to SuccessFactor's `JobApplication` object. + attr_accessor :job_application + + # If set to true, we will copy custom attachments from the JobApplication to the Candidate. + attr_accessor :copy_job_application_attachments + + # When the candidate already exists, whether to update the Candidate with the remote fields found under the Candidate entity. + attr_accessor :update_existing_candidate + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'candidate' => :'Candidate', + :'job_application' => :'JobApplication', + :'copy_job_application_attachments' => :'copyJobApplicationAttachments', + :'update_existing_candidate' => :'update_existing_candidate' + } + end + + # Returns attribute mapping this model knows about + def self.acceptable_attribute_map + attribute_map + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + acceptable_attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'candidate' => :'Hash', + :'job_application' => :'Hash', + :'copy_job_application_attachments' => :'Boolean', + :'update_existing_candidate' => :'Boolean' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + :'update_existing_candidate' + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Kombo::PostAtsCandidatesRequestBodyRemoteFieldsAllOfSuccessfactors` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + acceptable_attribute_map = self.class.acceptable_attribute_map + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!acceptable_attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Kombo::PostAtsCandidatesRequestBodyRemoteFieldsAllOfSuccessfactors`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'candidate') + if (value = attributes[:'candidate']).is_a?(Hash) + self.candidate = value + end + end + + if attributes.key?(:'job_application') + if (value = attributes[:'job_application']).is_a?(Hash) + self.job_application = value + end + end + + if attributes.key?(:'copy_job_application_attachments') + self.copy_job_application_attachments = attributes[:'copy_job_application_attachments'] + end + + if attributes.key?(:'update_existing_candidate') + self.update_existing_candidate = attributes[:'update_existing_candidate'] + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + warn '[DEPRECATED] the `list_invalid_properties` method is obsolete' + invalid_properties = Array.new + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + warn '[DEPRECATED] the `valid?` method is obsolete' + true + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + candidate == o.candidate && + job_application == o.job_application && + copy_job_application_attachments == o.copy_job_application_attachments && + update_existing_candidate == o.update_existing_candidate + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [candidate, job_application, copy_job_application_attachments, update_existing_candidate].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + transformed_hash = {} + openapi_types.each_pair do |key, type| + if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = nil + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[attribute_map[key]].is_a?(Array) + transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) } + end + elsif !attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]]) + end + end + new(transformed_hash) + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + end + +end diff --git a/lib/kombo_client/models/post_ats_candidates_request_body_remote_fields_all_of_talentadore.rb b/lib/kombo_client/models/post_ats_candidates_request_body_remote_fields_all_of_talentadore.rb new file mode 100644 index 0000000..47bd8e0 --- /dev/null +++ b/lib/kombo_client/models/post_ats_candidates_request_body_remote_fields_all_of_talentadore.rb @@ -0,0 +1,151 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.17.0 + +=end + +require 'date' +require 'time' + +module Kombo + # Fields specific to Talentadore. + class PostAtsCandidatesRequestBodyRemoteFieldsAllOfTalentadore < ApiModelBase + # Fields that we will pass through to the Talentadore's when creating applications. + attr_accessor :applications + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'applications' => :'applications' + } + end + + # Returns attribute mapping this model knows about + def self.acceptable_attribute_map + attribute_map + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + acceptable_attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'applications' => :'Hash' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Kombo::PostAtsCandidatesRequestBodyRemoteFieldsAllOfTalentadore` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + acceptable_attribute_map = self.class.acceptable_attribute_map + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!acceptable_attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Kombo::PostAtsCandidatesRequestBodyRemoteFieldsAllOfTalentadore`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'applications') + if (value = attributes[:'applications']).is_a?(Hash) + self.applications = value + end + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + warn '[DEPRECATED] the `list_invalid_properties` method is obsolete' + invalid_properties = Array.new + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + warn '[DEPRECATED] the `valid?` method is obsolete' + true + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + applications == o.applications + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [applications].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + transformed_hash = {} + openapi_types.each_pair do |key, type| + if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = nil + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[attribute_map[key]].is_a?(Array) + transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) } + end + elsif !attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]]) + end + end + new(transformed_hash) + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + end + +end diff --git a/lib/kombo_client/models/post_ats_candidates_request_body_remote_fields_all_of_talentsoft.rb b/lib/kombo_client/models/post_ats_candidates_request_body_remote_fields_all_of_talentsoft.rb new file mode 100644 index 0000000..afe8b3d --- /dev/null +++ b/lib/kombo_client/models/post_ats_candidates_request_body_remote_fields_all_of_talentsoft.rb @@ -0,0 +1,163 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.17.0 + +=end + +require 'date' +require 'time' + +module Kombo + # Fields specific to TalentSoft. + class PostAtsCandidatesRequestBodyRemoteFieldsAllOfTalentsoft < ApiModelBase + # Fields that we will pass through to TalentSoft's `applicant` object. + attr_accessor :applicant + + # Fields that we will pass through to TalentSoft's `application` object. + attr_accessor :application + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'applicant' => :'applicant', + :'application' => :'application' + } + end + + # Returns attribute mapping this model knows about + def self.acceptable_attribute_map + attribute_map + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + acceptable_attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'applicant' => :'Hash', + :'application' => :'Hash' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Kombo::PostAtsCandidatesRequestBodyRemoteFieldsAllOfTalentsoft` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + acceptable_attribute_map = self.class.acceptable_attribute_map + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!acceptable_attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Kombo::PostAtsCandidatesRequestBodyRemoteFieldsAllOfTalentsoft`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'applicant') + if (value = attributes[:'applicant']).is_a?(Hash) + self.applicant = value + end + end + + if attributes.key?(:'application') + if (value = attributes[:'application']).is_a?(Hash) + self.application = value + end + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + warn '[DEPRECATED] the `list_invalid_properties` method is obsolete' + invalid_properties = Array.new + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + warn '[DEPRECATED] the `valid?` method is obsolete' + true + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + applicant == o.applicant && + application == o.application + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [applicant, application].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + transformed_hash = {} + openapi_types.each_pair do |key, type| + if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = nil + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[attribute_map[key]].is_a?(Array) + transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) } + end + elsif !attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]]) + end + end + new(transformed_hash) + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + end + +end diff --git a/lib/kombo_client/models/post_ats_candidates_request_body_remote_fields_all_of_teamtailor.rb b/lib/kombo_client/models/post_ats_candidates_request_body_remote_fields_all_of_teamtailor.rb new file mode 100644 index 0000000..ea4f4c4 --- /dev/null +++ b/lib/kombo_client/models/post_ats_candidates_request_body_remote_fields_all_of_teamtailor.rb @@ -0,0 +1,159 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.17.0 + +=end + +require 'date' +require 'time' + +module Kombo + class PostAtsCandidatesRequestBodyRemoteFieldsAllOfTeamtailor < ApiModelBase + # Fields that we will pass through to Teamtailor's `Candidate` object. + attr_accessor :candidate + + attr_accessor :application + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'candidate' => :'candidate', + :'application' => :'application' + } + end + + # Returns attribute mapping this model knows about + def self.acceptable_attribute_map + attribute_map + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + acceptable_attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'candidate' => :'Hash', + :'application' => :'PostAtsCandidatesRequestBodyRemoteFieldsAllOfTeamtailorApplication' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Kombo::PostAtsCandidatesRequestBodyRemoteFieldsAllOfTeamtailor` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + acceptable_attribute_map = self.class.acceptable_attribute_map + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!acceptable_attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Kombo::PostAtsCandidatesRequestBodyRemoteFieldsAllOfTeamtailor`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'candidate') + if (value = attributes[:'candidate']).is_a?(Hash) + self.candidate = value + end + end + + if attributes.key?(:'application') + self.application = attributes[:'application'] + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + warn '[DEPRECATED] the `list_invalid_properties` method is obsolete' + invalid_properties = Array.new + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + warn '[DEPRECATED] the `valid?` method is obsolete' + true + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + candidate == o.candidate && + application == o.application + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [candidate, application].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + transformed_hash = {} + openapi_types.each_pair do |key, type| + if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = nil + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[attribute_map[key]].is_a?(Array) + transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) } + end + elsif !attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]]) + end + end + new(transformed_hash) + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + end + +end diff --git a/lib/kombo_client/models/post_ats_candidates_request_body_remote_fields_all_of_teamtailor_application.rb b/lib/kombo_client/models/post_ats_candidates_request_body_remote_fields_all_of_teamtailor_application.rb new file mode 100644 index 0000000..a40e053 --- /dev/null +++ b/lib/kombo_client/models/post_ats_candidates_request_body_remote_fields_all_of_teamtailor_application.rb @@ -0,0 +1,150 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.17.0 + +=end + +require 'date' +require 'time' + +module Kombo + class PostAtsCandidatesRequestBodyRemoteFieldsAllOfTeamtailorApplication < ApiModelBase + # Fields that we will pass through to Teamtailor's attributes section `Job application` object. + attr_accessor :attributes + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'attributes' => :'attributes' + } + end + + # Returns attribute mapping this model knows about + def self.acceptable_attribute_map + attribute_map + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + acceptable_attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'attributes' => :'Hash' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Kombo::PostAtsCandidatesRequestBodyRemoteFieldsAllOfTeamtailorApplication` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + acceptable_attribute_map = self.class.acceptable_attribute_map + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!acceptable_attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Kombo::PostAtsCandidatesRequestBodyRemoteFieldsAllOfTeamtailorApplication`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'attributes') + if (value = attributes[:'attributes']).is_a?(Hash) + self.attributes = value + end + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + warn '[DEPRECATED] the `list_invalid_properties` method is obsolete' + invalid_properties = Array.new + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + warn '[DEPRECATED] the `valid?` method is obsolete' + true + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + attributes == o.attributes + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [attributes].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + transformed_hash = {} + openapi_types.each_pair do |key, type| + if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = nil + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[attribute_map[key]].is_a?(Array) + transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) } + end + elsif !attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]]) + end + end + new(transformed_hash) + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + end + +end diff --git a/lib/kombo_client/models/post_ats_candidates_request_body_remote_fields_all_of_umantis.rb b/lib/kombo_client/models/post_ats_candidates_request_body_remote_fields_all_of_umantis.rb new file mode 100644 index 0000000..b7d84c5 --- /dev/null +++ b/lib/kombo_client/models/post_ats_candidates_request_body_remote_fields_all_of_umantis.rb @@ -0,0 +1,151 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.17.0 + +=end + +require 'date' +require 'time' + +module Kombo + # Fields specific to Abacus Umantis. + class PostAtsCandidatesRequestBodyRemoteFieldsAllOfUmantis < ApiModelBase + # Fields that we will pass through to Abacus Umantis's \"Create a person\" endpoint's `attributes` when creating a candidate. + attr_accessor :person + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'person' => :'person' + } + end + + # Returns attribute mapping this model knows about + def self.acceptable_attribute_map + attribute_map + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + acceptable_attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'person' => :'Hash' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Kombo::PostAtsCandidatesRequestBodyRemoteFieldsAllOfUmantis` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + acceptable_attribute_map = self.class.acceptable_attribute_map + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!acceptable_attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Kombo::PostAtsCandidatesRequestBodyRemoteFieldsAllOfUmantis`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'person') + if (value = attributes[:'person']).is_a?(Hash) + self.person = value + end + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + warn '[DEPRECATED] the `list_invalid_properties` method is obsolete' + invalid_properties = Array.new + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + warn '[DEPRECATED] the `valid?` method is obsolete' + true + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + person == o.person + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [person].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + transformed_hash = {} + openapi_types.each_pair do |key, type| + if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = nil + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[attribute_map[key]].is_a?(Array) + transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) } + end + elsif !attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]]) + end + end + new(transformed_hash) + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + end + +end diff --git a/lib/kombo_client/models/post_ats_candidates_request_body_remote_fields_all_of_workable.rb b/lib/kombo_client/models/post_ats_candidates_request_body_remote_fields_all_of_workable.rb new file mode 100644 index 0000000..76c8b3e --- /dev/null +++ b/lib/kombo_client/models/post_ats_candidates_request_body_remote_fields_all_of_workable.rb @@ -0,0 +1,151 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.17.0 + +=end + +require 'date' +require 'time' + +module Kombo + # Fields specific to Workable. + class PostAtsCandidatesRequestBodyRemoteFieldsAllOfWorkable < ApiModelBase + # Fields that we will pass through to Workable's `Candidate` object. + attr_accessor :candidate + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'candidate' => :'candidate' + } + end + + # Returns attribute mapping this model knows about + def self.acceptable_attribute_map + attribute_map + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + acceptable_attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'candidate' => :'Hash' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Kombo::PostAtsCandidatesRequestBodyRemoteFieldsAllOfWorkable` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + acceptable_attribute_map = self.class.acceptable_attribute_map + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!acceptable_attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Kombo::PostAtsCandidatesRequestBodyRemoteFieldsAllOfWorkable`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'candidate') + if (value = attributes[:'candidate']).is_a?(Hash) + self.candidate = value + end + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + warn '[DEPRECATED] the `list_invalid_properties` method is obsolete' + invalid_properties = Array.new + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + warn '[DEPRECATED] the `valid?` method is obsolete' + true + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + candidate == o.candidate + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [candidate].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + transformed_hash = {} + openapi_types.each_pair do |key, type| + if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = nil + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[attribute_map[key]].is_a?(Array) + transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) } + end + elsif !attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]]) + end + end + new(transformed_hash) + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + end + +end diff --git a/lib/kombo_client/models/post_ats_candidates_request_body_remote_fields_all_of_workday.rb b/lib/kombo_client/models/post_ats_candidates_request_body_remote_fields_all_of_workday.rb new file mode 100644 index 0000000..2122259 --- /dev/null +++ b/lib/kombo_client/models/post_ats_candidates_request_body_remote_fields_all_of_workday.rb @@ -0,0 +1,158 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.17.0 + +=end + +require 'date' +require 'time' + +module Kombo + # 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. + class PostAtsCandidatesRequestBodyRemoteFieldsAllOfWorkday < ApiModelBase + attr_accessor :candidate_data + + # Used to override the automatic source WID. + attr_accessor :override_source_reference_wid + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'candidate_data' => :'Candidate_Data', + :'override_source_reference_wid' => :'Override_Source_Reference_WID' + } + end + + # Returns attribute mapping this model knows about + def self.acceptable_attribute_map + attribute_map + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + acceptable_attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'candidate_data' => :'PostAtsCandidatesRequestBodyRemoteFieldsAllOfWorkdayCandidateData', + :'override_source_reference_wid' => :'String' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Kombo::PostAtsCandidatesRequestBodyRemoteFieldsAllOfWorkday` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + acceptable_attribute_map = self.class.acceptable_attribute_map + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!acceptable_attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Kombo::PostAtsCandidatesRequestBodyRemoteFieldsAllOfWorkday`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'candidate_data') + self.candidate_data = attributes[:'candidate_data'] + end + + if attributes.key?(:'override_source_reference_wid') + self.override_source_reference_wid = attributes[:'override_source_reference_wid'] + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + warn '[DEPRECATED] the `list_invalid_properties` method is obsolete' + invalid_properties = Array.new + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + warn '[DEPRECATED] the `valid?` method is obsolete' + true + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + candidate_data == o.candidate_data && + override_source_reference_wid == o.override_source_reference_wid + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [candidate_data, override_source_reference_wid].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + transformed_hash = {} + openapi_types.each_pair do |key, type| + if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = nil + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[attribute_map[key]].is_a?(Array) + transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) } + end + elsif !attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]]) + end + end + new(transformed_hash) + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + end + +end diff --git a/lib/kombo_client/models/post_ats_candidates_request_body_remote_fields_all_of_workday_candidate_data.rb b/lib/kombo_client/models/post_ats_candidates_request_body_remote_fields_all_of_workday_candidate_data.rb new file mode 100644 index 0000000..2d69658 --- /dev/null +++ b/lib/kombo_client/models/post_ats_candidates_request_body_remote_fields_all_of_workday_candidate_data.rb @@ -0,0 +1,183 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.17.0 + +=end + +require 'date' +require 'time' + +module Kombo + class PostAtsCandidatesRequestBodyRemoteFieldsAllOfWorkdayCandidateData < ApiModelBase + attr_accessor :name_detail_data + + attr_accessor :language_reference + + attr_accessor :job_application_data + + attr_accessor :contact_data + + attr_accessor :worker_reference + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'name_detail_data' => :'Name_Detail_Data', + :'language_reference' => :'Language_Reference', + :'job_application_data' => :'Job_Application_Data', + :'contact_data' => :'Contact_Data', + :'worker_reference' => :'Worker_Reference' + } + end + + # Returns attribute mapping this model knows about + def self.acceptable_attribute_map + attribute_map + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + acceptable_attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'name_detail_data' => :'PostAtsCandidatesRequestBodyRemoteFieldsAllOfWorkdayCandidateDataNameDetailData', + :'language_reference' => :'PostAtsCandidatesRequestBodyRemoteFieldsAllOfWorkdayCandidateDataLanguageReference', + :'job_application_data' => :'PostAtsCandidatesRequestBodyRemoteFieldsAllOfWorkdayCandidateDataJobApplicationData', + :'contact_data' => :'PostAtsCandidatesRequestBodyRemoteFieldsAllOfWorkdayCandidateDataContactData', + :'worker_reference' => :'PostAtsCandidatesRequestBodyRemoteFieldsAllOfWorkdayCandidateDataWorkerReference' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Kombo::PostAtsCandidatesRequestBodyRemoteFieldsAllOfWorkdayCandidateData` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + acceptable_attribute_map = self.class.acceptable_attribute_map + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!acceptable_attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Kombo::PostAtsCandidatesRequestBodyRemoteFieldsAllOfWorkdayCandidateData`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'name_detail_data') + self.name_detail_data = attributes[:'name_detail_data'] + end + + if attributes.key?(:'language_reference') + self.language_reference = attributes[:'language_reference'] + end + + if attributes.key?(:'job_application_data') + self.job_application_data = attributes[:'job_application_data'] + end + + if attributes.key?(:'contact_data') + self.contact_data = attributes[:'contact_data'] + end + + if attributes.key?(:'worker_reference') + self.worker_reference = attributes[:'worker_reference'] + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + warn '[DEPRECATED] the `list_invalid_properties` method is obsolete' + invalid_properties = Array.new + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + warn '[DEPRECATED] the `valid?` method is obsolete' + true + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + name_detail_data == o.name_detail_data && + language_reference == o.language_reference && + job_application_data == o.job_application_data && + contact_data == o.contact_data && + worker_reference == o.worker_reference + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [name_detail_data, language_reference, job_application_data, contact_data, worker_reference].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + transformed_hash = {} + openapi_types.each_pair do |key, type| + if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = nil + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[attribute_map[key]].is_a?(Array) + transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) } + end + elsif !attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]]) + end + end + new(transformed_hash) + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + end + +end diff --git a/lib/kombo_client/models/post_ats_candidates_request_body_remote_fields_all_of_workday_candidate_data_contact_data.rb b/lib/kombo_client/models/post_ats_candidates_request_body_remote_fields_all_of_workday_candidate_data_contact_data.rb new file mode 100644 index 0000000..a6362f3 --- /dev/null +++ b/lib/kombo_client/models/post_ats_candidates_request_body_remote_fields_all_of_workday_candidate_data_contact_data.rb @@ -0,0 +1,147 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.17.0 + +=end + +require 'date' +require 'time' + +module Kombo + class PostAtsCandidatesRequestBodyRemoteFieldsAllOfWorkdayCandidateDataContactData < ApiModelBase + attr_accessor :location_data + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'location_data' => :'Location_Data' + } + end + + # Returns attribute mapping this model knows about + def self.acceptable_attribute_map + attribute_map + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + acceptable_attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'location_data' => :'PostAtsCandidatesRequestBodyRemoteFieldsAllOfWorkdayCandidateDataContactDataLocationData' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Kombo::PostAtsCandidatesRequestBodyRemoteFieldsAllOfWorkdayCandidateDataContactData` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + acceptable_attribute_map = self.class.acceptable_attribute_map + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!acceptable_attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Kombo::PostAtsCandidatesRequestBodyRemoteFieldsAllOfWorkdayCandidateDataContactData`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'location_data') + self.location_data = attributes[:'location_data'] + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + warn '[DEPRECATED] the `list_invalid_properties` method is obsolete' + invalid_properties = Array.new + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + warn '[DEPRECATED] the `valid?` method is obsolete' + true + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + location_data == o.location_data + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [location_data].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + transformed_hash = {} + openapi_types.each_pair do |key, type| + if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = nil + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[attribute_map[key]].is_a?(Array) + transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) } + end + elsif !attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]]) + end + end + new(transformed_hash) + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + end + +end diff --git a/lib/kombo_client/models/post_ats_candidates_request_body_remote_fields_all_of_workday_candidate_data_contact_data_location_data.rb b/lib/kombo_client/models/post_ats_candidates_request_body_remote_fields_all_of_workday_candidate_data_contact_data_location_data.rb new file mode 100644 index 0000000..1e49aca --- /dev/null +++ b/lib/kombo_client/models/post_ats_candidates_request_body_remote_fields_all_of_workday_candidate_data_contact_data_location_data.rb @@ -0,0 +1,183 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.17.0 + +=end + +require 'date' +require 'time' + +module Kombo + class PostAtsCandidatesRequestBodyRemoteFieldsAllOfWorkdayCandidateDataContactDataLocationData < ApiModelBase + attr_accessor :address_line_1 + + attr_accessor :address_line_2 + + attr_accessor :region_subdivision_1 + + attr_accessor :country_region_reference + + attr_accessor :country_city_reference + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'address_line_1' => :'Address_Line_1', + :'address_line_2' => :'Address_Line_2', + :'region_subdivision_1' => :'Region_Subdivision_1', + :'country_region_reference' => :'Country_Region_Reference', + :'country_city_reference' => :'Country_City_Reference' + } + end + + # Returns attribute mapping this model knows about + def self.acceptable_attribute_map + attribute_map + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + acceptable_attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'address_line_1' => :'String', + :'address_line_2' => :'String', + :'region_subdivision_1' => :'String', + :'country_region_reference' => :'PostAtsCandidatesRequestBodyRemoteFieldsAllOfWorkdayCandidateDataContactDataLocationDataCountryRegionReference', + :'country_city_reference' => :'PostAtsCandidatesRequestBodyRemoteFieldsAllOfWorkdayCandidateDataJobApplicationDataResumeDataEducationDataInnerFieldOfStudyReference' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Kombo::PostAtsCandidatesRequestBodyRemoteFieldsAllOfWorkdayCandidateDataContactDataLocationData` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + acceptable_attribute_map = self.class.acceptable_attribute_map + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!acceptable_attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Kombo::PostAtsCandidatesRequestBodyRemoteFieldsAllOfWorkdayCandidateDataContactDataLocationData`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'address_line_1') + self.address_line_1 = attributes[:'address_line_1'] + end + + if attributes.key?(:'address_line_2') + self.address_line_2 = attributes[:'address_line_2'] + end + + if attributes.key?(:'region_subdivision_1') + self.region_subdivision_1 = attributes[:'region_subdivision_1'] + end + + if attributes.key?(:'country_region_reference') + self.country_region_reference = attributes[:'country_region_reference'] + end + + if attributes.key?(:'country_city_reference') + self.country_city_reference = attributes[:'country_city_reference'] + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + warn '[DEPRECATED] the `list_invalid_properties` method is obsolete' + invalid_properties = Array.new + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + warn '[DEPRECATED] the `valid?` method is obsolete' + true + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + address_line_1 == o.address_line_1 && + address_line_2 == o.address_line_2 && + region_subdivision_1 == o.region_subdivision_1 && + country_region_reference == o.country_region_reference && + country_city_reference == o.country_city_reference + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [address_line_1, address_line_2, region_subdivision_1, country_region_reference, country_city_reference].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + transformed_hash = {} + openapi_types.each_pair do |key, type| + if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = nil + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[attribute_map[key]].is_a?(Array) + transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) } + end + elsif !attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]]) + end + end + new(transformed_hash) + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + end + +end diff --git a/lib/kombo_client/models/post_ats_candidates_request_body_remote_fields_all_of_workday_candidate_data_contact_data_location_data_country_region_reference.rb b/lib/kombo_client/models/post_ats_candidates_request_body_remote_fields_all_of_workday_candidate_data_contact_data_location_data_country_region_reference.rb new file mode 100644 index 0000000..ad31eb0 --- /dev/null +++ b/lib/kombo_client/models/post_ats_candidates_request_body_remote_fields_all_of_workday_candidate_data_contact_data_location_data_country_region_reference.rb @@ -0,0 +1,164 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.17.0 + +=end + +require 'date' +require 'time' + +module Kombo + class PostAtsCandidatesRequestBodyRemoteFieldsAllOfWorkdayCandidateDataContactDataLocationDataCountryRegionReference < ApiModelBase + attr_accessor :country_region_id + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'country_region_id' => :'Country_Region_ID' + } + end + + # Returns attribute mapping this model knows about + def self.acceptable_attribute_map + attribute_map + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + acceptable_attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'country_region_id' => :'String' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Kombo::PostAtsCandidatesRequestBodyRemoteFieldsAllOfWorkdayCandidateDataContactDataLocationDataCountryRegionReference` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + acceptable_attribute_map = self.class.acceptable_attribute_map + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!acceptable_attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Kombo::PostAtsCandidatesRequestBodyRemoteFieldsAllOfWorkdayCandidateDataContactDataLocationDataCountryRegionReference`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'country_region_id') + self.country_region_id = attributes[:'country_region_id'] + else + self.country_region_id = nil + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + warn '[DEPRECATED] the `list_invalid_properties` method is obsolete' + invalid_properties = Array.new + if @country_region_id.nil? + invalid_properties.push('invalid value for "country_region_id", country_region_id cannot be nil.') + end + + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + warn '[DEPRECATED] the `valid?` method is obsolete' + return false if @country_region_id.nil? + true + end + + # Custom attribute writer method with validation + # @param [Object] country_region_id Value to be assigned + def country_region_id=(country_region_id) + if country_region_id.nil? + fail ArgumentError, 'country_region_id cannot be nil' + end + + @country_region_id = country_region_id + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + country_region_id == o.country_region_id + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [country_region_id].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + transformed_hash = {} + openapi_types.each_pair do |key, type| + if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = nil + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[attribute_map[key]].is_a?(Array) + transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) } + end + elsif !attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]]) + end + end + new(transformed_hash) + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + end + +end diff --git a/lib/kombo_client/models/post_ats_candidates_request_body_remote_fields_all_of_workday_candidate_data_job_application_data.rb b/lib/kombo_client/models/post_ats_candidates_request_body_remote_fields_all_of_workday_candidate_data_job_application_data.rb new file mode 100644 index 0000000..3f5c0a5 --- /dev/null +++ b/lib/kombo_client/models/post_ats_candidates_request_body_remote_fields_all_of_workday_candidate_data_job_application_data.rb @@ -0,0 +1,156 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.17.0 + +=end + +require 'date' +require 'time' + +module Kombo + class PostAtsCandidatesRequestBodyRemoteFieldsAllOfWorkdayCandidateDataJobApplicationData < ApiModelBase + attr_accessor :job_applied_to_data + + attr_accessor :resume_data + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'job_applied_to_data' => :'Job_Applied_To_Data', + :'resume_data' => :'Resume_Data' + } + end + + # Returns attribute mapping this model knows about + def self.acceptable_attribute_map + attribute_map + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + acceptable_attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'job_applied_to_data' => :'PostAtsCandidatesRequestBodyRemoteFieldsAllOfWorkdayCandidateDataJobApplicationDataJobAppliedToData', + :'resume_data' => :'PostAtsCandidatesRequestBodyRemoteFieldsAllOfWorkdayCandidateDataJobApplicationDataResumeData' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Kombo::PostAtsCandidatesRequestBodyRemoteFieldsAllOfWorkdayCandidateDataJobApplicationData` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + acceptable_attribute_map = self.class.acceptable_attribute_map + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!acceptable_attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Kombo::PostAtsCandidatesRequestBodyRemoteFieldsAllOfWorkdayCandidateDataJobApplicationData`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'job_applied_to_data') + self.job_applied_to_data = attributes[:'job_applied_to_data'] + end + + if attributes.key?(:'resume_data') + self.resume_data = attributes[:'resume_data'] + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + warn '[DEPRECATED] the `list_invalid_properties` method is obsolete' + invalid_properties = Array.new + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + warn '[DEPRECATED] the `valid?` method is obsolete' + true + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + job_applied_to_data == o.job_applied_to_data && + resume_data == o.resume_data + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [job_applied_to_data, resume_data].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + transformed_hash = {} + openapi_types.each_pair do |key, type| + if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = nil + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[attribute_map[key]].is_a?(Array) + transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) } + end + elsif !attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]]) + end + end + new(transformed_hash) + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + end + +end diff --git a/lib/kombo_client/models/post_ats_candidates_request_body_remote_fields_all_of_workday_candidate_data_job_application_data_job_applied_to_data.rb b/lib/kombo_client/models/post_ats_candidates_request_body_remote_fields_all_of_workday_candidate_data_job_application_data_job_applied_to_data.rb new file mode 100644 index 0000000..ba8659a --- /dev/null +++ b/lib/kombo_client/models/post_ats_candidates_request_body_remote_fields_all_of_workday_candidate_data_job_application_data_job_applied_to_data.rb @@ -0,0 +1,147 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.17.0 + +=end + +require 'date' +require 'time' + +module Kombo + class PostAtsCandidatesRequestBodyRemoteFieldsAllOfWorkdayCandidateDataJobApplicationDataJobAppliedToData < ApiModelBase + attr_accessor :global_personal_information_data + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'global_personal_information_data' => :'Global_Personal_Information_Data' + } + end + + # Returns attribute mapping this model knows about + def self.acceptable_attribute_map + attribute_map + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + acceptable_attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'global_personal_information_data' => :'PostAtsCandidatesRequestBodyRemoteFieldsAllOfWorkdayCandidateDataJobApplicationDataJobAppliedToDataGlobalPersonalInformationData' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Kombo::PostAtsCandidatesRequestBodyRemoteFieldsAllOfWorkdayCandidateDataJobApplicationDataJobAppliedToData` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + acceptable_attribute_map = self.class.acceptable_attribute_map + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!acceptable_attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Kombo::PostAtsCandidatesRequestBodyRemoteFieldsAllOfWorkdayCandidateDataJobApplicationDataJobAppliedToData`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'global_personal_information_data') + self.global_personal_information_data = attributes[:'global_personal_information_data'] + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + warn '[DEPRECATED] the `list_invalid_properties` method is obsolete' + invalid_properties = Array.new + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + warn '[DEPRECATED] the `valid?` method is obsolete' + true + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + global_personal_information_data == o.global_personal_information_data + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [global_personal_information_data].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + transformed_hash = {} + openapi_types.each_pair do |key, type| + if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = nil + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[attribute_map[key]].is_a?(Array) + transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) } + end + elsif !attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]]) + end + end + new(transformed_hash) + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + end + +end diff --git a/lib/kombo_client/models/post_ats_candidates_request_body_remote_fields_all_of_workday_candidate_data_job_application_data_job_applied_to_data_global_personal_information_data.rb b/lib/kombo_client/models/post_ats_candidates_request_body_remote_fields_all_of_workday_candidate_data_job_application_data_job_applied_to_data_global_personal_information_data.rb new file mode 100644 index 0000000..67814af --- /dev/null +++ b/lib/kombo_client/models/post_ats_candidates_request_body_remote_fields_all_of_workday_candidate_data_job_application_data_job_applied_to_data_global_personal_information_data.rb @@ -0,0 +1,147 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.17.0 + +=end + +require 'date' +require 'time' + +module Kombo + class PostAtsCandidatesRequestBodyRemoteFieldsAllOfWorkdayCandidateDataJobApplicationDataJobAppliedToDataGlobalPersonalInformationData < ApiModelBase + attr_accessor :date_of_birth + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'date_of_birth' => :'Date_of_Birth' + } + end + + # Returns attribute mapping this model knows about + def self.acceptable_attribute_map + attribute_map + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + acceptable_attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'date_of_birth' => :'String' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Kombo::PostAtsCandidatesRequestBodyRemoteFieldsAllOfWorkdayCandidateDataJobApplicationDataJobAppliedToDataGlobalPersonalInformationData` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + acceptable_attribute_map = self.class.acceptable_attribute_map + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!acceptable_attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Kombo::PostAtsCandidatesRequestBodyRemoteFieldsAllOfWorkdayCandidateDataJobApplicationDataJobAppliedToDataGlobalPersonalInformationData`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'date_of_birth') + self.date_of_birth = attributes[:'date_of_birth'] + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + warn '[DEPRECATED] the `list_invalid_properties` method is obsolete' + invalid_properties = Array.new + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + warn '[DEPRECATED] the `valid?` method is obsolete' + true + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + date_of_birth == o.date_of_birth + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [date_of_birth].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + transformed_hash = {} + openapi_types.each_pair do |key, type| + if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = nil + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[attribute_map[key]].is_a?(Array) + transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) } + end + elsif !attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]]) + end + end + new(transformed_hash) + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + end + +end diff --git a/lib/kombo_client/models/post_ats_candidates_request_body_remote_fields_all_of_workday_candidate_data_job_application_data_resume_data.rb b/lib/kombo_client/models/post_ats_candidates_request_body_remote_fields_all_of_workday_candidate_data_job_application_data_resume_data.rb new file mode 100644 index 0000000..68db222 --- /dev/null +++ b/lib/kombo_client/models/post_ats_candidates_request_body_remote_fields_all_of_workday_candidate_data_job_application_data_resume_data.rb @@ -0,0 +1,182 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.17.0 + +=end + +require 'date' +require 'time' + +module Kombo + class PostAtsCandidatesRequestBodyRemoteFieldsAllOfWorkdayCandidateDataJobApplicationDataResumeData < ApiModelBase + attr_accessor :education_data + + attr_accessor :skill_data + + attr_accessor :language_data + + attr_accessor :experience_data + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'education_data' => :'Education_Data', + :'skill_data' => :'Skill_Data', + :'language_data' => :'Language_Data', + :'experience_data' => :'Experience_Data' + } + end + + # Returns attribute mapping this model knows about + def self.acceptable_attribute_map + attribute_map + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + acceptable_attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'education_data' => :'Array', + :'skill_data' => :'Array', + :'language_data' => :'Array', + :'experience_data' => :'Array' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Kombo::PostAtsCandidatesRequestBodyRemoteFieldsAllOfWorkdayCandidateDataJobApplicationDataResumeData` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + acceptable_attribute_map = self.class.acceptable_attribute_map + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!acceptable_attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Kombo::PostAtsCandidatesRequestBodyRemoteFieldsAllOfWorkdayCandidateDataJobApplicationDataResumeData`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'education_data') + if (value = attributes[:'education_data']).is_a?(Array) + self.education_data = value + end + end + + if attributes.key?(:'skill_data') + if (value = attributes[:'skill_data']).is_a?(Array) + self.skill_data = value + end + end + + if attributes.key?(:'language_data') + if (value = attributes[:'language_data']).is_a?(Array) + self.language_data = value + end + end + + if attributes.key?(:'experience_data') + if (value = attributes[:'experience_data']).is_a?(Array) + self.experience_data = value + end + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + warn '[DEPRECATED] the `list_invalid_properties` method is obsolete' + invalid_properties = Array.new + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + warn '[DEPRECATED] the `valid?` method is obsolete' + true + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + education_data == o.education_data && + skill_data == o.skill_data && + language_data == o.language_data && + experience_data == o.experience_data + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [education_data, skill_data, language_data, experience_data].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + transformed_hash = {} + openapi_types.each_pair do |key, type| + if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = nil + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[attribute_map[key]].is_a?(Array) + transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) } + end + elsif !attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]]) + end + end + new(transformed_hash) + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + end + +end diff --git a/lib/kombo_client/models/post_ats_candidates_request_body_remote_fields_all_of_workday_candidate_data_job_application_data_resume_data_education_data_inner.rb b/lib/kombo_client/models/post_ats_candidates_request_body_remote_fields_all_of_workday_candidate_data_job_application_data_resume_data_education_data_inner.rb new file mode 100644 index 0000000..a247950 --- /dev/null +++ b/lib/kombo_client/models/post_ats_candidates_request_body_remote_fields_all_of_workday_candidate_data_job_application_data_resume_data_education_data_inner.rb @@ -0,0 +1,230 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.17.0 + +=end + +require 'date' +require 'time' + +module Kombo + class PostAtsCandidatesRequestBodyRemoteFieldsAllOfWorkdayCandidateDataJobApplicationDataResumeDataEducationDataInner < ApiModelBase + attr_accessor :school_name + + attr_accessor :first_year_attended + + attr_accessor :last_year_attended + + attr_accessor :field_of_study_reference + + attr_accessor :degree_reference + + attr_accessor :grade_average + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'school_name' => :'School_Name', + :'first_year_attended' => :'First_Year_Attended', + :'last_year_attended' => :'Last_Year_Attended', + :'field_of_study_reference' => :'Field_of_Study_Reference', + :'degree_reference' => :'Degree_Reference', + :'grade_average' => :'Grade_Average' + } + end + + # Returns attribute mapping this model knows about + def self.acceptable_attribute_map + attribute_map + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + acceptable_attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'school_name' => :'String', + :'first_year_attended' => :'Float', + :'last_year_attended' => :'Float', + :'field_of_study_reference' => :'PostAtsCandidatesRequestBodyRemoteFieldsAllOfWorkdayCandidateDataJobApplicationDataResumeDataEducationDataInnerFieldOfStudyReference', + :'degree_reference' => :'PostAtsCandidatesRequestBodyRemoteFieldsAllOfWorkdayCandidateDataJobApplicationDataResumeDataEducationDataInnerFieldOfStudyReference', + :'grade_average' => :'String' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Kombo::PostAtsCandidatesRequestBodyRemoteFieldsAllOfWorkdayCandidateDataJobApplicationDataResumeDataEducationDataInner` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + acceptable_attribute_map = self.class.acceptable_attribute_map + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!acceptable_attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Kombo::PostAtsCandidatesRequestBodyRemoteFieldsAllOfWorkdayCandidateDataJobApplicationDataResumeDataEducationDataInner`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'school_name') + self.school_name = attributes[:'school_name'] + end + + if attributes.key?(:'first_year_attended') + self.first_year_attended = attributes[:'first_year_attended'] + end + + if attributes.key?(:'last_year_attended') + self.last_year_attended = attributes[:'last_year_attended'] + end + + if attributes.key?(:'field_of_study_reference') + self.field_of_study_reference = attributes[:'field_of_study_reference'] + end + + if attributes.key?(:'degree_reference') + self.degree_reference = attributes[:'degree_reference'] + end + + if attributes.key?(:'grade_average') + self.grade_average = attributes[:'grade_average'] + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + warn '[DEPRECATED] the `list_invalid_properties` method is obsolete' + invalid_properties = Array.new + if !@first_year_attended.nil? && @first_year_attended < -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + invalid_properties.push('invalid value for "first_year_attended", must be greater than or equal to -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.') + end + + if !@last_year_attended.nil? && @last_year_attended < -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + invalid_properties.push('invalid value for "last_year_attended", must be greater than or equal to -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.') + end + + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + warn '[DEPRECATED] the `valid?` method is obsolete' + return false if !@first_year_attended.nil? && @first_year_attended < -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + return false if !@last_year_attended.nil? && @last_year_attended < -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + true + end + + # Custom attribute writer method with validation + # @param [Object] first_year_attended Value to be assigned + def first_year_attended=(first_year_attended) + if first_year_attended.nil? + fail ArgumentError, 'first_year_attended cannot be nil' + end + + if first_year_attended < -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + fail ArgumentError, 'invalid value for "first_year_attended", must be greater than or equal to -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.' + end + + @first_year_attended = first_year_attended + end + + # Custom attribute writer method with validation + # @param [Object] last_year_attended Value to be assigned + def last_year_attended=(last_year_attended) + if last_year_attended.nil? + fail ArgumentError, 'last_year_attended cannot be nil' + end + + if last_year_attended < -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + fail ArgumentError, 'invalid value for "last_year_attended", must be greater than or equal to -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.' + end + + @last_year_attended = last_year_attended + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + school_name == o.school_name && + first_year_attended == o.first_year_attended && + last_year_attended == o.last_year_attended && + field_of_study_reference == o.field_of_study_reference && + degree_reference == o.degree_reference && + grade_average == o.grade_average + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [school_name, first_year_attended, last_year_attended, field_of_study_reference, degree_reference, grade_average].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + transformed_hash = {} + openapi_types.each_pair do |key, type| + if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = nil + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[attribute_map[key]].is_a?(Array) + transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) } + end + elsif !attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]]) + end + end + new(transformed_hash) + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + end + +end diff --git a/lib/kombo_client/models/post_ats_candidates_request_body_remote_fields_all_of_workday_candidate_data_job_application_data_resume_data_education_data_inner_field_of_study_reference.rb b/lib/kombo_client/models/post_ats_candidates_request_body_remote_fields_all_of_workday_candidate_data_job_application_data_resume_data_education_data_inner_field_of_study_reference.rb new file mode 100644 index 0000000..16da341 --- /dev/null +++ b/lib/kombo_client/models/post_ats_candidates_request_body_remote_fields_all_of_workday_candidate_data_job_application_data_resume_data_education_data_inner_field_of_study_reference.rb @@ -0,0 +1,164 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.17.0 + +=end + +require 'date' +require 'time' + +module Kombo + class PostAtsCandidatesRequestBodyRemoteFieldsAllOfWorkdayCandidateDataJobApplicationDataResumeDataEducationDataInnerFieldOfStudyReference < ApiModelBase + attr_accessor :wid + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'wid' => :'WID' + } + end + + # Returns attribute mapping this model knows about + def self.acceptable_attribute_map + attribute_map + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + acceptable_attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'wid' => :'String' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Kombo::PostAtsCandidatesRequestBodyRemoteFieldsAllOfWorkdayCandidateDataJobApplicationDataResumeDataEducationDataInnerFieldOfStudyReference` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + acceptable_attribute_map = self.class.acceptable_attribute_map + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!acceptable_attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Kombo::PostAtsCandidatesRequestBodyRemoteFieldsAllOfWorkdayCandidateDataJobApplicationDataResumeDataEducationDataInnerFieldOfStudyReference`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'wid') + self.wid = attributes[:'wid'] + else + self.wid = nil + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + warn '[DEPRECATED] the `list_invalid_properties` method is obsolete' + invalid_properties = Array.new + if @wid.nil? + invalid_properties.push('invalid value for "wid", wid cannot be nil.') + end + + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + warn '[DEPRECATED] the `valid?` method is obsolete' + return false if @wid.nil? + true + end + + # Custom attribute writer method with validation + # @param [Object] wid Value to be assigned + def wid=(wid) + if wid.nil? + fail ArgumentError, 'wid cannot be nil' + end + + @wid = wid + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + wid == o.wid + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [wid].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + transformed_hash = {} + openapi_types.each_pair do |key, type| + if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = nil + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[attribute_map[key]].is_a?(Array) + transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) } + end + elsif !attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]]) + end + end + new(transformed_hash) + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + end + +end diff --git a/lib/kombo_client/models/post_ats_candidates_request_body_remote_fields_all_of_workday_candidate_data_job_application_data_resume_data_experience_data_inner.rb b/lib/kombo_client/models/post_ats_candidates_request_body_remote_fields_all_of_workday_candidate_data_job_application_data_resume_data_experience_data_inner.rb new file mode 100644 index 0000000..551699a --- /dev/null +++ b/lib/kombo_client/models/post_ats_candidates_request_body_remote_fields_all_of_workday_candidate_data_job_application_data_resume_data_experience_data_inner.rb @@ -0,0 +1,286 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.17.0 + +=end + +require 'date' +require 'time' + +module Kombo + class PostAtsCandidatesRequestBodyRemoteFieldsAllOfWorkdayCandidateDataJobApplicationDataResumeDataExperienceDataInner < ApiModelBase + attr_accessor :company_name + + attr_accessor :title + + attr_accessor :location + + # YYYY-MM-DDTHH:mm:ss.sssZ + attr_accessor :start_date + + # YYYY-MM-DDTHH:mm:ss.sssZ + attr_accessor :end_date + + attr_accessor :currently_work_here + + attr_accessor :description + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'company_name' => :'Company_Name', + :'title' => :'Title', + :'location' => :'Location', + :'start_date' => :'Start_Date', + :'end_date' => :'End_Date', + :'currently_work_here' => :'Currently_Work_Here', + :'description' => :'Description' + } + end + + # Returns attribute mapping this model knows about + def self.acceptable_attribute_map + attribute_map + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + acceptable_attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'company_name' => :'String', + :'title' => :'String', + :'location' => :'String', + :'start_date' => :'Time', + :'end_date' => :'Time', + :'currently_work_here' => :'Boolean', + :'description' => :'String' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Kombo::PostAtsCandidatesRequestBodyRemoteFieldsAllOfWorkdayCandidateDataJobApplicationDataResumeDataExperienceDataInner` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + acceptable_attribute_map = self.class.acceptable_attribute_map + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!acceptable_attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Kombo::PostAtsCandidatesRequestBodyRemoteFieldsAllOfWorkdayCandidateDataJobApplicationDataResumeDataExperienceDataInner`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'company_name') + self.company_name = attributes[:'company_name'] + else + self.company_name = nil + end + + if attributes.key?(:'title') + self.title = attributes[:'title'] + else + self.title = nil + end + + if attributes.key?(:'location') + self.location = attributes[:'location'] + end + + if attributes.key?(:'start_date') + self.start_date = attributes[:'start_date'] + else + self.start_date = nil + end + + if attributes.key?(:'end_date') + self.end_date = attributes[:'end_date'] + end + + if attributes.key?(:'currently_work_here') + self.currently_work_here = attributes[:'currently_work_here'] + end + + if attributes.key?(:'description') + self.description = attributes[:'description'] + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + warn '[DEPRECATED] the `list_invalid_properties` method is obsolete' + invalid_properties = Array.new + if @company_name.nil? + invalid_properties.push('invalid value for "company_name", company_name cannot be nil.') + end + + if @title.nil? + invalid_properties.push('invalid value for "title", title cannot be nil.') + end + + if @start_date.nil? + invalid_properties.push('invalid value for "start_date", start_date cannot be nil.') + end + + pattern = Regexp.new(/^\d{4}-\d{2}-\d{2}(T\d{2}:\d{2}:\d{2}(\.\d+)?)?Z?$/) + if @start_date !~ pattern + invalid_properties.push("invalid value for \"start_date\", must conform to the pattern #{pattern}.") + end + + pattern = Regexp.new(/^\d{4}-\d{2}-\d{2}(T\d{2}:\d{2}:\d{2}(\.\d+)?)?Z?$/) + if !@end_date.nil? && @end_date !~ pattern + invalid_properties.push("invalid value for \"end_date\", must conform to the pattern #{pattern}.") + end + + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + warn '[DEPRECATED] the `valid?` method is obsolete' + return false if @company_name.nil? + return false if @title.nil? + return false if @start_date.nil? + return false if @start_date !~ Regexp.new(/^\d{4}-\d{2}-\d{2}(T\d{2}:\d{2}:\d{2}(\.\d+)?)?Z?$/) + return false if !@end_date.nil? && @end_date !~ Regexp.new(/^\d{4}-\d{2}-\d{2}(T\d{2}:\d{2}:\d{2}(\.\d+)?)?Z?$/) + true + end + + # Custom attribute writer method with validation + # @param [Object] company_name Value to be assigned + def company_name=(company_name) + if company_name.nil? + fail ArgumentError, 'company_name cannot be nil' + end + + @company_name = company_name + end + + # Custom attribute writer method with validation + # @param [Object] title Value to be assigned + def title=(title) + if title.nil? + fail ArgumentError, 'title cannot be nil' + end + + @title = title + end + + # Custom attribute writer method with validation + # @param [Object] start_date Value to be assigned + def start_date=(start_date) + if start_date.nil? + fail ArgumentError, 'start_date cannot be nil' + end + + pattern = Regexp.new(/^\d{4}-\d{2}-\d{2}(T\d{2}:\d{2}:\d{2}(\.\d+)?)?Z?$/) + if start_date !~ pattern + fail ArgumentError, "invalid value for \"start_date\", must conform to the pattern #{pattern}." + end + + @start_date = start_date + end + + # Custom attribute writer method with validation + # @param [Object] end_date Value to be assigned + def end_date=(end_date) + if end_date.nil? + fail ArgumentError, 'end_date cannot be nil' + end + + pattern = Regexp.new(/^\d{4}-\d{2}-\d{2}(T\d{2}:\d{2}:\d{2}(\.\d+)?)?Z?$/) + if end_date !~ pattern + fail ArgumentError, "invalid value for \"end_date\", must conform to the pattern #{pattern}." + end + + @end_date = end_date + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + company_name == o.company_name && + title == o.title && + location == o.location && + start_date == o.start_date && + end_date == o.end_date && + currently_work_here == o.currently_work_here && + description == o.description + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [company_name, title, location, start_date, end_date, currently_work_here, description].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + transformed_hash = {} + openapi_types.each_pair do |key, type| + if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = nil + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[attribute_map[key]].is_a?(Array) + transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) } + end + elsif !attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]]) + end + end + new(transformed_hash) + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + end + +end diff --git a/lib/kombo_client/models/post_ats_candidates_request_body_remote_fields_all_of_workday_candidate_data_job_application_data_resume_data_language_data_inner.rb b/lib/kombo_client/models/post_ats_candidates_request_body_remote_fields_all_of_workday_candidate_data_job_application_data_resume_data_language_data_inner.rb new file mode 100644 index 0000000..ce09ca9 --- /dev/null +++ b/lib/kombo_client/models/post_ats_candidates_request_body_remote_fields_all_of_workday_candidate_data_job_application_data_resume_data_language_data_inner.rb @@ -0,0 +1,156 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.17.0 + +=end + +require 'date' +require 'time' + +module Kombo + class PostAtsCandidatesRequestBodyRemoteFieldsAllOfWorkdayCandidateDataJobApplicationDataResumeDataLanguageDataInner < ApiModelBase + attr_accessor :language_reference + + attr_accessor :language + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'language_reference' => :'Language_Reference', + :'language' => :'Language' + } + end + + # Returns attribute mapping this model knows about + def self.acceptable_attribute_map + attribute_map + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + acceptable_attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'language_reference' => :'PostAtsCandidatesRequestBodyRemoteFieldsAllOfWorkdayCandidateDataJobApplicationDataResumeDataLanguageDataInnerLanguageReference', + :'language' => :'PostAtsCandidatesRequestBodyRemoteFieldsAllOfWorkdayCandidateDataJobApplicationDataResumeDataLanguageDataInnerLanguage' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Kombo::PostAtsCandidatesRequestBodyRemoteFieldsAllOfWorkdayCandidateDataJobApplicationDataResumeDataLanguageDataInner` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + acceptable_attribute_map = self.class.acceptable_attribute_map + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!acceptable_attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Kombo::PostAtsCandidatesRequestBodyRemoteFieldsAllOfWorkdayCandidateDataJobApplicationDataResumeDataLanguageDataInner`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'language_reference') + self.language_reference = attributes[:'language_reference'] + end + + if attributes.key?(:'language') + self.language = attributes[:'language'] + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + warn '[DEPRECATED] the `list_invalid_properties` method is obsolete' + invalid_properties = Array.new + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + warn '[DEPRECATED] the `valid?` method is obsolete' + true + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + language_reference == o.language_reference && + language == o.language + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [language_reference, language].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + transformed_hash = {} + openapi_types.each_pair do |key, type| + if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = nil + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[attribute_map[key]].is_a?(Array) + transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) } + end + elsif !attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]]) + end + end + new(transformed_hash) + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + end + +end diff --git a/lib/kombo_client/models/post_ats_candidates_request_body_remote_fields_all_of_workday_candidate_data_job_application_data_resume_data_language_data_inner_language.rb b/lib/kombo_client/models/post_ats_candidates_request_body_remote_fields_all_of_workday_candidate_data_job_application_data_resume_data_language_data_inner_language.rb new file mode 100644 index 0000000..d906e6b --- /dev/null +++ b/lib/kombo_client/models/post_ats_candidates_request_body_remote_fields_all_of_workday_candidate_data_job_application_data_resume_data_language_data_inner_language.rb @@ -0,0 +1,175 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.17.0 + +=end + +require 'date' +require 'time' + +module Kombo + class PostAtsCandidatesRequestBodyRemoteFieldsAllOfWorkdayCandidateDataJobApplicationDataResumeDataLanguageDataInnerLanguage < ApiModelBase + attr_accessor :native + + attr_accessor :language_ability + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'native' => :'Native', + :'language_ability' => :'Language_Ability' + } + end + + # Returns attribute mapping this model knows about + def self.acceptable_attribute_map + attribute_map + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + acceptable_attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'native' => :'Boolean', + :'language_ability' => :'Array' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Kombo::PostAtsCandidatesRequestBodyRemoteFieldsAllOfWorkdayCandidateDataJobApplicationDataResumeDataLanguageDataInnerLanguage` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + acceptable_attribute_map = self.class.acceptable_attribute_map + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!acceptable_attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Kombo::PostAtsCandidatesRequestBodyRemoteFieldsAllOfWorkdayCandidateDataJobApplicationDataResumeDataLanguageDataInnerLanguage`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'native') + self.native = attributes[:'native'] + end + + if attributes.key?(:'language_ability') + if (value = attributes[:'language_ability']).is_a?(Array) + self.language_ability = value + end + else + self.language_ability = nil + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + warn '[DEPRECATED] the `list_invalid_properties` method is obsolete' + invalid_properties = Array.new + if @language_ability.nil? + invalid_properties.push('invalid value for "language_ability", language_ability cannot be nil.') + end + + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + warn '[DEPRECATED] the `valid?` method is obsolete' + return false if @language_ability.nil? + true + end + + # Custom attribute writer method with validation + # @param [Object] language_ability Value to be assigned + def language_ability=(language_ability) + if language_ability.nil? + fail ArgumentError, 'language_ability cannot be nil' + end + + @language_ability = language_ability + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + native == o.native && + language_ability == o.language_ability + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [native, language_ability].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + transformed_hash = {} + openapi_types.each_pair do |key, type| + if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = nil + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[attribute_map[key]].is_a?(Array) + transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) } + end + elsif !attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]]) + end + end + new(transformed_hash) + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + end + +end diff --git a/lib/kombo_client/models/post_ats_candidates_request_body_remote_fields_all_of_workday_candidate_data_job_application_data_resume_data_language_data_inner_language_language_ability_inner.rb b/lib/kombo_client/models/post_ats_candidates_request_body_remote_fields_all_of_workday_candidate_data_job_application_data_resume_data_language_data_inner_language_language_ability_inner.rb new file mode 100644 index 0000000..16a0941 --- /dev/null +++ b/lib/kombo_client/models/post_ats_candidates_request_body_remote_fields_all_of_workday_candidate_data_job_application_data_resume_data_language_data_inner_language_language_ability_inner.rb @@ -0,0 +1,147 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.17.0 + +=end + +require 'date' +require 'time' + +module Kombo + class PostAtsCandidatesRequestBodyRemoteFieldsAllOfWorkdayCandidateDataJobApplicationDataResumeDataLanguageDataInnerLanguageLanguageAbilityInner < ApiModelBase + attr_accessor :language_ability_data + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'language_ability_data' => :'Language_Ability_Data' + } + end + + # Returns attribute mapping this model knows about + def self.acceptable_attribute_map + attribute_map + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + acceptable_attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'language_ability_data' => :'PostAtsCandidatesRequestBodyRemoteFieldsAllOfWorkdayCandidateDataJobApplicationDataResumeDataLanguageDataInnerLanguageLanguageAbilityInnerLanguageAbilityData' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Kombo::PostAtsCandidatesRequestBodyRemoteFieldsAllOfWorkdayCandidateDataJobApplicationDataResumeDataLanguageDataInnerLanguageLanguageAbilityInner` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + acceptable_attribute_map = self.class.acceptable_attribute_map + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!acceptable_attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Kombo::PostAtsCandidatesRequestBodyRemoteFieldsAllOfWorkdayCandidateDataJobApplicationDataResumeDataLanguageDataInnerLanguageLanguageAbilityInner`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'language_ability_data') + self.language_ability_data = attributes[:'language_ability_data'] + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + warn '[DEPRECATED] the `list_invalid_properties` method is obsolete' + invalid_properties = Array.new + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + warn '[DEPRECATED] the `valid?` method is obsolete' + true + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + language_ability_data == o.language_ability_data + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [language_ability_data].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + transformed_hash = {} + openapi_types.each_pair do |key, type| + if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = nil + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[attribute_map[key]].is_a?(Array) + transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) } + end + elsif !attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]]) + end + end + new(transformed_hash) + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + end + +end diff --git a/lib/kombo_client/models/post_ats_candidates_request_body_remote_fields_all_of_workday_candidate_data_job_application_data_resume_data_language_data_inner_language_language_ability_inner_language_ability_data.rb b/lib/kombo_client/models/post_ats_candidates_request_body_remote_fields_all_of_workday_candidate_data_job_application_data_resume_data_language_data_inner_language_language_ability_inner_language_ability_data.rb new file mode 100644 index 0000000..2b07a7b --- /dev/null +++ b/lib/kombo_client/models/post_ats_candidates_request_body_remote_fields_all_of_workday_candidate_data_job_application_data_resume_data_language_data_inner_language_language_ability_inner_language_ability_data.rb @@ -0,0 +1,156 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.17.0 + +=end + +require 'date' +require 'time' + +module Kombo + class PostAtsCandidatesRequestBodyRemoteFieldsAllOfWorkdayCandidateDataJobApplicationDataResumeDataLanguageDataInnerLanguageLanguageAbilityInnerLanguageAbilityData < ApiModelBase + attr_accessor :language_proficiency_reference + + attr_accessor :language_ability_type_reference + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'language_proficiency_reference' => :'Language_Proficiency_Reference', + :'language_ability_type_reference' => :'Language_Ability_Type_Reference' + } + end + + # Returns attribute mapping this model knows about + def self.acceptable_attribute_map + attribute_map + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + acceptable_attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'language_proficiency_reference' => :'PostAtsCandidatesRequestBodyRemoteFieldsAllOfWorkdayCandidateDataJobApplicationDataResumeDataEducationDataInnerFieldOfStudyReference', + :'language_ability_type_reference' => :'PostAtsCandidatesRequestBodyRemoteFieldsAllOfWorkdayCandidateDataJobApplicationDataResumeDataEducationDataInnerFieldOfStudyReference' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Kombo::PostAtsCandidatesRequestBodyRemoteFieldsAllOfWorkdayCandidateDataJobApplicationDataResumeDataLanguageDataInnerLanguageLanguageAbilityInnerLanguageAbilityData` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + acceptable_attribute_map = self.class.acceptable_attribute_map + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!acceptable_attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Kombo::PostAtsCandidatesRequestBodyRemoteFieldsAllOfWorkdayCandidateDataJobApplicationDataResumeDataLanguageDataInnerLanguageLanguageAbilityInnerLanguageAbilityData`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'language_proficiency_reference') + self.language_proficiency_reference = attributes[:'language_proficiency_reference'] + end + + if attributes.key?(:'language_ability_type_reference') + self.language_ability_type_reference = attributes[:'language_ability_type_reference'] + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + warn '[DEPRECATED] the `list_invalid_properties` method is obsolete' + invalid_properties = Array.new + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + warn '[DEPRECATED] the `valid?` method is obsolete' + true + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + language_proficiency_reference == o.language_proficiency_reference && + language_ability_type_reference == o.language_ability_type_reference + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [language_proficiency_reference, language_ability_type_reference].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + transformed_hash = {} + openapi_types.each_pair do |key, type| + if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = nil + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[attribute_map[key]].is_a?(Array) + transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) } + end + elsif !attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]]) + end + end + new(transformed_hash) + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + end + +end diff --git a/lib/kombo_client/models/post_ats_candidates_request_body_remote_fields_all_of_workday_candidate_data_job_application_data_resume_data_language_data_inner_language_reference.rb b/lib/kombo_client/models/post_ats_candidates_request_body_remote_fields_all_of_workday_candidate_data_job_application_data_resume_data_language_data_inner_language_reference.rb new file mode 100644 index 0000000..8a9df52 --- /dev/null +++ b/lib/kombo_client/models/post_ats_candidates_request_body_remote_fields_all_of_workday_candidate_data_job_application_data_resume_data_language_data_inner_language_reference.rb @@ -0,0 +1,147 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.17.0 + +=end + +require 'date' +require 'time' + +module Kombo + class PostAtsCandidatesRequestBodyRemoteFieldsAllOfWorkdayCandidateDataJobApplicationDataResumeDataLanguageDataInnerLanguageReference < ApiModelBase + attr_accessor :wid + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'wid' => :'WID' + } + end + + # Returns attribute mapping this model knows about + def self.acceptable_attribute_map + attribute_map + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + acceptable_attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'wid' => :'String' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Kombo::PostAtsCandidatesRequestBodyRemoteFieldsAllOfWorkdayCandidateDataJobApplicationDataResumeDataLanguageDataInnerLanguageReference` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + acceptable_attribute_map = self.class.acceptable_attribute_map + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!acceptable_attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Kombo::PostAtsCandidatesRequestBodyRemoteFieldsAllOfWorkdayCandidateDataJobApplicationDataResumeDataLanguageDataInnerLanguageReference`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'wid') + self.wid = attributes[:'wid'] + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + warn '[DEPRECATED] the `list_invalid_properties` method is obsolete' + invalid_properties = Array.new + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + warn '[DEPRECATED] the `valid?` method is obsolete' + true + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + wid == o.wid + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [wid].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + transformed_hash = {} + openapi_types.each_pair do |key, type| + if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = nil + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[attribute_map[key]].is_a?(Array) + transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) } + end + elsif !attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]]) + end + end + new(transformed_hash) + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + end + +end diff --git a/lib/kombo_client/models/post_ats_candidates_request_body_remote_fields_all_of_workday_candidate_data_job_application_data_resume_data_skill_data_inner.rb b/lib/kombo_client/models/post_ats_candidates_request_body_remote_fields_all_of_workday_candidate_data_job_application_data_resume_data_skill_data_inner.rb new file mode 100644 index 0000000..8462c02 --- /dev/null +++ b/lib/kombo_client/models/post_ats_candidates_request_body_remote_fields_all_of_workday_candidate_data_job_application_data_resume_data_skill_data_inner.rb @@ -0,0 +1,147 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.17.0 + +=end + +require 'date' +require 'time' + +module Kombo + class PostAtsCandidatesRequestBodyRemoteFieldsAllOfWorkdayCandidateDataJobApplicationDataResumeDataSkillDataInner < ApiModelBase + attr_accessor :skill_name + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'skill_name' => :'Skill_Name' + } + end + + # Returns attribute mapping this model knows about + def self.acceptable_attribute_map + attribute_map + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + acceptable_attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'skill_name' => :'String' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Kombo::PostAtsCandidatesRequestBodyRemoteFieldsAllOfWorkdayCandidateDataJobApplicationDataResumeDataSkillDataInner` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + acceptable_attribute_map = self.class.acceptable_attribute_map + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!acceptable_attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Kombo::PostAtsCandidatesRequestBodyRemoteFieldsAllOfWorkdayCandidateDataJobApplicationDataResumeDataSkillDataInner`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'skill_name') + self.skill_name = attributes[:'skill_name'] + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + warn '[DEPRECATED] the `list_invalid_properties` method is obsolete' + invalid_properties = Array.new + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + warn '[DEPRECATED] the `valid?` method is obsolete' + true + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + skill_name == o.skill_name + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [skill_name].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + transformed_hash = {} + openapi_types.each_pair do |key, type| + if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = nil + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[attribute_map[key]].is_a?(Array) + transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) } + end + elsif !attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]]) + end + end + new(transformed_hash) + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + end + +end diff --git a/lib/kombo_client/models/post_ats_candidates_request_body_remote_fields_all_of_workday_candidate_data_language_reference.rb b/lib/kombo_client/models/post_ats_candidates_request_body_remote_fields_all_of_workday_candidate_data_language_reference.rb new file mode 100644 index 0000000..6723464 --- /dev/null +++ b/lib/kombo_client/models/post_ats_candidates_request_body_remote_fields_all_of_workday_candidate_data_language_reference.rb @@ -0,0 +1,165 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.17.0 + +=end + +require 'date' +require 'time' + +module Kombo + # Used to set the candidate's primary language + class PostAtsCandidatesRequestBodyRemoteFieldsAllOfWorkdayCandidateDataLanguageReference < ApiModelBase + attr_accessor :wid + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'wid' => :'WID' + } + end + + # Returns attribute mapping this model knows about + def self.acceptable_attribute_map + attribute_map + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + acceptable_attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'wid' => :'String' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Kombo::PostAtsCandidatesRequestBodyRemoteFieldsAllOfWorkdayCandidateDataLanguageReference` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + acceptable_attribute_map = self.class.acceptable_attribute_map + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!acceptable_attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Kombo::PostAtsCandidatesRequestBodyRemoteFieldsAllOfWorkdayCandidateDataLanguageReference`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'wid') + self.wid = attributes[:'wid'] + else + self.wid = nil + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + warn '[DEPRECATED] the `list_invalid_properties` method is obsolete' + invalid_properties = Array.new + if @wid.nil? + invalid_properties.push('invalid value for "wid", wid cannot be nil.') + end + + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + warn '[DEPRECATED] the `valid?` method is obsolete' + return false if @wid.nil? + true + end + + # Custom attribute writer method with validation + # @param [Object] wid Value to be assigned + def wid=(wid) + if wid.nil? + fail ArgumentError, 'wid cannot be nil' + end + + @wid = wid + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + wid == o.wid + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [wid].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + transformed_hash = {} + openapi_types.each_pair do |key, type| + if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = nil + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[attribute_map[key]].is_a?(Array) + transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) } + end + elsif !attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]]) + end + end + new(transformed_hash) + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + end + +end diff --git a/lib/kombo_client/models/post_ats_candidates_request_body_remote_fields_all_of_workday_candidate_data_name_detail_data.rb b/lib/kombo_client/models/post_ats_candidates_request_body_remote_fields_all_of_workday_candidate_data_name_detail_data.rb new file mode 100644 index 0000000..4f6bad1 --- /dev/null +++ b/lib/kombo_client/models/post_ats_candidates_request_body_remote_fields_all_of_workday_candidate_data_name_detail_data.rb @@ -0,0 +1,157 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.17.0 + +=end + +require 'date' +require 'time' + +module Kombo + class PostAtsCandidatesRequestBodyRemoteFieldsAllOfWorkdayCandidateDataNameDetailData < ApiModelBase + # The candidate's middle name + attr_accessor :middle_name + + attr_accessor :social_suffix_reference + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'middle_name' => :'Middle_Name', + :'social_suffix_reference' => :'Social_Suffix_Reference' + } + end + + # Returns attribute mapping this model knows about + def self.acceptable_attribute_map + attribute_map + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + acceptable_attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'middle_name' => :'String', + :'social_suffix_reference' => :'PostAtsCandidatesRequestBodyRemoteFieldsAllOfWorkdayCandidateDataNameDetailDataSocialSuffixReference' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Kombo::PostAtsCandidatesRequestBodyRemoteFieldsAllOfWorkdayCandidateDataNameDetailData` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + acceptable_attribute_map = self.class.acceptable_attribute_map + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!acceptable_attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Kombo::PostAtsCandidatesRequestBodyRemoteFieldsAllOfWorkdayCandidateDataNameDetailData`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'middle_name') + self.middle_name = attributes[:'middle_name'] + end + + if attributes.key?(:'social_suffix_reference') + self.social_suffix_reference = attributes[:'social_suffix_reference'] + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + warn '[DEPRECATED] the `list_invalid_properties` method is obsolete' + invalid_properties = Array.new + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + warn '[DEPRECATED] the `valid?` method is obsolete' + true + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + middle_name == o.middle_name && + social_suffix_reference == o.social_suffix_reference + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [middle_name, social_suffix_reference].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + transformed_hash = {} + openapi_types.each_pair do |key, type| + if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = nil + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[attribute_map[key]].is_a?(Array) + transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) } + end + elsif !attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]]) + end + end + new(transformed_hash) + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + end + +end diff --git a/lib/kombo_client/models/post_ats_candidates_request_body_remote_fields_all_of_workday_candidate_data_name_detail_data_social_suffix_reference.rb b/lib/kombo_client/models/post_ats_candidates_request_body_remote_fields_all_of_workday_candidate_data_name_detail_data_social_suffix_reference.rb new file mode 100644 index 0000000..0589286 --- /dev/null +++ b/lib/kombo_client/models/post_ats_candidates_request_body_remote_fields_all_of_workday_candidate_data_name_detail_data_social_suffix_reference.rb @@ -0,0 +1,165 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.17.0 + +=end + +require 'date' +require 'time' + +module Kombo + # The WID of the social suffix reference for the candidate + class PostAtsCandidatesRequestBodyRemoteFieldsAllOfWorkdayCandidateDataNameDetailDataSocialSuffixReference < ApiModelBase + attr_accessor :predefined_name_component_id + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'predefined_name_component_id' => :'Predefined_Name_Component_ID' + } + end + + # Returns attribute mapping this model knows about + def self.acceptable_attribute_map + attribute_map + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + acceptable_attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'predefined_name_component_id' => :'String' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Kombo::PostAtsCandidatesRequestBodyRemoteFieldsAllOfWorkdayCandidateDataNameDetailDataSocialSuffixReference` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + acceptable_attribute_map = self.class.acceptable_attribute_map + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!acceptable_attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Kombo::PostAtsCandidatesRequestBodyRemoteFieldsAllOfWorkdayCandidateDataNameDetailDataSocialSuffixReference`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'predefined_name_component_id') + self.predefined_name_component_id = attributes[:'predefined_name_component_id'] + else + self.predefined_name_component_id = nil + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + warn '[DEPRECATED] the `list_invalid_properties` method is obsolete' + invalid_properties = Array.new + if @predefined_name_component_id.nil? + invalid_properties.push('invalid value for "predefined_name_component_id", predefined_name_component_id cannot be nil.') + end + + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + warn '[DEPRECATED] the `valid?` method is obsolete' + return false if @predefined_name_component_id.nil? + true + end + + # Custom attribute writer method with validation + # @param [Object] predefined_name_component_id Value to be assigned + def predefined_name_component_id=(predefined_name_component_id) + if predefined_name_component_id.nil? + fail ArgumentError, 'predefined_name_component_id cannot be nil' + end + + @predefined_name_component_id = predefined_name_component_id + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + predefined_name_component_id == o.predefined_name_component_id + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [predefined_name_component_id].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + transformed_hash = {} + openapi_types.each_pair do |key, type| + if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = nil + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[attribute_map[key]].is_a?(Array) + transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) } + end + elsif !attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]]) + end + end + new(transformed_hash) + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + end + +end diff --git a/lib/kombo_client/models/post_ats_candidates_request_body_remote_fields_all_of_workday_candidate_data_worker_reference.rb b/lib/kombo_client/models/post_ats_candidates_request_body_remote_fields_all_of_workday_candidate_data_worker_reference.rb new file mode 100644 index 0000000..b345733 --- /dev/null +++ b/lib/kombo_client/models/post_ats_candidates_request_body_remote_fields_all_of_workday_candidate_data_worker_reference.rb @@ -0,0 +1,157 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.17.0 + +=end + +require 'date' +require 'time' + +module Kombo + # Reference to the Worker (employee) to link the candidate to. Provide either WID or Employee_ID. + class PostAtsCandidatesRequestBodyRemoteFieldsAllOfWorkdayCandidateDataWorkerReference < ApiModelBase + attr_accessor :wid + + attr_accessor :employee_id + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'wid' => :'WID', + :'employee_id' => :'Employee_ID' + } + end + + # Returns attribute mapping this model knows about + def self.acceptable_attribute_map + attribute_map + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + acceptable_attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'wid' => :'String', + :'employee_id' => :'String' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Kombo::PostAtsCandidatesRequestBodyRemoteFieldsAllOfWorkdayCandidateDataWorkerReference` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + acceptable_attribute_map = self.class.acceptable_attribute_map + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!acceptable_attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Kombo::PostAtsCandidatesRequestBodyRemoteFieldsAllOfWorkdayCandidateDataWorkerReference`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'wid') + self.wid = attributes[:'wid'] + end + + if attributes.key?(:'employee_id') + self.employee_id = attributes[:'employee_id'] + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + warn '[DEPRECATED] the `list_invalid_properties` method is obsolete' + invalid_properties = Array.new + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + warn '[DEPRECATED] the `valid?` method is obsolete' + true + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + wid == o.wid && + employee_id == o.employee_id + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [wid, employee_id].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + transformed_hash = {} + openapi_types.each_pair do |key, type| + if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = nil + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[attribute_map[key]].is_a?(Array) + transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) } + end + elsif !attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]]) + end + end + new(transformed_hash) + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + end + +end diff --git a/lib/kombo_client/models/post_ats_candidates_request_body_remote_fields_all_of_zohorecruit.rb b/lib/kombo_client/models/post_ats_candidates_request_body_remote_fields_all_of_zohorecruit.rb new file mode 100644 index 0000000..e3e3112 --- /dev/null +++ b/lib/kombo_client/models/post_ats_candidates_request_body_remote_fields_all_of_zohorecruit.rb @@ -0,0 +1,151 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.17.0 + +=end + +require 'date' +require 'time' + +module Kombo + # Fields specific to Zoho Recruit. + class PostAtsCandidatesRequestBodyRemoteFieldsAllOfZohorecruit < ApiModelBase + # Fields that we will pass through to Zoho Recruit's `Candidate` object. + attr_accessor :candidate + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'candidate' => :'candidate' + } + end + + # Returns attribute mapping this model knows about + def self.acceptable_attribute_map + attribute_map + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + acceptable_attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'candidate' => :'Hash' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Kombo::PostAtsCandidatesRequestBodyRemoteFieldsAllOfZohorecruit` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + acceptable_attribute_map = self.class.acceptable_attribute_map + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!acceptable_attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Kombo::PostAtsCandidatesRequestBodyRemoteFieldsAllOfZohorecruit`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'candidate') + if (value = attributes[:'candidate']).is_a?(Hash) + self.candidate = value + end + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + warn '[DEPRECATED] the `list_invalid_properties` method is obsolete' + invalid_properties = Array.new + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + warn '[DEPRECATED] the `valid?` method is obsolete' + true + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + candidate == o.candidate + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [candidate].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + transformed_hash = {} + openapi_types.each_pair do |key, type| + if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = nil + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[attribute_map[key]].is_a?(Array) + transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) } + end + elsif !attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]]) + end + end + new(transformed_hash) + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + end + +end diff --git a/lib/kombo_client/models/post_ats_candidates_request_body_screening_question_answers_inner.rb b/lib/kombo_client/models/post_ats_candidates_request_body_screening_question_answers_inner.rb new file mode 100644 index 0000000..ca6ce24 --- /dev/null +++ b/lib/kombo_client/models/post_ats_candidates_request_body_screening_question_answers_inner.rb @@ -0,0 +1,191 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.17.0 + +=end + +require 'date' +require 'time' + +module Kombo + class PostAtsCandidatesRequestBodyScreeningQuestionAnswersInner < ApiModelBase + # 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. + attr_accessor :question_id + + attr_accessor :answer + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'question_id' => :'question_id', + :'answer' => :'answer' + } + end + + # Returns attribute mapping this model knows about + def self.acceptable_attribute_map + attribute_map + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + acceptable_attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'question_id' => :'String', + :'answer' => :'PostAtsCandidatesRequestBodyScreeningQuestionAnswersInnerAnswer' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Kombo::PostAtsCandidatesRequestBodyScreeningQuestionAnswersInner` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + acceptable_attribute_map = self.class.acceptable_attribute_map + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!acceptable_attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Kombo::PostAtsCandidatesRequestBodyScreeningQuestionAnswersInner`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'question_id') + self.question_id = attributes[:'question_id'] + else + self.question_id = nil + end + + if attributes.key?(:'answer') + self.answer = attributes[:'answer'] + else + self.answer = nil + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + warn '[DEPRECATED] the `list_invalid_properties` method is obsolete' + invalid_properties = Array.new + if @question_id.nil? + invalid_properties.push('invalid value for "question_id", question_id cannot be nil.') + end + + if @answer.nil? + invalid_properties.push('invalid value for "answer", answer cannot be nil.') + end + + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + warn '[DEPRECATED] the `valid?` method is obsolete' + return false if @question_id.nil? + return false if @answer.nil? + true + end + + # Custom attribute writer method with validation + # @param [Object] question_id Value to be assigned + def question_id=(question_id) + if question_id.nil? + fail ArgumentError, 'question_id cannot be nil' + end + + @question_id = question_id + end + + # Custom attribute writer method with validation + # @param [Object] answer Value to be assigned + def answer=(answer) + if answer.nil? + fail ArgumentError, 'answer cannot be nil' + end + + @answer = answer + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + question_id == o.question_id && + answer == o.answer + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [question_id, answer].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + transformed_hash = {} + openapi_types.each_pair do |key, type| + if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = nil + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[attribute_map[key]].is_a?(Array) + transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) } + end + elsif !attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]]) + end + end + new(transformed_hash) + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + end + +end diff --git a/lib/kombo_client/models/post_ats_candidates_request_body_screening_question_answers_inner_answer.rb b/lib/kombo_client/models/post_ats_candidates_request_body_screening_question_answers_inner_answer.rb new file mode 100644 index 0000000..1dc78ee --- /dev/null +++ b/lib/kombo_client/models/post_ats_candidates_request_body_screening_question_answers_inner_answer.rb @@ -0,0 +1,108 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.17.0 + +=end + +require 'date' +require 'time' + +module Kombo + # 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: `TEXT` - Simply provide a \"string\" answer. `SINGLE_SELECT` - Provide the ID of the answer as a string. `MULTI_SELECT` - Provide a string array containing the question IDs of the selected options. `BOOLEAN` - Either `true` or `false`. `NUMBER` - A number. `DATE` - Provide the answer as an ISO 8601 date string. `FILE` - Please select Option 6 in the dropdown above to see the required format. + module PostAtsCandidatesRequestBodyScreeningQuestionAnswersInnerAnswer + class << self + # List of class defined in anyOf (OpenAPI v3) + def openapi_any_of + [ + :'Array', + :'Boolean', + :'Float', + :'PostAtsCandidatesRequestBodyScreeningQuestionAnswersInnerAnswerAnyOf', + :'String', + :'Time' + ] + end + + # Builds the object + # @param [Mixed] Data to be matched against the list of anyOf items + # @return [Object] Returns the model or the data itself + def build(data) + # Go through the list of anyOf items and attempt to identify the appropriate one. + # Note: + # - No advanced validation of types in some cases (e.g. "x: { type: string }" will happily match { x: 123 }) + # due to the way the deserialization is made in the base_object template (it just casts without verifying). + # - TODO: scalar values are de facto behaving as if they were nullable. + # - TODO: logging when debugging is set. + openapi_any_of.each do |klass| + begin + next if klass == :AnyType # "nullable: true" + return find_and_cast_into_type(klass, data) + rescue # rescue all errors so we keep iterating even if the current item lookup raises + end + end + + openapi_any_of.include?(:AnyType) ? data : nil + end + + private + + SchemaMismatchError = Class.new(StandardError) + + # Note: 'File' is missing here because in the regular case we get the data _after_ a call to JSON.parse. + def find_and_cast_into_type(klass, data) + return if data.nil? + + case klass.to_s + when 'Boolean' + return data if data.instance_of?(TrueClass) || data.instance_of?(FalseClass) + when 'Float' + return data if data.instance_of?(Float) + when 'Integer' + return data if data.instance_of?(Integer) + when 'Time' + return Time.parse(data) + when 'Date' + return Date.iso8601(data) + when 'String' + return data if data.instance_of?(String) + when 'Object' # "type: object" + return data if data.instance_of?(Hash) + when /\AArray<(?.+)>\z/ # "type: array" + if data.instance_of?(Array) + sub_type = Regexp.last_match[:sub_type] + return data.map { |item| find_and_cast_into_type(sub_type, item) } + end + when /\AHash.+)>\z/ # "type: object" with "additionalProperties: { ... }" + if data.instance_of?(Hash) && data.keys.all? { |k| k.instance_of?(Symbol) || k.instance_of?(String) } + sub_type = Regexp.last_match[:sub_type] + return data.each_with_object({}) { |(k, v), hsh| hsh[k] = find_and_cast_into_type(sub_type, v) } + end + else # model + const = Kombo.const_get(klass) + if const + if const.respond_to?(:openapi_any_of) # nested anyOf model + model = const.build(data) + return model if model + else + # raise if data contains keys that are not known to the model + raise if const.respond_to?(:acceptable_attributes) && !(data.keys - const.acceptable_attributes).empty? + model = const.build_from_hash(data) + return model if model + end + end + end + + raise # if no match by now, raise + rescue + raise SchemaMismatchError, "#{data} doesn't match the #{klass} type" + end + end + end + +end diff --git a/lib/kombo_client/models/post_ats_candidates_request_body_screening_question_answers_inner_answer_any_of.rb b/lib/kombo_client/models/post_ats_candidates_request_body_screening_question_answers_inner_answer_any_of.rb new file mode 100644 index 0000000..7ea7c37 --- /dev/null +++ b/lib/kombo_client/models/post_ats_candidates_request_body_screening_question_answers_inner_answer_any_of.rb @@ -0,0 +1,217 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.17.0 + +=end + +require 'date' +require 'time' + +module Kombo + # Answer to a `FILE` question. + class PostAtsCandidatesRequestBodyScreeningQuestionAnswersInnerAnswerAnyOf < ApiModelBase + # 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. + attr_accessor :name + + # 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)). + attr_accessor :content_type + + # 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. + attr_accessor :data_url + + # 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. + attr_accessor :data + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'name' => :'name', + :'content_type' => :'content_type', + :'data_url' => :'data_url', + :'data' => :'data' + } + end + + # Returns attribute mapping this model knows about + def self.acceptable_attribute_map + attribute_map + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + acceptable_attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'name' => :'String', + :'content_type' => :'String', + :'data_url' => :'String', + :'data' => :'String' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Kombo::PostAtsCandidatesRequestBodyScreeningQuestionAnswersInnerAnswerAnyOf` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + acceptable_attribute_map = self.class.acceptable_attribute_map + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!acceptable_attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Kombo::PostAtsCandidatesRequestBodyScreeningQuestionAnswersInnerAnswerAnyOf`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'name') + self.name = attributes[:'name'] + else + self.name = nil + end + + if attributes.key?(:'content_type') + self.content_type = attributes[:'content_type'] + end + + if attributes.key?(:'data_url') + self.data_url = attributes[:'data_url'] + end + + if attributes.key?(:'data') + self.data = attributes[:'data'] + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + warn '[DEPRECATED] the `list_invalid_properties` method is obsolete' + invalid_properties = Array.new + if @name.nil? + invalid_properties.push('invalid value for "name", name cannot be nil.') + end + + pattern = Regexp.new(/^[\w.-]+\/[\w.-]+$/) + if !@content_type.nil? && @content_type !~ pattern + invalid_properties.push("invalid value for \"content_type\", must conform to the pattern #{pattern}.") + end + + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + warn '[DEPRECATED] the `valid?` method is obsolete' + return false if @name.nil? + return false if !@content_type.nil? && @content_type !~ Regexp.new(/^[\w.-]+\/[\w.-]+$/) + true + end + + # Custom attribute writer method with validation + # @param [Object] name Value to be assigned + def name=(name) + if name.nil? + fail ArgumentError, 'name cannot be nil' + end + + @name = name + end + + # Custom attribute writer method with validation + # @param [Object] content_type Value to be assigned + def content_type=(content_type) + if content_type.nil? + fail ArgumentError, 'content_type cannot be nil' + end + + pattern = Regexp.new(/^[\w.-]+\/[\w.-]+$/) + if content_type !~ pattern + fail ArgumentError, "invalid value for \"content_type\", must conform to the pattern #{pattern}." + end + + @content_type = content_type + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + name == o.name && + content_type == o.content_type && + data_url == o.data_url && + data == o.data + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [name, content_type, data_url, data].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + transformed_hash = {} + openapi_types.each_pair do |key, type| + if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = nil + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[attribute_map[key]].is_a?(Array) + transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) } + end + elsif !attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]]) + end + end + new(transformed_hash) + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + end + +end diff --git a/lib/kombo_client/models/post_ats_candidates_request_body_source.rb b/lib/kombo_client/models/post_ats_candidates_request_body_source.rb new file mode 100644 index 0000000..37cc6ed --- /dev/null +++ b/lib/kombo_client/models/post_ats_candidates_request_body_source.rb @@ -0,0 +1,167 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.17.0 + +=end + +require 'date' +require 'time' + +module Kombo + # **(⚠️ Deprecated - Use [automatic source writing](/ats/features/application-attribution#automatic-attribution) instead)** Optional source information that will be attached to the candidate. If you're a job board or recruiting service, you can use this to make sure your customers can see which candidates came from you. This is deprecated because writing sources requires users to do some setup in most ATSs. + class PostAtsCandidatesRequestBodySource < ApiModelBase + # Name of the source (e.g., `\"Example Job Board\"`). + attr_accessor :name + + attr_accessor :unified_key + + attr_accessor :id + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'name' => :'name', + :'unified_key' => :'unified_key', + :'id' => :'id' + } + end + + # Returns attribute mapping this model knows about + def self.acceptable_attribute_map + attribute_map + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + acceptable_attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'name' => :'String', + :'unified_key' => :'String', + :'id' => :'String' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Kombo::PostAtsCandidatesRequestBodySource` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + acceptable_attribute_map = self.class.acceptable_attribute_map + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!acceptable_attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Kombo::PostAtsCandidatesRequestBodySource`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'name') + self.name = attributes[:'name'] + end + + if attributes.key?(:'unified_key') + self.unified_key = attributes[:'unified_key'] + end + + if attributes.key?(:'id') + self.id = attributes[:'id'] + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + warn '[DEPRECATED] the `list_invalid_properties` method is obsolete' + invalid_properties = Array.new + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + warn '[DEPRECATED] the `valid?` method is obsolete' + true + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + name == o.name && + unified_key == o.unified_key && + id == o.id + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [name, unified_key, id].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + transformed_hash = {} + openapi_types.each_pair do |key, type| + if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = nil + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[attribute_map[key]].is_a?(Array) + transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) } + end + elsif !attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]]) + end + end + new(transformed_hash) + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + end + +end diff --git a/lib/kombo_client/models/post_ats_candidates_request_body_sourced_by.rb b/lib/kombo_client/models/post_ats_candidates_request_body_sourced_by.rb new file mode 100644 index 0000000..7a582b1 --- /dev/null +++ b/lib/kombo_client/models/post_ats_candidates_request_body_sourced_by.rb @@ -0,0 +1,166 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.17.0 + +=end + +require 'date' +require 'time' + +module Kombo + # Credit the recruiter or team member who sourced this candidate. While the `source` field tracks the channel/platform (e.g., \"Awesome Jobboard\"), the `sourced_by` field tracks the individual person responsible for finding the candidate. + class PostAtsCandidatesRequestBodySourcedBy < ApiModelBase + # 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. + attr_accessor :user_id + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'user_id' => :'user_id' + } + end + + # Returns attribute mapping this model knows about + def self.acceptable_attribute_map + attribute_map + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + acceptable_attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'user_id' => :'String' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Kombo::PostAtsCandidatesRequestBodySourcedBy` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + acceptable_attribute_map = self.class.acceptable_attribute_map + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!acceptable_attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Kombo::PostAtsCandidatesRequestBodySourcedBy`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'user_id') + self.user_id = attributes[:'user_id'] + else + self.user_id = nil + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + warn '[DEPRECATED] the `list_invalid_properties` method is obsolete' + invalid_properties = Array.new + if @user_id.nil? + invalid_properties.push('invalid value for "user_id", user_id cannot be nil.') + end + + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + warn '[DEPRECATED] the `valid?` method is obsolete' + return false if @user_id.nil? + true + end + + # Custom attribute writer method with validation + # @param [Object] user_id Value to be assigned + def user_id=(user_id) + if user_id.nil? + fail ArgumentError, 'user_id cannot be nil' + end + + @user_id = user_id + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + user_id == o.user_id + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [user_id].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + transformed_hash = {} + openapi_types.each_pair do |key, type| + if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = nil + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[attribute_map[key]].is_a?(Array) + transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) } + end + elsif !attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]]) + end + end + new(transformed_hash) + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + end + +end diff --git a/lib/kombo_client/models/post_ats_import_tracked_application_positive_response.rb b/lib/kombo_client/models/post_ats_import_tracked_application_positive_response.rb new file mode 100644 index 0000000..fe6ec9a --- /dev/null +++ b/lib/kombo_client/models/post_ats_import_tracked_application_positive_response.rb @@ -0,0 +1,243 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.17.0 + +=end + +require 'date' +require 'time' + +module Kombo + class PostAtsImportTrackedApplicationPositiveResponse < ApiModelBase + attr_accessor :status + + attr_accessor :data + + # 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. + attr_accessor :warnings + + class EnumAttributeValidator + attr_reader :datatype + attr_reader :allowable_values + + def initialize(datatype, allowable_values) + @allowable_values = allowable_values.map do |value| + case datatype.to_s + when /Integer/i + value.to_i + when /Float/i + value.to_f + else + value + end + end + end + + def valid?(value) + !value || allowable_values.include?(value) + end + end + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'status' => :'status', + :'data' => :'data', + :'warnings' => :'warnings' + } + end + + # Returns attribute mapping this model knows about + def self.acceptable_attribute_map + attribute_map + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + acceptable_attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'status' => :'String', + :'data' => :'PostAtsImportTrackedApplicationPositiveResponseData', + :'warnings' => :'Array' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Kombo::PostAtsImportTrackedApplicationPositiveResponse` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + acceptable_attribute_map = self.class.acceptable_attribute_map + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!acceptable_attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Kombo::PostAtsImportTrackedApplicationPositiveResponse`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'status') + self.status = attributes[:'status'] + else + self.status = nil + end + + if attributes.key?(:'data') + self.data = attributes[:'data'] + else + self.data = nil + end + + if attributes.key?(:'warnings') + if (value = attributes[:'warnings']).is_a?(Array) + self.warnings = value + end + else + self.warnings = nil + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + warn '[DEPRECATED] the `list_invalid_properties` method is obsolete' + invalid_properties = Array.new + if @status.nil? + invalid_properties.push('invalid value for "status", status cannot be nil.') + end + + if @data.nil? + invalid_properties.push('invalid value for "data", data cannot be nil.') + end + + if @warnings.nil? + invalid_properties.push('invalid value for "warnings", warnings cannot be nil.') + end + + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + warn '[DEPRECATED] the `valid?` method is obsolete' + return false if @status.nil? + status_validator = EnumAttributeValidator.new('String', ["success"]) + return false unless status_validator.valid?(@status) + return false if @data.nil? + return false if @warnings.nil? + true + end + + # Custom attribute writer method checking allowed values (enum). + # @param [Object] status Object to be assigned + def status=(status) + validator = EnumAttributeValidator.new('String', ["success"]) + unless validator.valid?(status) + fail ArgumentError, "invalid value for \"status\", must be one of #{validator.allowable_values}." + end + @status = status + end + + # Custom attribute writer method with validation + # @param [Object] data Value to be assigned + def data=(data) + if data.nil? + fail ArgumentError, 'data cannot be nil' + end + + @data = data + end + + # Custom attribute writer method with validation + # @param [Object] warnings Value to be assigned + def warnings=(warnings) + if warnings.nil? + fail ArgumentError, 'warnings cannot be nil' + end + + @warnings = warnings + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + status == o.status && + data == o.data && + warnings == o.warnings + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [status, data, warnings].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + transformed_hash = {} + openapi_types.each_pair do |key, type| + if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = nil + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[attribute_map[key]].is_a?(Array) + transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) } + end + elsif !attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]]) + end + end + new(transformed_hash) + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + end + +end diff --git a/lib/kombo_client/models/post_ats_import_tracked_application_positive_response_data.rb b/lib/kombo_client/models/post_ats_import_tracked_application_positive_response_data.rb new file mode 100644 index 0000000..e4881e7 --- /dev/null +++ b/lib/kombo_client/models/post_ats_import_tracked_application_positive_response_data.rb @@ -0,0 +1,232 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.17.0 + +=end + +require 'date' +require 'time' + +module Kombo + class PostAtsImportTrackedApplicationPositiveResponseData < ApiModelBase + attr_accessor :id + + # YYYY-MM-DDTHH:mm:ss.sssZ + attr_accessor :tracked_at + + attr_accessor :imported_id + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'id' => :'id', + :'tracked_at' => :'tracked_at', + :'imported_id' => :'imported_id' + } + end + + # Returns attribute mapping this model knows about + def self.acceptable_attribute_map + attribute_map + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + acceptable_attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'id' => :'String', + :'tracked_at' => :'Time', + :'imported_id' => :'PostAtsImportTrackedApplicationPositiveResponseDataImportedId' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + :'tracked_at', + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Kombo::PostAtsImportTrackedApplicationPositiveResponseData` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + acceptable_attribute_map = self.class.acceptable_attribute_map + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!acceptable_attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Kombo::PostAtsImportTrackedApplicationPositiveResponseData`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'id') + self.id = attributes[:'id'] + else + self.id = nil + end + + if attributes.key?(:'tracked_at') + self.tracked_at = attributes[:'tracked_at'] + else + self.tracked_at = nil + end + + if attributes.key?(:'imported_id') + self.imported_id = attributes[:'imported_id'] + else + self.imported_id = nil + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + warn '[DEPRECATED] the `list_invalid_properties` method is obsolete' + invalid_properties = Array.new + if @id.nil? + invalid_properties.push('invalid value for "id", id cannot be nil.') + end + + if @id.to_s.length > 24 + invalid_properties.push('invalid value for "id", the character length must be smaller than or equal to 24.') + end + + if @id.to_s.length < 24 + invalid_properties.push('invalid value for "id", the character length must be greater than or equal to 24.') + end + + pattern = Regexp.new(/^[1-9A-HJ-NP-Za-km-z]+$/) + if @id !~ pattern + invalid_properties.push("invalid value for \"id\", must conform to the pattern #{pattern}.") + end + + if @imported_id.nil? + invalid_properties.push('invalid value for "imported_id", imported_id cannot be nil.') + end + + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + warn '[DEPRECATED] the `valid?` method is obsolete' + return false if @id.nil? + return false if @id.to_s.length > 24 + return false if @id.to_s.length < 24 + return false if @id !~ Regexp.new(/^[1-9A-HJ-NP-Za-km-z]+$/) + return false if @imported_id.nil? + true + end + + # Custom attribute writer method with validation + # @param [Object] id Value to be assigned + def id=(id) + if id.nil? + fail ArgumentError, 'id cannot be nil' + end + + if id.to_s.length > 24 + fail ArgumentError, 'invalid value for "id", the character length must be smaller than or equal to 24.' + end + + if id.to_s.length < 24 + fail ArgumentError, 'invalid value for "id", the character length must be greater than or equal to 24.' + end + + pattern = Regexp.new(/^[1-9A-HJ-NP-Za-km-z]+$/) + if id !~ pattern + fail ArgumentError, "invalid value for \"id\", must conform to the pattern #{pattern}." + end + + @id = id + end + + # Custom attribute writer method with validation + # @param [Object] imported_id Value to be assigned + def imported_id=(imported_id) + if imported_id.nil? + fail ArgumentError, 'imported_id cannot be nil' + end + + @imported_id = imported_id + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + id == o.id && + tracked_at == o.tracked_at && + imported_id == o.imported_id + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [id, tracked_at, imported_id].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + transformed_hash = {} + openapi_types.each_pair do |key, type| + if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = nil + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[attribute_map[key]].is_a?(Array) + transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) } + end + elsif !attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]]) + end + end + new(transformed_hash) + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + end + +end diff --git a/lib/kombo_client/models/post_ats_import_tracked_application_positive_response_data_imported_id.rb b/lib/kombo_client/models/post_ats_import_tracked_application_positive_response_data_imported_id.rb new file mode 100644 index 0000000..d8115cb --- /dev/null +++ b/lib/kombo_client/models/post_ats_import_tracked_application_positive_response_data_imported_id.rb @@ -0,0 +1,192 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.17.0 + +=end + +require 'date' +require 'time' + +module Kombo + class PostAtsImportTrackedApplicationPositiveResponseDataImportedId < ApiModelBase + attr_accessor :erecruiter + + attr_accessor :successfactors + + attr_accessor :recruitee + + attr_accessor :greenhouse + + attr_accessor :onlyfy + + attr_accessor :smartrecruiters + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'erecruiter' => :'erecruiter', + :'successfactors' => :'successfactors', + :'recruitee' => :'recruitee', + :'greenhouse' => :'greenhouse', + :'onlyfy' => :'onlyfy', + :'smartrecruiters' => :'smartrecruiters' + } + end + + # Returns attribute mapping this model knows about + def self.acceptable_attribute_map + attribute_map + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + acceptable_attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'erecruiter' => :'PostAtsImportTrackedApplicationPositiveResponseDataImportedIdErecruiter', + :'successfactors' => :'PostAtsImportTrackedApplicationPositiveResponseDataImportedIdSuccessfactors', + :'recruitee' => :'PostAtsImportTrackedApplicationPositiveResponseDataImportedIdRecruitee', + :'greenhouse' => :'PostAtsImportTrackedApplicationPositiveResponseDataImportedIdGreenhouse', + :'onlyfy' => :'PostAtsImportTrackedApplicationPositiveResponseDataImportedIdOnlyfy', + :'smartrecruiters' => :'PostAtsImportTrackedApplicationPositiveResponseDataImportedIdSmartrecruiters' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Kombo::PostAtsImportTrackedApplicationPositiveResponseDataImportedId` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + acceptable_attribute_map = self.class.acceptable_attribute_map + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!acceptable_attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Kombo::PostAtsImportTrackedApplicationPositiveResponseDataImportedId`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'erecruiter') + self.erecruiter = attributes[:'erecruiter'] + end + + if attributes.key?(:'successfactors') + self.successfactors = attributes[:'successfactors'] + end + + if attributes.key?(:'recruitee') + self.recruitee = attributes[:'recruitee'] + end + + if attributes.key?(:'greenhouse') + self.greenhouse = attributes[:'greenhouse'] + end + + if attributes.key?(:'onlyfy') + self.onlyfy = attributes[:'onlyfy'] + end + + if attributes.key?(:'smartrecruiters') + self.smartrecruiters = attributes[:'smartrecruiters'] + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + warn '[DEPRECATED] the `list_invalid_properties` method is obsolete' + invalid_properties = Array.new + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + warn '[DEPRECATED] the `valid?` method is obsolete' + true + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + erecruiter == o.erecruiter && + successfactors == o.successfactors && + recruitee == o.recruitee && + greenhouse == o.greenhouse && + onlyfy == o.onlyfy && + smartrecruiters == o.smartrecruiters + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [erecruiter, successfactors, recruitee, greenhouse, onlyfy, smartrecruiters].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + transformed_hash = {} + openapi_types.each_pair do |key, type| + if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = nil + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[attribute_map[key]].is_a?(Array) + transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) } + end + elsif !attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]]) + end + end + new(transformed_hash) + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + end + +end diff --git a/lib/kombo_client/models/post_ats_import_tracked_application_positive_response_data_imported_id_erecruiter.rb b/lib/kombo_client/models/post_ats_import_tracked_application_positive_response_data_imported_id_erecruiter.rb new file mode 100644 index 0000000..c9f5cf1 --- /dev/null +++ b/lib/kombo_client/models/post_ats_import_tracked_application_positive_response_data_imported_id_erecruiter.rb @@ -0,0 +1,103 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.17.0 + +=end + +require 'date' +require 'time' + +module Kombo + module PostAtsImportTrackedApplicationPositiveResponseDataImportedIdErecruiter + class << self + # List of class defined in anyOf (OpenAPI v3) + def openapi_any_of + [ + :'PostAtsImportTrackedApplicationPositiveResponseDataImportedIdErecruiterAnyOf', + :'PostAtsImportTrackedApplicationPositiveResponseDataImportedIdErecruiterAnyOf1' + ] + end + + # Builds the object + # @param [Mixed] Data to be matched against the list of anyOf items + # @return [Object] Returns the model or the data itself + def build(data) + # Go through the list of anyOf items and attempt to identify the appropriate one. + # Note: + # - No advanced validation of types in some cases (e.g. "x: { type: string }" will happily match { x: 123 }) + # due to the way the deserialization is made in the base_object template (it just casts without verifying). + # - TODO: scalar values are de facto behaving as if they were nullable. + # - TODO: logging when debugging is set. + openapi_any_of.each do |klass| + begin + next if klass == :AnyType # "nullable: true" + return find_and_cast_into_type(klass, data) + rescue # rescue all errors so we keep iterating even if the current item lookup raises + end + end + + openapi_any_of.include?(:AnyType) ? data : nil + end + + private + + SchemaMismatchError = Class.new(StandardError) + + # Note: 'File' is missing here because in the regular case we get the data _after_ a call to JSON.parse. + def find_and_cast_into_type(klass, data) + return if data.nil? + + case klass.to_s + when 'Boolean' + return data if data.instance_of?(TrueClass) || data.instance_of?(FalseClass) + when 'Float' + return data if data.instance_of?(Float) + when 'Integer' + return data if data.instance_of?(Integer) + when 'Time' + return Time.parse(data) + when 'Date' + return Date.iso8601(data) + when 'String' + return data if data.instance_of?(String) + when 'Object' # "type: object" + return data if data.instance_of?(Hash) + when /\AArray<(?.+)>\z/ # "type: array" + if data.instance_of?(Array) + sub_type = Regexp.last_match[:sub_type] + return data.map { |item| find_and_cast_into_type(sub_type, item) } + end + when /\AHash.+)>\z/ # "type: object" with "additionalProperties: { ... }" + if data.instance_of?(Hash) && data.keys.all? { |k| k.instance_of?(Symbol) || k.instance_of?(String) } + sub_type = Regexp.last_match[:sub_type] + return data.each_with_object({}) { |(k, v), hsh| hsh[k] = find_and_cast_into_type(sub_type, v) } + end + else # model + const = Kombo.const_get(klass) + if const + if const.respond_to?(:openapi_any_of) # nested anyOf model + model = const.build(data) + return model if model + else + # raise if data contains keys that are not known to the model + raise if const.respond_to?(:acceptable_attributes) && !(data.keys - const.acceptable_attributes).empty? + model = const.build_from_hash(data) + return model if model + end + end + end + + raise # if no match by now, raise + rescue + raise SchemaMismatchError, "#{data} doesn't match the #{klass} type" + end + end + end + +end diff --git a/lib/kombo_client/models/post_ats_import_tracked_application_positive_response_data_imported_id_erecruiter_any_of.rb b/lib/kombo_client/models/post_ats_import_tracked_application_positive_response_data_imported_id_erecruiter_any_of.rb new file mode 100644 index 0000000..943988a --- /dev/null +++ b/lib/kombo_client/models/post_ats_import_tracked_application_positive_response_data_imported_id_erecruiter_any_of.rb @@ -0,0 +1,241 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.17.0 + +=end + +require 'date' +require 'time' + +module Kombo + class PostAtsImportTrackedApplicationPositiveResponseDataImportedIdErecruiterAnyOf < ApiModelBase + # Uses the `Api/Applications/ByJob/{jobId}` endpoint to retrieve the relevant application based on the job ID. + attr_accessor :id_type + + attr_accessor :application_remote_id + + attr_accessor :job_remote_id + + class EnumAttributeValidator + attr_reader :datatype + attr_reader :allowable_values + + def initialize(datatype, allowable_values) + @allowable_values = allowable_values.map do |value| + case datatype.to_s + when /Integer/i + value.to_i + when /Float/i + value.to_f + else + value + end + end + end + + def valid?(value) + !value || allowable_values.include?(value) + end + end + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'id_type' => :'id_type', + :'application_remote_id' => :'application_remote_id', + :'job_remote_id' => :'job_remote_id' + } + end + + # Returns attribute mapping this model knows about + def self.acceptable_attribute_map + attribute_map + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + acceptable_attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'id_type' => :'String', + :'application_remote_id' => :'String', + :'job_remote_id' => :'String' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Kombo::PostAtsImportTrackedApplicationPositiveResponseDataImportedIdErecruiterAnyOf` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + acceptable_attribute_map = self.class.acceptable_attribute_map + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!acceptable_attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Kombo::PostAtsImportTrackedApplicationPositiveResponseDataImportedIdErecruiterAnyOf`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'id_type') + self.id_type = attributes[:'id_type'] + else + self.id_type = nil + end + + if attributes.key?(:'application_remote_id') + self.application_remote_id = attributes[:'application_remote_id'] + else + self.application_remote_id = nil + end + + if attributes.key?(:'job_remote_id') + self.job_remote_id = attributes[:'job_remote_id'] + else + self.job_remote_id = nil + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + warn '[DEPRECATED] the `list_invalid_properties` method is obsolete' + invalid_properties = Array.new + if @id_type.nil? + invalid_properties.push('invalid value for "id_type", id_type cannot be nil.') + end + + if @application_remote_id.nil? + invalid_properties.push('invalid value for "application_remote_id", application_remote_id cannot be nil.') + end + + if @job_remote_id.nil? + invalid_properties.push('invalid value for "job_remote_id", job_remote_id cannot be nil.') + end + + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + warn '[DEPRECATED] the `valid?` method is obsolete' + return false if @id_type.nil? + id_type_validator = EnumAttributeValidator.new('String', ["application_and_job_remote_ids"]) + return false unless id_type_validator.valid?(@id_type) + return false if @application_remote_id.nil? + return false if @job_remote_id.nil? + true + end + + # Custom attribute writer method checking allowed values (enum). + # @param [Object] id_type Object to be assigned + def id_type=(id_type) + validator = EnumAttributeValidator.new('String', ["application_and_job_remote_ids"]) + unless validator.valid?(id_type) + fail ArgumentError, "invalid value for \"id_type\", must be one of #{validator.allowable_values}." + end + @id_type = id_type + end + + # Custom attribute writer method with validation + # @param [Object] application_remote_id Value to be assigned + def application_remote_id=(application_remote_id) + if application_remote_id.nil? + fail ArgumentError, 'application_remote_id cannot be nil' + end + + @application_remote_id = application_remote_id + end + + # Custom attribute writer method with validation + # @param [Object] job_remote_id Value to be assigned + def job_remote_id=(job_remote_id) + if job_remote_id.nil? + fail ArgumentError, 'job_remote_id cannot be nil' + end + + @job_remote_id = job_remote_id + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + id_type == o.id_type && + application_remote_id == o.application_remote_id && + job_remote_id == o.job_remote_id + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [id_type, application_remote_id, job_remote_id].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + transformed_hash = {} + openapi_types.each_pair do |key, type| + if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = nil + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[attribute_map[key]].is_a?(Array) + transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) } + end + elsif !attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]]) + end + end + new(transformed_hash) + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + end + +end diff --git a/lib/kombo_client/models/post_ats_import_tracked_application_positive_response_data_imported_id_erecruiter_any_of1.rb b/lib/kombo_client/models/post_ats_import_tracked_application_positive_response_data_imported_id_erecruiter_any_of1.rb new file mode 100644 index 0000000..b984e3e --- /dev/null +++ b/lib/kombo_client/models/post_ats_import_tracked_application_positive_response_data_imported_id_erecruiter_any_of1.rb @@ -0,0 +1,241 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.17.0 + +=end + +require 'date' +require 'time' + +module Kombo + class PostAtsImportTrackedApplicationPositiveResponseDataImportedIdErecruiterAnyOf1 < ApiModelBase + # Uses the `Api/Applications/{applicantId}` endpoint to retrieve the relevant application based on the candidate ID. + attr_accessor :id_type + + attr_accessor :candidate_remote_id + + attr_accessor :application_remote_id + + class EnumAttributeValidator + attr_reader :datatype + attr_reader :allowable_values + + def initialize(datatype, allowable_values) + @allowable_values = allowable_values.map do |value| + case datatype.to_s + when /Integer/i + value.to_i + when /Float/i + value.to_f + else + value + end + end + end + + def valid?(value) + !value || allowable_values.include?(value) + end + end + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'id_type' => :'id_type', + :'candidate_remote_id' => :'candidate_remote_id', + :'application_remote_id' => :'application_remote_id' + } + end + + # Returns attribute mapping this model knows about + def self.acceptable_attribute_map + attribute_map + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + acceptable_attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'id_type' => :'String', + :'candidate_remote_id' => :'String', + :'application_remote_id' => :'String' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Kombo::PostAtsImportTrackedApplicationPositiveResponseDataImportedIdErecruiterAnyOf1` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + acceptable_attribute_map = self.class.acceptable_attribute_map + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!acceptable_attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Kombo::PostAtsImportTrackedApplicationPositiveResponseDataImportedIdErecruiterAnyOf1`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'id_type') + self.id_type = attributes[:'id_type'] + else + self.id_type = nil + end + + if attributes.key?(:'candidate_remote_id') + self.candidate_remote_id = attributes[:'candidate_remote_id'] + else + self.candidate_remote_id = nil + end + + if attributes.key?(:'application_remote_id') + self.application_remote_id = attributes[:'application_remote_id'] + else + self.application_remote_id = nil + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + warn '[DEPRECATED] the `list_invalid_properties` method is obsolete' + invalid_properties = Array.new + if @id_type.nil? + invalid_properties.push('invalid value for "id_type", id_type cannot be nil.') + end + + if @candidate_remote_id.nil? + invalid_properties.push('invalid value for "candidate_remote_id", candidate_remote_id cannot be nil.') + end + + if @application_remote_id.nil? + invalid_properties.push('invalid value for "application_remote_id", application_remote_id cannot be nil.') + end + + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + warn '[DEPRECATED] the `valid?` method is obsolete' + return false if @id_type.nil? + id_type_validator = EnumAttributeValidator.new('String', ["application_and_candidate_remote_ids"]) + return false unless id_type_validator.valid?(@id_type) + return false if @candidate_remote_id.nil? + return false if @application_remote_id.nil? + true + end + + # Custom attribute writer method checking allowed values (enum). + # @param [Object] id_type Object to be assigned + def id_type=(id_type) + validator = EnumAttributeValidator.new('String', ["application_and_candidate_remote_ids"]) + unless validator.valid?(id_type) + fail ArgumentError, "invalid value for \"id_type\", must be one of #{validator.allowable_values}." + end + @id_type = id_type + end + + # Custom attribute writer method with validation + # @param [Object] candidate_remote_id Value to be assigned + def candidate_remote_id=(candidate_remote_id) + if candidate_remote_id.nil? + fail ArgumentError, 'candidate_remote_id cannot be nil' + end + + @candidate_remote_id = candidate_remote_id + end + + # Custom attribute writer method with validation + # @param [Object] application_remote_id Value to be assigned + def application_remote_id=(application_remote_id) + if application_remote_id.nil? + fail ArgumentError, 'application_remote_id cannot be nil' + end + + @application_remote_id = application_remote_id + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + id_type == o.id_type && + candidate_remote_id == o.candidate_remote_id && + application_remote_id == o.application_remote_id + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [id_type, candidate_remote_id, application_remote_id].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + transformed_hash = {} + openapi_types.each_pair do |key, type| + if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = nil + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[attribute_map[key]].is_a?(Array) + transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) } + end + elsif !attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]]) + end + end + new(transformed_hash) + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + end + +end diff --git a/lib/kombo_client/models/post_ats_import_tracked_application_positive_response_data_imported_id_greenhouse.rb b/lib/kombo_client/models/post_ats_import_tracked_application_positive_response_data_imported_id_greenhouse.rb new file mode 100644 index 0000000..85789fc --- /dev/null +++ b/lib/kombo_client/models/post_ats_import_tracked_application_positive_response_data_imported_id_greenhouse.rb @@ -0,0 +1,215 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.17.0 + +=end + +require 'date' +require 'time' + +module Kombo + class PostAtsImportTrackedApplicationPositiveResponseDataImportedIdGreenhouse < ApiModelBase + # Uses the `/applications/{id}` endpoint to retrieve the application. + attr_accessor :id_type + + attr_accessor :application_id + + class EnumAttributeValidator + attr_reader :datatype + attr_reader :allowable_values + + def initialize(datatype, allowable_values) + @allowable_values = allowable_values.map do |value| + case datatype.to_s + when /Integer/i + value.to_i + when /Float/i + value.to_f + else + value + end + end + end + + def valid?(value) + !value || allowable_values.include?(value) + end + end + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'id_type' => :'id_type', + :'application_id' => :'application_id' + } + end + + # Returns attribute mapping this model knows about + def self.acceptable_attribute_map + attribute_map + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + acceptable_attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'id_type' => :'String', + :'application_id' => :'String' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Kombo::PostAtsImportTrackedApplicationPositiveResponseDataImportedIdGreenhouse` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + acceptable_attribute_map = self.class.acceptable_attribute_map + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!acceptable_attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Kombo::PostAtsImportTrackedApplicationPositiveResponseDataImportedIdGreenhouse`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'id_type') + self.id_type = attributes[:'id_type'] + else + self.id_type = nil + end + + if attributes.key?(:'application_id') + self.application_id = attributes[:'application_id'] + else + self.application_id = nil + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + warn '[DEPRECATED] the `list_invalid_properties` method is obsolete' + invalid_properties = Array.new + if @id_type.nil? + invalid_properties.push('invalid value for "id_type", id_type cannot be nil.') + end + + if @application_id.nil? + invalid_properties.push('invalid value for "application_id", application_id cannot be nil.') + end + + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + warn '[DEPRECATED] the `valid?` method is obsolete' + return false if @id_type.nil? + id_type_validator = EnumAttributeValidator.new('String', ["application_id"]) + return false unless id_type_validator.valid?(@id_type) + return false if @application_id.nil? + true + end + + # Custom attribute writer method checking allowed values (enum). + # @param [Object] id_type Object to be assigned + def id_type=(id_type) + validator = EnumAttributeValidator.new('String', ["application_id"]) + unless validator.valid?(id_type) + fail ArgumentError, "invalid value for \"id_type\", must be one of #{validator.allowable_values}." + end + @id_type = id_type + end + + # Custom attribute writer method with validation + # @param [Object] application_id Value to be assigned + def application_id=(application_id) + if application_id.nil? + fail ArgumentError, 'application_id cannot be nil' + end + + @application_id = application_id + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + id_type == o.id_type && + application_id == o.application_id + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [id_type, application_id].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + transformed_hash = {} + openapi_types.each_pair do |key, type| + if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = nil + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[attribute_map[key]].is_a?(Array) + transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) } + end + elsif !attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]]) + end + end + new(transformed_hash) + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + end + +end diff --git a/lib/kombo_client/models/post_ats_import_tracked_application_positive_response_data_imported_id_onlyfy.rb b/lib/kombo_client/models/post_ats_import_tracked_application_positive_response_data_imported_id_onlyfy.rb new file mode 100644 index 0000000..e7fba9f --- /dev/null +++ b/lib/kombo_client/models/post_ats_import_tracked_application_positive_response_data_imported_id_onlyfy.rb @@ -0,0 +1,215 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.17.0 + +=end + +require 'date' +require 'time' + +module Kombo + class PostAtsImportTrackedApplicationPositiveResponseDataImportedIdOnlyfy < ApiModelBase + # Uses the `/v1/application/{id}` endpoint to retrieve the application. + attr_accessor :id_type + + attr_accessor :application_id + + class EnumAttributeValidator + attr_reader :datatype + attr_reader :allowable_values + + def initialize(datatype, allowable_values) + @allowable_values = allowable_values.map do |value| + case datatype.to_s + when /Integer/i + value.to_i + when /Float/i + value.to_f + else + value + end + end + end + + def valid?(value) + !value || allowable_values.include?(value) + end + end + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'id_type' => :'id_type', + :'application_id' => :'application_id' + } + end + + # Returns attribute mapping this model knows about + def self.acceptable_attribute_map + attribute_map + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + acceptable_attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'id_type' => :'String', + :'application_id' => :'String' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Kombo::PostAtsImportTrackedApplicationPositiveResponseDataImportedIdOnlyfy` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + acceptable_attribute_map = self.class.acceptable_attribute_map + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!acceptable_attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Kombo::PostAtsImportTrackedApplicationPositiveResponseDataImportedIdOnlyfy`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'id_type') + self.id_type = attributes[:'id_type'] + else + self.id_type = nil + end + + if attributes.key?(:'application_id') + self.application_id = attributes[:'application_id'] + else + self.application_id = nil + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + warn '[DEPRECATED] the `list_invalid_properties` method is obsolete' + invalid_properties = Array.new + if @id_type.nil? + invalid_properties.push('invalid value for "id_type", id_type cannot be nil.') + end + + if @application_id.nil? + invalid_properties.push('invalid value for "application_id", application_id cannot be nil.') + end + + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + warn '[DEPRECATED] the `valid?` method is obsolete' + return false if @id_type.nil? + id_type_validator = EnumAttributeValidator.new('String', ["application_id"]) + return false unless id_type_validator.valid?(@id_type) + return false if @application_id.nil? + true + end + + # Custom attribute writer method checking allowed values (enum). + # @param [Object] id_type Object to be assigned + def id_type=(id_type) + validator = EnumAttributeValidator.new('String', ["application_id"]) + unless validator.valid?(id_type) + fail ArgumentError, "invalid value for \"id_type\", must be one of #{validator.allowable_values}." + end + @id_type = id_type + end + + # Custom attribute writer method with validation + # @param [Object] application_id Value to be assigned + def application_id=(application_id) + if application_id.nil? + fail ArgumentError, 'application_id cannot be nil' + end + + @application_id = application_id + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + id_type == o.id_type && + application_id == o.application_id + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [id_type, application_id].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + transformed_hash = {} + openapi_types.each_pair do |key, type| + if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = nil + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[attribute_map[key]].is_a?(Array) + transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) } + end + elsif !attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]]) + end + end + new(transformed_hash) + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + end + +end diff --git a/lib/kombo_client/models/post_ats_import_tracked_application_positive_response_data_imported_id_recruitee.rb b/lib/kombo_client/models/post_ats_import_tracked_application_positive_response_data_imported_id_recruitee.rb new file mode 100644 index 0000000..30c8c95 --- /dev/null +++ b/lib/kombo_client/models/post_ats_import_tracked_application_positive_response_data_imported_id_recruitee.rb @@ -0,0 +1,215 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.17.0 + +=end + +require 'date' +require 'time' + +module Kombo + class PostAtsImportTrackedApplicationPositiveResponseDataImportedIdRecruitee < ApiModelBase + # Uses the `/candidates` endpoint to retrieve all candidates, to find the relevant application based on the placement ID. + attr_accessor :id_type + + attr_accessor :placement_id + + class EnumAttributeValidator + attr_reader :datatype + attr_reader :allowable_values + + def initialize(datatype, allowable_values) + @allowable_values = allowable_values.map do |value| + case datatype.to_s + when /Integer/i + value.to_i + when /Float/i + value.to_f + else + value + end + end + end + + def valid?(value) + !value || allowable_values.include?(value) + end + end + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'id_type' => :'id_type', + :'placement_id' => :'placement_id' + } + end + + # Returns attribute mapping this model knows about + def self.acceptable_attribute_map + attribute_map + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + acceptable_attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'id_type' => :'String', + :'placement_id' => :'String' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Kombo::PostAtsImportTrackedApplicationPositiveResponseDataImportedIdRecruitee` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + acceptable_attribute_map = self.class.acceptable_attribute_map + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!acceptable_attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Kombo::PostAtsImportTrackedApplicationPositiveResponseDataImportedIdRecruitee`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'id_type') + self.id_type = attributes[:'id_type'] + else + self.id_type = nil + end + + if attributes.key?(:'placement_id') + self.placement_id = attributes[:'placement_id'] + else + self.placement_id = nil + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + warn '[DEPRECATED] the `list_invalid_properties` method is obsolete' + invalid_properties = Array.new + if @id_type.nil? + invalid_properties.push('invalid value for "id_type", id_type cannot be nil.') + end + + if @placement_id.nil? + invalid_properties.push('invalid value for "placement_id", placement_id cannot be nil.') + end + + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + warn '[DEPRECATED] the `valid?` method is obsolete' + return false if @id_type.nil? + id_type_validator = EnumAttributeValidator.new('String', ["placement_id"]) + return false unless id_type_validator.valid?(@id_type) + return false if @placement_id.nil? + true + end + + # Custom attribute writer method checking allowed values (enum). + # @param [Object] id_type Object to be assigned + def id_type=(id_type) + validator = EnumAttributeValidator.new('String', ["placement_id"]) + unless validator.valid?(id_type) + fail ArgumentError, "invalid value for \"id_type\", must be one of #{validator.allowable_values}." + end + @id_type = id_type + end + + # Custom attribute writer method with validation + # @param [Object] placement_id Value to be assigned + def placement_id=(placement_id) + if placement_id.nil? + fail ArgumentError, 'placement_id cannot be nil' + end + + @placement_id = placement_id + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + id_type == o.id_type && + placement_id == o.placement_id + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [id_type, placement_id].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + transformed_hash = {} + openapi_types.each_pair do |key, type| + if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = nil + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[attribute_map[key]].is_a?(Array) + transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) } + end + elsif !attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]]) + end + end + new(transformed_hash) + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + end + +end diff --git a/lib/kombo_client/models/post_ats_import_tracked_application_positive_response_data_imported_id_smartrecruiters.rb b/lib/kombo_client/models/post_ats_import_tracked_application_positive_response_data_imported_id_smartrecruiters.rb new file mode 100644 index 0000000..82c045f --- /dev/null +++ b/lib/kombo_client/models/post_ats_import_tracked_application_positive_response_data_imported_id_smartrecruiters.rb @@ -0,0 +1,241 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.17.0 + +=end + +require 'date' +require 'time' + +module Kombo + class PostAtsImportTrackedApplicationPositiveResponseDataImportedIdSmartrecruiters < ApiModelBase + # Uses the `/candidates/{candidateId}/jobs/{jobId}` endpoint to retrieve the application. + attr_accessor :id_type + + attr_accessor :candidate_remote_id + + attr_accessor :job_remote_id + + class EnumAttributeValidator + attr_reader :datatype + attr_reader :allowable_values + + def initialize(datatype, allowable_values) + @allowable_values = allowable_values.map do |value| + case datatype.to_s + when /Integer/i + value.to_i + when /Float/i + value.to_f + else + value + end + end + end + + def valid?(value) + !value || allowable_values.include?(value) + end + end + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'id_type' => :'id_type', + :'candidate_remote_id' => :'candidate_remote_id', + :'job_remote_id' => :'job_remote_id' + } + end + + # Returns attribute mapping this model knows about + def self.acceptable_attribute_map + attribute_map + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + acceptable_attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'id_type' => :'String', + :'candidate_remote_id' => :'String', + :'job_remote_id' => :'String' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Kombo::PostAtsImportTrackedApplicationPositiveResponseDataImportedIdSmartrecruiters` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + acceptable_attribute_map = self.class.acceptable_attribute_map + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!acceptable_attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Kombo::PostAtsImportTrackedApplicationPositiveResponseDataImportedIdSmartrecruiters`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'id_type') + self.id_type = attributes[:'id_type'] + else + self.id_type = nil + end + + if attributes.key?(:'candidate_remote_id') + self.candidate_remote_id = attributes[:'candidate_remote_id'] + else + self.candidate_remote_id = nil + end + + if attributes.key?(:'job_remote_id') + self.job_remote_id = attributes[:'job_remote_id'] + else + self.job_remote_id = nil + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + warn '[DEPRECATED] the `list_invalid_properties` method is obsolete' + invalid_properties = Array.new + if @id_type.nil? + invalid_properties.push('invalid value for "id_type", id_type cannot be nil.') + end + + if @candidate_remote_id.nil? + invalid_properties.push('invalid value for "candidate_remote_id", candidate_remote_id cannot be nil.') + end + + if @job_remote_id.nil? + invalid_properties.push('invalid value for "job_remote_id", job_remote_id cannot be nil.') + end + + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + warn '[DEPRECATED] the `valid?` method is obsolete' + return false if @id_type.nil? + id_type_validator = EnumAttributeValidator.new('String', ["candidate_and_job_remote_ids"]) + return false unless id_type_validator.valid?(@id_type) + return false if @candidate_remote_id.nil? + return false if @job_remote_id.nil? + true + end + + # Custom attribute writer method checking allowed values (enum). + # @param [Object] id_type Object to be assigned + def id_type=(id_type) + validator = EnumAttributeValidator.new('String', ["candidate_and_job_remote_ids"]) + unless validator.valid?(id_type) + fail ArgumentError, "invalid value for \"id_type\", must be one of #{validator.allowable_values}." + end + @id_type = id_type + end + + # Custom attribute writer method with validation + # @param [Object] candidate_remote_id Value to be assigned + def candidate_remote_id=(candidate_remote_id) + if candidate_remote_id.nil? + fail ArgumentError, 'candidate_remote_id cannot be nil' + end + + @candidate_remote_id = candidate_remote_id + end + + # Custom attribute writer method with validation + # @param [Object] job_remote_id Value to be assigned + def job_remote_id=(job_remote_id) + if job_remote_id.nil? + fail ArgumentError, 'job_remote_id cannot be nil' + end + + @job_remote_id = job_remote_id + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + id_type == o.id_type && + candidate_remote_id == o.candidate_remote_id && + job_remote_id == o.job_remote_id + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [id_type, candidate_remote_id, job_remote_id].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + transformed_hash = {} + openapi_types.each_pair do |key, type| + if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = nil + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[attribute_map[key]].is_a?(Array) + transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) } + end + elsif !attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]]) + end + end + new(transformed_hash) + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + end + +end diff --git a/lib/kombo_client/models/post_ats_import_tracked_application_positive_response_data_imported_id_successfactors.rb b/lib/kombo_client/models/post_ats_import_tracked_application_positive_response_data_imported_id_successfactors.rb new file mode 100644 index 0000000..490e3e9 --- /dev/null +++ b/lib/kombo_client/models/post_ats_import_tracked_application_positive_response_data_imported_id_successfactors.rb @@ -0,0 +1,215 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.17.0 + +=end + +require 'date' +require 'time' + +module Kombo + class PostAtsImportTrackedApplicationPositiveResponseDataImportedIdSuccessfactors < ApiModelBase + # Uses the `/JobApplication` ODATA endpoint to retrieve the relevant application based on the application ID. + attr_accessor :id_type + + attr_accessor :application_remote_id + + class EnumAttributeValidator + attr_reader :datatype + attr_reader :allowable_values + + def initialize(datatype, allowable_values) + @allowable_values = allowable_values.map do |value| + case datatype.to_s + when /Integer/i + value.to_i + when /Float/i + value.to_f + else + value + end + end + end + + def valid?(value) + !value || allowable_values.include?(value) + end + end + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'id_type' => :'id_type', + :'application_remote_id' => :'application_remote_id' + } + end + + # Returns attribute mapping this model knows about + def self.acceptable_attribute_map + attribute_map + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + acceptable_attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'id_type' => :'String', + :'application_remote_id' => :'String' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Kombo::PostAtsImportTrackedApplicationPositiveResponseDataImportedIdSuccessfactors` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + acceptable_attribute_map = self.class.acceptable_attribute_map + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!acceptable_attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Kombo::PostAtsImportTrackedApplicationPositiveResponseDataImportedIdSuccessfactors`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'id_type') + self.id_type = attributes[:'id_type'] + else + self.id_type = nil + end + + if attributes.key?(:'application_remote_id') + self.application_remote_id = attributes[:'application_remote_id'] + else + self.application_remote_id = nil + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + warn '[DEPRECATED] the `list_invalid_properties` method is obsolete' + invalid_properties = Array.new + if @id_type.nil? + invalid_properties.push('invalid value for "id_type", id_type cannot be nil.') + end + + if @application_remote_id.nil? + invalid_properties.push('invalid value for "application_remote_id", application_remote_id cannot be nil.') + end + + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + warn '[DEPRECATED] the `valid?` method is obsolete' + return false if @id_type.nil? + id_type_validator = EnumAttributeValidator.new('String', ["application_remote_id"]) + return false unless id_type_validator.valid?(@id_type) + return false if @application_remote_id.nil? + true + end + + # Custom attribute writer method checking allowed values (enum). + # @param [Object] id_type Object to be assigned + def id_type=(id_type) + validator = EnumAttributeValidator.new('String', ["application_remote_id"]) + unless validator.valid?(id_type) + fail ArgumentError, "invalid value for \"id_type\", must be one of #{validator.allowable_values}." + end + @id_type = id_type + end + + # Custom attribute writer method with validation + # @param [Object] application_remote_id Value to be assigned + def application_remote_id=(application_remote_id) + if application_remote_id.nil? + fail ArgumentError, 'application_remote_id cannot be nil' + end + + @application_remote_id = application_remote_id + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + id_type == o.id_type && + application_remote_id == o.application_remote_id + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [id_type, application_remote_id].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + transformed_hash = {} + openapi_types.each_pair do |key, type| + if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = nil + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[attribute_map[key]].is_a?(Array) + transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) } + end + elsif !attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]]) + end + end + new(transformed_hash) + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + end + +end diff --git a/lib/kombo_client/models/post_ats_import_tracked_application_request_body.rb b/lib/kombo_client/models/post_ats_import_tracked_application_request_body.rb new file mode 100644 index 0000000..6f9b3c9 --- /dev/null +++ b/lib/kombo_client/models/post_ats_import_tracked_application_request_body.rb @@ -0,0 +1,222 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.17.0 + +=end + +require 'date' +require 'time' + +module Kombo + class PostAtsImportTrackedApplicationRequestBody < ApiModelBase + attr_accessor :erecruiter + + attr_accessor :successfactors + + attr_accessor :recruitee + + attr_accessor :greenhouse + + attr_accessor :onlyfy + + attr_accessor :smartrecruiters + + # YYYY-MM-DDTHH:mm:ss.sssZ + attr_accessor :tracked_at + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'erecruiter' => :'erecruiter', + :'successfactors' => :'successfactors', + :'recruitee' => :'recruitee', + :'greenhouse' => :'greenhouse', + :'onlyfy' => :'onlyfy', + :'smartrecruiters' => :'smartrecruiters', + :'tracked_at' => :'tracked_at' + } + end + + # Returns attribute mapping this model knows about + def self.acceptable_attribute_map + attribute_map + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + acceptable_attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'erecruiter' => :'PostAtsImportTrackedApplicationPositiveResponseDataImportedIdErecruiter', + :'successfactors' => :'PostAtsImportTrackedApplicationPositiveResponseDataImportedIdSuccessfactors', + :'recruitee' => :'PostAtsImportTrackedApplicationPositiveResponseDataImportedIdRecruitee', + :'greenhouse' => :'PostAtsImportTrackedApplicationPositiveResponseDataImportedIdGreenhouse', + :'onlyfy' => :'PostAtsImportTrackedApplicationPositiveResponseDataImportedIdOnlyfy', + :'smartrecruiters' => :'PostAtsImportTrackedApplicationPositiveResponseDataImportedIdSmartrecruiters', + :'tracked_at' => :'Time' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + :'tracked_at' + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Kombo::PostAtsImportTrackedApplicationRequestBody` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + acceptable_attribute_map = self.class.acceptable_attribute_map + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!acceptable_attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Kombo::PostAtsImportTrackedApplicationRequestBody`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'erecruiter') + self.erecruiter = attributes[:'erecruiter'] + end + + if attributes.key?(:'successfactors') + self.successfactors = attributes[:'successfactors'] + end + + if attributes.key?(:'recruitee') + self.recruitee = attributes[:'recruitee'] + end + + if attributes.key?(:'greenhouse') + self.greenhouse = attributes[:'greenhouse'] + end + + if attributes.key?(:'onlyfy') + self.onlyfy = attributes[:'onlyfy'] + end + + if attributes.key?(:'smartrecruiters') + self.smartrecruiters = attributes[:'smartrecruiters'] + end + + if attributes.key?(:'tracked_at') + self.tracked_at = attributes[:'tracked_at'] + else + self.tracked_at = nil + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + warn '[DEPRECATED] the `list_invalid_properties` method is obsolete' + invalid_properties = Array.new + pattern = Regexp.new(/^\d{4}-\d{2}-\d{2}(T\d{2}:\d{2}:\d{2}(\.\d+)?)?Z?$/) + if @tracked_at !~ pattern + invalid_properties.push("invalid value for \"tracked_at\", must conform to the pattern #{pattern}.") + end + + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + warn '[DEPRECATED] the `valid?` method is obsolete' + return false if @tracked_at !~ Regexp.new(/^\d{4}-\d{2}-\d{2}(T\d{2}:\d{2}:\d{2}(\.\d+)?)?Z?$/) + true + end + + # Custom attribute writer method with validation + # @param [Object] tracked_at Value to be assigned + def tracked_at=(tracked_at) + pattern = Regexp.new(/^\d{4}-\d{2}-\d{2}(T\d{2}:\d{2}:\d{2}(\.\d+)?)?Z?$/) + if !tracked_at.nil? && tracked_at !~ pattern + fail ArgumentError, "invalid value for \"tracked_at\", must conform to the pattern #{pattern}." + end + + @tracked_at = tracked_at + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + erecruiter == o.erecruiter && + successfactors == o.successfactors && + recruitee == o.recruitee && + greenhouse == o.greenhouse && + onlyfy == o.onlyfy && + smartrecruiters == o.smartrecruiters && + tracked_at == o.tracked_at + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [erecruiter, successfactors, recruitee, greenhouse, onlyfy, smartrecruiters, tracked_at].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + transformed_hash = {} + openapi_types.each_pair do |key, type| + if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = nil + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[attribute_map[key]].is_a?(Array) + transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) } + end + elsif !attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]]) + end + end + new(transformed_hash) + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + end + +end diff --git a/lib/kombo_client/models/post_ats_jobs_job_id_applications_positive_response.rb b/lib/kombo_client/models/post_ats_jobs_job_id_applications_positive_response.rb new file mode 100644 index 0000000..377758d --- /dev/null +++ b/lib/kombo_client/models/post_ats_jobs_job_id_applications_positive_response.rb @@ -0,0 +1,243 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.17.0 + +=end + +require 'date' +require 'time' + +module Kombo + class PostAtsJobsJobIdApplicationsPositiveResponse < ApiModelBase + attr_accessor :status + + attr_accessor :data + + # 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. + attr_accessor :warnings + + class EnumAttributeValidator + attr_reader :datatype + attr_reader :allowable_values + + def initialize(datatype, allowable_values) + @allowable_values = allowable_values.map do |value| + case datatype.to_s + when /Integer/i + value.to_i + when /Float/i + value.to_f + else + value + end + end + end + + def valid?(value) + !value || allowable_values.include?(value) + end + end + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'status' => :'status', + :'data' => :'data', + :'warnings' => :'warnings' + } + end + + # Returns attribute mapping this model knows about + def self.acceptable_attribute_map + attribute_map + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + acceptable_attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'status' => :'String', + :'data' => :'PostAtsJobsJobIdApplicationsPositiveResponseData', + :'warnings' => :'Array' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Kombo::PostAtsJobsJobIdApplicationsPositiveResponse` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + acceptable_attribute_map = self.class.acceptable_attribute_map + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!acceptable_attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Kombo::PostAtsJobsJobIdApplicationsPositiveResponse`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'status') + self.status = attributes[:'status'] + else + self.status = nil + end + + if attributes.key?(:'data') + self.data = attributes[:'data'] + else + self.data = nil + end + + if attributes.key?(:'warnings') + if (value = attributes[:'warnings']).is_a?(Array) + self.warnings = value + end + else + self.warnings = nil + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + warn '[DEPRECATED] the `list_invalid_properties` method is obsolete' + invalid_properties = Array.new + if @status.nil? + invalid_properties.push('invalid value for "status", status cannot be nil.') + end + + if @data.nil? + invalid_properties.push('invalid value for "data", data cannot be nil.') + end + + if @warnings.nil? + invalid_properties.push('invalid value for "warnings", warnings cannot be nil.') + end + + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + warn '[DEPRECATED] the `valid?` method is obsolete' + return false if @status.nil? + status_validator = EnumAttributeValidator.new('String', ["success"]) + return false unless status_validator.valid?(@status) + return false if @data.nil? + return false if @warnings.nil? + true + end + + # Custom attribute writer method checking allowed values (enum). + # @param [Object] status Object to be assigned + def status=(status) + validator = EnumAttributeValidator.new('String', ["success"]) + unless validator.valid?(status) + fail ArgumentError, "invalid value for \"status\", must be one of #{validator.allowable_values}." + end + @status = status + end + + # Custom attribute writer method with validation + # @param [Object] data Value to be assigned + def data=(data) + if data.nil? + fail ArgumentError, 'data cannot be nil' + end + + @data = data + end + + # Custom attribute writer method with validation + # @param [Object] warnings Value to be assigned + def warnings=(warnings) + if warnings.nil? + fail ArgumentError, 'warnings cannot be nil' + end + + @warnings = warnings + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + status == o.status && + data == o.data && + warnings == o.warnings + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [status, data, warnings].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + transformed_hash = {} + openapi_types.each_pair do |key, type| + if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = nil + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[attribute_map[key]].is_a?(Array) + transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) } + end + elsif !attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]]) + end + end + new(transformed_hash) + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + end + +end diff --git a/lib/kombo_client/models/post_ats_jobs_job_id_applications_positive_response_data.rb b/lib/kombo_client/models/post_ats_jobs_job_id_applications_positive_response_data.rb new file mode 100644 index 0000000..82ff2ab --- /dev/null +++ b/lib/kombo_client/models/post_ats_jobs_job_id_applications_positive_response_data.rb @@ -0,0 +1,519 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.17.0 + +=end + +require 'date' +require 'time' + +module Kombo + class PostAtsJobsJobIdApplicationsPositiveResponseData < ApiModelBase + # The globally unique ID of this object generated by Kombo. We recommend using this as a stable primary key for syncing. + attr_accessor :id + + # 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. + attr_accessor :remote_id + + # 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. + attr_accessor :outcome + + # Reason for the rejection of the candidate. + attr_accessor :rejection_reason_name + + # The time that the application was rejected. + attr_accessor :rejected_at + + # ID of the current application stage + attr_accessor :current_stage_id + + # 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. + attr_accessor :job_id + + # 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. + attr_accessor :candidate_id + + # A list of answers to screening questions. The screening answer type `FILE` is currently unsupported. + attr_accessor :screening_question_answers + + # A key-value store of fields not covered by the schema. [Read more](/custom-fields) + attr_accessor :custom_fields + + # An array of selected passthrough integration fields. [Read more](/integration-fields) + attr_accessor :integration_fields + + # 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. + attr_accessor :remote_url + + # 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. + attr_accessor :changed_at + + # 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. + attr_accessor :remote_deleted_at + + # The date and time the object was created in the remote system. + attr_accessor :remote_created_at + + # A timestamp retrieved from the remote system, describing when the resource was last updated. + attr_accessor :remote_updated_at + + # 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. + attr_accessor :remote_data + + attr_accessor :current_stage + + attr_accessor :job + + attr_accessor :candidate + + class EnumAttributeValidator + attr_reader :datatype + attr_reader :allowable_values + + def initialize(datatype, allowable_values) + @allowable_values = allowable_values.map do |value| + case datatype.to_s + when /Integer/i + value.to_i + when /Float/i + value.to_f + else + value + end + end + end + + def valid?(value) + !value || allowable_values.include?(value) + end + end + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'id' => :'id', + :'remote_id' => :'remote_id', + :'outcome' => :'outcome', + :'rejection_reason_name' => :'rejection_reason_name', + :'rejected_at' => :'rejected_at', + :'current_stage_id' => :'current_stage_id', + :'job_id' => :'job_id', + :'candidate_id' => :'candidate_id', + :'screening_question_answers' => :'screening_question_answers', + :'custom_fields' => :'custom_fields', + :'integration_fields' => :'integration_fields', + :'remote_url' => :'remote_url', + :'changed_at' => :'changed_at', + :'remote_deleted_at' => :'remote_deleted_at', + :'remote_created_at' => :'remote_created_at', + :'remote_updated_at' => :'remote_updated_at', + :'remote_data' => :'remote_data', + :'current_stage' => :'current_stage', + :'job' => :'job', + :'candidate' => :'candidate' + } + end + + # Returns attribute mapping this model knows about + def self.acceptable_attribute_map + attribute_map + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + acceptable_attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'id' => :'String', + :'remote_id' => :'String', + :'outcome' => :'String', + :'rejection_reason_name' => :'String', + :'rejected_at' => :'Time', + :'current_stage_id' => :'String', + :'job_id' => :'String', + :'candidate_id' => :'String', + :'screening_question_answers' => :'Array', + :'custom_fields' => :'Hash', + :'integration_fields' => :'Array', + :'remote_url' => :'String', + :'changed_at' => :'Time', + :'remote_deleted_at' => :'Time', + :'remote_created_at' => :'Time', + :'remote_updated_at' => :'Time', + :'remote_data' => :'Hash', + :'current_stage' => :'GetAtsApplicationsPositiveResponseDataResultsInnerCurrentStage', + :'job' => :'GetAtsApplicationsPositiveResponseDataResultsInnerJob', + :'candidate' => :'PostAtsJobsJobIdApplicationsPositiveResponseDataCandidate' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + :'remote_id', + :'outcome', + :'rejection_reason_name', + :'rejected_at', + :'current_stage_id', + :'job_id', + :'candidate_id', + :'screening_question_answers', + :'custom_fields', + :'remote_url', + :'remote_deleted_at', + :'remote_created_at', + :'remote_updated_at', + :'remote_data', + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Kombo::PostAtsJobsJobIdApplicationsPositiveResponseData` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + acceptable_attribute_map = self.class.acceptable_attribute_map + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!acceptable_attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Kombo::PostAtsJobsJobIdApplicationsPositiveResponseData`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'id') + self.id = attributes[:'id'] + else + self.id = nil + end + + if attributes.key?(:'remote_id') + self.remote_id = attributes[:'remote_id'] + else + self.remote_id = nil + end + + if attributes.key?(:'outcome') + self.outcome = attributes[:'outcome'] + else + self.outcome = nil + end + + if attributes.key?(:'rejection_reason_name') + self.rejection_reason_name = attributes[:'rejection_reason_name'] + else + self.rejection_reason_name = nil + end + + if attributes.key?(:'rejected_at') + self.rejected_at = attributes[:'rejected_at'] + else + self.rejected_at = nil + end + + if attributes.key?(:'current_stage_id') + self.current_stage_id = attributes[:'current_stage_id'] + else + self.current_stage_id = nil + end + + if attributes.key?(:'job_id') + self.job_id = attributes[:'job_id'] + else + self.job_id = nil + end + + if attributes.key?(:'candidate_id') + self.candidate_id = attributes[:'candidate_id'] + else + self.candidate_id = nil + end + + if attributes.key?(:'screening_question_answers') + if (value = attributes[:'screening_question_answers']).is_a?(Array) + self.screening_question_answers = value + end + end + + if attributes.key?(:'custom_fields') + if (value = attributes[:'custom_fields']).is_a?(Hash) + self.custom_fields = value + end + else + self.custom_fields = nil + end + + if attributes.key?(:'integration_fields') + if (value = attributes[:'integration_fields']).is_a?(Array) + self.integration_fields = value + end + else + self.integration_fields = nil + end + + if attributes.key?(:'remote_url') + self.remote_url = attributes[:'remote_url'] + else + self.remote_url = nil + end + + if attributes.key?(:'changed_at') + self.changed_at = attributes[:'changed_at'] + else + self.changed_at = nil + end + + if attributes.key?(:'remote_deleted_at') + self.remote_deleted_at = attributes[:'remote_deleted_at'] + else + self.remote_deleted_at = nil + end + + if attributes.key?(:'remote_created_at') + self.remote_created_at = attributes[:'remote_created_at'] + else + self.remote_created_at = nil + end + + if attributes.key?(:'remote_updated_at') + self.remote_updated_at = attributes[:'remote_updated_at'] + else + self.remote_updated_at = nil + end + + if attributes.key?(:'remote_data') + if (value = attributes[:'remote_data']).is_a?(Hash) + self.remote_data = value + end + else + self.remote_data = nil + end + + if attributes.key?(:'current_stage') + self.current_stage = attributes[:'current_stage'] + else + self.current_stage = nil + end + + if attributes.key?(:'job') + self.job = attributes[:'job'] + else + self.job = nil + end + + if attributes.key?(:'candidate') + self.candidate = attributes[:'candidate'] + else + self.candidate = nil + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + warn '[DEPRECATED] the `list_invalid_properties` method is obsolete' + invalid_properties = Array.new + if @id.nil? + invalid_properties.push('invalid value for "id", id cannot be nil.') + end + + if @integration_fields.nil? + invalid_properties.push('invalid value for "integration_fields", integration_fields cannot be nil.') + end + + if @changed_at.nil? + invalid_properties.push('invalid value for "changed_at", changed_at cannot be nil.') + end + + if @current_stage.nil? + invalid_properties.push('invalid value for "current_stage", current_stage cannot be nil.') + end + + if @job.nil? + invalid_properties.push('invalid value for "job", job cannot be nil.') + end + + if @candidate.nil? + invalid_properties.push('invalid value for "candidate", candidate cannot be nil.') + end + + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + warn '[DEPRECATED] the `valid?` method is obsolete' + return false if @id.nil? + outcome_validator = EnumAttributeValidator.new('String', ["PENDING", "HIRED", "DECLINED"]) + return false unless outcome_validator.valid?(@outcome) + return false if @integration_fields.nil? + return false if @changed_at.nil? + return false if @current_stage.nil? + return false if @job.nil? + return false if @candidate.nil? + true + end + + # Custom attribute writer method with validation + # @param [Object] id Value to be assigned + def id=(id) + if id.nil? + fail ArgumentError, 'id cannot be nil' + end + + @id = id + end + + # Custom attribute writer method checking allowed values (enum). + # @param [Object] outcome Object to be assigned + def outcome=(outcome) + validator = EnumAttributeValidator.new('String', ["PENDING", "HIRED", "DECLINED"]) + unless validator.valid?(outcome) + fail ArgumentError, "invalid value for \"outcome\", must be one of #{validator.allowable_values}." + end + @outcome = outcome + end + + # Custom attribute writer method with validation + # @param [Object] integration_fields Value to be assigned + def integration_fields=(integration_fields) + if integration_fields.nil? + fail ArgumentError, 'integration_fields cannot be nil' + end + + @integration_fields = integration_fields + end + + # Custom attribute writer method with validation + # @param [Object] changed_at Value to be assigned + def changed_at=(changed_at) + if changed_at.nil? + fail ArgumentError, 'changed_at cannot be nil' + end + + @changed_at = changed_at + end + + # Custom attribute writer method with validation + # @param [Object] current_stage Value to be assigned + def current_stage=(current_stage) + if current_stage.nil? + fail ArgumentError, 'current_stage cannot be nil' + end + + @current_stage = current_stage + end + + # Custom attribute writer method with validation + # @param [Object] job Value to be assigned + def job=(job) + if job.nil? + fail ArgumentError, 'job cannot be nil' + end + + @job = job + end + + # Custom attribute writer method with validation + # @param [Object] candidate Value to be assigned + def candidate=(candidate) + if candidate.nil? + fail ArgumentError, 'candidate cannot be nil' + end + + @candidate = candidate + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + id == o.id && + remote_id == o.remote_id && + outcome == o.outcome && + rejection_reason_name == o.rejection_reason_name && + rejected_at == o.rejected_at && + current_stage_id == o.current_stage_id && + job_id == o.job_id && + candidate_id == o.candidate_id && + screening_question_answers == o.screening_question_answers && + custom_fields == o.custom_fields && + integration_fields == o.integration_fields && + remote_url == o.remote_url && + changed_at == o.changed_at && + remote_deleted_at == o.remote_deleted_at && + remote_created_at == o.remote_created_at && + remote_updated_at == o.remote_updated_at && + remote_data == o.remote_data && + current_stage == o.current_stage && + job == o.job && + candidate == o.candidate + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [id, remote_id, outcome, rejection_reason_name, rejected_at, current_stage_id, job_id, candidate_id, screening_question_answers, custom_fields, integration_fields, remote_url, changed_at, remote_deleted_at, remote_created_at, remote_updated_at, remote_data, current_stage, job, candidate].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + transformed_hash = {} + openapi_types.each_pair do |key, type| + if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = nil + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[attribute_map[key]].is_a?(Array) + transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) } + end + elsif !attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]]) + end + end + new(transformed_hash) + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + end + +end diff --git a/lib/kombo_client/models/post_ats_jobs_job_id_applications_positive_response_data_candidate.rb b/lib/kombo_client/models/post_ats_jobs_job_id_applications_positive_response_data_candidate.rb new file mode 100644 index 0000000..857c0e8 --- /dev/null +++ b/lib/kombo_client/models/post_ats_jobs_job_id_applications_positive_response_data_candidate.rb @@ -0,0 +1,484 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.17.0 + +=end + +require 'date' +require 'time' + +module Kombo + class PostAtsJobsJobIdApplicationsPositiveResponseDataCandidate < ApiModelBase + # The globally unique ID of this object generated by Kombo. We recommend using this as a stable primary key for syncing. + attr_accessor :id + + # 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. + attr_accessor :remote_id + + # First name of the candidate. + attr_accessor :first_name + + # Last name of the candidate. + attr_accessor :last_name + + # The current company of the candidate. + attr_accessor :company + + # The current job title of the candidate. + attr_accessor :title + + # Whether the candidate’s profile is confidential in the ATS. + attr_accessor :confidential + + # 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. + attr_accessor :source + + # A list of phone numbers of the candidate. + attr_accessor :phone_numbers + + # A list of email addresses of the candidate with an optional type. If an email address is invalid, it will be filtered out. + attr_accessor :email_addresses + + # List of social media accounts of the candidate. + attr_accessor :social_media + + attr_accessor :location + + # A key-value store of fields not covered by the schema. [Read more](/custom-fields) + attr_accessor :custom_fields + + # An array of selected passthrough integration fields. [Read more](/integration-fields) + attr_accessor :integration_fields + + # 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. + attr_accessor :remote_url + + # The date and time the object was created in the remote system. + attr_accessor :remote_created_at + + # A timestamp retrieved from the remote system, describing when the resource was last updated. + attr_accessor :remote_updated_at + + # 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. + attr_accessor :remote_data + + # 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. + attr_accessor :changed_at + + # 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. + attr_accessor :remote_deleted_at + + attr_accessor :tags + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'id' => :'id', + :'remote_id' => :'remote_id', + :'first_name' => :'first_name', + :'last_name' => :'last_name', + :'company' => :'company', + :'title' => :'title', + :'confidential' => :'confidential', + :'source' => :'source', + :'phone_numbers' => :'phone_numbers', + :'email_addresses' => :'email_addresses', + :'social_media' => :'social_media', + :'location' => :'location', + :'custom_fields' => :'custom_fields', + :'integration_fields' => :'integration_fields', + :'remote_url' => :'remote_url', + :'remote_created_at' => :'remote_created_at', + :'remote_updated_at' => :'remote_updated_at', + :'remote_data' => :'remote_data', + :'changed_at' => :'changed_at', + :'remote_deleted_at' => :'remote_deleted_at', + :'tags' => :'tags' + } + end + + # Returns attribute mapping this model knows about + def self.acceptable_attribute_map + attribute_map + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + acceptable_attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'id' => :'String', + :'remote_id' => :'String', + :'first_name' => :'String', + :'last_name' => :'String', + :'company' => :'String', + :'title' => :'String', + :'confidential' => :'Boolean', + :'source' => :'String', + :'phone_numbers' => :'Array', + :'email_addresses' => :'Array', + :'social_media' => :'Array', + :'location' => :'GetAtsCandidatesPositiveResponseDataResultsInnerLocation', + :'custom_fields' => :'Hash', + :'integration_fields' => :'Array', + :'remote_url' => :'String', + :'remote_created_at' => :'Time', + :'remote_updated_at' => :'Time', + :'remote_data' => :'Hash', + :'changed_at' => :'Time', + :'remote_deleted_at' => :'Time', + :'tags' => :'Array' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + :'first_name', + :'last_name', + :'company', + :'title', + :'confidential', + :'source', + :'phone_numbers', + :'email_addresses', + :'social_media', + :'custom_fields', + :'remote_url', + :'remote_created_at', + :'remote_updated_at', + :'remote_data', + :'remote_deleted_at', + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Kombo::PostAtsJobsJobIdApplicationsPositiveResponseDataCandidate` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + acceptable_attribute_map = self.class.acceptable_attribute_map + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!acceptable_attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Kombo::PostAtsJobsJobIdApplicationsPositiveResponseDataCandidate`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'id') + self.id = attributes[:'id'] + else + self.id = nil + end + + if attributes.key?(:'remote_id') + self.remote_id = attributes[:'remote_id'] + else + self.remote_id = nil + end + + if attributes.key?(:'first_name') + self.first_name = attributes[:'first_name'] + else + self.first_name = nil + end + + if attributes.key?(:'last_name') + self.last_name = attributes[:'last_name'] + else + self.last_name = nil + end + + if attributes.key?(:'company') + self.company = attributes[:'company'] + else + self.company = nil + end + + if attributes.key?(:'title') + self.title = attributes[:'title'] + else + self.title = nil + end + + if attributes.key?(:'confidential') + self.confidential = attributes[:'confidential'] + else + self.confidential = nil + end + + if attributes.key?(:'source') + self.source = attributes[:'source'] + else + self.source = nil + end + + if attributes.key?(:'phone_numbers') + if (value = attributes[:'phone_numbers']).is_a?(Array) + self.phone_numbers = value + end + end + + if attributes.key?(:'email_addresses') + if (value = attributes[:'email_addresses']).is_a?(Array) + self.email_addresses = value + end + end + + if attributes.key?(:'social_media') + if (value = attributes[:'social_media']).is_a?(Array) + self.social_media = value + end + end + + if attributes.key?(:'location') + self.location = attributes[:'location'] + end + + if attributes.key?(:'custom_fields') + if (value = attributes[:'custom_fields']).is_a?(Hash) + self.custom_fields = value + end + else + self.custom_fields = nil + end + + if attributes.key?(:'integration_fields') + if (value = attributes[:'integration_fields']).is_a?(Array) + self.integration_fields = value + end + else + self.integration_fields = nil + end + + if attributes.key?(:'remote_url') + self.remote_url = attributes[:'remote_url'] + else + self.remote_url = nil + end + + if attributes.key?(:'remote_created_at') + self.remote_created_at = attributes[:'remote_created_at'] + else + self.remote_created_at = nil + end + + if attributes.key?(:'remote_updated_at') + self.remote_updated_at = attributes[:'remote_updated_at'] + else + self.remote_updated_at = nil + end + + if attributes.key?(:'remote_data') + if (value = attributes[:'remote_data']).is_a?(Hash) + self.remote_data = value + end + else + self.remote_data = nil + end + + if attributes.key?(:'changed_at') + self.changed_at = attributes[:'changed_at'] + else + self.changed_at = nil + end + + if attributes.key?(:'remote_deleted_at') + self.remote_deleted_at = attributes[:'remote_deleted_at'] + else + self.remote_deleted_at = nil + end + + if attributes.key?(:'tags') + if (value = attributes[:'tags']).is_a?(Array) + self.tags = value + end + else + self.tags = nil + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + warn '[DEPRECATED] the `list_invalid_properties` method is obsolete' + invalid_properties = Array.new + if @id.nil? + invalid_properties.push('invalid value for "id", id cannot be nil.') + end + + if @remote_id.nil? + invalid_properties.push('invalid value for "remote_id", remote_id cannot be nil.') + end + + if @integration_fields.nil? + invalid_properties.push('invalid value for "integration_fields", integration_fields cannot be nil.') + end + + if @changed_at.nil? + invalid_properties.push('invalid value for "changed_at", changed_at cannot be nil.') + end + + if @tags.nil? + invalid_properties.push('invalid value for "tags", tags cannot be nil.') + end + + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + warn '[DEPRECATED] the `valid?` method is obsolete' + return false if @id.nil? + return false if @remote_id.nil? + return false if @integration_fields.nil? + return false if @changed_at.nil? + return false if @tags.nil? + true + end + + # Custom attribute writer method with validation + # @param [Object] id Value to be assigned + def id=(id) + if id.nil? + fail ArgumentError, 'id cannot be nil' + end + + @id = id + end + + # Custom attribute writer method with validation + # @param [Object] remote_id Value to be assigned + def remote_id=(remote_id) + if remote_id.nil? + fail ArgumentError, 'remote_id cannot be nil' + end + + @remote_id = remote_id + end + + # Custom attribute writer method with validation + # @param [Object] integration_fields Value to be assigned + def integration_fields=(integration_fields) + if integration_fields.nil? + fail ArgumentError, 'integration_fields cannot be nil' + end + + @integration_fields = integration_fields + end + + # Custom attribute writer method with validation + # @param [Object] changed_at Value to be assigned + def changed_at=(changed_at) + if changed_at.nil? + fail ArgumentError, 'changed_at cannot be nil' + end + + @changed_at = changed_at + end + + # Custom attribute writer method with validation + # @param [Object] tags Value to be assigned + def tags=(tags) + if tags.nil? + fail ArgumentError, 'tags cannot be nil' + end + + @tags = tags + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + id == o.id && + remote_id == o.remote_id && + first_name == o.first_name && + last_name == o.last_name && + company == o.company && + title == o.title && + confidential == o.confidential && + source == o.source && + phone_numbers == o.phone_numbers && + email_addresses == o.email_addresses && + social_media == o.social_media && + location == o.location && + custom_fields == o.custom_fields && + integration_fields == o.integration_fields && + remote_url == o.remote_url && + remote_created_at == o.remote_created_at && + remote_updated_at == o.remote_updated_at && + remote_data == o.remote_data && + changed_at == o.changed_at && + remote_deleted_at == o.remote_deleted_at && + tags == o.tags + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [id, remote_id, first_name, last_name, company, title, confidential, source, phone_numbers, email_addresses, social_media, location, custom_fields, integration_fields, remote_url, remote_created_at, remote_updated_at, remote_data, changed_at, remote_deleted_at, tags].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + transformed_hash = {} + openapi_types.each_pair do |key, type| + if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = nil + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[attribute_map[key]].is_a?(Array) + transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) } + end + elsif !attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]]) + end + end + new(transformed_hash) + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + end + +end diff --git a/lib/kombo_client/models/post_ats_jobs_job_id_applications_request_body.rb b/lib/kombo_client/models/post_ats_jobs_job_id_applications_request_body.rb new file mode 100644 index 0000000..fc41870 --- /dev/null +++ b/lib/kombo_client/models/post_ats_jobs_job_id_applications_request_body.rb @@ -0,0 +1,234 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.17.0 + +=end + +require 'date' +require 'time' + +module Kombo + class PostAtsJobsJobIdApplicationsRequestBody < ApiModelBase + # 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. + attr_accessor :stage_id + + attr_accessor :candidate + + # 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. + attr_accessor :attachments + + attr_accessor :source + + attr_accessor :sourced_by + + attr_accessor :gdpr_consent + + attr_accessor :remote_fields + + # 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. + attr_accessor :screening_question_answers + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'stage_id' => :'stage_id', + :'candidate' => :'candidate', + :'attachments' => :'attachments', + :'source' => :'source', + :'sourced_by' => :'sourced_by', + :'gdpr_consent' => :'gdpr_consent', + :'remote_fields' => :'remote_fields', + :'screening_question_answers' => :'screening_question_answers' + } + end + + # Returns attribute mapping this model knows about + def self.acceptable_attribute_map + attribute_map + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + acceptable_attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'stage_id' => :'String', + :'candidate' => :'PostAtsCandidatesRequestBodyCandidate', + :'attachments' => :'Array', + :'source' => :'PostAtsCandidatesRequestBodySource', + :'sourced_by' => :'PostAtsCandidatesRequestBodySourcedBy', + :'gdpr_consent' => :'PostAtsCandidatesRequestBodyGdprConsent', + :'remote_fields' => :'PostAtsCandidatesRequestBodyRemoteFields', + :'screening_question_answers' => :'Array' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Kombo::PostAtsJobsJobIdApplicationsRequestBody` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + acceptable_attribute_map = self.class.acceptable_attribute_map + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!acceptable_attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Kombo::PostAtsJobsJobIdApplicationsRequestBody`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'stage_id') + self.stage_id = attributes[:'stage_id'] + end + + if attributes.key?(:'candidate') + self.candidate = attributes[:'candidate'] + else + self.candidate = nil + end + + if attributes.key?(:'attachments') + if (value = attributes[:'attachments']).is_a?(Array) + self.attachments = value + end + end + + if attributes.key?(:'source') + self.source = attributes[:'source'] + end + + if attributes.key?(:'sourced_by') + self.sourced_by = attributes[:'sourced_by'] + end + + if attributes.key?(:'gdpr_consent') + self.gdpr_consent = attributes[:'gdpr_consent'] + end + + if attributes.key?(:'remote_fields') + self.remote_fields = attributes[:'remote_fields'] + end + + if attributes.key?(:'screening_question_answers') + if (value = attributes[:'screening_question_answers']).is_a?(Array) + self.screening_question_answers = value + end + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + warn '[DEPRECATED] the `list_invalid_properties` method is obsolete' + invalid_properties = Array.new + if @candidate.nil? + invalid_properties.push('invalid value for "candidate", candidate cannot be nil.') + end + + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + warn '[DEPRECATED] the `valid?` method is obsolete' + return false if @candidate.nil? + true + end + + # Custom attribute writer method with validation + # @param [Object] candidate Value to be assigned + def candidate=(candidate) + if candidate.nil? + fail ArgumentError, 'candidate cannot be nil' + end + + @candidate = candidate + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + stage_id == o.stage_id && + candidate == o.candidate && + attachments == o.attachments && + source == o.source && + sourced_by == o.sourced_by && + gdpr_consent == o.gdpr_consent && + remote_fields == o.remote_fields && + screening_question_answers == o.screening_question_answers + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [stage_id, candidate, attachments, source, sourced_by, gdpr_consent, remote_fields, screening_question_answers].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + transformed_hash = {} + openapi_types.each_pair do |key, type| + if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = nil + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[attribute_map[key]].is_a?(Array) + transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) } + end + elsif !attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]]) + end + end + new(transformed_hash) + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + end + +end diff --git a/lib/kombo_client/models/post_connect_activate_integration_positive_response.rb b/lib/kombo_client/models/post_connect_activate_integration_positive_response.rb new file mode 100644 index 0000000..00ef957 --- /dev/null +++ b/lib/kombo_client/models/post_connect_activate_integration_positive_response.rb @@ -0,0 +1,214 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.17.0 + +=end + +require 'date' +require 'time' + +module Kombo + class PostConnectActivateIntegrationPositiveResponse < ApiModelBase + attr_accessor :status + + attr_accessor :data + + class EnumAttributeValidator + attr_reader :datatype + attr_reader :allowable_values + + def initialize(datatype, allowable_values) + @allowable_values = allowable_values.map do |value| + case datatype.to_s + when /Integer/i + value.to_i + when /Float/i + value.to_f + else + value + end + end + end + + def valid?(value) + !value || allowable_values.include?(value) + end + end + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'status' => :'status', + :'data' => :'data' + } + end + + # Returns attribute mapping this model knows about + def self.acceptable_attribute_map + attribute_map + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + acceptable_attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'status' => :'String', + :'data' => :'GetConnectIntegrationByTokenTokenPositiveResponseData' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Kombo::PostConnectActivateIntegrationPositiveResponse` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + acceptable_attribute_map = self.class.acceptable_attribute_map + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!acceptable_attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Kombo::PostConnectActivateIntegrationPositiveResponse`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'status') + self.status = attributes[:'status'] + else + self.status = nil + end + + if attributes.key?(:'data') + self.data = attributes[:'data'] + else + self.data = nil + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + warn '[DEPRECATED] the `list_invalid_properties` method is obsolete' + invalid_properties = Array.new + if @status.nil? + invalid_properties.push('invalid value for "status", status cannot be nil.') + end + + if @data.nil? + invalid_properties.push('invalid value for "data", data cannot be nil.') + end + + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + warn '[DEPRECATED] the `valid?` method is obsolete' + return false if @status.nil? + status_validator = EnumAttributeValidator.new('String', ["success"]) + return false unless status_validator.valid?(@status) + return false if @data.nil? + true + end + + # Custom attribute writer method checking allowed values (enum). + # @param [Object] status Object to be assigned + def status=(status) + validator = EnumAttributeValidator.new('String', ["success"]) + unless validator.valid?(status) + fail ArgumentError, "invalid value for \"status\", must be one of #{validator.allowable_values}." + end + @status = status + end + + # Custom attribute writer method with validation + # @param [Object] data Value to be assigned + def data=(data) + if data.nil? + fail ArgumentError, 'data cannot be nil' + end + + @data = data + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + status == o.status && + data == o.data + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [status, data].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + transformed_hash = {} + openapi_types.each_pair do |key, type| + if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = nil + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[attribute_map[key]].is_a?(Array) + transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) } + end + elsif !attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]]) + end + end + new(transformed_hash) + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + end + +end diff --git a/lib/kombo_client/models/post_connect_activate_integration_request_body.rb b/lib/kombo_client/models/post_connect_activate_integration_request_body.rb new file mode 100644 index 0000000..baa2703 --- /dev/null +++ b/lib/kombo_client/models/post_connect_activate_integration_request_body.rb @@ -0,0 +1,164 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.17.0 + +=end + +require 'date' +require 'time' + +module Kombo + class PostConnectActivateIntegrationRequestBody < ApiModelBase + attr_accessor :token + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'token' => :'token' + } + end + + # Returns attribute mapping this model knows about + def self.acceptable_attribute_map + attribute_map + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + acceptable_attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'token' => :'String' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Kombo::PostConnectActivateIntegrationRequestBody` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + acceptable_attribute_map = self.class.acceptable_attribute_map + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!acceptable_attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Kombo::PostConnectActivateIntegrationRequestBody`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'token') + self.token = attributes[:'token'] + else + self.token = nil + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + warn '[DEPRECATED] the `list_invalid_properties` method is obsolete' + invalid_properties = Array.new + if @token.nil? + invalid_properties.push('invalid value for "token", token cannot be nil.') + end + + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + warn '[DEPRECATED] the `valid?` method is obsolete' + return false if @token.nil? + true + end + + # Custom attribute writer method with validation + # @param [Object] token Value to be assigned + def token=(token) + if token.nil? + fail ArgumentError, 'token cannot be nil' + end + + @token = token + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + token == o.token + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [token].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + transformed_hash = {} + openapi_types.each_pair do |key, type| + if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = nil + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[attribute_map[key]].is_a?(Array) + transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) } + end + elsif !attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]]) + end + end + new(transformed_hash) + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + end + +end diff --git a/lib/kombo_client/models/post_connect_create_link_positive_response.rb b/lib/kombo_client/models/post_connect_create_link_positive_response.rb new file mode 100644 index 0000000..ed26ba5 --- /dev/null +++ b/lib/kombo_client/models/post_connect_create_link_positive_response.rb @@ -0,0 +1,214 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.17.0 + +=end + +require 'date' +require 'time' + +module Kombo + class PostConnectCreateLinkPositiveResponse < ApiModelBase + attr_accessor :status + + attr_accessor :data + + class EnumAttributeValidator + attr_reader :datatype + attr_reader :allowable_values + + def initialize(datatype, allowable_values) + @allowable_values = allowable_values.map do |value| + case datatype.to_s + when /Integer/i + value.to_i + when /Float/i + value.to_f + else + value + end + end + end + + def valid?(value) + !value || allowable_values.include?(value) + end + end + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'status' => :'status', + :'data' => :'data' + } + end + + # Returns attribute mapping this model knows about + def self.acceptable_attribute_map + attribute_map + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + acceptable_attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'status' => :'String', + :'data' => :'PostIntegrationsIntegrationIdRelinkPositiveResponseData' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Kombo::PostConnectCreateLinkPositiveResponse` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + acceptable_attribute_map = self.class.acceptable_attribute_map + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!acceptable_attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Kombo::PostConnectCreateLinkPositiveResponse`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'status') + self.status = attributes[:'status'] + else + self.status = nil + end + + if attributes.key?(:'data') + self.data = attributes[:'data'] + else + self.data = nil + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + warn '[DEPRECATED] the `list_invalid_properties` method is obsolete' + invalid_properties = Array.new + if @status.nil? + invalid_properties.push('invalid value for "status", status cannot be nil.') + end + + if @data.nil? + invalid_properties.push('invalid value for "data", data cannot be nil.') + end + + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + warn '[DEPRECATED] the `valid?` method is obsolete' + return false if @status.nil? + status_validator = EnumAttributeValidator.new('String', ["success"]) + return false unless status_validator.valid?(@status) + return false if @data.nil? + true + end + + # Custom attribute writer method checking allowed values (enum). + # @param [Object] status Object to be assigned + def status=(status) + validator = EnumAttributeValidator.new('String', ["success"]) + unless validator.valid?(status) + fail ArgumentError, "invalid value for \"status\", must be one of #{validator.allowable_values}." + end + @status = status + end + + # Custom attribute writer method with validation + # @param [Object] data Value to be assigned + def data=(data) + if data.nil? + fail ArgumentError, 'data cannot be nil' + end + + @data = data + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + status == o.status && + data == o.data + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [status, data].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + transformed_hash = {} + openapi_types.each_pair do |key, type| + if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = nil + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[attribute_map[key]].is_a?(Array) + transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) } + end + elsif !attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]]) + end + end + new(transformed_hash) + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + end + +end diff --git a/lib/kombo_client/models/post_connect_create_link_request_body.rb b/lib/kombo_client/models/post_connect_create_link_request_body.rb new file mode 100644 index 0000000..3ba6bef --- /dev/null +++ b/lib/kombo_client/models/post_connect_create_link_request_body.rb @@ -0,0 +1,391 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.17.0 + +=end + +require 'date' +require 'time' + +module Kombo + class PostConnectCreateLinkRequestBody < ApiModelBase + # The email of the user this link is meant for. + attr_accessor :end_user_email + + # The name of the user's organization. + attr_accessor :end_user_organization_name + + # The id the user/organization has in your own database. + attr_accessor :end_user_origin_id + + # 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`. + attr_accessor :remote_environment + + # Category of the integration you want your customer to create. + attr_accessor :integration_category + + # Pre-define a tool this integration link can be used for. + attr_accessor :integration_tool + + # Language of the connection flow UI. + attr_accessor :language + + # 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! + attr_accessor :scope_config_id + + # Enable the [filtering feature](https://docs.kombo.dev/other/filtering) for the integration. HRIS only. + attr_accessor :enable_filtering + + # Enable the [field mapping feature](https://docs.kombo.dev/hris/features/setup-flow/introduction#field-mapping) for this integration. + attr_accessor :enable_field_mapping + + # 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. + attr_accessor :link_type + + class EnumAttributeValidator + attr_reader :datatype + attr_reader :allowable_values + + def initialize(datatype, allowable_values) + @allowable_values = allowable_values.map do |value| + case datatype.to_s + when /Integer/i + value.to_i + when /Float/i + value.to_f + else + value + end + end + end + + def valid?(value) + !value || allowable_values.include?(value) + end + end + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'end_user_email' => :'end_user_email', + :'end_user_organization_name' => :'end_user_organization_name', + :'end_user_origin_id' => :'end_user_origin_id', + :'remote_environment' => :'remote_environment', + :'integration_category' => :'integration_category', + :'integration_tool' => :'integration_tool', + :'language' => :'language', + :'scope_config_id' => :'scope_config_id', + :'enable_filtering' => :'enable_filtering', + :'enable_field_mapping' => :'enable_field_mapping', + :'link_type' => :'link_type' + } + end + + # Returns attribute mapping this model knows about + def self.acceptable_attribute_map + attribute_map + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + acceptable_attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'end_user_email' => :'String', + :'end_user_organization_name' => :'String', + :'end_user_origin_id' => :'String', + :'remote_environment' => :'String', + :'integration_category' => :'String', + :'integration_tool' => :'String', + :'language' => :'String', + :'scope_config_id' => :'String', + :'enable_filtering' => :'Boolean', + :'enable_field_mapping' => :'Boolean', + :'link_type' => :'String' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + :'end_user_origin_id', + :'remote_environment', + :'integration_tool', + :'language', + :'scope_config_id', + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Kombo::PostConnectCreateLinkRequestBody` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + acceptable_attribute_map = self.class.acceptable_attribute_map + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!acceptable_attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Kombo::PostConnectCreateLinkRequestBody`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'end_user_email') + self.end_user_email = attributes[:'end_user_email'] + else + self.end_user_email = nil + end + + if attributes.key?(:'end_user_organization_name') + self.end_user_organization_name = attributes[:'end_user_organization_name'] + else + self.end_user_organization_name = nil + end + + if attributes.key?(:'end_user_origin_id') + self.end_user_origin_id = attributes[:'end_user_origin_id'] + end + + if attributes.key?(:'remote_environment') + self.remote_environment = attributes[:'remote_environment'] + end + + if attributes.key?(:'integration_category') + self.integration_category = attributes[:'integration_category'] + else + self.integration_category = 'HRIS' + end + + if attributes.key?(:'integration_tool') + self.integration_tool = attributes[:'integration_tool'] + end + + if attributes.key?(:'language') + self.language = attributes[:'language'] + else + self.language = 'en' + end + + if attributes.key?(:'scope_config_id') + self.scope_config_id = attributes[:'scope_config_id'] + end + + if attributes.key?(:'enable_filtering') + self.enable_filtering = attributes[:'enable_filtering'] + else + self.enable_filtering = false + end + + if attributes.key?(:'enable_field_mapping') + self.enable_field_mapping = attributes[:'enable_field_mapping'] + else + self.enable_field_mapping = false + end + + if attributes.key?(:'link_type') + self.link_type = attributes[:'link_type'] + else + self.link_type = 'EMBEDDED' + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + warn '[DEPRECATED] the `list_invalid_properties` method is obsolete' + invalid_properties = Array.new + if @end_user_email.nil? + invalid_properties.push('invalid value for "end_user_email", end_user_email cannot be nil.') + end + + if @end_user_organization_name.nil? + invalid_properties.push('invalid value for "end_user_organization_name", end_user_organization_name cannot be nil.') + end + + if @end_user_organization_name.to_s.length < 1 + invalid_properties.push('invalid value for "end_user_organization_name", the character length must be greater than or equal to 1.') + end + + if !@end_user_origin_id.nil? && @end_user_origin_id.to_s.length < 1 + invalid_properties.push('invalid value for "end_user_origin_id", the character length must be greater than or equal to 1.') + end + + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + warn '[DEPRECATED] the `valid?` method is obsolete' + return false if @end_user_email.nil? + return false if @end_user_organization_name.nil? + return false if @end_user_organization_name.to_s.length < 1 + return false if !@end_user_origin_id.nil? && @end_user_origin_id.to_s.length < 1 + integration_category_validator = EnumAttributeValidator.new('String', ["HRIS", "ATS", "ASSESSMENT"]) + return false unless integration_category_validator.valid?(@integration_category) + integration_tool_validator = EnumAttributeValidator.new('String', ["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"]) + return false unless integration_tool_validator.valid?(@integration_tool) + language_validator = EnumAttributeValidator.new('String', ["en", "de", "fr", "it", "es"]) + return false unless language_validator.valid?(@language) + link_type_validator = EnumAttributeValidator.new('String', ["EMBEDDED", "MAGIC_LINK"]) + return false unless link_type_validator.valid?(@link_type) + true + end + + # Custom attribute writer method with validation + # @param [Object] end_user_email Value to be assigned + def end_user_email=(end_user_email) + if end_user_email.nil? + fail ArgumentError, 'end_user_email cannot be nil' + end + + @end_user_email = end_user_email + end + + # Custom attribute writer method with validation + # @param [Object] end_user_organization_name Value to be assigned + def end_user_organization_name=(end_user_organization_name) + if end_user_organization_name.nil? + fail ArgumentError, 'end_user_organization_name cannot be nil' + end + + if end_user_organization_name.to_s.length < 1 + fail ArgumentError, 'invalid value for "end_user_organization_name", the character length must be greater than or equal to 1.' + end + + @end_user_organization_name = end_user_organization_name + end + + # Custom attribute writer method with validation + # @param [Object] end_user_origin_id Value to be assigned + def end_user_origin_id=(end_user_origin_id) + if !end_user_origin_id.nil? && end_user_origin_id.to_s.length < 1 + fail ArgumentError, 'invalid value for "end_user_origin_id", the character length must be greater than or equal to 1.' + end + + @end_user_origin_id = end_user_origin_id + end + + # Custom attribute writer method checking allowed values (enum). + # @param [Object] integration_category Object to be assigned + def integration_category=(integration_category) + validator = EnumAttributeValidator.new('String', ["HRIS", "ATS", "ASSESSMENT"]) + unless validator.valid?(integration_category) + fail ArgumentError, "invalid value for \"integration_category\", must be one of #{validator.allowable_values}." + end + @integration_category = integration_category + end + + # Custom attribute writer method checking allowed values (enum). + # @param [Object] integration_tool Object to be assigned + def integration_tool=(integration_tool) + validator = EnumAttributeValidator.new('String', ["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"]) + unless validator.valid?(integration_tool) + fail ArgumentError, "invalid value for \"integration_tool\", must be one of #{validator.allowable_values}." + end + @integration_tool = integration_tool + end + + # Custom attribute writer method checking allowed values (enum). + # @param [Object] language Object to be assigned + def language=(language) + validator = EnumAttributeValidator.new('String', ["en", "de", "fr", "it", "es"]) + unless validator.valid?(language) + fail ArgumentError, "invalid value for \"language\", must be one of #{validator.allowable_values}." + end + @language = language + end + + # Custom attribute writer method checking allowed values (enum). + # @param [Object] link_type Object to be assigned + def link_type=(link_type) + validator = EnumAttributeValidator.new('String', ["EMBEDDED", "MAGIC_LINK"]) + unless validator.valid?(link_type) + fail ArgumentError, "invalid value for \"link_type\", must be one of #{validator.allowable_values}." + end + @link_type = link_type + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + end_user_email == o.end_user_email && + end_user_organization_name == o.end_user_organization_name && + end_user_origin_id == o.end_user_origin_id && + remote_environment == o.remote_environment && + integration_category == o.integration_category && + integration_tool == o.integration_tool && + language == o.language && + scope_config_id == o.scope_config_id && + enable_filtering == o.enable_filtering && + enable_field_mapping == o.enable_field_mapping && + link_type == o.link_type + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [end_user_email, end_user_organization_name, end_user_origin_id, remote_environment, integration_category, integration_tool, language, scope_config_id, enable_filtering, enable_field_mapping, link_type].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + transformed_hash = {} + openapi_types.each_pair do |key, type| + if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = nil + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[attribute_map[key]].is_a?(Array) + transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) } + end + elsif !attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]]) + end + end + new(transformed_hash) + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + end + +end diff --git a/lib/kombo_client/models/post_custom_datev_download_document_positive_response.rb b/lib/kombo_client/models/post_custom_datev_download_document_positive_response.rb new file mode 100644 index 0000000..0addc9c --- /dev/null +++ b/lib/kombo_client/models/post_custom_datev_download_document_positive_response.rb @@ -0,0 +1,243 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.17.0 + +=end + +require 'date' +require 'time' + +module Kombo + class PostCustomDatevDownloadDocumentPositiveResponse < ApiModelBase + attr_accessor :status + + attr_accessor :data + + # 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. + attr_accessor :warnings + + class EnumAttributeValidator + attr_reader :datatype + attr_reader :allowable_values + + def initialize(datatype, allowable_values) + @allowable_values = allowable_values.map do |value| + case datatype.to_s + when /Integer/i + value.to_i + when /Float/i + value.to_f + else + value + end + end + end + + def valid?(value) + !value || allowable_values.include?(value) + end + end + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'status' => :'status', + :'data' => :'data', + :'warnings' => :'warnings' + } + end + + # Returns attribute mapping this model knows about + def self.acceptable_attribute_map + attribute_map + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + acceptable_attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'status' => :'String', + :'data' => :'PostCustomDatevDownloadDocumentPositiveResponseData', + :'warnings' => :'Array' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Kombo::PostCustomDatevDownloadDocumentPositiveResponse` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + acceptable_attribute_map = self.class.acceptable_attribute_map + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!acceptable_attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Kombo::PostCustomDatevDownloadDocumentPositiveResponse`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'status') + self.status = attributes[:'status'] + else + self.status = nil + end + + if attributes.key?(:'data') + self.data = attributes[:'data'] + else + self.data = nil + end + + if attributes.key?(:'warnings') + if (value = attributes[:'warnings']).is_a?(Array) + self.warnings = value + end + else + self.warnings = nil + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + warn '[DEPRECATED] the `list_invalid_properties` method is obsolete' + invalid_properties = Array.new + if @status.nil? + invalid_properties.push('invalid value for "status", status cannot be nil.') + end + + if @data.nil? + invalid_properties.push('invalid value for "data", data cannot be nil.') + end + + if @warnings.nil? + invalid_properties.push('invalid value for "warnings", warnings cannot be nil.') + end + + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + warn '[DEPRECATED] the `valid?` method is obsolete' + return false if @status.nil? + status_validator = EnumAttributeValidator.new('String', ["success"]) + return false unless status_validator.valid?(@status) + return false if @data.nil? + return false if @warnings.nil? + true + end + + # Custom attribute writer method checking allowed values (enum). + # @param [Object] status Object to be assigned + def status=(status) + validator = EnumAttributeValidator.new('String', ["success"]) + unless validator.valid?(status) + fail ArgumentError, "invalid value for \"status\", must be one of #{validator.allowable_values}." + end + @status = status + end + + # Custom attribute writer method with validation + # @param [Object] data Value to be assigned + def data=(data) + if data.nil? + fail ArgumentError, 'data cannot be nil' + end + + @data = data + end + + # Custom attribute writer method with validation + # @param [Object] warnings Value to be assigned + def warnings=(warnings) + if warnings.nil? + fail ArgumentError, 'warnings cannot be nil' + end + + @warnings = warnings + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + status == o.status && + data == o.data && + warnings == o.warnings + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [status, data, warnings].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + transformed_hash = {} + openapi_types.each_pair do |key, type| + if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = nil + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[attribute_map[key]].is_a?(Array) + transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) } + end + elsif !attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]]) + end + end + new(transformed_hash) + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + end + +end diff --git a/lib/kombo_client/models/post_custom_datev_download_document_positive_response_data.rb b/lib/kombo_client/models/post_custom_datev_download_document_positive_response_data.rb new file mode 100644 index 0000000..f2ab226 --- /dev/null +++ b/lib/kombo_client/models/post_custom_datev_download_document_positive_response_data.rb @@ -0,0 +1,217 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.17.0 + +=end + +require 'date' +require 'time' + +module Kombo + class PostCustomDatevDownloadDocumentPositiveResponseData < ApiModelBase + # The URL to download the document from. + attr_accessor :data_url + + attr_accessor :file_name + + attr_accessor :content_type + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'data_url' => :'data_url', + :'file_name' => :'file_name', + :'content_type' => :'content_type' + } + end + + # Returns attribute mapping this model knows about + def self.acceptable_attribute_map + attribute_map + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + acceptable_attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'data_url' => :'String', + :'file_name' => :'String', + :'content_type' => :'String' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Kombo::PostCustomDatevDownloadDocumentPositiveResponseData` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + acceptable_attribute_map = self.class.acceptable_attribute_map + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!acceptable_attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Kombo::PostCustomDatevDownloadDocumentPositiveResponseData`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'data_url') + self.data_url = attributes[:'data_url'] + else + self.data_url = nil + end + + if attributes.key?(:'file_name') + self.file_name = attributes[:'file_name'] + else + self.file_name = nil + end + + if attributes.key?(:'content_type') + self.content_type = attributes[:'content_type'] + else + self.content_type = nil + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + warn '[DEPRECATED] the `list_invalid_properties` method is obsolete' + invalid_properties = Array.new + if @data_url.nil? + invalid_properties.push('invalid value for "data_url", data_url cannot be nil.') + end + + if @file_name.nil? + invalid_properties.push('invalid value for "file_name", file_name cannot be nil.') + end + + if @content_type.nil? + invalid_properties.push('invalid value for "content_type", content_type cannot be nil.') + end + + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + warn '[DEPRECATED] the `valid?` method is obsolete' + return false if @data_url.nil? + return false if @file_name.nil? + return false if @content_type.nil? + true + end + + # Custom attribute writer method with validation + # @param [Object] data_url Value to be assigned + def data_url=(data_url) + if data_url.nil? + fail ArgumentError, 'data_url cannot be nil' + end + + @data_url = data_url + end + + # Custom attribute writer method with validation + # @param [Object] file_name Value to be assigned + def file_name=(file_name) + if file_name.nil? + fail ArgumentError, 'file_name cannot be nil' + end + + @file_name = file_name + end + + # Custom attribute writer method with validation + # @param [Object] content_type Value to be assigned + def content_type=(content_type) + if content_type.nil? + fail ArgumentError, 'content_type cannot be nil' + end + + @content_type = content_type + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + data_url == o.data_url && + file_name == o.file_name && + content_type == o.content_type + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [data_url, file_name, content_type].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + transformed_hash = {} + openapi_types.each_pair do |key, type| + if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = nil + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[attribute_map[key]].is_a?(Array) + transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) } + end + elsif !attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]]) + end + end + new(transformed_hash) + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + end + +end diff --git a/lib/kombo_client/models/post_custom_datev_download_document_request_body.rb b/lib/kombo_client/models/post_custom_datev_download_document_request_body.rb new file mode 100644 index 0000000..41ed7de --- /dev/null +++ b/lib/kombo_client/models/post_custom_datev_download_document_request_body.rb @@ -0,0 +1,240 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.17.0 + +=end + +require 'date' +require 'time' + +module Kombo + # The data to request an electronic certificate of incapacity for work (eAU). + class PostCustomDatevDownloadDocumentRequestBody < ApiModelBase + # The month to request the document for. + attr_accessor :accounting_month + + # 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) + attr_accessor :document_type + + attr_accessor :employee_id + + class EnumAttributeValidator + attr_reader :datatype + attr_reader :allowable_values + + def initialize(datatype, allowable_values) + @allowable_values = allowable_values.map do |value| + case datatype.to_s + when /Integer/i + value.to_i + when /Float/i + value.to_f + else + value + end + end + end + + def valid?(value) + !value || allowable_values.include?(value) + end + end + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'accounting_month' => :'accounting_month', + :'document_type' => :'document_type', + :'employee_id' => :'employee_id' + } + end + + # Returns attribute mapping this model knows about + def self.acceptable_attribute_map + attribute_map + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + acceptable_attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'accounting_month' => :'Time', + :'document_type' => :'String', + :'employee_id' => :'String' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + :'employee_id' + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Kombo::PostCustomDatevDownloadDocumentRequestBody` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + acceptable_attribute_map = self.class.acceptable_attribute_map + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!acceptable_attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Kombo::PostCustomDatevDownloadDocumentRequestBody`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'accounting_month') + self.accounting_month = attributes[:'accounting_month'] + else + self.accounting_month = nil + end + + if attributes.key?(:'document_type') + self.document_type = attributes[:'document_type'] + else + self.document_type = nil + end + + if attributes.key?(:'employee_id') + self.employee_id = attributes[:'employee_id'] + else + self.employee_id = nil + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + warn '[DEPRECATED] the `list_invalid_properties` method is obsolete' + invalid_properties = Array.new + if @accounting_month.nil? + invalid_properties.push('invalid value for "accounting_month", accounting_month cannot be nil.') + end + + pattern = Regexp.new(/^\d{4}-\d{2}-\d{2}(T\d{2}:\d{2}:\d{2}(\.\d+)?)?Z?$/) + if @accounting_month !~ pattern + invalid_properties.push("invalid value for \"accounting_month\", must conform to the pattern #{pattern}.") + end + + if @document_type.nil? + invalid_properties.push('invalid value for "document_type", document_type cannot be nil.') + end + + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + warn '[DEPRECATED] the `valid?` method is obsolete' + return false if @accounting_month.nil? + return false if @accounting_month !~ Regexp.new(/^\d{4}-\d{2}-\d{2}(T\d{2}:\d{2}:\d{2}(\.\d+)?)?Z?$/) + return false if @document_type.nil? + document_type_validator = EnumAttributeValidator.new('String', ["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"]) + return false unless document_type_validator.valid?(@document_type) + true + end + + # Custom attribute writer method with validation + # @param [Object] accounting_month Value to be assigned + def accounting_month=(accounting_month) + if accounting_month.nil? + fail ArgumentError, 'accounting_month cannot be nil' + end + + pattern = Regexp.new(/^\d{4}-\d{2}-\d{2}(T\d{2}:\d{2}:\d{2}(\.\d+)?)?Z?$/) + if accounting_month !~ pattern + fail ArgumentError, "invalid value for \"accounting_month\", must conform to the pattern #{pattern}." + end + + @accounting_month = accounting_month + end + + # Custom attribute writer method checking allowed values (enum). + # @param [Object] document_type Object to be assigned + def document_type=(document_type) + validator = EnumAttributeValidator.new('String', ["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"]) + unless validator.valid?(document_type) + fail ArgumentError, "invalid value for \"document_type\", must be one of #{validator.allowable_values}." + end + @document_type = document_type + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + accounting_month == o.accounting_month && + document_type == o.document_type && + employee_id == o.employee_id + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [accounting_month, document_type, employee_id].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + transformed_hash = {} + openapi_types.each_pair do |key, type| + if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = nil + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[attribute_map[key]].is_a?(Array) + transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) } + end + elsif !attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]]) + end + end + new(transformed_hash) + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + end + +end diff --git a/lib/kombo_client/models/post_custom_datev_employees_employee_id_download_document_positive_response.rb b/lib/kombo_client/models/post_custom_datev_employees_employee_id_download_document_positive_response.rb new file mode 100644 index 0000000..5b35d65 --- /dev/null +++ b/lib/kombo_client/models/post_custom_datev_employees_employee_id_download_document_positive_response.rb @@ -0,0 +1,243 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.17.0 + +=end + +require 'date' +require 'time' + +module Kombo + class PostCustomDatevEmployeesEmployeeIdDownloadDocumentPositiveResponse < ApiModelBase + attr_accessor :status + + attr_accessor :data + + # 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. + attr_accessor :warnings + + class EnumAttributeValidator + attr_reader :datatype + attr_reader :allowable_values + + def initialize(datatype, allowable_values) + @allowable_values = allowable_values.map do |value| + case datatype.to_s + when /Integer/i + value.to_i + when /Float/i + value.to_f + else + value + end + end + end + + def valid?(value) + !value || allowable_values.include?(value) + end + end + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'status' => :'status', + :'data' => :'data', + :'warnings' => :'warnings' + } + end + + # Returns attribute mapping this model knows about + def self.acceptable_attribute_map + attribute_map + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + acceptable_attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'status' => :'String', + :'data' => :'PostCustomDatevDownloadDocumentPositiveResponseData', + :'warnings' => :'Array' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Kombo::PostCustomDatevEmployeesEmployeeIdDownloadDocumentPositiveResponse` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + acceptable_attribute_map = self.class.acceptable_attribute_map + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!acceptable_attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Kombo::PostCustomDatevEmployeesEmployeeIdDownloadDocumentPositiveResponse`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'status') + self.status = attributes[:'status'] + else + self.status = nil + end + + if attributes.key?(:'data') + self.data = attributes[:'data'] + else + self.data = nil + end + + if attributes.key?(:'warnings') + if (value = attributes[:'warnings']).is_a?(Array) + self.warnings = value + end + else + self.warnings = nil + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + warn '[DEPRECATED] the `list_invalid_properties` method is obsolete' + invalid_properties = Array.new + if @status.nil? + invalid_properties.push('invalid value for "status", status cannot be nil.') + end + + if @data.nil? + invalid_properties.push('invalid value for "data", data cannot be nil.') + end + + if @warnings.nil? + invalid_properties.push('invalid value for "warnings", warnings cannot be nil.') + end + + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + warn '[DEPRECATED] the `valid?` method is obsolete' + return false if @status.nil? + status_validator = EnumAttributeValidator.new('String', ["success"]) + return false unless status_validator.valid?(@status) + return false if @data.nil? + return false if @warnings.nil? + true + end + + # Custom attribute writer method checking allowed values (enum). + # @param [Object] status Object to be assigned + def status=(status) + validator = EnumAttributeValidator.new('String', ["success"]) + unless validator.valid?(status) + fail ArgumentError, "invalid value for \"status\", must be one of #{validator.allowable_values}." + end + @status = status + end + + # Custom attribute writer method with validation + # @param [Object] data Value to be assigned + def data=(data) + if data.nil? + fail ArgumentError, 'data cannot be nil' + end + + @data = data + end + + # Custom attribute writer method with validation + # @param [Object] warnings Value to be assigned + def warnings=(warnings) + if warnings.nil? + fail ArgumentError, 'warnings cannot be nil' + end + + @warnings = warnings + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + status == o.status && + data == o.data && + warnings == o.warnings + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [status, data, warnings].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + transformed_hash = {} + openapi_types.each_pair do |key, type| + if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = nil + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[attribute_map[key]].is_a?(Array) + transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) } + end + elsif !attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]]) + end + end + new(transformed_hash) + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + end + +end diff --git a/lib/kombo_client/models/post_custom_datev_employees_employee_id_download_document_request_body.rb b/lib/kombo_client/models/post_custom_datev_employees_employee_id_download_document_request_body.rb new file mode 100644 index 0000000..bd76005 --- /dev/null +++ b/lib/kombo_client/models/post_custom_datev_employees_employee_id_download_document_request_body.rb @@ -0,0 +1,228 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.17.0 + +=end + +require 'date' +require 'time' + +module Kombo + # The data to request an electronic certificate of incapacity for work (eAU). + class PostCustomDatevEmployeesEmployeeIdDownloadDocumentRequestBody < ApiModelBase + # The month to request the document for. + attr_accessor :accounting_month + + # 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) + attr_accessor :document_type + + class EnumAttributeValidator + attr_reader :datatype + attr_reader :allowable_values + + def initialize(datatype, allowable_values) + @allowable_values = allowable_values.map do |value| + case datatype.to_s + when /Integer/i + value.to_i + when /Float/i + value.to_f + else + value + end + end + end + + def valid?(value) + !value || allowable_values.include?(value) + end + end + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'accounting_month' => :'accounting_month', + :'document_type' => :'document_type' + } + end + + # Returns attribute mapping this model knows about + def self.acceptable_attribute_map + attribute_map + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + acceptable_attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'accounting_month' => :'Time', + :'document_type' => :'String' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Kombo::PostCustomDatevEmployeesEmployeeIdDownloadDocumentRequestBody` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + acceptable_attribute_map = self.class.acceptable_attribute_map + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!acceptable_attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Kombo::PostCustomDatevEmployeesEmployeeIdDownloadDocumentRequestBody`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'accounting_month') + self.accounting_month = attributes[:'accounting_month'] + else + self.accounting_month = nil + end + + if attributes.key?(:'document_type') + self.document_type = attributes[:'document_type'] + else + self.document_type = nil + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + warn '[DEPRECATED] the `list_invalid_properties` method is obsolete' + invalid_properties = Array.new + if @accounting_month.nil? + invalid_properties.push('invalid value for "accounting_month", accounting_month cannot be nil.') + end + + pattern = Regexp.new(/^\d{4}-\d{2}-\d{2}(T\d{2}:\d{2}:\d{2}(\.\d+)?)?Z?$/) + if @accounting_month !~ pattern + invalid_properties.push("invalid value for \"accounting_month\", must conform to the pattern #{pattern}.") + end + + if @document_type.nil? + invalid_properties.push('invalid value for "document_type", document_type cannot be nil.') + end + + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + warn '[DEPRECATED] the `valid?` method is obsolete' + return false if @accounting_month.nil? + return false if @accounting_month !~ Regexp.new(/^\d{4}-\d{2}-\d{2}(T\d{2}:\d{2}:\d{2}(\.\d+)?)?Z?$/) + return false if @document_type.nil? + document_type_validator = EnumAttributeValidator.new('String', ["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"]) + return false unless document_type_validator.valid?(@document_type) + true + end + + # Custom attribute writer method with validation + # @param [Object] accounting_month Value to be assigned + def accounting_month=(accounting_month) + if accounting_month.nil? + fail ArgumentError, 'accounting_month cannot be nil' + end + + pattern = Regexp.new(/^\d{4}-\d{2}-\d{2}(T\d{2}:\d{2}:\d{2}(\.\d+)?)?Z?$/) + if accounting_month !~ pattern + fail ArgumentError, "invalid value for \"accounting_month\", must conform to the pattern #{pattern}." + end + + @accounting_month = accounting_month + end + + # Custom attribute writer method checking allowed values (enum). + # @param [Object] document_type Object to be assigned + def document_type=(document_type) + validator = EnumAttributeValidator.new('String', ["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"]) + unless validator.valid?(document_type) + fail ArgumentError, "invalid value for \"document_type\", must be one of #{validator.allowable_values}." + end + @document_type = document_type + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + accounting_month == o.accounting_month && + document_type == o.document_type + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [accounting_month, document_type].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + transformed_hash = {} + openapi_types.each_pair do |key, type| + if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = nil + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[attribute_map[key]].is_a?(Array) + transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) } + end + elsif !attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]]) + end + end + new(transformed_hash) + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + end + +end diff --git a/lib/kombo_client/models/post_custom_datev_employees_employee_id_eau_requests_positive_response.rb b/lib/kombo_client/models/post_custom_datev_employees_employee_id_eau_requests_positive_response.rb new file mode 100644 index 0000000..012713d --- /dev/null +++ b/lib/kombo_client/models/post_custom_datev_employees_employee_id_eau_requests_positive_response.rb @@ -0,0 +1,243 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.17.0 + +=end + +require 'date' +require 'time' + +module Kombo + class PostCustomDatevEmployeesEmployeeIdEauRequestsPositiveResponse < ApiModelBase + attr_accessor :status + + attr_accessor :data + + # 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. + attr_accessor :warnings + + class EnumAttributeValidator + attr_reader :datatype + attr_reader :allowable_values + + def initialize(datatype, allowable_values) + @allowable_values = allowable_values.map do |value| + case datatype.to_s + when /Integer/i + value.to_i + when /Float/i + value.to_f + else + value + end + end + end + + def valid?(value) + !value || allowable_values.include?(value) + end + end + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'status' => :'status', + :'data' => :'data', + :'warnings' => :'warnings' + } + end + + # Returns attribute mapping this model knows about + def self.acceptable_attribute_map + attribute_map + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + acceptable_attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'status' => :'String', + :'data' => :'PostCustomDatevEmployeesEmployeeIdEauRequestsPositiveResponseData', + :'warnings' => :'Array' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Kombo::PostCustomDatevEmployeesEmployeeIdEauRequestsPositiveResponse` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + acceptable_attribute_map = self.class.acceptable_attribute_map + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!acceptable_attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Kombo::PostCustomDatevEmployeesEmployeeIdEauRequestsPositiveResponse`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'status') + self.status = attributes[:'status'] + else + self.status = nil + end + + if attributes.key?(:'data') + self.data = attributes[:'data'] + else + self.data = nil + end + + if attributes.key?(:'warnings') + if (value = attributes[:'warnings']).is_a?(Array) + self.warnings = value + end + else + self.warnings = nil + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + warn '[DEPRECATED] the `list_invalid_properties` method is obsolete' + invalid_properties = Array.new + if @status.nil? + invalid_properties.push('invalid value for "status", status cannot be nil.') + end + + if @data.nil? + invalid_properties.push('invalid value for "data", data cannot be nil.') + end + + if @warnings.nil? + invalid_properties.push('invalid value for "warnings", warnings cannot be nil.') + end + + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + warn '[DEPRECATED] the `valid?` method is obsolete' + return false if @status.nil? + status_validator = EnumAttributeValidator.new('String', ["success"]) + return false unless status_validator.valid?(@status) + return false if @data.nil? + return false if @warnings.nil? + true + end + + # Custom attribute writer method checking allowed values (enum). + # @param [Object] status Object to be assigned + def status=(status) + validator = EnumAttributeValidator.new('String', ["success"]) + unless validator.valid?(status) + fail ArgumentError, "invalid value for \"status\", must be one of #{validator.allowable_values}." + end + @status = status + end + + # Custom attribute writer method with validation + # @param [Object] data Value to be assigned + def data=(data) + if data.nil? + fail ArgumentError, 'data cannot be nil' + end + + @data = data + end + + # Custom attribute writer method with validation + # @param [Object] warnings Value to be assigned + def warnings=(warnings) + if warnings.nil? + fail ArgumentError, 'warnings cannot be nil' + end + + @warnings = warnings + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + status == o.status && + data == o.data && + warnings == o.warnings + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [status, data, warnings].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + transformed_hash = {} + openapi_types.each_pair do |key, type| + if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = nil + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[attribute_map[key]].is_a?(Array) + transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) } + end + elsif !attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]]) + end + end + new(transformed_hash) + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + end + +end diff --git a/lib/kombo_client/models/post_custom_datev_employees_employee_id_eau_requests_positive_response_data.rb b/lib/kombo_client/models/post_custom_datev_employees_employee_id_eau_requests_positive_response_data.rb new file mode 100644 index 0000000..fb90bbd --- /dev/null +++ b/lib/kombo_client/models/post_custom_datev_employees_employee_id_eau_requests_positive_response_data.rb @@ -0,0 +1,164 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.17.0 + +=end + +require 'date' +require 'time' + +module Kombo + class PostCustomDatevEmployeesEmployeeIdEauRequestsPositiveResponseData < ApiModelBase + attr_accessor :eau_id + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'eau_id' => :'eau_id' + } + end + + # Returns attribute mapping this model knows about + def self.acceptable_attribute_map + attribute_map + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + acceptable_attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'eau_id' => :'String' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Kombo::PostCustomDatevEmployeesEmployeeIdEauRequestsPositiveResponseData` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + acceptable_attribute_map = self.class.acceptable_attribute_map + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!acceptable_attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Kombo::PostCustomDatevEmployeesEmployeeIdEauRequestsPositiveResponseData`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'eau_id') + self.eau_id = attributes[:'eau_id'] + else + self.eau_id = nil + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + warn '[DEPRECATED] the `list_invalid_properties` method is obsolete' + invalid_properties = Array.new + if @eau_id.nil? + invalid_properties.push('invalid value for "eau_id", eau_id cannot be nil.') + end + + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + warn '[DEPRECATED] the `valid?` method is obsolete' + return false if @eau_id.nil? + true + end + + # Custom attribute writer method with validation + # @param [Object] eau_id Value to be assigned + def eau_id=(eau_id) + if eau_id.nil? + fail ArgumentError, 'eau_id cannot be nil' + end + + @eau_id = eau_id + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + eau_id == o.eau_id + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [eau_id].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + transformed_hash = {} + openapi_types.each_pair do |key, type| + if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = nil + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[attribute_map[key]].is_a?(Array) + transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) } + end + elsif !attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]]) + end + end + new(transformed_hash) + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + end + +end diff --git a/lib/kombo_client/models/post_custom_datev_employees_employee_id_eau_requests_request_body.rb b/lib/kombo_client/models/post_custom_datev_employees_employee_id_eau_requests_request_body.rb new file mode 100644 index 0000000..c7ac71a --- /dev/null +++ b/lib/kombo_client/models/post_custom_datev_employees_employee_id_eau_requests_request_body.rb @@ -0,0 +1,195 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.17.0 + +=end + +require 'date' +require 'time' + +module Kombo + # The data to request an electronic certificate of incapacity for work (eAU). + class PostCustomDatevEmployeesEmployeeIdEauRequestsRequestBody < ApiModelBase + # Date \"start_work_incapacity\" from the original eAU-Request. + attr_accessor :start_work_incapacity + + attr_accessor :notification + + attr_accessor :contact_person + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'start_work_incapacity' => :'start_work_incapacity', + :'notification' => :'notification', + :'contact_person' => :'contact_person' + } + end + + # Returns attribute mapping this model knows about + def self.acceptable_attribute_map + attribute_map + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + acceptable_attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'start_work_incapacity' => :'String', + :'notification' => :'PostCustomDatevEmployeesEmployeeIdEauRequestsRequestBodyNotification', + :'contact_person' => :'PostCustomDatevEmployeesEmployeeIdEauRequestsRequestBodyContactPerson' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Kombo::PostCustomDatevEmployeesEmployeeIdEauRequestsRequestBody` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + acceptable_attribute_map = self.class.acceptable_attribute_map + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!acceptable_attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Kombo::PostCustomDatevEmployeesEmployeeIdEauRequestsRequestBody`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'start_work_incapacity') + self.start_work_incapacity = attributes[:'start_work_incapacity'] + else + self.start_work_incapacity = nil + end + + if attributes.key?(:'notification') + self.notification = attributes[:'notification'] + end + + if attributes.key?(:'contact_person') + self.contact_person = attributes[:'contact_person'] + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + warn '[DEPRECATED] the `list_invalid_properties` method is obsolete' + invalid_properties = Array.new + if @start_work_incapacity.nil? + invalid_properties.push('invalid value for "start_work_incapacity", start_work_incapacity cannot be nil.') + end + + pattern = Regexp.new(/^\d{4}-\d{2}-\d{2}$/) + if @start_work_incapacity !~ pattern + invalid_properties.push("invalid value for \"start_work_incapacity\", must conform to the pattern #{pattern}.") + end + + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + warn '[DEPRECATED] the `valid?` method is obsolete' + return false if @start_work_incapacity.nil? + return false if @start_work_incapacity !~ Regexp.new(/^\d{4}-\d{2}-\d{2}$/) + true + end + + # Custom attribute writer method with validation + # @param [Object] start_work_incapacity Value to be assigned + def start_work_incapacity=(start_work_incapacity) + if start_work_incapacity.nil? + fail ArgumentError, 'start_work_incapacity cannot be nil' + end + + pattern = Regexp.new(/^\d{4}-\d{2}-\d{2}$/) + if start_work_incapacity !~ pattern + fail ArgumentError, "invalid value for \"start_work_incapacity\", must conform to the pattern #{pattern}." + end + + @start_work_incapacity = start_work_incapacity + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + start_work_incapacity == o.start_work_incapacity && + notification == o.notification && + contact_person == o.contact_person + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [start_work_incapacity, notification, contact_person].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + transformed_hash = {} + openapi_types.each_pair do |key, type| + if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = nil + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[attribute_map[key]].is_a?(Array) + transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) } + end + elsif !attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]]) + end + end + new(transformed_hash) + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + end + +end diff --git a/lib/kombo_client/models/post_custom_datev_employees_employee_id_eau_requests_request_body_contact_person.rb b/lib/kombo_client/models/post_custom_datev_employees_employee_id_eau_requests_request_body_contact_person.rb new file mode 100644 index 0000000..41face6 --- /dev/null +++ b/lib/kombo_client/models/post_custom_datev_employees_employee_id_eau_requests_request_body_contact_person.rb @@ -0,0 +1,629 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.17.0 + +=end + +require 'date' +require 'time' + +module Kombo + # The data-section for the contact person which is responsible for feedback from the health insurance. + class PostCustomDatevEmployeesEmployeeIdEauRequestsRequestBodyContactPerson < ApiModelBase + attr_accessor :gender + + attr_accessor :name + + attr_accessor :telephone + + attr_accessor :fax + + attr_accessor :email + + attr_accessor :company_name + + attr_accessor :postal_code + + attr_accessor :city + + attr_accessor :street + + attr_accessor :house_number + + class EnumAttributeValidator + attr_reader :datatype + attr_reader :allowable_values + + def initialize(datatype, allowable_values) + @allowable_values = allowable_values.map do |value| + case datatype.to_s + when /Integer/i + value.to_i + when /Float/i + value.to_f + else + value + end + end + end + + def valid?(value) + !value || allowable_values.include?(value) + end + end + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'gender' => :'gender', + :'name' => :'name', + :'telephone' => :'telephone', + :'fax' => :'fax', + :'email' => :'email', + :'company_name' => :'company_name', + :'postal_code' => :'postal_code', + :'city' => :'city', + :'street' => :'street', + :'house_number' => :'house_number' + } + end + + # Returns attribute mapping this model knows about + def self.acceptable_attribute_map + attribute_map + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + acceptable_attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'gender' => :'String', + :'name' => :'String', + :'telephone' => :'String', + :'fax' => :'String', + :'email' => :'String', + :'company_name' => :'String', + :'postal_code' => :'String', + :'city' => :'String', + :'street' => :'String', + :'house_number' => :'String' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Kombo::PostCustomDatevEmployeesEmployeeIdEauRequestsRequestBodyContactPerson` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + acceptable_attribute_map = self.class.acceptable_attribute_map + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!acceptable_attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Kombo::PostCustomDatevEmployeesEmployeeIdEauRequestsRequestBodyContactPerson`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'gender') + self.gender = attributes[:'gender'] + else + self.gender = nil + end + + if attributes.key?(:'name') + self.name = attributes[:'name'] + else + self.name = nil + end + + if attributes.key?(:'telephone') + self.telephone = attributes[:'telephone'] + else + self.telephone = nil + end + + if attributes.key?(:'fax') + self.fax = attributes[:'fax'] + else + self.fax = nil + end + + if attributes.key?(:'email') + self.email = attributes[:'email'] + else + self.email = nil + end + + if attributes.key?(:'company_name') + self.company_name = attributes[:'company_name'] + else + self.company_name = nil + end + + if attributes.key?(:'postal_code') + self.postal_code = attributes[:'postal_code'] + else + self.postal_code = nil + end + + if attributes.key?(:'city') + self.city = attributes[:'city'] + else + self.city = nil + end + + if attributes.key?(:'street') + self.street = attributes[:'street'] + else + self.street = nil + end + + if attributes.key?(:'house_number') + self.house_number = attributes[:'house_number'] + else + self.house_number = nil + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + warn '[DEPRECATED] the `list_invalid_properties` method is obsolete' + invalid_properties = Array.new + if @gender.nil? + invalid_properties.push('invalid value for "gender", gender cannot be nil.') + end + + if @name.nil? + invalid_properties.push('invalid value for "name", name cannot be nil.') + end + + if @name.to_s.length > 30 + invalid_properties.push('invalid value for "name", the character length must be smaller than or equal to 30.') + end + + if @name.to_s.length < 0 + invalid_properties.push('invalid value for "name", the character length must be greater than or equal to 0.') + end + + if @telephone.nil? + invalid_properties.push('invalid value for "telephone", telephone cannot be nil.') + end + + if @telephone.to_s.length > 20 + invalid_properties.push('invalid value for "telephone", the character length must be smaller than or equal to 20.') + end + + if @telephone.to_s.length < 0 + invalid_properties.push('invalid value for "telephone", the character length must be greater than or equal to 0.') + end + + pattern = Regexp.new(/([\d+])[\d ()\/-]+/) + if @telephone !~ pattern + invalid_properties.push("invalid value for \"telephone\", must conform to the pattern #{pattern}.") + end + + if @fax.nil? + invalid_properties.push('invalid value for "fax", fax cannot be nil.') + end + + if @fax.to_s.length > 20 + invalid_properties.push('invalid value for "fax", the character length must be smaller than or equal to 20.') + end + + if @fax.to_s.length < 0 + invalid_properties.push('invalid value for "fax", the character length must be greater than or equal to 0.') + end + + pattern = Regexp.new(/([\d+])[\d ()\/-]+/) + if @fax !~ pattern + invalid_properties.push("invalid value for \"fax\", must conform to the pattern #{pattern}.") + end + + if @email.nil? + invalid_properties.push('invalid value for "email", email cannot be nil.') + end + + if @email.to_s.length > 70 + invalid_properties.push('invalid value for "email", the character length must be smaller than or equal to 70.') + end + + if @email.to_s.length < 0 + invalid_properties.push('invalid value for "email", the character length must be greater than or equal to 0.') + end + + pattern = Regexp.new(/^(?=.{1,64}@)[\w-]+(\.[\w-]+)*@[^-][\dA-Za-z-]+(\.[\dA-Za-z-]+)*(\.[A-Za-z]{2,})$/) + if @email !~ pattern + invalid_properties.push("invalid value for \"email\", must conform to the pattern #{pattern}.") + end + + if @company_name.nil? + invalid_properties.push('invalid value for "company_name", company_name cannot be nil.') + end + + if @company_name.to_s.length > 90 + invalid_properties.push('invalid value for "company_name", the character length must be smaller than or equal to 90.') + end + + if @company_name.to_s.length < 0 + invalid_properties.push('invalid value for "company_name", the character length must be greater than or equal to 0.') + end + + if @postal_code.nil? + invalid_properties.push('invalid value for "postal_code", postal_code cannot be nil.') + end + + if @postal_code.to_s.length > 10 + invalid_properties.push('invalid value for "postal_code", the character length must be smaller than or equal to 10.') + end + + if @postal_code.to_s.length < 0 + invalid_properties.push('invalid value for "postal_code", the character length must be greater than or equal to 0.') + end + + pattern = Regexp.new(/[\dA-Za-z]*/) + if @postal_code !~ pattern + invalid_properties.push("invalid value for \"postal_code\", must conform to the pattern #{pattern}.") + end + + if @city.nil? + invalid_properties.push('invalid value for "city", city cannot be nil.') + end + + if @city.to_s.length > 34 + invalid_properties.push('invalid value for "city", the character length must be smaller than or equal to 34.') + end + + if @city.to_s.length < 0 + invalid_properties.push('invalid value for "city", the character length must be greater than or equal to 0.') + end + + if @street.nil? + invalid_properties.push('invalid value for "street", street cannot be nil.') + end + + if @street.to_s.length > 33 + invalid_properties.push('invalid value for "street", the character length must be smaller than or equal to 33.') + end + + if @street.to_s.length < 0 + invalid_properties.push('invalid value for "street", the character length must be greater than or equal to 0.') + end + + if @house_number.nil? + invalid_properties.push('invalid value for "house_number", house_number cannot be nil.') + end + + if @house_number.to_s.length > 9 + invalid_properties.push('invalid value for "house_number", the character length must be smaller than or equal to 9.') + end + + if @house_number.to_s.length < 0 + invalid_properties.push('invalid value for "house_number", the character length must be greater than or equal to 0.') + end + + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + warn '[DEPRECATED] the `valid?` method is obsolete' + return false if @gender.nil? + gender_validator = EnumAttributeValidator.new('String', ["M", "W", "X", "D"]) + return false unless gender_validator.valid?(@gender) + return false if @name.nil? + return false if @name.to_s.length > 30 + return false if @name.to_s.length < 0 + return false if @telephone.nil? + return false if @telephone.to_s.length > 20 + return false if @telephone.to_s.length < 0 + return false if @telephone !~ Regexp.new(/([\d+])[\d ()\/-]+/) + return false if @fax.nil? + return false if @fax.to_s.length > 20 + return false if @fax.to_s.length < 0 + return false if @fax !~ Regexp.new(/([\d+])[\d ()\/-]+/) + return false if @email.nil? + return false if @email.to_s.length > 70 + return false if @email.to_s.length < 0 + return false if @email !~ Regexp.new(/^(?=.{1,64}@)[\w-]+(\.[\w-]+)*@[^-][\dA-Za-z-]+(\.[\dA-Za-z-]+)*(\.[A-Za-z]{2,})$/) + return false if @company_name.nil? + return false if @company_name.to_s.length > 90 + return false if @company_name.to_s.length < 0 + return false if @postal_code.nil? + return false if @postal_code.to_s.length > 10 + return false if @postal_code.to_s.length < 0 + return false if @postal_code !~ Regexp.new(/[\dA-Za-z]*/) + return false if @city.nil? + return false if @city.to_s.length > 34 + return false if @city.to_s.length < 0 + return false if @street.nil? + return false if @street.to_s.length > 33 + return false if @street.to_s.length < 0 + return false if @house_number.nil? + return false if @house_number.to_s.length > 9 + return false if @house_number.to_s.length < 0 + true + end + + # Custom attribute writer method checking allowed values (enum). + # @param [Object] gender Object to be assigned + def gender=(gender) + validator = EnumAttributeValidator.new('String', ["M", "W", "X", "D"]) + unless validator.valid?(gender) + fail ArgumentError, "invalid value for \"gender\", must be one of #{validator.allowable_values}." + end + @gender = gender + end + + # Custom attribute writer method with validation + # @param [Object] name Value to be assigned + def name=(name) + if name.nil? + fail ArgumentError, 'name cannot be nil' + end + + if name.to_s.length > 30 + fail ArgumentError, 'invalid value for "name", the character length must be smaller than or equal to 30.' + end + + if name.to_s.length < 0 + fail ArgumentError, 'invalid value for "name", the character length must be greater than or equal to 0.' + end + + @name = name + end + + # Custom attribute writer method with validation + # @param [Object] telephone Value to be assigned + def telephone=(telephone) + if telephone.nil? + fail ArgumentError, 'telephone cannot be nil' + end + + if telephone.to_s.length > 20 + fail ArgumentError, 'invalid value for "telephone", the character length must be smaller than or equal to 20.' + end + + if telephone.to_s.length < 0 + fail ArgumentError, 'invalid value for "telephone", the character length must be greater than or equal to 0.' + end + + pattern = Regexp.new(/([\d+])[\d ()\/-]+/) + if telephone !~ pattern + fail ArgumentError, "invalid value for \"telephone\", must conform to the pattern #{pattern}." + end + + @telephone = telephone + end + + # Custom attribute writer method with validation + # @param [Object] fax Value to be assigned + def fax=(fax) + if fax.nil? + fail ArgumentError, 'fax cannot be nil' + end + + if fax.to_s.length > 20 + fail ArgumentError, 'invalid value for "fax", the character length must be smaller than or equal to 20.' + end + + if fax.to_s.length < 0 + fail ArgumentError, 'invalid value for "fax", the character length must be greater than or equal to 0.' + end + + pattern = Regexp.new(/([\d+])[\d ()\/-]+/) + if fax !~ pattern + fail ArgumentError, "invalid value for \"fax\", must conform to the pattern #{pattern}." + end + + @fax = fax + end + + # Custom attribute writer method with validation + # @param [Object] email Value to be assigned + def email=(email) + if email.nil? + fail ArgumentError, 'email cannot be nil' + end + + if email.to_s.length > 70 + fail ArgumentError, 'invalid value for "email", the character length must be smaller than or equal to 70.' + end + + if email.to_s.length < 0 + fail ArgumentError, 'invalid value for "email", the character length must be greater than or equal to 0.' + end + + pattern = Regexp.new(/^(?=.{1,64}@)[\w-]+(\.[\w-]+)*@[^-][\dA-Za-z-]+(\.[\dA-Za-z-]+)*(\.[A-Za-z]{2,})$/) + if email !~ pattern + fail ArgumentError, "invalid value for \"email\", must conform to the pattern #{pattern}." + end + + @email = email + end + + # Custom attribute writer method with validation + # @param [Object] company_name Value to be assigned + def company_name=(company_name) + if company_name.nil? + fail ArgumentError, 'company_name cannot be nil' + end + + if company_name.to_s.length > 90 + fail ArgumentError, 'invalid value for "company_name", the character length must be smaller than or equal to 90.' + end + + if company_name.to_s.length < 0 + fail ArgumentError, 'invalid value for "company_name", the character length must be greater than or equal to 0.' + end + + @company_name = company_name + end + + # Custom attribute writer method with validation + # @param [Object] postal_code Value to be assigned + def postal_code=(postal_code) + if postal_code.nil? + fail ArgumentError, 'postal_code cannot be nil' + end + + if postal_code.to_s.length > 10 + fail ArgumentError, 'invalid value for "postal_code", the character length must be smaller than or equal to 10.' + end + + if postal_code.to_s.length < 0 + fail ArgumentError, 'invalid value for "postal_code", the character length must be greater than or equal to 0.' + end + + pattern = Regexp.new(/[\dA-Za-z]*/) + if postal_code !~ pattern + fail ArgumentError, "invalid value for \"postal_code\", must conform to the pattern #{pattern}." + end + + @postal_code = postal_code + end + + # Custom attribute writer method with validation + # @param [Object] city Value to be assigned + def city=(city) + if city.nil? + fail ArgumentError, 'city cannot be nil' + end + + if city.to_s.length > 34 + fail ArgumentError, 'invalid value for "city", the character length must be smaller than or equal to 34.' + end + + if city.to_s.length < 0 + fail ArgumentError, 'invalid value for "city", the character length must be greater than or equal to 0.' + end + + @city = city + end + + # Custom attribute writer method with validation + # @param [Object] street Value to be assigned + def street=(street) + if street.nil? + fail ArgumentError, 'street cannot be nil' + end + + if street.to_s.length > 33 + fail ArgumentError, 'invalid value for "street", the character length must be smaller than or equal to 33.' + end + + if street.to_s.length < 0 + fail ArgumentError, 'invalid value for "street", the character length must be greater than or equal to 0.' + end + + @street = street + end + + # Custom attribute writer method with validation + # @param [Object] house_number Value to be assigned + def house_number=(house_number) + if house_number.nil? + fail ArgumentError, 'house_number cannot be nil' + end + + if house_number.to_s.length > 9 + fail ArgumentError, 'invalid value for "house_number", the character length must be smaller than or equal to 9.' + end + + if house_number.to_s.length < 0 + fail ArgumentError, 'invalid value for "house_number", the character length must be greater than or equal to 0.' + end + + @house_number = house_number + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + gender == o.gender && + name == o.name && + telephone == o.telephone && + fax == o.fax && + email == o.email && + company_name == o.company_name && + postal_code == o.postal_code && + city == o.city && + street == o.street && + house_number == o.house_number + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [gender, name, telephone, fax, email, company_name, postal_code, city, street, house_number].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + transformed_hash = {} + openapi_types.each_pair do |key, type| + if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = nil + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[attribute_map[key]].is_a?(Array) + transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) } + end + elsif !attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]]) + end + end + new(transformed_hash) + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + end + +end diff --git a/lib/kombo_client/models/post_custom_datev_employees_employee_id_eau_requests_request_body_notification.rb b/lib/kombo_client/models/post_custom_datev_employees_employee_id_eau_requests_request_body_notification.rb new file mode 100644 index 0000000..f4ed5dc --- /dev/null +++ b/lib/kombo_client/models/post_custom_datev_employees_employee_id_eau_requests_request_body_notification.rb @@ -0,0 +1,176 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.17.0 + +=end + +require 'date' +require 'time' + +module Kombo + class PostCustomDatevEmployeesEmployeeIdEauRequestsRequestBodyNotification < ApiModelBase + # This is the email address that should be notified as soon as a feedback is received. + attr_accessor :email + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'email' => :'email' + } + end + + # Returns attribute mapping this model knows about + def self.acceptable_attribute_map + attribute_map + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + acceptable_attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'email' => :'String' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Kombo::PostCustomDatevEmployeesEmployeeIdEauRequestsRequestBodyNotification` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + acceptable_attribute_map = self.class.acceptable_attribute_map + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!acceptable_attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Kombo::PostCustomDatevEmployeesEmployeeIdEauRequestsRequestBodyNotification`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'email') + self.email = attributes[:'email'] + else + self.email = nil + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + warn '[DEPRECATED] the `list_invalid_properties` method is obsolete' + invalid_properties = Array.new + if @email.nil? + invalid_properties.push('invalid value for "email", email cannot be nil.') + end + + pattern = Regexp.new(/^[\w!#$%&'*+\/=?^`{|}~-]+(?:\.[\w!#$%&'*+\/=?^`{|}~-]+)*@(?:[\w-]+\.)+[\w-]{2,}$/) + if @email !~ pattern + invalid_properties.push("invalid value for \"email\", must conform to the pattern #{pattern}.") + end + + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + warn '[DEPRECATED] the `valid?` method is obsolete' + return false if @email.nil? + return false if @email !~ Regexp.new(/^[\w!#$%&'*+\/=?^`{|}~-]+(?:\.[\w!#$%&'*+\/=?^`{|}~-]+)*@(?:[\w-]+\.)+[\w-]{2,}$/) + true + end + + # Custom attribute writer method with validation + # @param [Object] email Value to be assigned + def email=(email) + if email.nil? + fail ArgumentError, 'email cannot be nil' + end + + pattern = Regexp.new(/^[\w!#$%&'*+\/=?^`{|}~-]+(?:\.[\w!#$%&'*+\/=?^`{|}~-]+)*@(?:[\w-]+\.)+[\w-]{2,}$/) + if email !~ pattern + fail ArgumentError, "invalid value for \"email\", must conform to the pattern #{pattern}." + end + + @email = email + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + email == o.email + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [email].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + transformed_hash = {} + openapi_types.each_pair do |key, type| + if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = nil + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[attribute_map[key]].is_a?(Array) + transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) } + end + elsif !attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]]) + end + end + new(transformed_hash) + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + end + +end diff --git a/lib/kombo_client/models/post_custom_datev_passthrough_positive_response.rb b/lib/kombo_client/models/post_custom_datev_passthrough_positive_response.rb new file mode 100644 index 0000000..2a04a26 --- /dev/null +++ b/lib/kombo_client/models/post_custom_datev_passthrough_positive_response.rb @@ -0,0 +1,243 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.17.0 + +=end + +require 'date' +require 'time' + +module Kombo + class PostCustomDatevPassthroughPositiveResponse < ApiModelBase + attr_accessor :status + + attr_accessor :data + + # 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. + attr_accessor :warnings + + class EnumAttributeValidator + attr_reader :datatype + attr_reader :allowable_values + + def initialize(datatype, allowable_values) + @allowable_values = allowable_values.map do |value| + case datatype.to_s + when /Integer/i + value.to_i + when /Float/i + value.to_f + else + value + end + end + end + + def valid?(value) + !value || allowable_values.include?(value) + end + end + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'status' => :'status', + :'data' => :'data', + :'warnings' => :'warnings' + } + end + + # Returns attribute mapping this model knows about + def self.acceptable_attribute_map + attribute_map + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + acceptable_attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'status' => :'String', + :'data' => :'Object', + :'warnings' => :'Array' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Kombo::PostCustomDatevPassthroughPositiveResponse` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + acceptable_attribute_map = self.class.acceptable_attribute_map + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!acceptable_attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Kombo::PostCustomDatevPassthroughPositiveResponse`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'status') + self.status = attributes[:'status'] + else + self.status = nil + end + + if attributes.key?(:'data') + self.data = attributes[:'data'] + else + self.data = nil + end + + if attributes.key?(:'warnings') + if (value = attributes[:'warnings']).is_a?(Array) + self.warnings = value + end + else + self.warnings = nil + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + warn '[DEPRECATED] the `list_invalid_properties` method is obsolete' + invalid_properties = Array.new + if @status.nil? + invalid_properties.push('invalid value for "status", status cannot be nil.') + end + + if @data.nil? + invalid_properties.push('invalid value for "data", data cannot be nil.') + end + + if @warnings.nil? + invalid_properties.push('invalid value for "warnings", warnings cannot be nil.') + end + + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + warn '[DEPRECATED] the `valid?` method is obsolete' + return false if @status.nil? + status_validator = EnumAttributeValidator.new('String', ["success"]) + return false unless status_validator.valid?(@status) + return false if @data.nil? + return false if @warnings.nil? + true + end + + # Custom attribute writer method checking allowed values (enum). + # @param [Object] status Object to be assigned + def status=(status) + validator = EnumAttributeValidator.new('String', ["success"]) + unless validator.valid?(status) + fail ArgumentError, "invalid value for \"status\", must be one of #{validator.allowable_values}." + end + @status = status + end + + # Custom attribute writer method with validation + # @param [Object] data Value to be assigned + def data=(data) + if data.nil? + fail ArgumentError, 'data cannot be nil' + end + + @data = data + end + + # Custom attribute writer method with validation + # @param [Object] warnings Value to be assigned + def warnings=(warnings) + if warnings.nil? + fail ArgumentError, 'warnings cannot be nil' + end + + @warnings = warnings + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + status == o.status && + data == o.data && + warnings == o.warnings + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [status, data, warnings].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + transformed_hash = {} + openapi_types.each_pair do |key, type| + if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = nil + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[attribute_map[key]].is_a?(Array) + transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) } + end + elsif !attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]]) + end + end + new(transformed_hash) + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + end + +end diff --git a/lib/kombo_client/models/post_custom_datev_passthrough_request_body.rb b/lib/kombo_client/models/post_custom_datev_passthrough_request_body.rb new file mode 100644 index 0000000..40ed9e3 --- /dev/null +++ b/lib/kombo_client/models/post_custom_datev_passthrough_request_body.rb @@ -0,0 +1,315 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.17.0 + +=end + +require 'date' +require 'time' + +module Kombo + class PostCustomDatevPassthroughRequestBody < ApiModelBase + attr_accessor :file_content + + # YYYY-MM-DDTHH:mm:ss.sssZ + attr_accessor :accounting_month + + attr_accessor :target_system + + attr_accessor :file_type + + attr_accessor :file_name + + class EnumAttributeValidator + attr_reader :datatype + attr_reader :allowable_values + + def initialize(datatype, allowable_values) + @allowable_values = allowable_values.map do |value| + case datatype.to_s + when /Integer/i + value.to_i + when /Float/i + value.to_f + else + value + end + end + end + + def valid?(value) + !value || allowable_values.include?(value) + end + end + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'file_content' => :'file_content', + :'accounting_month' => :'accounting_month', + :'target_system' => :'target_system', + :'file_type' => :'file_type', + :'file_name' => :'file_name' + } + end + + # Returns attribute mapping this model knows about + def self.acceptable_attribute_map + attribute_map + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + acceptable_attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'file_content' => :'String', + :'accounting_month' => :'Time', + :'target_system' => :'String', + :'file_type' => :'String', + :'file_name' => :'String' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Kombo::PostCustomDatevPassthroughRequestBody` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + acceptable_attribute_map = self.class.acceptable_attribute_map + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!acceptable_attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Kombo::PostCustomDatevPassthroughRequestBody`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'file_content') + self.file_content = attributes[:'file_content'] + else + self.file_content = nil + end + + if attributes.key?(:'accounting_month') + self.accounting_month = attributes[:'accounting_month'] + else + self.accounting_month = nil + end + + if attributes.key?(:'target_system') + self.target_system = attributes[:'target_system'] + else + self.target_system = nil + end + + if attributes.key?(:'file_type') + self.file_type = attributes[:'file_type'] + else + self.file_type = nil + end + + if attributes.key?(:'file_name') + self.file_name = attributes[:'file_name'] + else + self.file_name = nil + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + warn '[DEPRECATED] the `list_invalid_properties` method is obsolete' + invalid_properties = Array.new + if @file_content.nil? + invalid_properties.push('invalid value for "file_content", file_content cannot be nil.') + end + + if @file_content.to_s.length < 1 + invalid_properties.push('invalid value for "file_content", the character length must be greater than or equal to 1.') + end + + if @accounting_month.nil? + invalid_properties.push('invalid value for "accounting_month", accounting_month cannot be nil.') + end + + pattern = Regexp.new(/^\d{4}-\d{2}-\d{2}(T\d{2}:\d{2}:\d{2}(\.\d+)?)?Z?$/) + if @accounting_month !~ pattern + invalid_properties.push("invalid value for \"accounting_month\", must conform to the pattern #{pattern}.") + end + + if @target_system.nil? + invalid_properties.push('invalid value for "target_system", target_system cannot be nil.') + end + + if @file_type.nil? + invalid_properties.push('invalid value for "file_type", file_type cannot be nil.') + end + + if @file_name.nil? + invalid_properties.push('invalid value for "file_name", file_name cannot be nil.') + end + + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + warn '[DEPRECATED] the `valid?` method is obsolete' + return false if @file_content.nil? + return false if @file_content.to_s.length < 1 + return false if @accounting_month.nil? + return false if @accounting_month !~ Regexp.new(/^\d{4}-\d{2}-\d{2}(T\d{2}:\d{2}:\d{2}(\.\d+)?)?Z?$/) + return false if @target_system.nil? + target_system_validator = EnumAttributeValidator.new('String', ["LODAS", "LuG"]) + return false unless target_system_validator.valid?(@target_system) + return false if @file_type.nil? + file_type_validator = EnumAttributeValidator.new('String', ["STAMMDATEN", "BEWEGUNGSDATEN"]) + return false unless file_type_validator.valid?(@file_type) + return false if @file_name.nil? + true + end + + # Custom attribute writer method with validation + # @param [Object] file_content Value to be assigned + def file_content=(file_content) + if file_content.nil? + fail ArgumentError, 'file_content cannot be nil' + end + + if file_content.to_s.length < 1 + fail ArgumentError, 'invalid value for "file_content", the character length must be greater than or equal to 1.' + end + + @file_content = file_content + end + + # Custom attribute writer method with validation + # @param [Object] accounting_month Value to be assigned + def accounting_month=(accounting_month) + if accounting_month.nil? + fail ArgumentError, 'accounting_month cannot be nil' + end + + pattern = Regexp.new(/^\d{4}-\d{2}-\d{2}(T\d{2}:\d{2}:\d{2}(\.\d+)?)?Z?$/) + if accounting_month !~ pattern + fail ArgumentError, "invalid value for \"accounting_month\", must conform to the pattern #{pattern}." + end + + @accounting_month = accounting_month + end + + # Custom attribute writer method checking allowed values (enum). + # @param [Object] target_system Object to be assigned + def target_system=(target_system) + validator = EnumAttributeValidator.new('String', ["LODAS", "LuG"]) + unless validator.valid?(target_system) + fail ArgumentError, "invalid value for \"target_system\", must be one of #{validator.allowable_values}." + end + @target_system = target_system + end + + # Custom attribute writer method checking allowed values (enum). + # @param [Object] file_type Object to be assigned + def file_type=(file_type) + validator = EnumAttributeValidator.new('String', ["STAMMDATEN", "BEWEGUNGSDATEN"]) + unless validator.valid?(file_type) + fail ArgumentError, "invalid value for \"file_type\", must be one of #{validator.allowable_values}." + end + @file_type = file_type + end + + # Custom attribute writer method with validation + # @param [Object] file_name Value to be assigned + def file_name=(file_name) + if file_name.nil? + fail ArgumentError, 'file_name cannot be nil' + end + + @file_name = file_name + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + file_content == o.file_content && + accounting_month == o.accounting_month && + target_system == o.target_system && + file_type == o.file_type && + file_name == o.file_name + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [file_content, accounting_month, target_system, file_type, file_name].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + transformed_hash = {} + openapi_types.each_pair do |key, type| + if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = nil + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[attribute_map[key]].is_a?(Array) + transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) } + end + elsif !attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]]) + end + end + new(transformed_hash) + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + end + +end diff --git a/lib/kombo_client/models/post_custom_datev_push_data_general_positive_response.rb b/lib/kombo_client/models/post_custom_datev_push_data_general_positive_response.rb new file mode 100644 index 0000000..e4b8a7b --- /dev/null +++ b/lib/kombo_client/models/post_custom_datev_push_data_general_positive_response.rb @@ -0,0 +1,243 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.17.0 + +=end + +require 'date' +require 'time' + +module Kombo + class PostCustomDatevPushDataGeneralPositiveResponse < ApiModelBase + attr_accessor :status + + attr_accessor :data + + # 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. + attr_accessor :warnings + + class EnumAttributeValidator + attr_reader :datatype + attr_reader :allowable_values + + def initialize(datatype, allowable_values) + @allowable_values = allowable_values.map do |value| + case datatype.to_s + when /Integer/i + value.to_i + when /Float/i + value.to_f + else + value + end + end + end + + def valid?(value) + !value || allowable_values.include?(value) + end + end + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'status' => :'status', + :'data' => :'data', + :'warnings' => :'warnings' + } + end + + # Returns attribute mapping this model knows about + def self.acceptable_attribute_map + attribute_map + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + acceptable_attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'status' => :'String', + :'data' => :'PostCustomDatevPushDataGeneralPositiveResponseData', + :'warnings' => :'Array' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Kombo::PostCustomDatevPushDataGeneralPositiveResponse` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + acceptable_attribute_map = self.class.acceptable_attribute_map + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!acceptable_attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Kombo::PostCustomDatevPushDataGeneralPositiveResponse`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'status') + self.status = attributes[:'status'] + else + self.status = nil + end + + if attributes.key?(:'data') + self.data = attributes[:'data'] + else + self.data = nil + end + + if attributes.key?(:'warnings') + if (value = attributes[:'warnings']).is_a?(Array) + self.warnings = value + end + else + self.warnings = nil + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + warn '[DEPRECATED] the `list_invalid_properties` method is obsolete' + invalid_properties = Array.new + if @status.nil? + invalid_properties.push('invalid value for "status", status cannot be nil.') + end + + if @data.nil? + invalid_properties.push('invalid value for "data", data cannot be nil.') + end + + if @warnings.nil? + invalid_properties.push('invalid value for "warnings", warnings cannot be nil.') + end + + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + warn '[DEPRECATED] the `valid?` method is obsolete' + return false if @status.nil? + status_validator = EnumAttributeValidator.new('String', ["success"]) + return false unless status_validator.valid?(@status) + return false if @data.nil? + return false if @warnings.nil? + true + end + + # Custom attribute writer method checking allowed values (enum). + # @param [Object] status Object to be assigned + def status=(status) + validator = EnumAttributeValidator.new('String', ["success"]) + unless validator.valid?(status) + fail ArgumentError, "invalid value for \"status\", must be one of #{validator.allowable_values}." + end + @status = status + end + + # Custom attribute writer method with validation + # @param [Object] data Value to be assigned + def data=(data) + if data.nil? + fail ArgumentError, 'data cannot be nil' + end + + @data = data + end + + # Custom attribute writer method with validation + # @param [Object] warnings Value to be assigned + def warnings=(warnings) + if warnings.nil? + fail ArgumentError, 'warnings cannot be nil' + end + + @warnings = warnings + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + status == o.status && + data == o.data && + warnings == o.warnings + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [status, data, warnings].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + transformed_hash = {} + openapi_types.each_pair do |key, type| + if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = nil + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[attribute_map[key]].is_a?(Array) + transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) } + end + elsif !attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]]) + end + end + new(transformed_hash) + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + end + +end diff --git a/lib/kombo_client/models/post_custom_datev_push_data_general_positive_response_data.rb b/lib/kombo_client/models/post_custom_datev_push_data_general_positive_response_data.rb new file mode 100644 index 0000000..3e5e098 --- /dev/null +++ b/lib/kombo_client/models/post_custom_datev_push_data_general_positive_response_data.rb @@ -0,0 +1,166 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.17.0 + +=end + +require 'date' +require 'time' + +module Kombo + class PostCustomDatevPushDataGeneralPositiveResponseData < ApiModelBase + attr_accessor :files + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'files' => :'files' + } + end + + # Returns attribute mapping this model knows about + def self.acceptable_attribute_map + attribute_map + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + acceptable_attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'files' => :'Array' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Kombo::PostCustomDatevPushDataGeneralPositiveResponseData` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + acceptable_attribute_map = self.class.acceptable_attribute_map + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!acceptable_attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Kombo::PostCustomDatevPushDataGeneralPositiveResponseData`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'files') + if (value = attributes[:'files']).is_a?(Array) + self.files = value + end + else + self.files = nil + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + warn '[DEPRECATED] the `list_invalid_properties` method is obsolete' + invalid_properties = Array.new + if @files.nil? + invalid_properties.push('invalid value for "files", files cannot be nil.') + end + + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + warn '[DEPRECATED] the `valid?` method is obsolete' + return false if @files.nil? + true + end + + # Custom attribute writer method with validation + # @param [Object] files Value to be assigned + def files=(files) + if files.nil? + fail ArgumentError, 'files cannot be nil' + end + + @files = files + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + files == o.files + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [files].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + transformed_hash = {} + openapi_types.each_pair do |key, type| + if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = nil + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[attribute_map[key]].is_a?(Array) + transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) } + end + elsif !attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]]) + end + end + new(transformed_hash) + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + end + +end diff --git a/lib/kombo_client/models/post_custom_datev_push_data_general_positive_response_data_files_inner.rb b/lib/kombo_client/models/post_custom_datev_push_data_general_positive_response_data_files_inner.rb new file mode 100644 index 0000000..41dfd57 --- /dev/null +++ b/lib/kombo_client/models/post_custom_datev_push_data_general_positive_response_data_files_inner.rb @@ -0,0 +1,190 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.17.0 + +=end + +require 'date' +require 'time' + +module Kombo + class PostCustomDatevPushDataGeneralPositiveResponseDataFilesInner < ApiModelBase + attr_accessor :name + + attr_accessor :content + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'name' => :'name', + :'content' => :'content' + } + end + + # Returns attribute mapping this model knows about + def self.acceptable_attribute_map + attribute_map + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + acceptable_attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'name' => :'String', + :'content' => :'String' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Kombo::PostCustomDatevPushDataGeneralPositiveResponseDataFilesInner` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + acceptable_attribute_map = self.class.acceptable_attribute_map + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!acceptable_attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Kombo::PostCustomDatevPushDataGeneralPositiveResponseDataFilesInner`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'name') + self.name = attributes[:'name'] + else + self.name = nil + end + + if attributes.key?(:'content') + self.content = attributes[:'content'] + else + self.content = nil + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + warn '[DEPRECATED] the `list_invalid_properties` method is obsolete' + invalid_properties = Array.new + if @name.nil? + invalid_properties.push('invalid value for "name", name cannot be nil.') + end + + if @content.nil? + invalid_properties.push('invalid value for "content", content cannot be nil.') + end + + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + warn '[DEPRECATED] the `valid?` method is obsolete' + return false if @name.nil? + return false if @content.nil? + true + end + + # Custom attribute writer method with validation + # @param [Object] name Value to be assigned + def name=(name) + if name.nil? + fail ArgumentError, 'name cannot be nil' + end + + @name = name + end + + # Custom attribute writer method with validation + # @param [Object] content Value to be assigned + def content=(content) + if content.nil? + fail ArgumentError, 'content cannot be nil' + end + + @content = content + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + name == o.name && + content == o.content + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [name, content].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + transformed_hash = {} + openapi_types.each_pair do |key, type| + if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = nil + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[attribute_map[key]].is_a?(Array) + transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) } + end + elsif !attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]]) + end + end + new(transformed_hash) + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + end + +end diff --git a/lib/kombo_client/models/post_custom_datev_push_data_payroll_positive_response.rb b/lib/kombo_client/models/post_custom_datev_push_data_payroll_positive_response.rb new file mode 100644 index 0000000..b6c1828 --- /dev/null +++ b/lib/kombo_client/models/post_custom_datev_push_data_payroll_positive_response.rb @@ -0,0 +1,243 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.17.0 + +=end + +require 'date' +require 'time' + +module Kombo + class PostCustomDatevPushDataPayrollPositiveResponse < ApiModelBase + attr_accessor :status + + attr_accessor :data + + # 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. + attr_accessor :warnings + + class EnumAttributeValidator + attr_reader :datatype + attr_reader :allowable_values + + def initialize(datatype, allowable_values) + @allowable_values = allowable_values.map do |value| + case datatype.to_s + when /Integer/i + value.to_i + when /Float/i + value.to_f + else + value + end + end + end + + def valid?(value) + !value || allowable_values.include?(value) + end + end + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'status' => :'status', + :'data' => :'data', + :'warnings' => :'warnings' + } + end + + # Returns attribute mapping this model knows about + def self.acceptable_attribute_map + attribute_map + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + acceptable_attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'status' => :'String', + :'data' => :'PostCustomDatevPushDataGeneralPositiveResponseData', + :'warnings' => :'Array' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Kombo::PostCustomDatevPushDataPayrollPositiveResponse` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + acceptable_attribute_map = self.class.acceptable_attribute_map + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!acceptable_attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Kombo::PostCustomDatevPushDataPayrollPositiveResponse`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'status') + self.status = attributes[:'status'] + else + self.status = nil + end + + if attributes.key?(:'data') + self.data = attributes[:'data'] + else + self.data = nil + end + + if attributes.key?(:'warnings') + if (value = attributes[:'warnings']).is_a?(Array) + self.warnings = value + end + else + self.warnings = nil + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + warn '[DEPRECATED] the `list_invalid_properties` method is obsolete' + invalid_properties = Array.new + if @status.nil? + invalid_properties.push('invalid value for "status", status cannot be nil.') + end + + if @data.nil? + invalid_properties.push('invalid value for "data", data cannot be nil.') + end + + if @warnings.nil? + invalid_properties.push('invalid value for "warnings", warnings cannot be nil.') + end + + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + warn '[DEPRECATED] the `valid?` method is obsolete' + return false if @status.nil? + status_validator = EnumAttributeValidator.new('String', ["success"]) + return false unless status_validator.valid?(@status) + return false if @data.nil? + return false if @warnings.nil? + true + end + + # Custom attribute writer method checking allowed values (enum). + # @param [Object] status Object to be assigned + def status=(status) + validator = EnumAttributeValidator.new('String', ["success"]) + unless validator.valid?(status) + fail ArgumentError, "invalid value for \"status\", must be one of #{validator.allowable_values}." + end + @status = status + end + + # Custom attribute writer method with validation + # @param [Object] data Value to be assigned + def data=(data) + if data.nil? + fail ArgumentError, 'data cannot be nil' + end + + @data = data + end + + # Custom attribute writer method with validation + # @param [Object] warnings Value to be assigned + def warnings=(warnings) + if warnings.nil? + fail ArgumentError, 'warnings cannot be nil' + end + + @warnings = warnings + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + status == o.status && + data == o.data && + warnings == o.warnings + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [status, data, warnings].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + transformed_hash = {} + openapi_types.each_pair do |key, type| + if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = nil + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[attribute_map[key]].is_a?(Array) + transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) } + end + elsif !attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]]) + end + end + new(transformed_hash) + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + end + +end diff --git a/lib/kombo_client/models/post_custom_datev_push_data_payroll_request_body.rb b/lib/kombo_client/models/post_custom_datev_push_data_payroll_request_body.rb new file mode 100644 index 0000000..0b42cba --- /dev/null +++ b/lib/kombo_client/models/post_custom_datev_push_data_payroll_request_body.rb @@ -0,0 +1,176 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.17.0 + +=end + +require 'date' +require 'time' + +module Kombo + class PostCustomDatevPushDataPayrollRequestBody < ApiModelBase + # 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). + attr_accessor :payroll_month + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'payroll_month' => :'payroll_month' + } + end + + # Returns attribute mapping this model knows about + def self.acceptable_attribute_map + attribute_map + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + acceptable_attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'payroll_month' => :'Time' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Kombo::PostCustomDatevPushDataPayrollRequestBody` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + acceptable_attribute_map = self.class.acceptable_attribute_map + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!acceptable_attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Kombo::PostCustomDatevPushDataPayrollRequestBody`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'payroll_month') + self.payroll_month = attributes[:'payroll_month'] + else + self.payroll_month = nil + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + warn '[DEPRECATED] the `list_invalid_properties` method is obsolete' + invalid_properties = Array.new + if @payroll_month.nil? + invalid_properties.push('invalid value for "payroll_month", payroll_month cannot be nil.') + end + + pattern = Regexp.new(/^\d{4}-\d{2}-\d{2}(T\d{2}:\d{2}:\d{2}(\.\d+)?)?Z?$/) + if @payroll_month !~ pattern + invalid_properties.push("invalid value for \"payroll_month\", must conform to the pattern #{pattern}.") + end + + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + warn '[DEPRECATED] the `valid?` method is obsolete' + return false if @payroll_month.nil? + return false if @payroll_month !~ Regexp.new(/^\d{4}-\d{2}-\d{2}(T\d{2}:\d{2}:\d{2}(\.\d+)?)?Z?$/) + true + end + + # Custom attribute writer method with validation + # @param [Object] payroll_month Value to be assigned + def payroll_month=(payroll_month) + if payroll_month.nil? + fail ArgumentError, 'payroll_month cannot be nil' + end + + pattern = Regexp.new(/^\d{4}-\d{2}-\d{2}(T\d{2}:\d{2}:\d{2}(\.\d+)?)?Z?$/) + if payroll_month !~ pattern + fail ArgumentError, "invalid value for \"payroll_month\", must conform to the pattern #{pattern}." + end + + @payroll_month = payroll_month + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + payroll_month == o.payroll_month + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [payroll_month].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + transformed_hash = {} + openapi_types.each_pair do |key, type| + if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = nil + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[attribute_map[key]].is_a?(Array) + transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) } + end + elsif !attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]]) + end + end + new(transformed_hash) + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + end + +end diff --git a/lib/kombo_client/models/post_custom_silae_employees_employee_id_payroll_supplements_positive_response.rb b/lib/kombo_client/models/post_custom_silae_employees_employee_id_payroll_supplements_positive_response.rb new file mode 100644 index 0000000..ebf7c9c --- /dev/null +++ b/lib/kombo_client/models/post_custom_silae_employees_employee_id_payroll_supplements_positive_response.rb @@ -0,0 +1,243 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.17.0 + +=end + +require 'date' +require 'time' + +module Kombo + class PostCustomSilaeEmployeesEmployeeIdPayrollSupplementsPositiveResponse < ApiModelBase + attr_accessor :status + + attr_accessor :data + + # 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. + attr_accessor :warnings + + class EnumAttributeValidator + attr_reader :datatype + attr_reader :allowable_values + + def initialize(datatype, allowable_values) + @allowable_values = allowable_values.map do |value| + case datatype.to_s + when /Integer/i + value.to_i + when /Float/i + value.to_f + else + value + end + end + end + + def valid?(value) + !value || allowable_values.include?(value) + end + end + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'status' => :'status', + :'data' => :'data', + :'warnings' => :'warnings' + } + end + + # Returns attribute mapping this model knows about + def self.acceptable_attribute_map + attribute_map + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + acceptable_attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'status' => :'String', + :'data' => :'Object', + :'warnings' => :'Array' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Kombo::PostCustomSilaeEmployeesEmployeeIdPayrollSupplementsPositiveResponse` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + acceptable_attribute_map = self.class.acceptable_attribute_map + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!acceptable_attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Kombo::PostCustomSilaeEmployeesEmployeeIdPayrollSupplementsPositiveResponse`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'status') + self.status = attributes[:'status'] + else + self.status = nil + end + + if attributes.key?(:'data') + self.data = attributes[:'data'] + else + self.data = nil + end + + if attributes.key?(:'warnings') + if (value = attributes[:'warnings']).is_a?(Array) + self.warnings = value + end + else + self.warnings = nil + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + warn '[DEPRECATED] the `list_invalid_properties` method is obsolete' + invalid_properties = Array.new + if @status.nil? + invalid_properties.push('invalid value for "status", status cannot be nil.') + end + + if @data.nil? + invalid_properties.push('invalid value for "data", data cannot be nil.') + end + + if @warnings.nil? + invalid_properties.push('invalid value for "warnings", warnings cannot be nil.') + end + + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + warn '[DEPRECATED] the `valid?` method is obsolete' + return false if @status.nil? + status_validator = EnumAttributeValidator.new('String', ["success"]) + return false unless status_validator.valid?(@status) + return false if @data.nil? + return false if @warnings.nil? + true + end + + # Custom attribute writer method checking allowed values (enum). + # @param [Object] status Object to be assigned + def status=(status) + validator = EnumAttributeValidator.new('String', ["success"]) + unless validator.valid?(status) + fail ArgumentError, "invalid value for \"status\", must be one of #{validator.allowable_values}." + end + @status = status + end + + # Custom attribute writer method with validation + # @param [Object] data Value to be assigned + def data=(data) + if data.nil? + fail ArgumentError, 'data cannot be nil' + end + + @data = data + end + + # Custom attribute writer method with validation + # @param [Object] warnings Value to be assigned + def warnings=(warnings) + if warnings.nil? + fail ArgumentError, 'warnings cannot be nil' + end + + @warnings = warnings + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + status == o.status && + data == o.data && + warnings == o.warnings + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [status, data, warnings].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + transformed_hash = {} + openapi_types.each_pair do |key, type| + if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = nil + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[attribute_map[key]].is_a?(Array) + transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) } + end + elsif !attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]]) + end + end + new(transformed_hash) + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + end + +end diff --git a/lib/kombo_client/models/post_custom_silae_employees_employee_id_payroll_supplements_request_body.rb b/lib/kombo_client/models/post_custom_silae_employees_employee_id_payroll_supplements_request_body.rb new file mode 100644 index 0000000..b17094c --- /dev/null +++ b/lib/kombo_client/models/post_custom_silae_employees_employee_id_payroll_supplements_request_body.rb @@ -0,0 +1,242 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.17.0 + +=end + +require 'date' +require 'time' + +module Kombo + class PostCustomSilaeEmployeesEmployeeIdPayrollSupplementsRequestBody < ApiModelBase + # The ID code of the supplement that you want to add to Silae. + attr_accessor :supplement_code + + # Date from which the submitted supplement should be active. + attr_accessor :effective_date + + # The amount of the supplement if it requires a number. + attr_accessor :element_amount + + # The string of the supplement if it requires a string. + attr_accessor :element_string + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'supplement_code' => :'supplement_code', + :'effective_date' => :'effective_date', + :'element_amount' => :'element_amount', + :'element_string' => :'element_string' + } + end + + # Returns attribute mapping this model knows about + def self.acceptable_attribute_map + attribute_map + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + acceptable_attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'supplement_code' => :'String', + :'effective_date' => :'Time', + :'element_amount' => :'Float', + :'element_string' => :'String' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Kombo::PostCustomSilaeEmployeesEmployeeIdPayrollSupplementsRequestBody` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + acceptable_attribute_map = self.class.acceptable_attribute_map + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!acceptable_attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Kombo::PostCustomSilaeEmployeesEmployeeIdPayrollSupplementsRequestBody`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'supplement_code') + self.supplement_code = attributes[:'supplement_code'] + else + self.supplement_code = nil + end + + if attributes.key?(:'effective_date') + self.effective_date = attributes[:'effective_date'] + else + self.effective_date = nil + end + + if attributes.key?(:'element_amount') + self.element_amount = attributes[:'element_amount'] + end + + if attributes.key?(:'element_string') + self.element_string = attributes[:'element_string'] + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + warn '[DEPRECATED] the `list_invalid_properties` method is obsolete' + invalid_properties = Array.new + if @supplement_code.nil? + invalid_properties.push('invalid value for "supplement_code", supplement_code cannot be nil.') + end + + if @effective_date.nil? + invalid_properties.push('invalid value for "effective_date", effective_date cannot be nil.') + end + + pattern = Regexp.new(/^\d{4}-\d{2}-\d{2}(T\d{2}:\d{2}:\d{2}(\.\d+)?)?Z?$/) + if @effective_date !~ pattern + invalid_properties.push("invalid value for \"effective_date\", must conform to the pattern #{pattern}.") + end + + if !@element_amount.nil? && @element_amount < -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + invalid_properties.push('invalid value for "element_amount", must be greater than or equal to -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.') + end + + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + warn '[DEPRECATED] the `valid?` method is obsolete' + return false if @supplement_code.nil? + return false if @effective_date.nil? + return false if @effective_date !~ Regexp.new(/^\d{4}-\d{2}-\d{2}(T\d{2}:\d{2}:\d{2}(\.\d+)?)?Z?$/) + return false if !@element_amount.nil? && @element_amount < -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + true + end + + # Custom attribute writer method with validation + # @param [Object] supplement_code Value to be assigned + def supplement_code=(supplement_code) + if supplement_code.nil? + fail ArgumentError, 'supplement_code cannot be nil' + end + + @supplement_code = supplement_code + end + + # Custom attribute writer method with validation + # @param [Object] effective_date Value to be assigned + def effective_date=(effective_date) + if effective_date.nil? + fail ArgumentError, 'effective_date cannot be nil' + end + + pattern = Regexp.new(/^\d{4}-\d{2}-\d{2}(T\d{2}:\d{2}:\d{2}(\.\d+)?)?Z?$/) + if effective_date !~ pattern + fail ArgumentError, "invalid value for \"effective_date\", must conform to the pattern #{pattern}." + end + + @effective_date = effective_date + end + + # Custom attribute writer method with validation + # @param [Object] element_amount Value to be assigned + def element_amount=(element_amount) + if element_amount.nil? + fail ArgumentError, 'element_amount cannot be nil' + end + + if element_amount < -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + fail ArgumentError, 'invalid value for "element_amount", must be greater than or equal to -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.' + end + + @element_amount = element_amount + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + supplement_code == o.supplement_code && + effective_date == o.effective_date && + element_amount == o.element_amount && + element_string == o.element_string + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [supplement_code, effective_date, element_amount, element_string].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + transformed_hash = {} + openapi_types.each_pair do |key, type| + if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = nil + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[attribute_map[key]].is_a?(Array) + transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) } + end + elsif !attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]]) + end + end + new(transformed_hash) + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + end + +end diff --git a/lib/kombo_client/models/post_force_sync_positive_response.rb b/lib/kombo_client/models/post_force_sync_positive_response.rb new file mode 100644 index 0000000..2d28fc3 --- /dev/null +++ b/lib/kombo_client/models/post_force_sync_positive_response.rb @@ -0,0 +1,214 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.17.0 + +=end + +require 'date' +require 'time' + +module Kombo + class PostForceSyncPositiveResponse < ApiModelBase + attr_accessor :status + + attr_accessor :data + + class EnumAttributeValidator + attr_reader :datatype + attr_reader :allowable_values + + def initialize(datatype, allowable_values) + @allowable_values = allowable_values.map do |value| + case datatype.to_s + when /Integer/i + value.to_i + when /Float/i + value.to_f + else + value + end + end + end + + def valid?(value) + !value || allowable_values.include?(value) + end + end + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'status' => :'status', + :'data' => :'data' + } + end + + # Returns attribute mapping this model knows about + def self.acceptable_attribute_map + attribute_map + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + acceptable_attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'status' => :'String', + :'data' => :'PostForceSyncPositiveResponseData' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Kombo::PostForceSyncPositiveResponse` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + acceptable_attribute_map = self.class.acceptable_attribute_map + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!acceptable_attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Kombo::PostForceSyncPositiveResponse`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'status') + self.status = attributes[:'status'] + else + self.status = nil + end + + if attributes.key?(:'data') + self.data = attributes[:'data'] + else + self.data = nil + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + warn '[DEPRECATED] the `list_invalid_properties` method is obsolete' + invalid_properties = Array.new + if @status.nil? + invalid_properties.push('invalid value for "status", status cannot be nil.') + end + + if @data.nil? + invalid_properties.push('invalid value for "data", data cannot be nil.') + end + + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + warn '[DEPRECATED] the `valid?` method is obsolete' + return false if @status.nil? + status_validator = EnumAttributeValidator.new('String', ["success"]) + return false unless status_validator.valid?(@status) + return false if @data.nil? + true + end + + # Custom attribute writer method checking allowed values (enum). + # @param [Object] status Object to be assigned + def status=(status) + validator = EnumAttributeValidator.new('String', ["success"]) + unless validator.valid?(status) + fail ArgumentError, "invalid value for \"status\", must be one of #{validator.allowable_values}." + end + @status = status + end + + # Custom attribute writer method with validation + # @param [Object] data Value to be assigned + def data=(data) + if data.nil? + fail ArgumentError, 'data cannot be nil' + end + + @data = data + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + status == o.status && + data == o.data + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [status, data].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + transformed_hash = {} + openapi_types.each_pair do |key, type| + if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = nil + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[attribute_map[key]].is_a?(Array) + transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) } + end + elsif !attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]]) + end + end + new(transformed_hash) + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + end + +end diff --git a/lib/kombo_client/models/post_force_sync_positive_response_data.rb b/lib/kombo_client/models/post_force_sync_positive_response_data.rb new file mode 100644 index 0000000..04cb6ad --- /dev/null +++ b/lib/kombo_client/models/post_force_sync_positive_response_data.rb @@ -0,0 +1,243 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.17.0 + +=end + +require 'date' +require 'time' + +module Kombo + class PostForceSyncPositiveResponseData < ApiModelBase + # We only allow 1 concurrent sync to be running or queued. + attr_accessor :already_queued + + # ID of the newly-created or already-queued-or-running sync. + attr_accessor :sync_id + + # 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. + attr_accessor :type + + class EnumAttributeValidator + attr_reader :datatype + attr_reader :allowable_values + + def initialize(datatype, allowable_values) + @allowable_values = allowable_values.map do |value| + case datatype.to_s + when /Integer/i + value.to_i + when /Float/i + value.to_f + else + value + end + end + end + + def valid?(value) + !value || allowable_values.include?(value) + end + end + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'already_queued' => :'already_queued', + :'sync_id' => :'sync_id', + :'type' => :'type' + } + end + + # Returns attribute mapping this model knows about + def self.acceptable_attribute_map + attribute_map + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + acceptable_attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'already_queued' => :'Boolean', + :'sync_id' => :'String', + :'type' => :'String' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Kombo::PostForceSyncPositiveResponseData` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + acceptable_attribute_map = self.class.acceptable_attribute_map + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!acceptable_attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Kombo::PostForceSyncPositiveResponseData`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'already_queued') + self.already_queued = attributes[:'already_queued'] + else + self.already_queued = nil + end + + if attributes.key?(:'sync_id') + self.sync_id = attributes[:'sync_id'] + else + self.sync_id = nil + end + + if attributes.key?(:'type') + self.type = attributes[:'type'] + else + self.type = nil + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + warn '[DEPRECATED] the `list_invalid_properties` method is obsolete' + invalid_properties = Array.new + if @already_queued.nil? + invalid_properties.push('invalid value for "already_queued", already_queued cannot be nil.') + end + + if @sync_id.nil? + invalid_properties.push('invalid value for "sync_id", sync_id cannot be nil.') + end + + if @type.nil? + invalid_properties.push('invalid value for "type", type cannot be nil.') + end + + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + warn '[DEPRECATED] the `valid?` method is obsolete' + return false if @already_queued.nil? + return false if @sync_id.nil? + return false if @type.nil? + type_validator = EnumAttributeValidator.new('String', ["FULL", "DELTA"]) + return false unless type_validator.valid?(@type) + true + end + + # Custom attribute writer method with validation + # @param [Object] already_queued Value to be assigned + def already_queued=(already_queued) + if already_queued.nil? + fail ArgumentError, 'already_queued cannot be nil' + end + + @already_queued = already_queued + end + + # Custom attribute writer method with validation + # @param [Object] sync_id Value to be assigned + def sync_id=(sync_id) + if sync_id.nil? + fail ArgumentError, 'sync_id cannot be nil' + end + + @sync_id = sync_id + end + + # Custom attribute writer method checking allowed values (enum). + # @param [Object] type Object to be assigned + def type=(type) + validator = EnumAttributeValidator.new('String', ["FULL", "DELTA"]) + unless validator.valid?(type) + fail ArgumentError, "invalid value for \"type\", must be one of #{validator.allowable_values}." + end + @type = type + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + already_queued == o.already_queued && + sync_id == o.sync_id && + type == o.type + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [already_queued, sync_id, type].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + transformed_hash = {} + openapi_types.each_pair do |key, type| + if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = nil + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[attribute_map[key]].is_a?(Array) + transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) } + end + elsif !attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]]) + end + end + new(transformed_hash) + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + end + +end diff --git a/lib/kombo_client/models/post_force_sync_request_body.rb b/lib/kombo_client/models/post_force_sync_request_body.rb new file mode 100644 index 0000000..59943f0 --- /dev/null +++ b/lib/kombo_client/models/post_force_sync_request_body.rb @@ -0,0 +1,184 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.17.0 + +=end + +require 'date' +require 'time' + +module Kombo + class PostForceSyncRequestBody < ApiModelBase + # The type of the triggered sync. + attr_accessor :type + + class EnumAttributeValidator + attr_reader :datatype + attr_reader :allowable_values + + def initialize(datatype, allowable_values) + @allowable_values = allowable_values.map do |value| + case datatype.to_s + when /Integer/i + value.to_i + when /Float/i + value.to_f + else + value + end + end + end + + def valid?(value) + !value || allowable_values.include?(value) + end + end + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'type' => :'type' + } + end + + # Returns attribute mapping this model knows about + def self.acceptable_attribute_map + attribute_map + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + acceptable_attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'type' => :'String' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Kombo::PostForceSyncRequestBody` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + acceptable_attribute_map = self.class.acceptable_attribute_map + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!acceptable_attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Kombo::PostForceSyncRequestBody`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'type') + self.type = attributes[:'type'] + else + self.type = 'FULL' + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + warn '[DEPRECATED] the `list_invalid_properties` method is obsolete' + invalid_properties = Array.new + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + warn '[DEPRECATED] the `valid?` method is obsolete' + type_validator = EnumAttributeValidator.new('String', ["FULL", "DELTA"]) + return false unless type_validator.valid?(@type) + true + end + + # Custom attribute writer method checking allowed values (enum). + # @param [Object] type Object to be assigned + def type=(type) + validator = EnumAttributeValidator.new('String', ["FULL", "DELTA"]) + unless validator.valid?(type) + fail ArgumentError, "invalid value for \"type\", must be one of #{validator.allowable_values}." + end + @type = type + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + type == o.type + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [type].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + transformed_hash = {} + openapi_types.each_pair do |key, type| + if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = nil + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[attribute_map[key]].is_a?(Array) + transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) } + end + elsif !attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]]) + end + end + new(transformed_hash) + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + end + +end diff --git a/lib/kombo_client/models/post_hris_absences_positive_response.rb b/lib/kombo_client/models/post_hris_absences_positive_response.rb new file mode 100644 index 0000000..6003747 --- /dev/null +++ b/lib/kombo_client/models/post_hris_absences_positive_response.rb @@ -0,0 +1,243 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.17.0 + +=end + +require 'date' +require 'time' + +module Kombo + class PostHrisAbsencesPositiveResponse < ApiModelBase + attr_accessor :status + + attr_accessor :data + + # 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. + attr_accessor :warnings + + class EnumAttributeValidator + attr_reader :datatype + attr_reader :allowable_values + + def initialize(datatype, allowable_values) + @allowable_values = allowable_values.map do |value| + case datatype.to_s + when /Integer/i + value.to_i + when /Float/i + value.to_f + else + value + end + end + end + + def valid?(value) + !value || allowable_values.include?(value) + end + end + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'status' => :'status', + :'data' => :'data', + :'warnings' => :'warnings' + } + end + + # Returns attribute mapping this model knows about + def self.acceptable_attribute_map + attribute_map + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + acceptable_attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'status' => :'String', + :'data' => :'PostHrisAbsencesPositiveResponseData', + :'warnings' => :'Array' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Kombo::PostHrisAbsencesPositiveResponse` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + acceptable_attribute_map = self.class.acceptable_attribute_map + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!acceptable_attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Kombo::PostHrisAbsencesPositiveResponse`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'status') + self.status = attributes[:'status'] + else + self.status = nil + end + + if attributes.key?(:'data') + self.data = attributes[:'data'] + else + self.data = nil + end + + if attributes.key?(:'warnings') + if (value = attributes[:'warnings']).is_a?(Array) + self.warnings = value + end + else + self.warnings = nil + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + warn '[DEPRECATED] the `list_invalid_properties` method is obsolete' + invalid_properties = Array.new + if @status.nil? + invalid_properties.push('invalid value for "status", status cannot be nil.') + end + + if @data.nil? + invalid_properties.push('invalid value for "data", data cannot be nil.') + end + + if @warnings.nil? + invalid_properties.push('invalid value for "warnings", warnings cannot be nil.') + end + + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + warn '[DEPRECATED] the `valid?` method is obsolete' + return false if @status.nil? + status_validator = EnumAttributeValidator.new('String', ["success"]) + return false unless status_validator.valid?(@status) + return false if @data.nil? + return false if @warnings.nil? + true + end + + # Custom attribute writer method checking allowed values (enum). + # @param [Object] status Object to be assigned + def status=(status) + validator = EnumAttributeValidator.new('String', ["success"]) + unless validator.valid?(status) + fail ArgumentError, "invalid value for \"status\", must be one of #{validator.allowable_values}." + end + @status = status + end + + # Custom attribute writer method with validation + # @param [Object] data Value to be assigned + def data=(data) + if data.nil? + fail ArgumentError, 'data cannot be nil' + end + + @data = data + end + + # Custom attribute writer method with validation + # @param [Object] warnings Value to be assigned + def warnings=(warnings) + if warnings.nil? + fail ArgumentError, 'warnings cannot be nil' + end + + @warnings = warnings + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + status == o.status && + data == o.data && + warnings == o.warnings + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [status, data, warnings].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + transformed_hash = {} + openapi_types.each_pair do |key, type| + if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = nil + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[attribute_map[key]].is_a?(Array) + transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) } + end + elsif !attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]]) + end + end + new(transformed_hash) + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + end + +end diff --git a/lib/kombo_client/models/post_hris_absences_positive_response_data.rb b/lib/kombo_client/models/post_hris_absences_positive_response_data.rb new file mode 100644 index 0000000..dfa1e9d --- /dev/null +++ b/lib/kombo_client/models/post_hris_absences_positive_response_data.rb @@ -0,0 +1,518 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.17.0 + +=end + +require 'date' +require 'time' + +module Kombo + class PostHrisAbsencesPositiveResponseData < ApiModelBase + # The globally unique ID of this object generated by Kombo. We recommend using this as a stable primary key for syncing. + attr_accessor :id + + # 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. + attr_accessor :remote_id + + # 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. + attr_accessor :employee_id + + # **(⚠️ Deprecated - We won't increase coverage for this feature)** The Kombo ID of the employee who is responsible for approving this absence. + attr_accessor :approver_id + + # The date this absence starts in the `yyyy-MM-dd` format. + attr_accessor :start_date + + # The date this absence ends in the `yyyy-MM-dd` format. + attr_accessor :end_date + + # `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. + attr_accessor :start_half_day + + # `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. + attr_accessor :end_half_day + + # The time at which this absence starts. Follows the format `HH:mm:ss` (e.g., `14:45:15`). + attr_accessor :start_time + + # The time at which this absence ends. Follows the format `HH:mm:ss` (e.g., `14:45:15`). + attr_accessor :end_time + + # The amount of time this absence takes. + attr_accessor :amount + + # The unit of time for this absence. Can be `HOURS` or `DAYS`. + attr_accessor :unit + + attr_accessor :status + + # A note the employee has added to this absence. + attr_accessor :employee_note + + # The Kombo absence type ID of this absence. + attr_accessor :type_id + + # 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. + attr_accessor :changed_at + + # 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. + attr_accessor :remote_deleted_at + + # 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. + attr_accessor :remote_data + + class EnumAttributeValidator + attr_reader :datatype + attr_reader :allowable_values + + def initialize(datatype, allowable_values) + @allowable_values = allowable_values.map do |value| + case datatype.to_s + when /Integer/i + value.to_i + when /Float/i + value.to_f + else + value + end + end + end + + def valid?(value) + !value || allowable_values.include?(value) + end + end + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'id' => :'id', + :'remote_id' => :'remote_id', + :'employee_id' => :'employee_id', + :'approver_id' => :'approver_id', + :'start_date' => :'start_date', + :'end_date' => :'end_date', + :'start_half_day' => :'start_half_day', + :'end_half_day' => :'end_half_day', + :'start_time' => :'start_time', + :'end_time' => :'end_time', + :'amount' => :'amount', + :'unit' => :'unit', + :'status' => :'status', + :'employee_note' => :'employee_note', + :'type_id' => :'type_id', + :'changed_at' => :'changed_at', + :'remote_deleted_at' => :'remote_deleted_at', + :'remote_data' => :'remote_data' + } + end + + # Returns attribute mapping this model knows about + def self.acceptable_attribute_map + attribute_map + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + acceptable_attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'id' => :'String', + :'remote_id' => :'String', + :'employee_id' => :'String', + :'approver_id' => :'String', + :'start_date' => :'Null', + :'end_date' => :'Null', + :'start_half_day' => :'Boolean', + :'end_half_day' => :'Boolean', + :'start_time' => :'Null', + :'end_time' => :'Null', + :'amount' => :'Float', + :'unit' => :'String', + :'status' => :'GetHrisAbsencesPositiveResponseDataResultsInnerStatus', + :'employee_note' => :'String', + :'type_id' => :'String', + :'changed_at' => :'Time', + :'remote_deleted_at' => :'Time', + :'remote_data' => :'Hash' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + :'remote_id', + :'approver_id', + :'start_half_day', + :'end_half_day', + :'amount', + :'unit', + :'status', + :'employee_note', + :'type_id', + :'remote_deleted_at', + :'remote_data' + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Kombo::PostHrisAbsencesPositiveResponseData` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + acceptable_attribute_map = self.class.acceptable_attribute_map + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!acceptable_attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Kombo::PostHrisAbsencesPositiveResponseData`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'id') + self.id = attributes[:'id'] + else + self.id = nil + end + + if attributes.key?(:'remote_id') + self.remote_id = attributes[:'remote_id'] + else + self.remote_id = nil + end + + if attributes.key?(:'employee_id') + self.employee_id = attributes[:'employee_id'] + else + self.employee_id = nil + end + + if attributes.key?(:'approver_id') + self.approver_id = attributes[:'approver_id'] + else + self.approver_id = nil + end + + if attributes.key?(:'start_date') + self.start_date = attributes[:'start_date'] + else + self.start_date = nil + end + + if attributes.key?(:'end_date') + self.end_date = attributes[:'end_date'] + else + self.end_date = nil + end + + if attributes.key?(:'start_half_day') + self.start_half_day = attributes[:'start_half_day'] + else + self.start_half_day = nil + end + + if attributes.key?(:'end_half_day') + self.end_half_day = attributes[:'end_half_day'] + else + self.end_half_day = nil + end + + if attributes.key?(:'start_time') + self.start_time = attributes[:'start_time'] + else + self.start_time = nil + end + + if attributes.key?(:'end_time') + self.end_time = attributes[:'end_time'] + else + self.end_time = nil + end + + if attributes.key?(:'amount') + self.amount = attributes[:'amount'] + else + self.amount = nil + end + + if attributes.key?(:'unit') + self.unit = attributes[:'unit'] + else + self.unit = nil + end + + if attributes.key?(:'status') + self.status = attributes[:'status'] + end + + if attributes.key?(:'employee_note') + self.employee_note = attributes[:'employee_note'] + else + self.employee_note = nil + end + + if attributes.key?(:'type_id') + self.type_id = attributes[:'type_id'] + else + self.type_id = nil + end + + if attributes.key?(:'changed_at') + self.changed_at = attributes[:'changed_at'] + else + self.changed_at = nil + end + + if attributes.key?(:'remote_deleted_at') + self.remote_deleted_at = attributes[:'remote_deleted_at'] + else + self.remote_deleted_at = nil + end + + if attributes.key?(:'remote_data') + if (value = attributes[:'remote_data']).is_a?(Hash) + self.remote_data = value + end + else + self.remote_data = nil + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + warn '[DEPRECATED] the `list_invalid_properties` method is obsolete' + invalid_properties = Array.new + if @id.nil? + invalid_properties.push('invalid value for "id", id cannot be nil.') + end + + if @employee_id.nil? + invalid_properties.push('invalid value for "employee_id", employee_id cannot be nil.') + end + + if @start_date.nil? + invalid_properties.push('invalid value for "start_date", start_date cannot be nil.') + end + + if @end_date.nil? + invalid_properties.push('invalid value for "end_date", end_date cannot be nil.') + end + + if @start_time.nil? + invalid_properties.push('invalid value for "start_time", start_time cannot be nil.') + end + + if @end_time.nil? + invalid_properties.push('invalid value for "end_time", end_time cannot be nil.') + end + + if @amount < -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + invalid_properties.push('invalid value for "amount", must be greater than or equal to -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.') + end + + if @changed_at.nil? + invalid_properties.push('invalid value for "changed_at", changed_at cannot be nil.') + end + + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + warn '[DEPRECATED] the `valid?` method is obsolete' + return false if @id.nil? + return false if @employee_id.nil? + return false if @start_date.nil? + return false if @end_date.nil? + return false if @start_time.nil? + return false if @end_time.nil? + return false if @amount < -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + unit_validator = EnumAttributeValidator.new('String', ["HOURS", "DAYS"]) + return false unless unit_validator.valid?(@unit) + return false if @changed_at.nil? + true + end + + # Custom attribute writer method with validation + # @param [Object] id Value to be assigned + def id=(id) + if id.nil? + fail ArgumentError, 'id cannot be nil' + end + + @id = id + end + + # Custom attribute writer method with validation + # @param [Object] employee_id Value to be assigned + def employee_id=(employee_id) + if employee_id.nil? + fail ArgumentError, 'employee_id cannot be nil' + end + + @employee_id = employee_id + end + + # Custom attribute writer method with validation + # @param [Object] start_date Value to be assigned + def start_date=(start_date) + if start_date.nil? + fail ArgumentError, 'start_date cannot be nil' + end + + @start_date = start_date + end + + # Custom attribute writer method with validation + # @param [Object] end_date Value to be assigned + def end_date=(end_date) + if end_date.nil? + fail ArgumentError, 'end_date cannot be nil' + end + + @end_date = end_date + end + + # Custom attribute writer method with validation + # @param [Object] start_time Value to be assigned + def start_time=(start_time) + if start_time.nil? + fail ArgumentError, 'start_time cannot be nil' + end + + @start_time = start_time + end + + # Custom attribute writer method with validation + # @param [Object] end_time Value to be assigned + def end_time=(end_time) + if end_time.nil? + fail ArgumentError, 'end_time cannot be nil' + end + + @end_time = end_time + end + + # Custom attribute writer method with validation + # @param [Object] amount Value to be assigned + def amount=(amount) + if !amount.nil? && amount < -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + fail ArgumentError, 'invalid value for "amount", must be greater than or equal to -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.' + end + + @amount = amount + end + + # Custom attribute writer method checking allowed values (enum). + # @param [Object] unit Object to be assigned + def unit=(unit) + validator = EnumAttributeValidator.new('String', ["HOURS", "DAYS"]) + unless validator.valid?(unit) + fail ArgumentError, "invalid value for \"unit\", must be one of #{validator.allowable_values}." + end + @unit = unit + end + + # Custom attribute writer method with validation + # @param [Object] changed_at Value to be assigned + def changed_at=(changed_at) + if changed_at.nil? + fail ArgumentError, 'changed_at cannot be nil' + end + + @changed_at = changed_at + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + id == o.id && + remote_id == o.remote_id && + employee_id == o.employee_id && + approver_id == o.approver_id && + start_date == o.start_date && + end_date == o.end_date && + start_half_day == o.start_half_day && + end_half_day == o.end_half_day && + start_time == o.start_time && + end_time == o.end_time && + amount == o.amount && + unit == o.unit && + status == o.status && + employee_note == o.employee_note && + type_id == o.type_id && + changed_at == o.changed_at && + remote_deleted_at == o.remote_deleted_at && + remote_data == o.remote_data + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [id, remote_id, employee_id, approver_id, start_date, end_date, start_half_day, end_half_day, start_time, end_time, amount, unit, status, employee_note, type_id, changed_at, remote_deleted_at, remote_data].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + transformed_hash = {} + openapi_types.each_pair do |key, type| + if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = nil + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[attribute_map[key]].is_a?(Array) + transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) } + end + elsif !attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]]) + end + end + new(transformed_hash) + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + end + +end diff --git a/lib/kombo_client/models/post_hris_absences_request_body.rb b/lib/kombo_client/models/post_hris_absences_request_body.rb new file mode 100644 index 0000000..5f8d5e4 --- /dev/null +++ b/lib/kombo_client/models/post_hris_absences_request_body.rb @@ -0,0 +1,473 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.17.0 + +=end + +require 'date' +require 'time' + +module Kombo + class PostHrisAbsencesRequestBody < ApiModelBase + # The ID of the employee in Kombo or their ID in the remote system by prefixing it with `remote:` (e.g., `remote:12312`) + attr_accessor :employee_id + + # The ID of the absence type in Kombo (not its `remote_id`). + attr_accessor :absence_type_id + + # 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. + attr_accessor :status + + # The date that the absence starts. This is a plain date (i.e., `yyyy-MM-dd`), with all time information discarded. + attr_accessor :start_date + + # 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. + attr_accessor :end_date + + # `true` if the absence should start in the middle of the day. + attr_accessor :start_half_day + + # `true` if the absence should end in the middle of the day. + attr_accessor :end_half_day + + # The amount of time of the absence. Specifying this also requires specifying `unit`. This is supported by very few tools. + attr_accessor :amount + + # The time unit of the `amount` value. Specifying this also requires specifying `amount`. + attr_accessor :unit + + # A note describing the reason for this absence. + attr_accessor :employee_note + + # 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. + attr_accessor :start_time + + # 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. + attr_accessor :end_time + + attr_accessor :remote_fields + + class EnumAttributeValidator + attr_reader :datatype + attr_reader :allowable_values + + def initialize(datatype, allowable_values) + @allowable_values = allowable_values.map do |value| + case datatype.to_s + when /Integer/i + value.to_i + when /Float/i + value.to_f + else + value + end + end + end + + def valid?(value) + !value || allowable_values.include?(value) + end + end + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'employee_id' => :'employee_id', + :'absence_type_id' => :'absence_type_id', + :'status' => :'status', + :'start_date' => :'start_date', + :'end_date' => :'end_date', + :'start_half_day' => :'start_half_day', + :'end_half_day' => :'end_half_day', + :'amount' => :'amount', + :'unit' => :'unit', + :'employee_note' => :'employee_note', + :'start_time' => :'start_time', + :'end_time' => :'end_time', + :'remote_fields' => :'remote_fields' + } + end + + # Returns attribute mapping this model knows about + def self.acceptable_attribute_map + attribute_map + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + acceptable_attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'employee_id' => :'String', + :'absence_type_id' => :'String', + :'status' => :'String', + :'start_date' => :'Time', + :'end_date' => :'Time', + :'start_half_day' => :'Boolean', + :'end_half_day' => :'Boolean', + :'amount' => :'Float', + :'unit' => :'String', + :'employee_note' => :'String', + :'start_time' => :'String', + :'end_time' => :'String', + :'remote_fields' => :'PostHrisAbsencesRequestBodyRemoteFields' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + :'employee_note', + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Kombo::PostHrisAbsencesRequestBody` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + acceptable_attribute_map = self.class.acceptable_attribute_map + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!acceptable_attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Kombo::PostHrisAbsencesRequestBody`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'employee_id') + self.employee_id = attributes[:'employee_id'] + else + self.employee_id = nil + end + + if attributes.key?(:'absence_type_id') + self.absence_type_id = attributes[:'absence_type_id'] + else + self.absence_type_id = nil + end + + if attributes.key?(:'status') + self.status = attributes[:'status'] + else + self.status = 'REQUESTED' + end + + if attributes.key?(:'start_date') + self.start_date = attributes[:'start_date'] + else + self.start_date = nil + end + + if attributes.key?(:'end_date') + self.end_date = attributes[:'end_date'] + else + self.end_date = nil + end + + if attributes.key?(:'start_half_day') + self.start_half_day = attributes[:'start_half_day'] + else + self.start_half_day = false + end + + if attributes.key?(:'end_half_day') + self.end_half_day = attributes[:'end_half_day'] + else + self.end_half_day = false + end + + if attributes.key?(:'amount') + self.amount = attributes[:'amount'] + end + + if attributes.key?(:'unit') + self.unit = attributes[:'unit'] + end + + if attributes.key?(:'employee_note') + self.employee_note = attributes[:'employee_note'] + else + self.employee_note = nil + end + + if attributes.key?(:'start_time') + self.start_time = attributes[:'start_time'] + end + + if attributes.key?(:'end_time') + self.end_time = attributes[:'end_time'] + end + + if attributes.key?(:'remote_fields') + self.remote_fields = attributes[:'remote_fields'] + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + warn '[DEPRECATED] the `list_invalid_properties` method is obsolete' + invalid_properties = Array.new + if @employee_id.nil? + invalid_properties.push('invalid value for "employee_id", employee_id cannot be nil.') + end + + if @absence_type_id.nil? + invalid_properties.push('invalid value for "absence_type_id", absence_type_id cannot be nil.') + end + + if @start_date.nil? + invalid_properties.push('invalid value for "start_date", start_date cannot be nil.') + end + + pattern = Regexp.new(/^\d{4}-\d{2}-\d{2}(T\d{2}:\d{2}:\d{2}(\.\d+)?)?Z?$/) + if @start_date !~ pattern + invalid_properties.push("invalid value for \"start_date\", must conform to the pattern #{pattern}.") + end + + if @end_date.nil? + invalid_properties.push('invalid value for "end_date", end_date cannot be nil.') + end + + pattern = Regexp.new(/^\d{4}-\d{2}-\d{2}(T\d{2}:\d{2}:\d{2}(\.\d+)?)?Z?$/) + if @end_date !~ pattern + invalid_properties.push("invalid value for \"end_date\", must conform to the pattern #{pattern}.") + end + + if !@amount.nil? && @amount < 0 + invalid_properties.push('invalid value for "amount", must be greater than or equal to 0.') + end + + pattern = Regexp.new(/^(?:2[0-3]|[01]?\d):[0-5]?\d(:[0-5]?\d)?$/) + if !@start_time.nil? && @start_time !~ pattern + invalid_properties.push("invalid value for \"start_time\", must conform to the pattern #{pattern}.") + end + + pattern = Regexp.new(/^(?:2[0-3]|[01]?\d):[0-5]?\d(:[0-5]?\d)?$/) + if !@end_time.nil? && @end_time !~ pattern + invalid_properties.push("invalid value for \"end_time\", must conform to the pattern #{pattern}.") + end + + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + warn '[DEPRECATED] the `valid?` method is obsolete' + return false if @employee_id.nil? + return false if @absence_type_id.nil? + status_validator = EnumAttributeValidator.new('String', ["REQUESTED", "APPROVED"]) + return false unless status_validator.valid?(@status) + return false if @start_date.nil? + return false if @start_date !~ Regexp.new(/^\d{4}-\d{2}-\d{2}(T\d{2}:\d{2}:\d{2}(\.\d+)?)?Z?$/) + return false if @end_date.nil? + return false if @end_date !~ Regexp.new(/^\d{4}-\d{2}-\d{2}(T\d{2}:\d{2}:\d{2}(\.\d+)?)?Z?$/) + return false if !@amount.nil? && @amount < 0 + unit_validator = EnumAttributeValidator.new('String', ["HOURS", "DAYS"]) + return false unless unit_validator.valid?(@unit) + return false if !@start_time.nil? && @start_time !~ Regexp.new(/^(?:2[0-3]|[01]?\d):[0-5]?\d(:[0-5]?\d)?$/) + return false if !@end_time.nil? && @end_time !~ Regexp.new(/^(?:2[0-3]|[01]?\d):[0-5]?\d(:[0-5]?\d)?$/) + true + end + + # Custom attribute writer method with validation + # @param [Object] employee_id Value to be assigned + def employee_id=(employee_id) + if employee_id.nil? + fail ArgumentError, 'employee_id cannot be nil' + end + + @employee_id = employee_id + end + + # Custom attribute writer method with validation + # @param [Object] absence_type_id Value to be assigned + def absence_type_id=(absence_type_id) + if absence_type_id.nil? + fail ArgumentError, 'absence_type_id cannot be nil' + end + + @absence_type_id = absence_type_id + end + + # Custom attribute writer method checking allowed values (enum). + # @param [Object] status Object to be assigned + def status=(status) + validator = EnumAttributeValidator.new('String', ["REQUESTED", "APPROVED"]) + unless validator.valid?(status) + fail ArgumentError, "invalid value for \"status\", must be one of #{validator.allowable_values}." + end + @status = status + end + + # Custom attribute writer method with validation + # @param [Object] start_date Value to be assigned + def start_date=(start_date) + if start_date.nil? + fail ArgumentError, 'start_date cannot be nil' + end + + pattern = Regexp.new(/^\d{4}-\d{2}-\d{2}(T\d{2}:\d{2}:\d{2}(\.\d+)?)?Z?$/) + if start_date !~ pattern + fail ArgumentError, "invalid value for \"start_date\", must conform to the pattern #{pattern}." + end + + @start_date = start_date + end + + # Custom attribute writer method with validation + # @param [Object] end_date Value to be assigned + def end_date=(end_date) + if end_date.nil? + fail ArgumentError, 'end_date cannot be nil' + end + + pattern = Regexp.new(/^\d{4}-\d{2}-\d{2}(T\d{2}:\d{2}:\d{2}(\.\d+)?)?Z?$/) + if end_date !~ pattern + fail ArgumentError, "invalid value for \"end_date\", must conform to the pattern #{pattern}." + end + + @end_date = end_date + end + + # Custom attribute writer method with validation + # @param [Object] amount Value to be assigned + def amount=(amount) + if amount.nil? + fail ArgumentError, 'amount cannot be nil' + end + + if amount < 0 + fail ArgumentError, 'invalid value for "amount", must be greater than or equal to 0.' + end + + @amount = amount + end + + # Custom attribute writer method checking allowed values (enum). + # @param [Object] unit Object to be assigned + def unit=(unit) + validator = EnumAttributeValidator.new('String', ["HOURS", "DAYS"]) + unless validator.valid?(unit) + fail ArgumentError, "invalid value for \"unit\", must be one of #{validator.allowable_values}." + end + @unit = unit + end + + # Custom attribute writer method with validation + # @param [Object] start_time Value to be assigned + def start_time=(start_time) + if start_time.nil? + fail ArgumentError, 'start_time cannot be nil' + end + + pattern = Regexp.new(/^(?:2[0-3]|[01]?\d):[0-5]?\d(:[0-5]?\d)?$/) + if start_time !~ pattern + fail ArgumentError, "invalid value for \"start_time\", must conform to the pattern #{pattern}." + end + + @start_time = start_time + end + + # Custom attribute writer method with validation + # @param [Object] end_time Value to be assigned + def end_time=(end_time) + if end_time.nil? + fail ArgumentError, 'end_time cannot be nil' + end + + pattern = Regexp.new(/^(?:2[0-3]|[01]?\d):[0-5]?\d(:[0-5]?\d)?$/) + if end_time !~ pattern + fail ArgumentError, "invalid value for \"end_time\", must conform to the pattern #{pattern}." + end + + @end_time = end_time + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + employee_id == o.employee_id && + absence_type_id == o.absence_type_id && + status == o.status && + start_date == o.start_date && + end_date == o.end_date && + start_half_day == o.start_half_day && + end_half_day == o.end_half_day && + amount == o.amount && + unit == o.unit && + employee_note == o.employee_note && + start_time == o.start_time && + end_time == o.end_time && + remote_fields == o.remote_fields + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [employee_id, absence_type_id, status, start_date, end_date, start_half_day, end_half_day, amount, unit, employee_note, start_time, end_time, remote_fields].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + transformed_hash = {} + openapi_types.each_pair do |key, type| + if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = nil + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[attribute_map[key]].is_a?(Array) + transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) } + end + elsif !attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]]) + end + end + new(transformed_hash) + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + end + +end diff --git a/lib/kombo_client/models/post_hris_absences_request_body_remote_fields.rb b/lib/kombo_client/models/post_hris_absences_request_body_remote_fields.rb new file mode 100644 index 0000000..d2a4612 --- /dev/null +++ b/lib/kombo_client/models/post_hris_absences_request_body_remote_fields.rb @@ -0,0 +1,148 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.17.0 + +=end + +require 'date' +require 'time' + +module Kombo + # Additional fields that we will pass through to specific HRIS systems. + class PostHrisAbsencesRequestBodyRemoteFields < ApiModelBase + attr_accessor :adpworkforcenow + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'adpworkforcenow' => :'adpworkforcenow' + } + end + + # Returns attribute mapping this model knows about + def self.acceptable_attribute_map + attribute_map + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + acceptable_attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'adpworkforcenow' => :'PostHrisAbsencesRequestBodyRemoteFieldsAdpworkforcenow' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Kombo::PostHrisAbsencesRequestBodyRemoteFields` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + acceptable_attribute_map = self.class.acceptable_attribute_map + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!acceptable_attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Kombo::PostHrisAbsencesRequestBodyRemoteFields`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'adpworkforcenow') + self.adpworkforcenow = attributes[:'adpworkforcenow'] + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + warn '[DEPRECATED] the `list_invalid_properties` method is obsolete' + invalid_properties = Array.new + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + warn '[DEPRECATED] the `valid?` method is obsolete' + true + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + adpworkforcenow == o.adpworkforcenow + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [adpworkforcenow].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + transformed_hash = {} + openapi_types.each_pair do |key, type| + if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = nil + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[attribute_map[key]].is_a?(Array) + transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) } + end + elsif !attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]]) + end + end + new(transformed_hash) + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + end + +end diff --git a/lib/kombo_client/models/post_hris_absences_request_body_remote_fields_adpworkforcenow.rb b/lib/kombo_client/models/post_hris_absences_request_body_remote_fields_adpworkforcenow.rb new file mode 100644 index 0000000..f3f0701 --- /dev/null +++ b/lib/kombo_client/models/post_hris_absences_request_body_remote_fields_adpworkforcenow.rb @@ -0,0 +1,159 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.17.0 + +=end + +require 'date' +require 'time' + +module Kombo + # Fields specific to ADP Workforce Now. + class PostHrisAbsencesRequestBodyRemoteFieldsAdpworkforcenow < ApiModelBase + # [Required] The employment ID of the employee that the absence will be added to. + attr_accessor :employment_id + + # Whether the absence is paid or not. + attr_accessor :paid_leave + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'employment_id' => :'employment_id', + :'paid_leave' => :'paid_leave' + } + end + + # Returns attribute mapping this model knows about + def self.acceptable_attribute_map + attribute_map + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + acceptable_attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'employment_id' => :'String', + :'paid_leave' => :'Boolean' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Kombo::PostHrisAbsencesRequestBodyRemoteFieldsAdpworkforcenow` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + acceptable_attribute_map = self.class.acceptable_attribute_map + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!acceptable_attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Kombo::PostHrisAbsencesRequestBodyRemoteFieldsAdpworkforcenow`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'employment_id') + self.employment_id = attributes[:'employment_id'] + end + + if attributes.key?(:'paid_leave') + self.paid_leave = attributes[:'paid_leave'] + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + warn '[DEPRECATED] the `list_invalid_properties` method is obsolete' + invalid_properties = Array.new + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + warn '[DEPRECATED] the `valid?` method is obsolete' + true + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + employment_id == o.employment_id && + paid_leave == o.paid_leave + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [employment_id, paid_leave].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + transformed_hash = {} + openapi_types.each_pair do |key, type| + if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = nil + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[attribute_map[key]].is_a?(Array) + transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) } + end + elsif !attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]]) + end + end + new(transformed_hash) + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + end + +end diff --git a/lib/kombo_client/models/post_hris_employee_skill_assignments_positive_response.rb b/lib/kombo_client/models/post_hris_employee_skill_assignments_positive_response.rb new file mode 100644 index 0000000..496e7c2 --- /dev/null +++ b/lib/kombo_client/models/post_hris_employee_skill_assignments_positive_response.rb @@ -0,0 +1,214 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.17.0 + +=end + +require 'date' +require 'time' + +module Kombo + class PostHrisEmployeeSkillAssignmentsPositiveResponse < ApiModelBase + attr_accessor :status + + attr_accessor :data + + class EnumAttributeValidator + attr_reader :datatype + attr_reader :allowable_values + + def initialize(datatype, allowable_values) + @allowable_values = allowable_values.map do |value| + case datatype.to_s + when /Integer/i + value.to_i + when /Float/i + value.to_f + else + value + end + end + end + + def valid?(value) + !value || allowable_values.include?(value) + end + end + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'status' => :'status', + :'data' => :'data' + } + end + + # Returns attribute mapping this model knows about + def self.acceptable_attribute_map + attribute_map + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + acceptable_attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'status' => :'String', + :'data' => :'GetHrisEmployeeSkillAssignmentsPositiveResponseDataResultsInner' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Kombo::PostHrisEmployeeSkillAssignmentsPositiveResponse` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + acceptable_attribute_map = self.class.acceptable_attribute_map + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!acceptable_attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Kombo::PostHrisEmployeeSkillAssignmentsPositiveResponse`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'status') + self.status = attributes[:'status'] + else + self.status = nil + end + + if attributes.key?(:'data') + self.data = attributes[:'data'] + else + self.data = nil + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + warn '[DEPRECATED] the `list_invalid_properties` method is obsolete' + invalid_properties = Array.new + if @status.nil? + invalid_properties.push('invalid value for "status", status cannot be nil.') + end + + if @data.nil? + invalid_properties.push('invalid value for "data", data cannot be nil.') + end + + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + warn '[DEPRECATED] the `valid?` method is obsolete' + return false if @status.nil? + status_validator = EnumAttributeValidator.new('String', ["success"]) + return false unless status_validator.valid?(@status) + return false if @data.nil? + true + end + + # Custom attribute writer method checking allowed values (enum). + # @param [Object] status Object to be assigned + def status=(status) + validator = EnumAttributeValidator.new('String', ["success"]) + unless validator.valid?(status) + fail ArgumentError, "invalid value for \"status\", must be one of #{validator.allowable_values}." + end + @status = status + end + + # Custom attribute writer method with validation + # @param [Object] data Value to be assigned + def data=(data) + if data.nil? + fail ArgumentError, 'data cannot be nil' + end + + @data = data + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + status == o.status && + data == o.data + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [status, data].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + transformed_hash = {} + openapi_types.each_pair do |key, type| + if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = nil + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[attribute_map[key]].is_a?(Array) + transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) } + end + elsif !attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]]) + end + end + new(transformed_hash) + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + end + +end diff --git a/lib/kombo_client/models/post_hris_employee_skill_assignments_request_body.rb b/lib/kombo_client/models/post_hris_employee_skill_assignments_request_body.rb new file mode 100644 index 0000000..ff35feb --- /dev/null +++ b/lib/kombo_client/models/post_hris_employee_skill_assignments_request_body.rb @@ -0,0 +1,202 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.17.0 + +=end + +require 'date' +require 'time' + +module Kombo + class PostHrisEmployeeSkillAssignmentsRequestBody < ApiModelBase + # The ID of the employee + attr_accessor :employee_id + + # The ID of the skill + attr_accessor :skill_id + + # The current skill level of the employee + attr_accessor :current_level + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'employee_id' => :'employee_id', + :'skill_id' => :'skill_id', + :'current_level' => :'current_level' + } + end + + # Returns attribute mapping this model knows about + def self.acceptable_attribute_map + attribute_map + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + acceptable_attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'employee_id' => :'String', + :'skill_id' => :'String', + :'current_level' => :'String' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Kombo::PostHrisEmployeeSkillAssignmentsRequestBody` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + acceptable_attribute_map = self.class.acceptable_attribute_map + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!acceptable_attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Kombo::PostHrisEmployeeSkillAssignmentsRequestBody`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'employee_id') + self.employee_id = attributes[:'employee_id'] + else + self.employee_id = nil + end + + if attributes.key?(:'skill_id') + self.skill_id = attributes[:'skill_id'] + else + self.skill_id = nil + end + + if attributes.key?(:'current_level') + self.current_level = attributes[:'current_level'] + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + warn '[DEPRECATED] the `list_invalid_properties` method is obsolete' + invalid_properties = Array.new + if @employee_id.nil? + invalid_properties.push('invalid value for "employee_id", employee_id cannot be nil.') + end + + if @skill_id.nil? + invalid_properties.push('invalid value for "skill_id", skill_id cannot be nil.') + end + + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + warn '[DEPRECATED] the `valid?` method is obsolete' + return false if @employee_id.nil? + return false if @skill_id.nil? + true + end + + # Custom attribute writer method with validation + # @param [Object] employee_id Value to be assigned + def employee_id=(employee_id) + if employee_id.nil? + fail ArgumentError, 'employee_id cannot be nil' + end + + @employee_id = employee_id + end + + # Custom attribute writer method with validation + # @param [Object] skill_id Value to be assigned + def skill_id=(skill_id) + if skill_id.nil? + fail ArgumentError, 'skill_id cannot be nil' + end + + @skill_id = skill_id + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + employee_id == o.employee_id && + skill_id == o.skill_id && + current_level == o.current_level + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [employee_id, skill_id, current_level].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + transformed_hash = {} + openapi_types.each_pair do |key, type| + if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = nil + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[attribute_map[key]].is_a?(Array) + transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) } + end + elsif !attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]]) + end + end + new(transformed_hash) + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + end + +end diff --git a/lib/kombo_client/models/post_hris_employees_employee_id_documents_positive_response.rb b/lib/kombo_client/models/post_hris_employees_employee_id_documents_positive_response.rb new file mode 100644 index 0000000..9760eed --- /dev/null +++ b/lib/kombo_client/models/post_hris_employees_employee_id_documents_positive_response.rb @@ -0,0 +1,243 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.17.0 + +=end + +require 'date' +require 'time' + +module Kombo + class PostHrisEmployeesEmployeeIdDocumentsPositiveResponse < ApiModelBase + attr_accessor :status + + attr_accessor :data + + # 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. + attr_accessor :warnings + + class EnumAttributeValidator + attr_reader :datatype + attr_reader :allowable_values + + def initialize(datatype, allowable_values) + @allowable_values = allowable_values.map do |value| + case datatype.to_s + when /Integer/i + value.to_i + when /Float/i + value.to_f + else + value + end + end + end + + def valid?(value) + !value || allowable_values.include?(value) + end + end + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'status' => :'status', + :'data' => :'data', + :'warnings' => :'warnings' + } + end + + # Returns attribute mapping this model knows about + def self.acceptable_attribute_map + attribute_map + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + acceptable_attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'status' => :'String', + :'data' => :'Object', + :'warnings' => :'Array' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Kombo::PostHrisEmployeesEmployeeIdDocumentsPositiveResponse` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + acceptable_attribute_map = self.class.acceptable_attribute_map + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!acceptable_attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Kombo::PostHrisEmployeesEmployeeIdDocumentsPositiveResponse`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'status') + self.status = attributes[:'status'] + else + self.status = nil + end + + if attributes.key?(:'data') + self.data = attributes[:'data'] + else + self.data = nil + end + + if attributes.key?(:'warnings') + if (value = attributes[:'warnings']).is_a?(Array) + self.warnings = value + end + else + self.warnings = nil + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + warn '[DEPRECATED] the `list_invalid_properties` method is obsolete' + invalid_properties = Array.new + if @status.nil? + invalid_properties.push('invalid value for "status", status cannot be nil.') + end + + if @data.nil? + invalid_properties.push('invalid value for "data", data cannot be nil.') + end + + if @warnings.nil? + invalid_properties.push('invalid value for "warnings", warnings cannot be nil.') + end + + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + warn '[DEPRECATED] the `valid?` method is obsolete' + return false if @status.nil? + status_validator = EnumAttributeValidator.new('String', ["success"]) + return false unless status_validator.valid?(@status) + return false if @data.nil? + return false if @warnings.nil? + true + end + + # Custom attribute writer method checking allowed values (enum). + # @param [Object] status Object to be assigned + def status=(status) + validator = EnumAttributeValidator.new('String', ["success"]) + unless validator.valid?(status) + fail ArgumentError, "invalid value for \"status\", must be one of #{validator.allowable_values}." + end + @status = status + end + + # Custom attribute writer method with validation + # @param [Object] data Value to be assigned + def data=(data) + if data.nil? + fail ArgumentError, 'data cannot be nil' + end + + @data = data + end + + # Custom attribute writer method with validation + # @param [Object] warnings Value to be assigned + def warnings=(warnings) + if warnings.nil? + fail ArgumentError, 'warnings cannot be nil' + end + + @warnings = warnings + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + status == o.status && + data == o.data && + warnings == o.warnings + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [status, data, warnings].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + transformed_hash = {} + openapi_types.each_pair do |key, type| + if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = nil + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[attribute_map[key]].is_a?(Array) + transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) } + end + elsif !attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]]) + end + end + new(transformed_hash) + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + end + +end diff --git a/lib/kombo_client/models/post_hris_employees_employee_id_documents_request_body.rb b/lib/kombo_client/models/post_hris_employees_employee_id_documents_request_body.rb new file mode 100644 index 0000000..f38875e --- /dev/null +++ b/lib/kombo_client/models/post_hris_employees_employee_id_documents_request_body.rb @@ -0,0 +1,190 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.17.0 + +=end + +require 'date' +require 'time' + +module Kombo + class PostHrisEmployeesEmployeeIdDocumentsRequestBody < ApiModelBase + attr_accessor :category_id + + attr_accessor :document + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'category_id' => :'category_id', + :'document' => :'document' + } + end + + # Returns attribute mapping this model knows about + def self.acceptable_attribute_map + attribute_map + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + acceptable_attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'category_id' => :'String', + :'document' => :'PostPassthroughToolApiRequestBodyMultipartFormDataInnerValueOneOf' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Kombo::PostHrisEmployeesEmployeeIdDocumentsRequestBody` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + acceptable_attribute_map = self.class.acceptable_attribute_map + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!acceptable_attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Kombo::PostHrisEmployeesEmployeeIdDocumentsRequestBody`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'category_id') + self.category_id = attributes[:'category_id'] + else + self.category_id = nil + end + + if attributes.key?(:'document') + self.document = attributes[:'document'] + else + self.document = nil + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + warn '[DEPRECATED] the `list_invalid_properties` method is obsolete' + invalid_properties = Array.new + if @category_id.nil? + invalid_properties.push('invalid value for "category_id", category_id cannot be nil.') + end + + if @document.nil? + invalid_properties.push('invalid value for "document", document cannot be nil.') + end + + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + warn '[DEPRECATED] the `valid?` method is obsolete' + return false if @category_id.nil? + return false if @document.nil? + true + end + + # Custom attribute writer method with validation + # @param [Object] category_id Value to be assigned + def category_id=(category_id) + if category_id.nil? + fail ArgumentError, 'category_id cannot be nil' + end + + @category_id = category_id + end + + # Custom attribute writer method with validation + # @param [Object] document Value to be assigned + def document=(document) + if document.nil? + fail ArgumentError, 'document cannot be nil' + end + + @document = document + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + category_id == o.category_id && + document == o.document + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [category_id, document].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + transformed_hash = {} + openapi_types.each_pair do |key, type| + if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = nil + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[attribute_map[key]].is_a?(Array) + transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) } + end + elsif !attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]]) + end + end + new(transformed_hash) + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + end + +end diff --git a/lib/kombo_client/models/post_hris_employees_form_positive_response.rb b/lib/kombo_client/models/post_hris_employees_form_positive_response.rb new file mode 100644 index 0000000..7e2f7b0 --- /dev/null +++ b/lib/kombo_client/models/post_hris_employees_form_positive_response.rb @@ -0,0 +1,243 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.17.0 + +=end + +require 'date' +require 'time' + +module Kombo + class PostHrisEmployeesFormPositiveResponse < ApiModelBase + attr_accessor :status + + attr_accessor :data + + # 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. + attr_accessor :warnings + + class EnumAttributeValidator + attr_reader :datatype + attr_reader :allowable_values + + def initialize(datatype, allowable_values) + @allowable_values = allowable_values.map do |value| + case datatype.to_s + when /Integer/i + value.to_i + when /Float/i + value.to_f + else + value + end + end + end + + def valid?(value) + !value || allowable_values.include?(value) + end + end + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'status' => :'status', + :'data' => :'data', + :'warnings' => :'warnings' + } + end + + # Returns attribute mapping this model knows about + def self.acceptable_attribute_map + attribute_map + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + acceptable_attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'status' => :'String', + :'data' => :'PostHrisEmployeesFormPositiveResponseData', + :'warnings' => :'Array' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Kombo::PostHrisEmployeesFormPositiveResponse` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + acceptable_attribute_map = self.class.acceptable_attribute_map + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!acceptable_attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Kombo::PostHrisEmployeesFormPositiveResponse`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'status') + self.status = attributes[:'status'] + else + self.status = nil + end + + if attributes.key?(:'data') + self.data = attributes[:'data'] + else + self.data = nil + end + + if attributes.key?(:'warnings') + if (value = attributes[:'warnings']).is_a?(Array) + self.warnings = value + end + else + self.warnings = nil + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + warn '[DEPRECATED] the `list_invalid_properties` method is obsolete' + invalid_properties = Array.new + if @status.nil? + invalid_properties.push('invalid value for "status", status cannot be nil.') + end + + if @data.nil? + invalid_properties.push('invalid value for "data", data cannot be nil.') + end + + if @warnings.nil? + invalid_properties.push('invalid value for "warnings", warnings cannot be nil.') + end + + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + warn '[DEPRECATED] the `valid?` method is obsolete' + return false if @status.nil? + status_validator = EnumAttributeValidator.new('String', ["success"]) + return false unless status_validator.valid?(@status) + return false if @data.nil? + return false if @warnings.nil? + true + end + + # Custom attribute writer method checking allowed values (enum). + # @param [Object] status Object to be assigned + def status=(status) + validator = EnumAttributeValidator.new('String', ["success"]) + unless validator.valid?(status) + fail ArgumentError, "invalid value for \"status\", must be one of #{validator.allowable_values}." + end + @status = status + end + + # Custom attribute writer method with validation + # @param [Object] data Value to be assigned + def data=(data) + if data.nil? + fail ArgumentError, 'data cannot be nil' + end + + @data = data + end + + # Custom attribute writer method with validation + # @param [Object] warnings Value to be assigned + def warnings=(warnings) + if warnings.nil? + fail ArgumentError, 'warnings cannot be nil' + end + + @warnings = warnings + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + status == o.status && + data == o.data && + warnings == o.warnings + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [status, data, warnings].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + transformed_hash = {} + openapi_types.each_pair do |key, type| + if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = nil + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[attribute_map[key]].is_a?(Array) + transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) } + end + elsif !attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]]) + end + end + new(transformed_hash) + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + end + +end diff --git a/lib/kombo_client/models/post_hris_employees_form_positive_response_data.rb b/lib/kombo_client/models/post_hris_employees_form_positive_response_data.rb new file mode 100644 index 0000000..ee38fa9 --- /dev/null +++ b/lib/kombo_client/models/post_hris_employees_form_positive_response_data.rb @@ -0,0 +1,177 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.17.0 + +=end + +require 'date' +require 'time' + +module Kombo + class PostHrisEmployeesFormPositiveResponseData < ApiModelBase + # 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. + attr_accessor :id + + # 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. + attr_accessor :remote_id + + # 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. + attr_accessor :prehire_id + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'id' => :'id', + :'remote_id' => :'remote_id', + :'prehire_id' => :'prehire_id' + } + end + + # Returns attribute mapping this model knows about + def self.acceptable_attribute_map + attribute_map + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + acceptable_attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'id' => :'String', + :'remote_id' => :'String', + :'prehire_id' => :'String' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + :'id', + :'remote_id', + :'prehire_id' + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Kombo::PostHrisEmployeesFormPositiveResponseData` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + acceptable_attribute_map = self.class.acceptable_attribute_map + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!acceptable_attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Kombo::PostHrisEmployeesFormPositiveResponseData`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'id') + self.id = attributes[:'id'] + else + self.id = nil + end + + if attributes.key?(:'remote_id') + self.remote_id = attributes[:'remote_id'] + else + self.remote_id = nil + end + + if attributes.key?(:'prehire_id') + self.prehire_id = attributes[:'prehire_id'] + else + self.prehire_id = nil + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + warn '[DEPRECATED] the `list_invalid_properties` method is obsolete' + invalid_properties = Array.new + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + warn '[DEPRECATED] the `valid?` method is obsolete' + true + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + id == o.id && + remote_id == o.remote_id && + prehire_id == o.prehire_id + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [id, remote_id, prehire_id].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + transformed_hash = {} + openapi_types.each_pair do |key, type| + if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = nil + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[attribute_map[key]].is_a?(Array) + transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) } + end + elsif !attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]]) + end + end + new(transformed_hash) + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + end + +end diff --git a/lib/kombo_client/models/post_hris_employees_form_request_body.rb b/lib/kombo_client/models/post_hris_employees_form_request_body.rb new file mode 100644 index 0000000..b3bce96 --- /dev/null +++ b/lib/kombo_client/models/post_hris_employees_form_request_body.rb @@ -0,0 +1,166 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.17.0 + +=end + +require 'date' +require 'time' + +module Kombo + class PostHrisEmployeesFormRequestBody < ApiModelBase + attr_accessor :properties + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'properties' => :'properties' + } + end + + # Returns attribute mapping this model knows about + def self.acceptable_attribute_map + attribute_map + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + acceptable_attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'properties' => :'Hash' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Kombo::PostHrisEmployeesFormRequestBody` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + acceptable_attribute_map = self.class.acceptable_attribute_map + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!acceptable_attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Kombo::PostHrisEmployeesFormRequestBody`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'properties') + if (value = attributes[:'properties']).is_a?(Hash) + self.properties = value + end + else + self.properties = nil + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + warn '[DEPRECATED] the `list_invalid_properties` method is obsolete' + invalid_properties = Array.new + if @properties.nil? + invalid_properties.push('invalid value for "properties", properties cannot be nil.') + end + + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + warn '[DEPRECATED] the `valid?` method is obsolete' + return false if @properties.nil? + true + end + + # Custom attribute writer method with validation + # @param [Object] properties Value to be assigned + def properties=(properties) + if properties.nil? + fail ArgumentError, 'properties cannot be nil' + end + + @properties = properties + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + properties == o.properties + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [properties].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + transformed_hash = {} + openapi_types.each_pair do |key, type| + if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = nil + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[attribute_map[key]].is_a?(Array) + transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) } + end + elsif !attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]]) + end + end + new(transformed_hash) + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + end + +end diff --git a/lib/kombo_client/models/post_hris_employees_positive_response.rb b/lib/kombo_client/models/post_hris_employees_positive_response.rb new file mode 100644 index 0000000..bba65a2 --- /dev/null +++ b/lib/kombo_client/models/post_hris_employees_positive_response.rb @@ -0,0 +1,243 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.17.0 + +=end + +require 'date' +require 'time' + +module Kombo + class PostHrisEmployeesPositiveResponse < ApiModelBase + attr_accessor :status + + attr_accessor :data + + # 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. + attr_accessor :warnings + + class EnumAttributeValidator + attr_reader :datatype + attr_reader :allowable_values + + def initialize(datatype, allowable_values) + @allowable_values = allowable_values.map do |value| + case datatype.to_s + when /Integer/i + value.to_i + when /Float/i + value.to_f + else + value + end + end + end + + def valid?(value) + !value || allowable_values.include?(value) + end + end + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'status' => :'status', + :'data' => :'data', + :'warnings' => :'warnings' + } + end + + # Returns attribute mapping this model knows about + def self.acceptable_attribute_map + attribute_map + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + acceptable_attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'status' => :'String', + :'data' => :'PostHrisEmployeesPositiveResponseData', + :'warnings' => :'Array' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Kombo::PostHrisEmployeesPositiveResponse` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + acceptable_attribute_map = self.class.acceptable_attribute_map + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!acceptable_attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Kombo::PostHrisEmployeesPositiveResponse`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'status') + self.status = attributes[:'status'] + else + self.status = nil + end + + if attributes.key?(:'data') + self.data = attributes[:'data'] + else + self.data = nil + end + + if attributes.key?(:'warnings') + if (value = attributes[:'warnings']).is_a?(Array) + self.warnings = value + end + else + self.warnings = nil + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + warn '[DEPRECATED] the `list_invalid_properties` method is obsolete' + invalid_properties = Array.new + if @status.nil? + invalid_properties.push('invalid value for "status", status cannot be nil.') + end + + if @data.nil? + invalid_properties.push('invalid value for "data", data cannot be nil.') + end + + if @warnings.nil? + invalid_properties.push('invalid value for "warnings", warnings cannot be nil.') + end + + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + warn '[DEPRECATED] the `valid?` method is obsolete' + return false if @status.nil? + status_validator = EnumAttributeValidator.new('String', ["success"]) + return false unless status_validator.valid?(@status) + return false if @data.nil? + return false if @warnings.nil? + true + end + + # Custom attribute writer method checking allowed values (enum). + # @param [Object] status Object to be assigned + def status=(status) + validator = EnumAttributeValidator.new('String', ["success"]) + unless validator.valid?(status) + fail ArgumentError, "invalid value for \"status\", must be one of #{validator.allowable_values}." + end + @status = status + end + + # Custom attribute writer method with validation + # @param [Object] data Value to be assigned + def data=(data) + if data.nil? + fail ArgumentError, 'data cannot be nil' + end + + @data = data + end + + # Custom attribute writer method with validation + # @param [Object] warnings Value to be assigned + def warnings=(warnings) + if warnings.nil? + fail ArgumentError, 'warnings cannot be nil' + end + + @warnings = warnings + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + status == o.status && + data == o.data && + warnings == o.warnings + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [status, data, warnings].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + transformed_hash = {} + openapi_types.each_pair do |key, type| + if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = nil + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[attribute_map[key]].is_a?(Array) + transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) } + end + elsif !attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]]) + end + end + new(transformed_hash) + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + end + +end diff --git a/lib/kombo_client/models/post_hris_employees_positive_response_data.rb b/lib/kombo_client/models/post_hris_employees_positive_response_data.rb new file mode 100644 index 0000000..3350dcf --- /dev/null +++ b/lib/kombo_client/models/post_hris_employees_positive_response_data.rb @@ -0,0 +1,668 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.17.0 + +=end + +require 'date' +require 'time' + +module Kombo + class PostHrisEmployeesPositiveResponseData < ApiModelBase + # The globally unique ID of this object generated by Kombo. We recommend using this as a stable primary key for syncing. + attr_accessor :id + + # 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. + attr_accessor :remote_id + + # The employee’s organization-internal employee number. + attr_accessor :employee_number + + # The employee’s first name. + attr_accessor :first_name + + # The employee’s last name. + attr_accessor :last_name + + # The employee’s nationality. + attr_accessor :nationality + + # 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`. + attr_accessor :display_full_name + + # The employee’s job title. + attr_accessor :job_title + + # The employee’s work email address. If the email address is invalid, we will set this to `null`. + attr_accessor :work_email + + # The employee’s personal email address. If the email address is invalid, we will set this to `null`. + attr_accessor :personal_email + + # The employee’s mobile phone number. + attr_accessor :mobile_phone_number + + # The employee’s social security number + attr_accessor :ssn + + # The employee’s tax ID. + attr_accessor :tax_id + + attr_accessor :gender + + attr_accessor :ethnicity + + attr_accessor :marital_status + + attr_accessor :employment_status + + attr_accessor :employment_type + + # The employee’s weekly working hours. + attr_accessor :weekly_hours + + # 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. + attr_accessor :avatar + + # 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. + attr_accessor :work_location_id + + # 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. + attr_accessor :legal_entity_id + + # The Kombo ID of the employee’s manager. The ID can be used to retrieve the manager from the `get employees` endpoint. + attr_accessor :manager_id + + attr_accessor :home_address + + # The employee’s bank accounts. + attr_accessor :bank_accounts + + # The employee’s date of birth. + attr_accessor :date_of_birth + + # The date the employee started working for the organization. + attr_accessor :start_date + + # The date when the employment ends. Can be in the past or future. + attr_accessor :termination_date + + # The date and time the object was created in the remote system. + attr_accessor :remote_created_at + + # 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. + attr_accessor :changed_at + + # 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. + attr_accessor :remote_deleted_at + + # A key-value store of fields not covered by the schema. [Read more](/custom-fields) + attr_accessor :custom_fields + + # An array of selected passthrough integration fields. [Read more](/integration-fields) + attr_accessor :integration_fields + + # 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. + attr_accessor :remote_data + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'id' => :'id', + :'remote_id' => :'remote_id', + :'employee_number' => :'employee_number', + :'first_name' => :'first_name', + :'last_name' => :'last_name', + :'nationality' => :'nationality', + :'display_full_name' => :'display_full_name', + :'job_title' => :'job_title', + :'work_email' => :'work_email', + :'personal_email' => :'personal_email', + :'mobile_phone_number' => :'mobile_phone_number', + :'ssn' => :'ssn', + :'tax_id' => :'tax_id', + :'gender' => :'gender', + :'ethnicity' => :'ethnicity', + :'marital_status' => :'marital_status', + :'employment_status' => :'employment_status', + :'employment_type' => :'employment_type', + :'weekly_hours' => :'weekly_hours', + :'avatar' => :'avatar', + :'work_location_id' => :'work_location_id', + :'legal_entity_id' => :'legal_entity_id', + :'manager_id' => :'manager_id', + :'home_address' => :'home_address', + :'bank_accounts' => :'bank_accounts', + :'date_of_birth' => :'date_of_birth', + :'start_date' => :'start_date', + :'termination_date' => :'termination_date', + :'remote_created_at' => :'remote_created_at', + :'changed_at' => :'changed_at', + :'remote_deleted_at' => :'remote_deleted_at', + :'custom_fields' => :'custom_fields', + :'integration_fields' => :'integration_fields', + :'remote_data' => :'remote_data' + } + end + + # Returns attribute mapping this model knows about + def self.acceptable_attribute_map + attribute_map + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + acceptable_attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'id' => :'String', + :'remote_id' => :'String', + :'employee_number' => :'String', + :'first_name' => :'String', + :'last_name' => :'String', + :'nationality' => :'String', + :'display_full_name' => :'String', + :'job_title' => :'String', + :'work_email' => :'String', + :'personal_email' => :'String', + :'mobile_phone_number' => :'String', + :'ssn' => :'String', + :'tax_id' => :'String', + :'gender' => :'GetHrisEmployeesPositiveResponseDataResultsInnerGender', + :'ethnicity' => :'GetHrisEmployeesPositiveResponseDataResultsInnerEthnicity', + :'marital_status' => :'GetHrisEmployeesPositiveResponseDataResultsInnerMaritalStatus', + :'employment_status' => :'GetHrisEmployeesPositiveResponseDataResultsInnerEmploymentStatus', + :'employment_type' => :'GetHrisEmployeesPositiveResponseDataResultsInnerEmploymentType', + :'weekly_hours' => :'Float', + :'avatar' => :'String', + :'work_location_id' => :'String', + :'legal_entity_id' => :'String', + :'manager_id' => :'String', + :'home_address' => :'GetHrisEmployeesPositiveResponseDataResultsInnerHomeAddress', + :'bank_accounts' => :'Array', + :'date_of_birth' => :'Time', + :'start_date' => :'Time', + :'termination_date' => :'Time', + :'remote_created_at' => :'Time', + :'changed_at' => :'Time', + :'remote_deleted_at' => :'Time', + :'custom_fields' => :'Hash', + :'integration_fields' => :'Array', + :'remote_data' => :'Hash' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + :'employee_number', + :'first_name', + :'last_name', + :'nationality', + :'display_full_name', + :'job_title', + :'work_email', + :'personal_email', + :'mobile_phone_number', + :'ssn', + :'tax_id', + :'gender', + :'ethnicity', + :'marital_status', + :'employment_status', + :'employment_type', + :'weekly_hours', + :'avatar', + :'work_location_id', + :'legal_entity_id', + :'manager_id', + :'bank_accounts', + :'date_of_birth', + :'start_date', + :'termination_date', + :'remote_created_at', + :'remote_deleted_at', + :'custom_fields', + :'remote_data' + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Kombo::PostHrisEmployeesPositiveResponseData` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + acceptable_attribute_map = self.class.acceptable_attribute_map + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!acceptable_attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Kombo::PostHrisEmployeesPositiveResponseData`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'id') + self.id = attributes[:'id'] + else + self.id = nil + end + + if attributes.key?(:'remote_id') + self.remote_id = attributes[:'remote_id'] + else + self.remote_id = nil + end + + if attributes.key?(:'employee_number') + self.employee_number = attributes[:'employee_number'] + else + self.employee_number = nil + end + + if attributes.key?(:'first_name') + self.first_name = attributes[:'first_name'] + else + self.first_name = nil + end + + if attributes.key?(:'last_name') + self.last_name = attributes[:'last_name'] + else + self.last_name = nil + end + + if attributes.key?(:'nationality') + self.nationality = attributes[:'nationality'] + else + self.nationality = nil + end + + if attributes.key?(:'display_full_name') + self.display_full_name = attributes[:'display_full_name'] + else + self.display_full_name = nil + end + + if attributes.key?(:'job_title') + self.job_title = attributes[:'job_title'] + else + self.job_title = nil + end + + if attributes.key?(:'work_email') + self.work_email = attributes[:'work_email'] + end + + if attributes.key?(:'personal_email') + self.personal_email = attributes[:'personal_email'] + end + + if attributes.key?(:'mobile_phone_number') + self.mobile_phone_number = attributes[:'mobile_phone_number'] + else + self.mobile_phone_number = nil + end + + if attributes.key?(:'ssn') + self.ssn = attributes[:'ssn'] + else + self.ssn = nil + end + + if attributes.key?(:'tax_id') + self.tax_id = attributes[:'tax_id'] + else + self.tax_id = nil + end + + if attributes.key?(:'gender') + self.gender = attributes[:'gender'] + end + + if attributes.key?(:'ethnicity') + self.ethnicity = attributes[:'ethnicity'] + end + + if attributes.key?(:'marital_status') + self.marital_status = attributes[:'marital_status'] + end + + if attributes.key?(:'employment_status') + self.employment_status = attributes[:'employment_status'] + end + + if attributes.key?(:'employment_type') + self.employment_type = attributes[:'employment_type'] + end + + if attributes.key?(:'weekly_hours') + self.weekly_hours = attributes[:'weekly_hours'] + else + self.weekly_hours = nil + end + + if attributes.key?(:'avatar') + self.avatar = attributes[:'avatar'] + else + self.avatar = nil + end + + if attributes.key?(:'work_location_id') + self.work_location_id = attributes[:'work_location_id'] + else + self.work_location_id = nil + end + + if attributes.key?(:'legal_entity_id') + self.legal_entity_id = attributes[:'legal_entity_id'] + else + self.legal_entity_id = nil + end + + if attributes.key?(:'manager_id') + self.manager_id = attributes[:'manager_id'] + else + self.manager_id = nil + end + + if attributes.key?(:'home_address') + self.home_address = attributes[:'home_address'] + end + + if attributes.key?(:'bank_accounts') + if (value = attributes[:'bank_accounts']).is_a?(Array) + self.bank_accounts = value + end + end + + if attributes.key?(:'date_of_birth') + self.date_of_birth = attributes[:'date_of_birth'] + else + self.date_of_birth = nil + end + + if attributes.key?(:'start_date') + self.start_date = attributes[:'start_date'] + else + self.start_date = nil + end + + if attributes.key?(:'termination_date') + self.termination_date = attributes[:'termination_date'] + else + self.termination_date = nil + end + + if attributes.key?(:'remote_created_at') + self.remote_created_at = attributes[:'remote_created_at'] + else + self.remote_created_at = nil + end + + if attributes.key?(:'changed_at') + self.changed_at = attributes[:'changed_at'] + else + self.changed_at = nil + end + + if attributes.key?(:'remote_deleted_at') + self.remote_deleted_at = attributes[:'remote_deleted_at'] + else + self.remote_deleted_at = nil + end + + if attributes.key?(:'custom_fields') + if (value = attributes[:'custom_fields']).is_a?(Hash) + self.custom_fields = value + end + else + self.custom_fields = nil + end + + if attributes.key?(:'integration_fields') + if (value = attributes[:'integration_fields']).is_a?(Array) + self.integration_fields = value + end + else + self.integration_fields = nil + end + + if attributes.key?(:'remote_data') + if (value = attributes[:'remote_data']).is_a?(Hash) + self.remote_data = value + end + else + self.remote_data = nil + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + warn '[DEPRECATED] the `list_invalid_properties` method is obsolete' + invalid_properties = Array.new + if @id.nil? + invalid_properties.push('invalid value for "id", id cannot be nil.') + end + + if @remote_id.nil? + invalid_properties.push('invalid value for "remote_id", remote_id cannot be nil.') + end + + pattern = Regexp.new(/^(?!\.)(?!.*\.\.)([\w'+-.]*)[\w+-]@([\da-z][\da-z-]*\.)+[a-z]{2,}$/) + if !@work_email.nil? && @work_email !~ pattern + invalid_properties.push("invalid value for \"work_email\", must conform to the pattern #{pattern}.") + end + + pattern = Regexp.new(/^(?!\.)(?!.*\.\.)([\w'+-.]*)[\w+-]@([\da-z][\da-z-]*\.)+[a-z]{2,}$/) + if !@personal_email.nil? && @personal_email !~ pattern + invalid_properties.push("invalid value for \"personal_email\", must conform to the pattern #{pattern}.") + end + + if @weekly_hours < -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + invalid_properties.push('invalid value for "weekly_hours", must be greater than or equal to -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.') + end + + if @changed_at.nil? + invalid_properties.push('invalid value for "changed_at", changed_at cannot be nil.') + end + + if @integration_fields.nil? + invalid_properties.push('invalid value for "integration_fields", integration_fields cannot be nil.') + end + + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + warn '[DEPRECATED] the `valid?` method is obsolete' + return false if @id.nil? + return false if @remote_id.nil? + return false if !@work_email.nil? && @work_email !~ Regexp.new(/^(?!\.)(?!.*\.\.)([\w'+-.]*)[\w+-]@([\da-z][\da-z-]*\.)+[a-z]{2,}$/) + return false if !@personal_email.nil? && @personal_email !~ Regexp.new(/^(?!\.)(?!.*\.\.)([\w'+-.]*)[\w+-]@([\da-z][\da-z-]*\.)+[a-z]{2,}$/) + return false if @weekly_hours < -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + return false if @changed_at.nil? + return false if @integration_fields.nil? + true + end + + # Custom attribute writer method with validation + # @param [Object] id Value to be assigned + def id=(id) + if id.nil? + fail ArgumentError, 'id cannot be nil' + end + + @id = id + end + + # Custom attribute writer method with validation + # @param [Object] remote_id Value to be assigned + def remote_id=(remote_id) + if remote_id.nil? + fail ArgumentError, 'remote_id cannot be nil' + end + + @remote_id = remote_id + end + + # Custom attribute writer method with validation + # @param [Object] work_email Value to be assigned + def work_email=(work_email) + pattern = Regexp.new(/^(?!\.)(?!.*\.\.)([\w'+-.]*)[\w+-]@([\da-z][\da-z-]*\.)+[a-z]{2,}$/) + if !work_email.nil? && work_email !~ pattern + fail ArgumentError, "invalid value for \"work_email\", must conform to the pattern #{pattern}." + end + + @work_email = work_email + end + + # Custom attribute writer method with validation + # @param [Object] personal_email Value to be assigned + def personal_email=(personal_email) + pattern = Regexp.new(/^(?!\.)(?!.*\.\.)([\w'+-.]*)[\w+-]@([\da-z][\da-z-]*\.)+[a-z]{2,}$/) + if !personal_email.nil? && personal_email !~ pattern + fail ArgumentError, "invalid value for \"personal_email\", must conform to the pattern #{pattern}." + end + + @personal_email = personal_email + end + + # Custom attribute writer method with validation + # @param [Object] weekly_hours Value to be assigned + def weekly_hours=(weekly_hours) + if !weekly_hours.nil? && weekly_hours < -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + fail ArgumentError, 'invalid value for "weekly_hours", must be greater than or equal to -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.' + end + + @weekly_hours = weekly_hours + end + + # Custom attribute writer method with validation + # @param [Object] changed_at Value to be assigned + def changed_at=(changed_at) + if changed_at.nil? + fail ArgumentError, 'changed_at cannot be nil' + end + + @changed_at = changed_at + end + + # Custom attribute writer method with validation + # @param [Object] integration_fields Value to be assigned + def integration_fields=(integration_fields) + if integration_fields.nil? + fail ArgumentError, 'integration_fields cannot be nil' + end + + @integration_fields = integration_fields + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + id == o.id && + remote_id == o.remote_id && + employee_number == o.employee_number && + first_name == o.first_name && + last_name == o.last_name && + nationality == o.nationality && + display_full_name == o.display_full_name && + job_title == o.job_title && + work_email == o.work_email && + personal_email == o.personal_email && + mobile_phone_number == o.mobile_phone_number && + ssn == o.ssn && + tax_id == o.tax_id && + gender == o.gender && + ethnicity == o.ethnicity && + marital_status == o.marital_status && + employment_status == o.employment_status && + employment_type == o.employment_type && + weekly_hours == o.weekly_hours && + avatar == o.avatar && + work_location_id == o.work_location_id && + legal_entity_id == o.legal_entity_id && + manager_id == o.manager_id && + home_address == o.home_address && + bank_accounts == o.bank_accounts && + date_of_birth == o.date_of_birth && + start_date == o.start_date && + termination_date == o.termination_date && + remote_created_at == o.remote_created_at && + changed_at == o.changed_at && + remote_deleted_at == o.remote_deleted_at && + custom_fields == o.custom_fields && + integration_fields == o.integration_fields && + remote_data == o.remote_data + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [id, remote_id, employee_number, first_name, last_name, nationality, display_full_name, job_title, work_email, personal_email, mobile_phone_number, ssn, tax_id, gender, ethnicity, marital_status, employment_status, employment_type, weekly_hours, avatar, work_location_id, legal_entity_id, manager_id, home_address, bank_accounts, date_of_birth, start_date, termination_date, remote_created_at, changed_at, remote_deleted_at, custom_fields, integration_fields, remote_data].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + transformed_hash = {} + openapi_types.each_pair do |key, type| + if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = nil + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[attribute_map[key]].is_a?(Array) + transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) } + end + elsif !attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]]) + end + end + new(transformed_hash) + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + end + +end diff --git a/lib/kombo_client/models/post_hris_employees_request_body.rb b/lib/kombo_client/models/post_hris_employees_request_body.rb new file mode 100644 index 0000000..d88deee --- /dev/null +++ b/lib/kombo_client/models/post_hris_employees_request_body.rb @@ -0,0 +1,405 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.17.0 + +=end + +require 'date' +require 'time' + +module Kombo + class PostHrisEmployeesRequestBody < ApiModelBase + # The first name of the employee. + attr_accessor :first_name + + # The last name of the employee. + attr_accessor :last_name + + # 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. + attr_accessor :work_email + + # The gender of the employee. + attr_accessor :gender + + # The title of the position this person is working in. + attr_accessor :job_title + + attr_accessor :home_address + + # The employee's date of birth. This is a plain date (i.e., `yyyy-MM-dd`), all time information is discarded. + attr_accessor :date_of_birth + + attr_accessor :mobile_phone_number + + attr_accessor :home_phone_number + + # 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. + attr_accessor :nationality + + # 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. + attr_accessor :start_date + + # The Kombo ID of the legal entity the employee should be in. This field is required for certain integrations. + attr_accessor :legal_entity_id + + # The Kombo ID of the location the employee should be in. This field is required for certain integrations. + attr_accessor :location_id + + attr_accessor :remote_fields + + class EnumAttributeValidator + attr_reader :datatype + attr_reader :allowable_values + + def initialize(datatype, allowable_values) + @allowable_values = allowable_values.map do |value| + case datatype.to_s + when /Integer/i + value.to_i + when /Float/i + value.to_f + else + value + end + end + end + + def valid?(value) + !value || allowable_values.include?(value) + end + end + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'first_name' => :'first_name', + :'last_name' => :'last_name', + :'work_email' => :'work_email', + :'gender' => :'gender', + :'job_title' => :'job_title', + :'home_address' => :'home_address', + :'date_of_birth' => :'date_of_birth', + :'mobile_phone_number' => :'mobile_phone_number', + :'home_phone_number' => :'home_phone_number', + :'nationality' => :'nationality', + :'start_date' => :'start_date', + :'legal_entity_id' => :'legal_entity_id', + :'location_id' => :'location_id', + :'remote_fields' => :'remote_fields' + } + end + + # Returns attribute mapping this model knows about + def self.acceptable_attribute_map + attribute_map + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + acceptable_attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'first_name' => :'String', + :'last_name' => :'String', + :'work_email' => :'String', + :'gender' => :'String', + :'job_title' => :'String', + :'home_address' => :'PostHrisEmployeesRequestBodyHomeAddress', + :'date_of_birth' => :'Time', + :'mobile_phone_number' => :'String', + :'home_phone_number' => :'String', + :'nationality' => :'String', + :'start_date' => :'Time', + :'legal_entity_id' => :'String', + :'location_id' => :'String', + :'remote_fields' => :'PostHrisEmployeesRequestBodyRemoteFields' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Kombo::PostHrisEmployeesRequestBody` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + acceptable_attribute_map = self.class.acceptable_attribute_map + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!acceptable_attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Kombo::PostHrisEmployeesRequestBody`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'first_name') + self.first_name = attributes[:'first_name'] + else + self.first_name = nil + end + + if attributes.key?(:'last_name') + self.last_name = attributes[:'last_name'] + else + self.last_name = nil + end + + if attributes.key?(:'work_email') + self.work_email = attributes[:'work_email'] + end + + if attributes.key?(:'gender') + self.gender = attributes[:'gender'] + end + + if attributes.key?(:'job_title') + self.job_title = attributes[:'job_title'] + end + + if attributes.key?(:'home_address') + self.home_address = attributes[:'home_address'] + end + + if attributes.key?(:'date_of_birth') + self.date_of_birth = attributes[:'date_of_birth'] + end + + if attributes.key?(:'mobile_phone_number') + self.mobile_phone_number = attributes[:'mobile_phone_number'] + end + + if attributes.key?(:'home_phone_number') + self.home_phone_number = attributes[:'home_phone_number'] + end + + if attributes.key?(:'nationality') + self.nationality = attributes[:'nationality'] + end + + if attributes.key?(:'start_date') + self.start_date = attributes[:'start_date'] + end + + if attributes.key?(:'legal_entity_id') + self.legal_entity_id = attributes[:'legal_entity_id'] + end + + if attributes.key?(:'location_id') + self.location_id = attributes[:'location_id'] + end + + if attributes.key?(:'remote_fields') + self.remote_fields = attributes[:'remote_fields'] + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + warn '[DEPRECATED] the `list_invalid_properties` method is obsolete' + invalid_properties = Array.new + if @first_name.nil? + invalid_properties.push('invalid value for "first_name", first_name cannot be nil.') + end + + if @last_name.nil? + invalid_properties.push('invalid value for "last_name", last_name cannot be nil.') + end + + pattern = Regexp.new(/^\d{4}-\d{2}-\d{2}(T\d{2}:\d{2}:\d{2}(\.\d+)?)?Z?$/) + if !@date_of_birth.nil? && @date_of_birth !~ pattern + invalid_properties.push("invalid value for \"date_of_birth\", must conform to the pattern #{pattern}.") + end + + pattern = Regexp.new(/^[A-Z]{2}$/) + if !@nationality.nil? && @nationality !~ pattern + invalid_properties.push("invalid value for \"nationality\", must conform to the pattern #{pattern}.") + end + + pattern = Regexp.new(/^\d{4}-\d{2}-\d{2}(T\d{2}:\d{2}:\d{2}(\.\d+)?)?Z?$/) + if !@start_date.nil? && @start_date !~ pattern + invalid_properties.push("invalid value for \"start_date\", must conform to the pattern #{pattern}.") + end + + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + warn '[DEPRECATED] the `valid?` method is obsolete' + return false if @first_name.nil? + return false if @last_name.nil? + gender_validator = EnumAttributeValidator.new('String', ["MALE", "FEMALE", "NON_BINARY", "NOT_SPECIFIED"]) + return false unless gender_validator.valid?(@gender) + return false if !@date_of_birth.nil? && @date_of_birth !~ Regexp.new(/^\d{4}-\d{2}-\d{2}(T\d{2}:\d{2}:\d{2}(\.\d+)?)?Z?$/) + return false if !@nationality.nil? && @nationality !~ Regexp.new(/^[A-Z]{2}$/) + return false if !@start_date.nil? && @start_date !~ Regexp.new(/^\d{4}-\d{2}-\d{2}(T\d{2}:\d{2}:\d{2}(\.\d+)?)?Z?$/) + true + end + + # Custom attribute writer method with validation + # @param [Object] first_name Value to be assigned + def first_name=(first_name) + if first_name.nil? + fail ArgumentError, 'first_name cannot be nil' + end + + @first_name = first_name + end + + # Custom attribute writer method with validation + # @param [Object] last_name Value to be assigned + def last_name=(last_name) + if last_name.nil? + fail ArgumentError, 'last_name cannot be nil' + end + + @last_name = last_name + end + + # Custom attribute writer method checking allowed values (enum). + # @param [Object] gender Object to be assigned + def gender=(gender) + validator = EnumAttributeValidator.new('String', ["MALE", "FEMALE", "NON_BINARY", "NOT_SPECIFIED"]) + unless validator.valid?(gender) + fail ArgumentError, "invalid value for \"gender\", must be one of #{validator.allowable_values}." + end + @gender = gender + end + + # Custom attribute writer method with validation + # @param [Object] date_of_birth Value to be assigned + def date_of_birth=(date_of_birth) + if date_of_birth.nil? + fail ArgumentError, 'date_of_birth cannot be nil' + end + + pattern = Regexp.new(/^\d{4}-\d{2}-\d{2}(T\d{2}:\d{2}:\d{2}(\.\d+)?)?Z?$/) + if date_of_birth !~ pattern + fail ArgumentError, "invalid value for \"date_of_birth\", must conform to the pattern #{pattern}." + end + + @date_of_birth = date_of_birth + end + + # Custom attribute writer method with validation + # @param [Object] nationality Value to be assigned + def nationality=(nationality) + if nationality.nil? + fail ArgumentError, 'nationality cannot be nil' + end + + pattern = Regexp.new(/^[A-Z]{2}$/) + if nationality !~ pattern + fail ArgumentError, "invalid value for \"nationality\", must conform to the pattern #{pattern}." + end + + @nationality = nationality + end + + # Custom attribute writer method with validation + # @param [Object] start_date Value to be assigned + def start_date=(start_date) + if start_date.nil? + fail ArgumentError, 'start_date cannot be nil' + end + + pattern = Regexp.new(/^\d{4}-\d{2}-\d{2}(T\d{2}:\d{2}:\d{2}(\.\d+)?)?Z?$/) + if start_date !~ pattern + fail ArgumentError, "invalid value for \"start_date\", must conform to the pattern #{pattern}." + end + + @start_date = start_date + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + first_name == o.first_name && + last_name == o.last_name && + work_email == o.work_email && + gender == o.gender && + job_title == o.job_title && + home_address == o.home_address && + date_of_birth == o.date_of_birth && + mobile_phone_number == o.mobile_phone_number && + home_phone_number == o.home_phone_number && + nationality == o.nationality && + start_date == o.start_date && + legal_entity_id == o.legal_entity_id && + location_id == o.location_id && + remote_fields == o.remote_fields + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [first_name, last_name, work_email, gender, job_title, home_address, date_of_birth, mobile_phone_number, home_phone_number, nationality, start_date, legal_entity_id, location_id, remote_fields].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + transformed_hash = {} + openapi_types.each_pair do |key, type| + if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = nil + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[attribute_map[key]].is_a?(Array) + transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) } + end + elsif !attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]]) + end + end + new(transformed_hash) + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + end + +end diff --git a/lib/kombo_client/models/post_hris_employees_request_body_home_address.rb b/lib/kombo_client/models/post_hris_employees_request_body_home_address.rb new file mode 100644 index 0000000..3c190b2 --- /dev/null +++ b/lib/kombo_client/models/post_hris_employees_request_body_home_address.rb @@ -0,0 +1,215 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.17.0 + +=end + +require 'date' +require 'time' + +module Kombo + # The employee's home address. + class PostHrisEmployeesRequestBodyHomeAddress < ApiModelBase + attr_accessor :street_1 + + attr_accessor :street_2 + + attr_accessor :city + + attr_accessor :state + + attr_accessor :zip_code + + # 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. + attr_accessor :country + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'street_1' => :'street_1', + :'street_2' => :'street_2', + :'city' => :'city', + :'state' => :'state', + :'zip_code' => :'zip_code', + :'country' => :'country' + } + end + + # Returns attribute mapping this model knows about + def self.acceptable_attribute_map + attribute_map + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + acceptable_attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'street_1' => :'String', + :'street_2' => :'String', + :'city' => :'String', + :'state' => :'String', + :'zip_code' => :'String', + :'country' => :'String' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Kombo::PostHrisEmployeesRequestBodyHomeAddress` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + acceptable_attribute_map = self.class.acceptable_attribute_map + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!acceptable_attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Kombo::PostHrisEmployeesRequestBodyHomeAddress`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'street_1') + self.street_1 = attributes[:'street_1'] + end + + if attributes.key?(:'street_2') + self.street_2 = attributes[:'street_2'] + end + + if attributes.key?(:'city') + self.city = attributes[:'city'] + end + + if attributes.key?(:'state') + self.state = attributes[:'state'] + end + + if attributes.key?(:'zip_code') + self.zip_code = attributes[:'zip_code'] + end + + if attributes.key?(:'country') + self.country = attributes[:'country'] + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + warn '[DEPRECATED] the `list_invalid_properties` method is obsolete' + invalid_properties = Array.new + pattern = Regexp.new(/^[A-Z]{2}$/) + if !@country.nil? && @country !~ pattern + invalid_properties.push("invalid value for \"country\", must conform to the pattern #{pattern}.") + end + + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + warn '[DEPRECATED] the `valid?` method is obsolete' + return false if !@country.nil? && @country !~ Regexp.new(/^[A-Z]{2}$/) + true + end + + # Custom attribute writer method with validation + # @param [Object] country Value to be assigned + def country=(country) + if country.nil? + fail ArgumentError, 'country cannot be nil' + end + + pattern = Regexp.new(/^[A-Z]{2}$/) + if country !~ pattern + fail ArgumentError, "invalid value for \"country\", must conform to the pattern #{pattern}." + end + + @country = country + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + street_1 == o.street_1 && + street_2 == o.street_2 && + city == o.city && + state == o.state && + zip_code == o.zip_code && + country == o.country + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [street_1, street_2, city, state, zip_code, country].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + transformed_hash = {} + openapi_types.each_pair do |key, type| + if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = nil + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[attribute_map[key]].is_a?(Array) + transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) } + end + elsif !attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]]) + end + end + new(transformed_hash) + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + end + +end diff --git a/lib/kombo_client/models/post_hris_employees_request_body_remote_fields.rb b/lib/kombo_client/models/post_hris_employees_request_body_remote_fields.rb new file mode 100644 index 0000000..c4efa3c --- /dev/null +++ b/lib/kombo_client/models/post_hris_employees_request_body_remote_fields.rb @@ -0,0 +1,274 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.17.0 + +=end + +require 'date' +require 'time' + +module Kombo + # Additional fields that we will pass through to specific HRIS systems. + class PostHrisEmployeesRequestBodyRemoteFields < ApiModelBase + attr_accessor :humaans + + attr_accessor :hibob + + attr_accessor :sympa + + attr_accessor :silae + + attr_accessor :peoplehr + + attr_accessor :zohopeople + + attr_accessor :workday + + attr_accessor :deel + + attr_accessor :bamboohr + + attr_accessor :oracle + + attr_accessor :adpworkforcenow + + attr_accessor :azuread + + attr_accessor :paycor + + attr_accessor :planday + + attr_accessor :dayforce + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'humaans' => :'humaans', + :'hibob' => :'hibob', + :'sympa' => :'sympa', + :'silae' => :'silae', + :'peoplehr' => :'peoplehr', + :'zohopeople' => :'zohopeople', + :'workday' => :'workday', + :'deel' => :'deel', + :'bamboohr' => :'bamboohr', + :'oracle' => :'oracle', + :'adpworkforcenow' => :'adpworkforcenow', + :'azuread' => :'azuread', + :'paycor' => :'paycor', + :'planday' => :'planday', + :'dayforce' => :'dayforce' + } + end + + # Returns attribute mapping this model knows about + def self.acceptable_attribute_map + attribute_map + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + acceptable_attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'humaans' => :'PostHrisEmployeesRequestBodyRemoteFieldsHumaans', + :'hibob' => :'PostHrisEmployeesRequestBodyRemoteFieldsHibob', + :'sympa' => :'PostHrisEmployeesRequestBodyRemoteFieldsSympa', + :'silae' => :'PostHrisEmployeesRequestBodyRemoteFieldsSilae', + :'peoplehr' => :'PostHrisEmployeesRequestBodyRemoteFieldsPeoplehr', + :'zohopeople' => :'PostHrisEmployeesRequestBodyRemoteFieldsZohopeople', + :'workday' => :'PostHrisEmployeesRequestBodyRemoteFieldsWorkday', + :'deel' => :'PostHrisEmployeesRequestBodyRemoteFieldsDeel', + :'bamboohr' => :'PostHrisEmployeesRequestBodyRemoteFieldsBamboohr', + :'oracle' => :'PostHrisEmployeesRequestBodyRemoteFieldsOracle', + :'adpworkforcenow' => :'PostHrisEmployeesRequestBodyRemoteFieldsAdpworkforcenow', + :'azuread' => :'PostHrisEmployeesRequestBodyRemoteFieldsAzuread', + :'paycor' => :'PostHrisEmployeesRequestBodyRemoteFieldsPaycor', + :'planday' => :'PostHrisEmployeesRequestBodyRemoteFieldsPlanday', + :'dayforce' => :'PostHrisEmployeesRequestBodyRemoteFieldsDayforce' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Kombo::PostHrisEmployeesRequestBodyRemoteFields` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + acceptable_attribute_map = self.class.acceptable_attribute_map + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!acceptable_attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Kombo::PostHrisEmployeesRequestBodyRemoteFields`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'humaans') + self.humaans = attributes[:'humaans'] + end + + if attributes.key?(:'hibob') + self.hibob = attributes[:'hibob'] + end + + if attributes.key?(:'sympa') + self.sympa = attributes[:'sympa'] + end + + if attributes.key?(:'silae') + self.silae = attributes[:'silae'] + end + + if attributes.key?(:'peoplehr') + self.peoplehr = attributes[:'peoplehr'] + end + + if attributes.key?(:'zohopeople') + self.zohopeople = attributes[:'zohopeople'] + end + + if attributes.key?(:'workday') + self.workday = attributes[:'workday'] + end + + if attributes.key?(:'deel') + self.deel = attributes[:'deel'] + end + + if attributes.key?(:'bamboohr') + self.bamboohr = attributes[:'bamboohr'] + end + + if attributes.key?(:'oracle') + self.oracle = attributes[:'oracle'] + end + + if attributes.key?(:'adpworkforcenow') + self.adpworkforcenow = attributes[:'adpworkforcenow'] + end + + if attributes.key?(:'azuread') + self.azuread = attributes[:'azuread'] + end + + if attributes.key?(:'paycor') + self.paycor = attributes[:'paycor'] + end + + if attributes.key?(:'planday') + self.planday = attributes[:'planday'] + end + + if attributes.key?(:'dayforce') + self.dayforce = attributes[:'dayforce'] + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + warn '[DEPRECATED] the `list_invalid_properties` method is obsolete' + invalid_properties = Array.new + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + warn '[DEPRECATED] the `valid?` method is obsolete' + true + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + humaans == o.humaans && + hibob == o.hibob && + sympa == o.sympa && + silae == o.silae && + peoplehr == o.peoplehr && + zohopeople == o.zohopeople && + workday == o.workday && + deel == o.deel && + bamboohr == o.bamboohr && + oracle == o.oracle && + adpworkforcenow == o.adpworkforcenow && + azuread == o.azuread && + paycor == o.paycor && + planday == o.planday && + dayforce == o.dayforce + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [humaans, hibob, sympa, silae, peoplehr, zohopeople, workday, deel, bamboohr, oracle, adpworkforcenow, azuread, paycor, planday, dayforce].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + transformed_hash = {} + openapi_types.each_pair do |key, type| + if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = nil + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[attribute_map[key]].is_a?(Array) + transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) } + end + elsif !attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]]) + end + end + new(transformed_hash) + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + end + +end diff --git a/lib/kombo_client/models/post_hris_employees_request_body_remote_fields_adpworkforcenow.rb b/lib/kombo_client/models/post_hris_employees_request_body_remote_fields_adpworkforcenow.rb new file mode 100644 index 0000000..afcfccb --- /dev/null +++ b/lib/kombo_client/models/post_hris_employees_request_body_remote_fields_adpworkforcenow.rb @@ -0,0 +1,223 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.17.0 + +=end + +require 'date' +require 'time' + +module Kombo + # Fields specific to ADP Workforce Now. + class PostHrisEmployeesRequestBodyRemoteFieldsAdpworkforcenow < ApiModelBase + # 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. + attr_accessor :onboarding_template_code + + # 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. + attr_accessor :applicant_payroll_profile_group_code + + # The position ID of the employment of the manager. Available as mappable custom field on employments. Not the employment ID or employment remote ID! + attr_accessor :manager_position_id + + # The remote id of a Kombo group with type \"DEPARTMENT\" that will be used as the employee's home department. + attr_accessor :home_organization_unit_code + + # The personal email for the employee. + attr_accessor :personal_email + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'onboarding_template_code' => :'onboarding_template_code', + :'applicant_payroll_profile_group_code' => :'applicant_payroll_profile_group_code', + :'manager_position_id' => :'manager_position_id', + :'home_organization_unit_code' => :'home_organization_unit_code', + :'personal_email' => :'personal_email' + } + end + + # Returns attribute mapping this model knows about + def self.acceptable_attribute_map + attribute_map + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + acceptable_attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'onboarding_template_code' => :'String', + :'applicant_payroll_profile_group_code' => :'String', + :'manager_position_id' => :'String', + :'home_organization_unit_code' => :'String', + :'personal_email' => :'String' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Kombo::PostHrisEmployeesRequestBodyRemoteFieldsAdpworkforcenow` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + acceptable_attribute_map = self.class.acceptable_attribute_map + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!acceptable_attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Kombo::PostHrisEmployeesRequestBodyRemoteFieldsAdpworkforcenow`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'onboarding_template_code') + self.onboarding_template_code = attributes[:'onboarding_template_code'] + else + self.onboarding_template_code = nil + end + + if attributes.key?(:'applicant_payroll_profile_group_code') + self.applicant_payroll_profile_group_code = attributes[:'applicant_payroll_profile_group_code'] + else + self.applicant_payroll_profile_group_code = nil + end + + if attributes.key?(:'manager_position_id') + self.manager_position_id = attributes[:'manager_position_id'] + end + + if attributes.key?(:'home_organization_unit_code') + self.home_organization_unit_code = attributes[:'home_organization_unit_code'] + end + + if attributes.key?(:'personal_email') + self.personal_email = attributes[:'personal_email'] + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + warn '[DEPRECATED] the `list_invalid_properties` method is obsolete' + invalid_properties = Array.new + if @onboarding_template_code.nil? + invalid_properties.push('invalid value for "onboarding_template_code", onboarding_template_code cannot be nil.') + end + + if @applicant_payroll_profile_group_code.nil? + invalid_properties.push('invalid value for "applicant_payroll_profile_group_code", applicant_payroll_profile_group_code cannot be nil.') + end + + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + warn '[DEPRECATED] the `valid?` method is obsolete' + return false if @onboarding_template_code.nil? + return false if @applicant_payroll_profile_group_code.nil? + true + end + + # Custom attribute writer method with validation + # @param [Object] onboarding_template_code Value to be assigned + def onboarding_template_code=(onboarding_template_code) + if onboarding_template_code.nil? + fail ArgumentError, 'onboarding_template_code cannot be nil' + end + + @onboarding_template_code = onboarding_template_code + end + + # Custom attribute writer method with validation + # @param [Object] applicant_payroll_profile_group_code Value to be assigned + def applicant_payroll_profile_group_code=(applicant_payroll_profile_group_code) + if applicant_payroll_profile_group_code.nil? + fail ArgumentError, 'applicant_payroll_profile_group_code cannot be nil' + end + + @applicant_payroll_profile_group_code = applicant_payroll_profile_group_code + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + onboarding_template_code == o.onboarding_template_code && + applicant_payroll_profile_group_code == o.applicant_payroll_profile_group_code && + manager_position_id == o.manager_position_id && + home_organization_unit_code == o.home_organization_unit_code && + personal_email == o.personal_email + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [onboarding_template_code, applicant_payroll_profile_group_code, manager_position_id, home_organization_unit_code, personal_email].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + transformed_hash = {} + openapi_types.each_pair do |key, type| + if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = nil + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[attribute_map[key]].is_a?(Array) + transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) } + end + elsif !attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]]) + end + end + new(transformed_hash) + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + end + +end diff --git a/lib/kombo_client/models/post_hris_employees_request_body_remote_fields_azuread.rb b/lib/kombo_client/models/post_hris_employees_request_body_remote_fields_azuread.rb new file mode 100644 index 0000000..863dcea --- /dev/null +++ b/lib/kombo_client/models/post_hris_employees_request_body_remote_fields_azuread.rb @@ -0,0 +1,166 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.17.0 + +=end + +require 'date' +require 'time' + +module Kombo + # Fields specific to Azure AD/Entra ID. + class PostHrisEmployeesRequestBodyRemoteFieldsAzuread < ApiModelBase + # 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. + attr_accessor :password + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'password' => :'password' + } + end + + # Returns attribute mapping this model knows about + def self.acceptable_attribute_map + attribute_map + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + acceptable_attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'password' => :'String' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Kombo::PostHrisEmployeesRequestBodyRemoteFieldsAzuread` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + acceptable_attribute_map = self.class.acceptable_attribute_map + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!acceptable_attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Kombo::PostHrisEmployeesRequestBodyRemoteFieldsAzuread`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'password') + self.password = attributes[:'password'] + else + self.password = nil + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + warn '[DEPRECATED] the `list_invalid_properties` method is obsolete' + invalid_properties = Array.new + if @password.nil? + invalid_properties.push('invalid value for "password", password cannot be nil.') + end + + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + warn '[DEPRECATED] the `valid?` method is obsolete' + return false if @password.nil? + true + end + + # Custom attribute writer method with validation + # @param [Object] password Value to be assigned + def password=(password) + if password.nil? + fail ArgumentError, 'password cannot be nil' + end + + @password = password + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + password == o.password + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [password].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + transformed_hash = {} + openapi_types.each_pair do |key, type| + if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = nil + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[attribute_map[key]].is_a?(Array) + transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) } + end + elsif !attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]]) + end + end + new(transformed_hash) + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + end + +end diff --git a/lib/kombo_client/models/post_hris_employees_request_body_remote_fields_bamboohr.rb b/lib/kombo_client/models/post_hris_employees_request_body_remote_fields_bamboohr.rb new file mode 100644 index 0000000..a21bb15 --- /dev/null +++ b/lib/kombo_client/models/post_hris_employees_request_body_remote_fields_bamboohr.rb @@ -0,0 +1,151 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.17.0 + +=end + +require 'date' +require 'time' + +module Kombo + # Fields specific to BambooHR. + class PostHrisEmployeesRequestBodyRemoteFieldsBamboohr < ApiModelBase + # Fields that we will pass through to BambooHR `Employee` object. + attr_accessor :employee + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'employee' => :'employee' + } + end + + # Returns attribute mapping this model knows about + def self.acceptable_attribute_map + attribute_map + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + acceptable_attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'employee' => :'Hash' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Kombo::PostHrisEmployeesRequestBodyRemoteFieldsBamboohr` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + acceptable_attribute_map = self.class.acceptable_attribute_map + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!acceptable_attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Kombo::PostHrisEmployeesRequestBodyRemoteFieldsBamboohr`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'employee') + if (value = attributes[:'employee']).is_a?(Hash) + self.employee = value + end + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + warn '[DEPRECATED] the `list_invalid_properties` method is obsolete' + invalid_properties = Array.new + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + warn '[DEPRECATED] the `valid?` method is obsolete' + true + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + employee == o.employee + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [employee].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + transformed_hash = {} + openapi_types.each_pair do |key, type| + if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = nil + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[attribute_map[key]].is_a?(Array) + transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) } + end + elsif !attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]]) + end + end + new(transformed_hash) + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + end + +end diff --git a/lib/kombo_client/models/post_hris_employees_request_body_remote_fields_dayforce.rb b/lib/kombo_client/models/post_hris_employees_request_body_remote_fields_dayforce.rb new file mode 100644 index 0000000..3e61070 --- /dev/null +++ b/lib/kombo_client/models/post_hris_employees_request_body_remote_fields_dayforce.rb @@ -0,0 +1,418 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.17.0 + +=end + +require 'date' +require 'time' + +module Kombo + # Fields specific to Dayforce. + class PostHrisEmployeesRequestBodyRemoteFieldsDayforce < ApiModelBase + # The social security number of the employee + attr_accessor :social_security_number + + # The pay type of the employee. This needs to be a valid XRefCode from Dayforce. + attr_accessor :pay_type + + # The pay class of the employee. This needs to be a valid XRefCode from Dayforce. + attr_accessor :pay_class + + # The pay group of the employee. This needs to be a valid XRefCode from Dayforce. + attr_accessor :pay_group + + # The base rate of the employee. + attr_accessor :base_rate + + # The role of the employee. This needs to be a valid XRefCode from Dayforce. + attr_accessor :role + + # The location of the employee. This needs to be a valid XRefCode from Dayforce. + attr_accessor :location + + # The department of the employee. This needs to be a valid XRefCode from Dayforce. + attr_accessor :department + + # The job of the employee. This needs to be a valid XRefCode from Dayforce. + attr_accessor :job + + # The country of the employee. This needs to be a valid XRefCode from Dayforce. + attr_accessor :country + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'social_security_number' => :'social_security_number', + :'pay_type' => :'pay_type', + :'pay_class' => :'pay_class', + :'pay_group' => :'pay_group', + :'base_rate' => :'base_rate', + :'role' => :'role', + :'location' => :'location', + :'department' => :'department', + :'job' => :'job', + :'country' => :'country' + } + end + + # Returns attribute mapping this model knows about + def self.acceptable_attribute_map + attribute_map + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + acceptable_attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'social_security_number' => :'String', + :'pay_type' => :'String', + :'pay_class' => :'String', + :'pay_group' => :'String', + :'base_rate' => :'Float', + :'role' => :'String', + :'location' => :'String', + :'department' => :'String', + :'job' => :'String', + :'country' => :'String' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Kombo::PostHrisEmployeesRequestBodyRemoteFieldsDayforce` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + acceptable_attribute_map = self.class.acceptable_attribute_map + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!acceptable_attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Kombo::PostHrisEmployeesRequestBodyRemoteFieldsDayforce`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'social_security_number') + self.social_security_number = attributes[:'social_security_number'] + else + self.social_security_number = nil + end + + if attributes.key?(:'pay_type') + self.pay_type = attributes[:'pay_type'] + else + self.pay_type = nil + end + + if attributes.key?(:'pay_class') + self.pay_class = attributes[:'pay_class'] + else + self.pay_class = nil + end + + if attributes.key?(:'pay_group') + self.pay_group = attributes[:'pay_group'] + else + self.pay_group = nil + end + + if attributes.key?(:'base_rate') + self.base_rate = attributes[:'base_rate'] + else + self.base_rate = nil + end + + if attributes.key?(:'role') + self.role = attributes[:'role'] + else + self.role = nil + end + + if attributes.key?(:'location') + self.location = attributes[:'location'] + else + self.location = nil + end + + if attributes.key?(:'department') + self.department = attributes[:'department'] + else + self.department = nil + end + + if attributes.key?(:'job') + self.job = attributes[:'job'] + else + self.job = nil + end + + if attributes.key?(:'country') + self.country = attributes[:'country'] + else + self.country = nil + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + warn '[DEPRECATED] the `list_invalid_properties` method is obsolete' + invalid_properties = Array.new + if @social_security_number.nil? + invalid_properties.push('invalid value for "social_security_number", social_security_number cannot be nil.') + end + + if @pay_type.nil? + invalid_properties.push('invalid value for "pay_type", pay_type cannot be nil.') + end + + if @pay_class.nil? + invalid_properties.push('invalid value for "pay_class", pay_class cannot be nil.') + end + + if @pay_group.nil? + invalid_properties.push('invalid value for "pay_group", pay_group cannot be nil.') + end + + if @base_rate.nil? + invalid_properties.push('invalid value for "base_rate", base_rate cannot be nil.') + end + + if @base_rate < -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + invalid_properties.push('invalid value for "base_rate", must be greater than or equal to -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.') + end + + if @role.nil? + invalid_properties.push('invalid value for "role", role cannot be nil.') + end + + if @location.nil? + invalid_properties.push('invalid value for "location", location cannot be nil.') + end + + if @department.nil? + invalid_properties.push('invalid value for "department", department cannot be nil.') + end + + if @job.nil? + invalid_properties.push('invalid value for "job", job cannot be nil.') + end + + if @country.nil? + invalid_properties.push('invalid value for "country", country cannot be nil.') + end + + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + warn '[DEPRECATED] the `valid?` method is obsolete' + return false if @social_security_number.nil? + return false if @pay_type.nil? + return false if @pay_class.nil? + return false if @pay_group.nil? + return false if @base_rate.nil? + return false if @base_rate < -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + return false if @role.nil? + return false if @location.nil? + return false if @department.nil? + return false if @job.nil? + return false if @country.nil? + true + end + + # Custom attribute writer method with validation + # @param [Object] social_security_number Value to be assigned + def social_security_number=(social_security_number) + if social_security_number.nil? + fail ArgumentError, 'social_security_number cannot be nil' + end + + @social_security_number = social_security_number + end + + # Custom attribute writer method with validation + # @param [Object] pay_type Value to be assigned + def pay_type=(pay_type) + if pay_type.nil? + fail ArgumentError, 'pay_type cannot be nil' + end + + @pay_type = pay_type + end + + # Custom attribute writer method with validation + # @param [Object] pay_class Value to be assigned + def pay_class=(pay_class) + if pay_class.nil? + fail ArgumentError, 'pay_class cannot be nil' + end + + @pay_class = pay_class + end + + # Custom attribute writer method with validation + # @param [Object] pay_group Value to be assigned + def pay_group=(pay_group) + if pay_group.nil? + fail ArgumentError, 'pay_group cannot be nil' + end + + @pay_group = pay_group + end + + # Custom attribute writer method with validation + # @param [Object] base_rate Value to be assigned + def base_rate=(base_rate) + if base_rate.nil? + fail ArgumentError, 'base_rate cannot be nil' + end + + if base_rate < -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + fail ArgumentError, 'invalid value for "base_rate", must be greater than or equal to -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.' + end + + @base_rate = base_rate + end + + # Custom attribute writer method with validation + # @param [Object] role Value to be assigned + def role=(role) + if role.nil? + fail ArgumentError, 'role cannot be nil' + end + + @role = role + end + + # Custom attribute writer method with validation + # @param [Object] location Value to be assigned + def location=(location) + if location.nil? + fail ArgumentError, 'location cannot be nil' + end + + @location = location + end + + # Custom attribute writer method with validation + # @param [Object] department Value to be assigned + def department=(department) + if department.nil? + fail ArgumentError, 'department cannot be nil' + end + + @department = department + end + + # Custom attribute writer method with validation + # @param [Object] job Value to be assigned + def job=(job) + if job.nil? + fail ArgumentError, 'job cannot be nil' + end + + @job = job + end + + # Custom attribute writer method with validation + # @param [Object] country Value to be assigned + def country=(country) + if country.nil? + fail ArgumentError, 'country cannot be nil' + end + + @country = country + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + social_security_number == o.social_security_number && + pay_type == o.pay_type && + pay_class == o.pay_class && + pay_group == o.pay_group && + base_rate == o.base_rate && + role == o.role && + location == o.location && + department == o.department && + job == o.job && + country == o.country + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [social_security_number, pay_type, pay_class, pay_group, base_rate, role, location, department, job, country].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + transformed_hash = {} + openapi_types.each_pair do |key, type| + if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = nil + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[attribute_map[key]].is_a?(Array) + transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) } + end + elsif !attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]]) + end + end + new(transformed_hash) + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + end + +end diff --git a/lib/kombo_client/models/post_hris_employees_request_body_remote_fields_deel.rb b/lib/kombo_client/models/post_hris_employees_request_body_remote_fields_deel.rb new file mode 100644 index 0000000..e8e0056 --- /dev/null +++ b/lib/kombo_client/models/post_hris_employees_request_body_remote_fields_deel.rb @@ -0,0 +1,193 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.17.0 + +=end + +require 'date' +require 'time' + +module Kombo + # Fields specific to Deel. + class PostHrisEmployeesRequestBodyRemoteFieldsDeel < ApiModelBase + # The unique identifier of the candidate in the ATS. + attr_accessor :candidate_id + + # The link to the candidate's profile in the ATS. + attr_accessor :candidate_link + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'candidate_id' => :'candidate_id', + :'candidate_link' => :'candidate_link' + } + end + + # Returns attribute mapping this model knows about + def self.acceptable_attribute_map + attribute_map + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + acceptable_attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'candidate_id' => :'String', + :'candidate_link' => :'String' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Kombo::PostHrisEmployeesRequestBodyRemoteFieldsDeel` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + acceptable_attribute_map = self.class.acceptable_attribute_map + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!acceptable_attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Kombo::PostHrisEmployeesRequestBodyRemoteFieldsDeel`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'candidate_id') + self.candidate_id = attributes[:'candidate_id'] + else + self.candidate_id = nil + end + + if attributes.key?(:'candidate_link') + self.candidate_link = attributes[:'candidate_link'] + else + self.candidate_link = nil + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + warn '[DEPRECATED] the `list_invalid_properties` method is obsolete' + invalid_properties = Array.new + if @candidate_id.nil? + invalid_properties.push('invalid value for "candidate_id", candidate_id cannot be nil.') + end + + if @candidate_link.nil? + invalid_properties.push('invalid value for "candidate_link", candidate_link cannot be nil.') + end + + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + warn '[DEPRECATED] the `valid?` method is obsolete' + return false if @candidate_id.nil? + return false if @candidate_link.nil? + true + end + + # Custom attribute writer method with validation + # @param [Object] candidate_id Value to be assigned + def candidate_id=(candidate_id) + if candidate_id.nil? + fail ArgumentError, 'candidate_id cannot be nil' + end + + @candidate_id = candidate_id + end + + # Custom attribute writer method with validation + # @param [Object] candidate_link Value to be assigned + def candidate_link=(candidate_link) + if candidate_link.nil? + fail ArgumentError, 'candidate_link cannot be nil' + end + + @candidate_link = candidate_link + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + candidate_id == o.candidate_id && + candidate_link == o.candidate_link + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [candidate_id, candidate_link].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + transformed_hash = {} + openapi_types.each_pair do |key, type| + if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = nil + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[attribute_map[key]].is_a?(Array) + transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) } + end + elsif !attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]]) + end + end + new(transformed_hash) + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + end + +end diff --git a/lib/kombo_client/models/post_hris_employees_request_body_remote_fields_hibob.rb b/lib/kombo_client/models/post_hris_employees_request_body_remote_fields_hibob.rb new file mode 100644 index 0000000..e6c0f7c --- /dev/null +++ b/lib/kombo_client/models/post_hris_employees_request_body_remote_fields_hibob.rb @@ -0,0 +1,151 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.17.0 + +=end + +require 'date' +require 'time' + +module Kombo + # Fields specific to Hibob. + class PostHrisEmployeesRequestBodyRemoteFieldsHibob < ApiModelBase + # Fields that we will pass through to Hibob's `Person` endpoint. + attr_accessor :employee + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'employee' => :'employee' + } + end + + # Returns attribute mapping this model knows about + def self.acceptable_attribute_map + attribute_map + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + acceptable_attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'employee' => :'Hash' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Kombo::PostHrisEmployeesRequestBodyRemoteFieldsHibob` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + acceptable_attribute_map = self.class.acceptable_attribute_map + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!acceptable_attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Kombo::PostHrisEmployeesRequestBodyRemoteFieldsHibob`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'employee') + if (value = attributes[:'employee']).is_a?(Hash) + self.employee = value + end + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + warn '[DEPRECATED] the `list_invalid_properties` method is obsolete' + invalid_properties = Array.new + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + warn '[DEPRECATED] the `valid?` method is obsolete' + true + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + employee == o.employee + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [employee].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + transformed_hash = {} + openapi_types.each_pair do |key, type| + if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = nil + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[attribute_map[key]].is_a?(Array) + transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) } + end + elsif !attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]]) + end + end + new(transformed_hash) + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + end + +end diff --git a/lib/kombo_client/models/post_hris_employees_request_body_remote_fields_humaans.rb b/lib/kombo_client/models/post_hris_employees_request_body_remote_fields_humaans.rb new file mode 100644 index 0000000..d62e1a0 --- /dev/null +++ b/lib/kombo_client/models/post_hris_employees_request_body_remote_fields_humaans.rb @@ -0,0 +1,151 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.17.0 + +=end + +require 'date' +require 'time' + +module Kombo + # Fields specific to Humaans. + class PostHrisEmployeesRequestBodyRemoteFieldsHumaans < ApiModelBase + # Fields that we will pass through to Humaans `Employee` object. + attr_accessor :employee + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'employee' => :'employee' + } + end + + # Returns attribute mapping this model knows about + def self.acceptable_attribute_map + attribute_map + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + acceptable_attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'employee' => :'Hash' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Kombo::PostHrisEmployeesRequestBodyRemoteFieldsHumaans` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + acceptable_attribute_map = self.class.acceptable_attribute_map + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!acceptable_attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Kombo::PostHrisEmployeesRequestBodyRemoteFieldsHumaans`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'employee') + if (value = attributes[:'employee']).is_a?(Hash) + self.employee = value + end + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + warn '[DEPRECATED] the `list_invalid_properties` method is obsolete' + invalid_properties = Array.new + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + warn '[DEPRECATED] the `valid?` method is obsolete' + true + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + employee == o.employee + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [employee].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + transformed_hash = {} + openapi_types.each_pair do |key, type| + if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = nil + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[attribute_map[key]].is_a?(Array) + transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) } + end + elsif !attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]]) + end + end + new(transformed_hash) + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + end + +end diff --git a/lib/kombo_client/models/post_hris_employees_request_body_remote_fields_oracle.rb b/lib/kombo_client/models/post_hris_employees_request_body_remote_fields_oracle.rb new file mode 100644 index 0000000..3f443d1 --- /dev/null +++ b/lib/kombo_client/models/post_hris_employees_request_body_remote_fields_oracle.rb @@ -0,0 +1,193 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.17.0 + +=end + +require 'date' +require 'time' + +module Kombo + # Fields specific to Oracle HCM. + class PostHrisEmployeesRequestBodyRemoteFieldsOracle < ApiModelBase + # The business unit group ID for which the employee should be created. It can be found as a group with the type `null`. + attr_accessor :group_id + + # The department group ID for which the employee should be created. It can be found as a group with the type `DEPARTMENT`. + attr_accessor :department_id + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'group_id' => :'group_id', + :'department_id' => :'department_id' + } + end + + # Returns attribute mapping this model knows about + def self.acceptable_attribute_map + attribute_map + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + acceptable_attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'group_id' => :'String', + :'department_id' => :'String' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Kombo::PostHrisEmployeesRequestBodyRemoteFieldsOracle` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + acceptable_attribute_map = self.class.acceptable_attribute_map + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!acceptable_attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Kombo::PostHrisEmployeesRequestBodyRemoteFieldsOracle`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'group_id') + self.group_id = attributes[:'group_id'] + else + self.group_id = nil + end + + if attributes.key?(:'department_id') + self.department_id = attributes[:'department_id'] + else + self.department_id = nil + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + warn '[DEPRECATED] the `list_invalid_properties` method is obsolete' + invalid_properties = Array.new + if @group_id.nil? + invalid_properties.push('invalid value for "group_id", group_id cannot be nil.') + end + + if @department_id.nil? + invalid_properties.push('invalid value for "department_id", department_id cannot be nil.') + end + + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + warn '[DEPRECATED] the `valid?` method is obsolete' + return false if @group_id.nil? + return false if @department_id.nil? + true + end + + # Custom attribute writer method with validation + # @param [Object] group_id Value to be assigned + def group_id=(group_id) + if group_id.nil? + fail ArgumentError, 'group_id cannot be nil' + end + + @group_id = group_id + end + + # Custom attribute writer method with validation + # @param [Object] department_id Value to be assigned + def department_id=(department_id) + if department_id.nil? + fail ArgumentError, 'department_id cannot be nil' + end + + @department_id = department_id + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + group_id == o.group_id && + department_id == o.department_id + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [group_id, department_id].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + transformed_hash = {} + openapi_types.each_pair do |key, type| + if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = nil + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[attribute_map[key]].is_a?(Array) + transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) } + end + elsif !attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]]) + end + end + new(transformed_hash) + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + end + +end diff --git a/lib/kombo_client/models/post_hris_employees_request_body_remote_fields_paycor.rb b/lib/kombo_client/models/post_hris_employees_request_body_remote_fields_paycor.rb new file mode 100644 index 0000000..2def616 --- /dev/null +++ b/lib/kombo_client/models/post_hris_employees_request_body_remote_fields_paycor.rb @@ -0,0 +1,193 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.17.0 + +=end + +require 'date' +require 'time' + +module Kombo + # Fields specific to Paycor. + class PostHrisEmployeesRequestBodyRemoteFieldsPaycor < ApiModelBase + # [REQUIRED] Remote ID of a Kombo Group with type \"COST_CENTER\" + attr_accessor :paygroup_remote_id + + # [REQUIRED] Remote ID of a Kombo Group with type \"DEPARTMENT\" + attr_accessor :department_remote_id + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'paygroup_remote_id' => :'paygroupRemoteId', + :'department_remote_id' => :'departmentRemoteId' + } + end + + # Returns attribute mapping this model knows about + def self.acceptable_attribute_map + attribute_map + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + acceptable_attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'paygroup_remote_id' => :'String', + :'department_remote_id' => :'String' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Kombo::PostHrisEmployeesRequestBodyRemoteFieldsPaycor` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + acceptable_attribute_map = self.class.acceptable_attribute_map + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!acceptable_attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Kombo::PostHrisEmployeesRequestBodyRemoteFieldsPaycor`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'paygroup_remote_id') + self.paygroup_remote_id = attributes[:'paygroup_remote_id'] + else + self.paygroup_remote_id = nil + end + + if attributes.key?(:'department_remote_id') + self.department_remote_id = attributes[:'department_remote_id'] + else + self.department_remote_id = nil + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + warn '[DEPRECATED] the `list_invalid_properties` method is obsolete' + invalid_properties = Array.new + if @paygroup_remote_id.nil? + invalid_properties.push('invalid value for "paygroup_remote_id", paygroup_remote_id cannot be nil.') + end + + if @department_remote_id.nil? + invalid_properties.push('invalid value for "department_remote_id", department_remote_id cannot be nil.') + end + + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + warn '[DEPRECATED] the `valid?` method is obsolete' + return false if @paygroup_remote_id.nil? + return false if @department_remote_id.nil? + true + end + + # Custom attribute writer method with validation + # @param [Object] paygroup_remote_id Value to be assigned + def paygroup_remote_id=(paygroup_remote_id) + if paygroup_remote_id.nil? + fail ArgumentError, 'paygroup_remote_id cannot be nil' + end + + @paygroup_remote_id = paygroup_remote_id + end + + # Custom attribute writer method with validation + # @param [Object] department_remote_id Value to be assigned + def department_remote_id=(department_remote_id) + if department_remote_id.nil? + fail ArgumentError, 'department_remote_id cannot be nil' + end + + @department_remote_id = department_remote_id + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + paygroup_remote_id == o.paygroup_remote_id && + department_remote_id == o.department_remote_id + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [paygroup_remote_id, department_remote_id].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + transformed_hash = {} + openapi_types.each_pair do |key, type| + if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = nil + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[attribute_map[key]].is_a?(Array) + transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) } + end + elsif !attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]]) + end + end + new(transformed_hash) + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + end + +end diff --git a/lib/kombo_client/models/post_hris_employees_request_body_remote_fields_peoplehr.rb b/lib/kombo_client/models/post_hris_employees_request_body_remote_fields_peoplehr.rb new file mode 100644 index 0000000..35c617b --- /dev/null +++ b/lib/kombo_client/models/post_hris_employees_request_body_remote_fields_peoplehr.rb @@ -0,0 +1,179 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.17.0 + +=end + +require 'date' +require 'time' + +module Kombo + # Fields specific to PeopleHR. + class PostHrisEmployeesRequestBodyRemoteFieldsPeoplehr < ApiModelBase + # The effective date of the employee's current role. This is a plain date (i.e., `yyyy-MM-dd`), all time information is discarded. + attr_accessor :job_role_effective_date + + attr_accessor :department + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'job_role_effective_date' => :'job_role_effective_date', + :'department' => :'department' + } + end + + # Returns attribute mapping this model knows about + def self.acceptable_attribute_map + attribute_map + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + acceptable_attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'job_role_effective_date' => :'Time', + :'department' => :'String' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Kombo::PostHrisEmployeesRequestBodyRemoteFieldsPeoplehr` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + acceptable_attribute_map = self.class.acceptable_attribute_map + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!acceptable_attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Kombo::PostHrisEmployeesRequestBodyRemoteFieldsPeoplehr`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'job_role_effective_date') + self.job_role_effective_date = attributes[:'job_role_effective_date'] + end + + if attributes.key?(:'department') + self.department = attributes[:'department'] + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + warn '[DEPRECATED] the `list_invalid_properties` method is obsolete' + invalid_properties = Array.new + pattern = Regexp.new(/^\d{4}-\d{2}-\d{2}(T\d{2}:\d{2}:\d{2}(\.\d+)?)?Z?$/) + if !@job_role_effective_date.nil? && @job_role_effective_date !~ pattern + invalid_properties.push("invalid value for \"job_role_effective_date\", must conform to the pattern #{pattern}.") + end + + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + warn '[DEPRECATED] the `valid?` method is obsolete' + return false if !@job_role_effective_date.nil? && @job_role_effective_date !~ Regexp.new(/^\d{4}-\d{2}-\d{2}(T\d{2}:\d{2}:\d{2}(\.\d+)?)?Z?$/) + true + end + + # Custom attribute writer method with validation + # @param [Object] job_role_effective_date Value to be assigned + def job_role_effective_date=(job_role_effective_date) + if job_role_effective_date.nil? + fail ArgumentError, 'job_role_effective_date cannot be nil' + end + + pattern = Regexp.new(/^\d{4}-\d{2}-\d{2}(T\d{2}:\d{2}:\d{2}(\.\d+)?)?Z?$/) + if job_role_effective_date !~ pattern + fail ArgumentError, "invalid value for \"job_role_effective_date\", must conform to the pattern #{pattern}." + end + + @job_role_effective_date = job_role_effective_date + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + job_role_effective_date == o.job_role_effective_date && + department == o.department + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [job_role_effective_date, department].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + transformed_hash = {} + openapi_types.each_pair do |key, type| + if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = nil + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[attribute_map[key]].is_a?(Array) + transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) } + end + elsif !attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]]) + end + end + new(transformed_hash) + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + end + +end diff --git a/lib/kombo_client/models/post_hris_employees_request_body_remote_fields_planday.rb b/lib/kombo_client/models/post_hris_employees_request_body_remote_fields_planday.rb new file mode 100644 index 0000000..df023bf --- /dev/null +++ b/lib/kombo_client/models/post_hris_employees_request_body_remote_fields_planday.rb @@ -0,0 +1,166 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.17.0 + +=end + +require 'date' +require 'time' + +module Kombo + # Fields specific to PlanDay. + class PostHrisEmployeesRequestBodyRemoteFieldsPlanday < ApiModelBase + # 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`. + attr_accessor :department_remote_id + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'department_remote_id' => :'department_remote_id' + } + end + + # Returns attribute mapping this model knows about + def self.acceptable_attribute_map + attribute_map + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + acceptable_attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'department_remote_id' => :'String' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Kombo::PostHrisEmployeesRequestBodyRemoteFieldsPlanday` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + acceptable_attribute_map = self.class.acceptable_attribute_map + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!acceptable_attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Kombo::PostHrisEmployeesRequestBodyRemoteFieldsPlanday`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'department_remote_id') + self.department_remote_id = attributes[:'department_remote_id'] + else + self.department_remote_id = nil + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + warn '[DEPRECATED] the `list_invalid_properties` method is obsolete' + invalid_properties = Array.new + if @department_remote_id.nil? + invalid_properties.push('invalid value for "department_remote_id", department_remote_id cannot be nil.') + end + + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + warn '[DEPRECATED] the `valid?` method is obsolete' + return false if @department_remote_id.nil? + true + end + + # Custom attribute writer method with validation + # @param [Object] department_remote_id Value to be assigned + def department_remote_id=(department_remote_id) + if department_remote_id.nil? + fail ArgumentError, 'department_remote_id cannot be nil' + end + + @department_remote_id = department_remote_id + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + department_remote_id == o.department_remote_id + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [department_remote_id].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + transformed_hash = {} + openapi_types.each_pair do |key, type| + if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = nil + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[attribute_map[key]].is_a?(Array) + transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) } + end + elsif !attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]]) + end + end + new(transformed_hash) + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + end + +end diff --git a/lib/kombo_client/models/post_hris_employees_request_body_remote_fields_silae.rb b/lib/kombo_client/models/post_hris_employees_request_body_remote_fields_silae.rb new file mode 100644 index 0000000..edec926 --- /dev/null +++ b/lib/kombo_client/models/post_hris_employees_request_body_remote_fields_silae.rb @@ -0,0 +1,173 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.17.0 + +=end + +require 'date' +require 'time' + +module Kombo + # Fields specific to Silae. + class PostHrisEmployeesRequestBodyRemoteFieldsSilae < ApiModelBase + # The siret of the company. The siret can be found as the remote ID of a Silae legal entity. + attr_accessor :siret + + # Fields that we will passed through to Silae `Employee` object. + attr_accessor :employee + + # Fields that we will passed through to Silae `Employment` object. + attr_accessor :employment + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'siret' => :'siret', + :'employee' => :'employee', + :'employment' => :'employment' + } + end + + # Returns attribute mapping this model knows about + def self.acceptable_attribute_map + attribute_map + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + acceptable_attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'siret' => :'String', + :'employee' => :'Hash', + :'employment' => :'Hash' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Kombo::PostHrisEmployeesRequestBodyRemoteFieldsSilae` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + acceptable_attribute_map = self.class.acceptable_attribute_map + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!acceptable_attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Kombo::PostHrisEmployeesRequestBodyRemoteFieldsSilae`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'siret') + self.siret = attributes[:'siret'] + end + + if attributes.key?(:'employee') + if (value = attributes[:'employee']).is_a?(Hash) + self.employee = value + end + end + + if attributes.key?(:'employment') + if (value = attributes[:'employment']).is_a?(Hash) + self.employment = value + end + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + warn '[DEPRECATED] the `list_invalid_properties` method is obsolete' + invalid_properties = Array.new + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + warn '[DEPRECATED] the `valid?` method is obsolete' + true + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + siret == o.siret && + employee == o.employee && + employment == o.employment + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [siret, employee, employment].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + transformed_hash = {} + openapi_types.each_pair do |key, type| + if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = nil + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[attribute_map[key]].is_a?(Array) + transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) } + end + elsif !attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]]) + end + end + new(transformed_hash) + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + end + +end diff --git a/lib/kombo_client/models/post_hris_employees_request_body_remote_fields_sympa.rb b/lib/kombo_client/models/post_hris_employees_request_body_remote_fields_sympa.rb new file mode 100644 index 0000000..b041b5c --- /dev/null +++ b/lib/kombo_client/models/post_hris_employees_request_body_remote_fields_sympa.rb @@ -0,0 +1,151 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.17.0 + +=end + +require 'date' +require 'time' + +module Kombo + # Fields specific to Sympa. + class PostHrisEmployeesRequestBodyRemoteFieldsSympa < ApiModelBase + # Fields that we will pass through to Sympa's `Employee` object. + attr_accessor :generic_new_hire + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'generic_new_hire' => :'GenericNewHire' + } + end + + # Returns attribute mapping this model knows about + def self.acceptable_attribute_map + attribute_map + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + acceptable_attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'generic_new_hire' => :'Hash' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Kombo::PostHrisEmployeesRequestBodyRemoteFieldsSympa` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + acceptable_attribute_map = self.class.acceptable_attribute_map + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!acceptable_attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Kombo::PostHrisEmployeesRequestBodyRemoteFieldsSympa`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'generic_new_hire') + if (value = attributes[:'generic_new_hire']).is_a?(Hash) + self.generic_new_hire = value + end + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + warn '[DEPRECATED] the `list_invalid_properties` method is obsolete' + invalid_properties = Array.new + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + warn '[DEPRECATED] the `valid?` method is obsolete' + true + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + generic_new_hire == o.generic_new_hire + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [generic_new_hire].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + transformed_hash = {} + openapi_types.each_pair do |key, type| + if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = nil + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[attribute_map[key]].is_a?(Array) + transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) } + end + elsif !attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]]) + end + end + new(transformed_hash) + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + end + +end diff --git a/lib/kombo_client/models/post_hris_employees_request_body_remote_fields_workday.rb b/lib/kombo_client/models/post_hris_employees_request_body_remote_fields_workday.rb new file mode 100644 index 0000000..4d88ef9 --- /dev/null +++ b/lib/kombo_client/models/post_hris_employees_request_body_remote_fields_workday.rb @@ -0,0 +1,178 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.17.0 + +=end + +require 'date' +require 'time' + +module Kombo + # Fields specific to Workday. + class PostHrisEmployeesRequestBodyRemoteFieldsWorkday < ApiModelBase + # Workday job requisition ID of that the employee should be hired for. Provide either this or `position_id`. + attr_accessor :job_requisition_id + + # Workday position ID of that the employee should be hired to. Provide either this or `job_requisition_id`. + attr_accessor :position_id + + # The social security number of the employee. + attr_accessor :ssn + + attr_accessor :bank_account + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'job_requisition_id' => :'job_requisition_id', + :'position_id' => :'position_id', + :'ssn' => :'ssn', + :'bank_account' => :'bank_account' + } + end + + # Returns attribute mapping this model knows about + def self.acceptable_attribute_map + attribute_map + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + acceptable_attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'job_requisition_id' => :'String', + :'position_id' => :'String', + :'ssn' => :'String', + :'bank_account' => :'PostHrisEmployeesRequestBodyRemoteFieldsWorkdayBankAccount' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Kombo::PostHrisEmployeesRequestBodyRemoteFieldsWorkday` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + acceptable_attribute_map = self.class.acceptable_attribute_map + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!acceptable_attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Kombo::PostHrisEmployeesRequestBodyRemoteFieldsWorkday`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'job_requisition_id') + self.job_requisition_id = attributes[:'job_requisition_id'] + end + + if attributes.key?(:'position_id') + self.position_id = attributes[:'position_id'] + end + + if attributes.key?(:'ssn') + self.ssn = attributes[:'ssn'] + end + + if attributes.key?(:'bank_account') + self.bank_account = attributes[:'bank_account'] + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + warn '[DEPRECATED] the `list_invalid_properties` method is obsolete' + invalid_properties = Array.new + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + warn '[DEPRECATED] the `valid?` method is obsolete' + true + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + job_requisition_id == o.job_requisition_id && + position_id == o.position_id && + ssn == o.ssn && + bank_account == o.bank_account + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [job_requisition_id, position_id, ssn, bank_account].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + transformed_hash = {} + openapi_types.each_pair do |key, type| + if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = nil + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[attribute_map[key]].is_a?(Array) + transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) } + end + elsif !attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]]) + end + end + new(transformed_hash) + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + end + +end diff --git a/lib/kombo_client/models/post_hris_employees_request_body_remote_fields_workday_bank_account.rb b/lib/kombo_client/models/post_hris_employees_request_body_remote_fields_workday_bank_account.rb new file mode 100644 index 0000000..764679d --- /dev/null +++ b/lib/kombo_client/models/post_hris_employees_request_body_remote_fields_workday_bank_account.rb @@ -0,0 +1,217 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.17.0 + +=end + +require 'date' +require 'time' + +module Kombo + # The employee's bank account. + class PostHrisEmployeesRequestBodyRemoteFieldsWorkdayBankAccount < ApiModelBase + attr_accessor :iban + + attr_accessor :bic + + attr_accessor :bank_name + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'iban' => :'iban', + :'bic' => :'bic', + :'bank_name' => :'bank_name' + } + end + + # Returns attribute mapping this model knows about + def self.acceptable_attribute_map + attribute_map + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + acceptable_attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'iban' => :'String', + :'bic' => :'String', + :'bank_name' => :'String' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Kombo::PostHrisEmployeesRequestBodyRemoteFieldsWorkdayBankAccount` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + acceptable_attribute_map = self.class.acceptable_attribute_map + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!acceptable_attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Kombo::PostHrisEmployeesRequestBodyRemoteFieldsWorkdayBankAccount`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'iban') + self.iban = attributes[:'iban'] + else + self.iban = nil + end + + if attributes.key?(:'bic') + self.bic = attributes[:'bic'] + else + self.bic = nil + end + + if attributes.key?(:'bank_name') + self.bank_name = attributes[:'bank_name'] + else + self.bank_name = nil + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + warn '[DEPRECATED] the `list_invalid_properties` method is obsolete' + invalid_properties = Array.new + if @iban.nil? + invalid_properties.push('invalid value for "iban", iban cannot be nil.') + end + + if @bic.nil? + invalid_properties.push('invalid value for "bic", bic cannot be nil.') + end + + if @bank_name.nil? + invalid_properties.push('invalid value for "bank_name", bank_name cannot be nil.') + end + + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + warn '[DEPRECATED] the `valid?` method is obsolete' + return false if @iban.nil? + return false if @bic.nil? + return false if @bank_name.nil? + true + end + + # Custom attribute writer method with validation + # @param [Object] iban Value to be assigned + def iban=(iban) + if iban.nil? + fail ArgumentError, 'iban cannot be nil' + end + + @iban = iban + end + + # Custom attribute writer method with validation + # @param [Object] bic Value to be assigned + def bic=(bic) + if bic.nil? + fail ArgumentError, 'bic cannot be nil' + end + + @bic = bic + end + + # Custom attribute writer method with validation + # @param [Object] bank_name Value to be assigned + def bank_name=(bank_name) + if bank_name.nil? + fail ArgumentError, 'bank_name cannot be nil' + end + + @bank_name = bank_name + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + iban == o.iban && + bic == o.bic && + bank_name == o.bank_name + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [iban, bic, bank_name].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + transformed_hash = {} + openapi_types.each_pair do |key, type| + if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = nil + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[attribute_map[key]].is_a?(Array) + transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) } + end + elsif !attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]]) + end + end + new(transformed_hash) + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + end + +end diff --git a/lib/kombo_client/models/post_hris_employees_request_body_remote_fields_zohopeople.rb b/lib/kombo_client/models/post_hris_employees_request_body_remote_fields_zohopeople.rb new file mode 100644 index 0000000..53e0694 --- /dev/null +++ b/lib/kombo_client/models/post_hris_employees_request_body_remote_fields_zohopeople.rb @@ -0,0 +1,168 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.17.0 + +=end + +require 'date' +require 'time' + +module Kombo + # Fields specific to Zoho People. + class PostHrisEmployeesRequestBodyRemoteFieldsZohopeople < ApiModelBase + # A personnel code used to identify individuals working for the business. + attr_accessor :employee_id + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'employee_id' => :'employee_id' + } + end + + # Returns attribute mapping this model knows about + def self.acceptable_attribute_map + attribute_map + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + acceptable_attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'employee_id' => :'String' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Kombo::PostHrisEmployeesRequestBodyRemoteFieldsZohopeople` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + acceptable_attribute_map = self.class.acceptable_attribute_map + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!acceptable_attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Kombo::PostHrisEmployeesRequestBodyRemoteFieldsZohopeople`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'employee_id') + self.employee_id = attributes[:'employee_id'] + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + warn '[DEPRECATED] the `list_invalid_properties` method is obsolete' + invalid_properties = Array.new + if !@employee_id.nil? && @employee_id.to_s.length < 1 + invalid_properties.push('invalid value for "employee_id", the character length must be greater than or equal to 1.') + end + + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + warn '[DEPRECATED] the `valid?` method is obsolete' + return false if !@employee_id.nil? && @employee_id.to_s.length < 1 + true + end + + # Custom attribute writer method with validation + # @param [Object] employee_id Value to be assigned + def employee_id=(employee_id) + if employee_id.nil? + fail ArgumentError, 'employee_id cannot be nil' + end + + if employee_id.to_s.length < 1 + fail ArgumentError, 'invalid value for "employee_id", the character length must be greater than or equal to 1.' + end + + @employee_id = employee_id + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + employee_id == o.employee_id + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [employee_id].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + transformed_hash = {} + openapi_types.each_pair do |key, type| + if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = nil + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[attribute_map[key]].is_a?(Array) + transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) } + end + elsif !attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]]) + end + end + new(transformed_hash) + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + end + +end diff --git a/lib/kombo_client/models/post_hris_provisioning_groups_group_id_diff_positive_response.rb b/lib/kombo_client/models/post_hris_provisioning_groups_group_id_diff_positive_response.rb new file mode 100644 index 0000000..158068a --- /dev/null +++ b/lib/kombo_client/models/post_hris_provisioning_groups_group_id_diff_positive_response.rb @@ -0,0 +1,214 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.17.0 + +=end + +require 'date' +require 'time' + +module Kombo + class PostHrisProvisioningGroupsGroupIdDiffPositiveResponse < ApiModelBase + attr_accessor :status + + attr_accessor :data + + class EnumAttributeValidator + attr_reader :datatype + attr_reader :allowable_values + + def initialize(datatype, allowable_values) + @allowable_values = allowable_values.map do |value| + case datatype.to_s + when /Integer/i + value.to_i + when /Float/i + value.to_f + else + value + end + end + end + + def valid?(value) + !value || allowable_values.include?(value) + end + end + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'status' => :'status', + :'data' => :'data' + } + end + + # Returns attribute mapping this model knows about + def self.acceptable_attribute_map + attribute_map + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + acceptable_attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'status' => :'String', + :'data' => :'PostHrisProvisioningGroupsGroupIdDiffPositiveResponseData' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Kombo::PostHrisProvisioningGroupsGroupIdDiffPositiveResponse` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + acceptable_attribute_map = self.class.acceptable_attribute_map + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!acceptable_attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Kombo::PostHrisProvisioningGroupsGroupIdDiffPositiveResponse`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'status') + self.status = attributes[:'status'] + else + self.status = nil + end + + if attributes.key?(:'data') + self.data = attributes[:'data'] + else + self.data = nil + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + warn '[DEPRECATED] the `list_invalid_properties` method is obsolete' + invalid_properties = Array.new + if @status.nil? + invalid_properties.push('invalid value for "status", status cannot be nil.') + end + + if @data.nil? + invalid_properties.push('invalid value for "data", data cannot be nil.') + end + + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + warn '[DEPRECATED] the `valid?` method is obsolete' + return false if @status.nil? + status_validator = EnumAttributeValidator.new('String', ["success"]) + return false unless status_validator.valid?(@status) + return false if @data.nil? + true + end + + # Custom attribute writer method checking allowed values (enum). + # @param [Object] status Object to be assigned + def status=(status) + validator = EnumAttributeValidator.new('String', ["success"]) + unless validator.valid?(status) + fail ArgumentError, "invalid value for \"status\", must be one of #{validator.allowable_values}." + end + @status = status + end + + # Custom attribute writer method with validation + # @param [Object] data Value to be assigned + def data=(data) + if data.nil? + fail ArgumentError, 'data cannot be nil' + end + + @data = data + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + status == o.status && + data == o.data + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [status, data].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + transformed_hash = {} + openapi_types.each_pair do |key, type| + if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = nil + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[attribute_map[key]].is_a?(Array) + transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) } + end + elsif !attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]]) + end + end + new(transformed_hash) + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + end + +end diff --git a/lib/kombo_client/models/post_hris_provisioning_groups_group_id_diff_positive_response_data.rb b/lib/kombo_client/models/post_hris_provisioning_groups_group_id_diff_positive_response_data.rb new file mode 100644 index 0000000..0e55e50 --- /dev/null +++ b/lib/kombo_client/models/post_hris_provisioning_groups_group_id_diff_positive_response_data.rb @@ -0,0 +1,165 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.17.0 + +=end + +require 'date' +require 'time' + +module Kombo + # The users to provision, deprovision, and optionally update. + class PostHrisProvisioningGroupsGroupIdDiffPositiveResponseData < ApiModelBase + attr_accessor :users + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'users' => :'users' + } + end + + # Returns attribute mapping this model knows about + def self.acceptable_attribute_map + attribute_map + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + acceptable_attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'users' => :'PostHrisProvisioningGroupsGroupIdDiffPositiveResponseDataUsers' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Kombo::PostHrisProvisioningGroupsGroupIdDiffPositiveResponseData` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + acceptable_attribute_map = self.class.acceptable_attribute_map + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!acceptable_attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Kombo::PostHrisProvisioningGroupsGroupIdDiffPositiveResponseData`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'users') + self.users = attributes[:'users'] + else + self.users = nil + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + warn '[DEPRECATED] the `list_invalid_properties` method is obsolete' + invalid_properties = Array.new + if @users.nil? + invalid_properties.push('invalid value for "users", users cannot be nil.') + end + + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + warn '[DEPRECATED] the `valid?` method is obsolete' + return false if @users.nil? + true + end + + # Custom attribute writer method with validation + # @param [Object] users Value to be assigned + def users=(users) + if users.nil? + fail ArgumentError, 'users cannot be nil' + end + + @users = users + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + users == o.users + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [users].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + transformed_hash = {} + openapi_types.each_pair do |key, type| + if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = nil + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[attribute_map[key]].is_a?(Array) + transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) } + end + elsif !attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]]) + end + end + new(transformed_hash) + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + end + +end diff --git a/lib/kombo_client/models/post_hris_provisioning_groups_group_id_diff_positive_response_data_users.rb b/lib/kombo_client/models/post_hris_provisioning_groups_group_id_diff_positive_response_data_users.rb new file mode 100644 index 0000000..27b771e --- /dev/null +++ b/lib/kombo_client/models/post_hris_provisioning_groups_group_id_diff_positive_response_data_users.rb @@ -0,0 +1,225 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.17.0 + +=end + +require 'date' +require 'time' + +module Kombo + class PostHrisProvisioningGroupsGroupIdDiffPositiveResponseDataUsers < ApiModelBase + # The users we've found in the HR systems who match the provisioning filters but haven't been provisioned in your system yet. + attr_accessor :to_provision + + # 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. + attr_accessor :to_deprovision + + # The users who are in the HR system and match the provisioning filters but have already been provisioned in your system. + attr_accessor :already_provisioned + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'to_provision' => :'to_provision', + :'to_deprovision' => :'to_deprovision', + :'already_provisioned' => :'already_provisioned' + } + end + + # Returns attribute mapping this model knows about + def self.acceptable_attribute_map + attribute_map + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + acceptable_attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'to_provision' => :'Array', + :'to_deprovision' => :'Array', + :'already_provisioned' => :'Array' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Kombo::PostHrisProvisioningGroupsGroupIdDiffPositiveResponseDataUsers` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + acceptable_attribute_map = self.class.acceptable_attribute_map + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!acceptable_attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Kombo::PostHrisProvisioningGroupsGroupIdDiffPositiveResponseDataUsers`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'to_provision') + if (value = attributes[:'to_provision']).is_a?(Array) + self.to_provision = value + end + else + self.to_provision = nil + end + + if attributes.key?(:'to_deprovision') + if (value = attributes[:'to_deprovision']).is_a?(Array) + self.to_deprovision = value + end + else + self.to_deprovision = nil + end + + if attributes.key?(:'already_provisioned') + if (value = attributes[:'already_provisioned']).is_a?(Array) + self.already_provisioned = value + end + else + self.already_provisioned = nil + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + warn '[DEPRECATED] the `list_invalid_properties` method is obsolete' + invalid_properties = Array.new + if @to_provision.nil? + invalid_properties.push('invalid value for "to_provision", to_provision cannot be nil.') + end + + if @to_deprovision.nil? + invalid_properties.push('invalid value for "to_deprovision", to_deprovision cannot be nil.') + end + + if @already_provisioned.nil? + invalid_properties.push('invalid value for "already_provisioned", already_provisioned cannot be nil.') + end + + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + warn '[DEPRECATED] the `valid?` method is obsolete' + return false if @to_provision.nil? + return false if @to_deprovision.nil? + return false if @already_provisioned.nil? + true + end + + # Custom attribute writer method with validation + # @param [Object] to_provision Value to be assigned + def to_provision=(to_provision) + if to_provision.nil? + fail ArgumentError, 'to_provision cannot be nil' + end + + @to_provision = to_provision + end + + # Custom attribute writer method with validation + # @param [Object] to_deprovision Value to be assigned + def to_deprovision=(to_deprovision) + if to_deprovision.nil? + fail ArgumentError, 'to_deprovision cannot be nil' + end + + @to_deprovision = to_deprovision + end + + # Custom attribute writer method with validation + # @param [Object] already_provisioned Value to be assigned + def already_provisioned=(already_provisioned) + if already_provisioned.nil? + fail ArgumentError, 'already_provisioned cannot be nil' + end + + @already_provisioned = already_provisioned + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + to_provision == o.to_provision && + to_deprovision == o.to_deprovision && + already_provisioned == o.already_provisioned + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [to_provision, to_deprovision, already_provisioned].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + transformed_hash = {} + openapi_types.each_pair do |key, type| + if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = nil + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[attribute_map[key]].is_a?(Array) + transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) } + end + elsif !attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]]) + end + end + new(transformed_hash) + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + end + +end diff --git a/lib/kombo_client/models/post_hris_provisioning_groups_group_id_diff_positive_response_data_users_already_provisioned_inner.rb b/lib/kombo_client/models/post_hris_provisioning_groups_group_id_diff_positive_response_data_users_already_provisioned_inner.rb new file mode 100644 index 0000000..6170a13 --- /dev/null +++ b/lib/kombo_client/models/post_hris_provisioning_groups_group_id_diff_positive_response_data_users_already_provisioned_inner.rb @@ -0,0 +1,218 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.17.0 + +=end + +require 'date' +require 'time' + +module Kombo + class PostHrisProvisioningGroupsGroupIdDiffPositiveResponseDataUsersAlreadyProvisionedInner < ApiModelBase + # _Your_ ID for this user (that you submitted through `origin_id`). + attr_accessor :origin_id + + # The email address of the user. + attr_accessor :email + + attr_accessor :employee + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'origin_id' => :'origin_id', + :'email' => :'email', + :'employee' => :'employee' + } + end + + # Returns attribute mapping this model knows about + def self.acceptable_attribute_map + attribute_map + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + acceptable_attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'origin_id' => :'String', + :'email' => :'String', + :'employee' => :'PostHrisProvisioningGroupsGroupIdDiffPositiveResponseDataUsersToProvisionInnerEmployee' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Kombo::PostHrisProvisioningGroupsGroupIdDiffPositiveResponseDataUsersAlreadyProvisionedInner` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + acceptable_attribute_map = self.class.acceptable_attribute_map + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!acceptable_attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Kombo::PostHrisProvisioningGroupsGroupIdDiffPositiveResponseDataUsersAlreadyProvisionedInner`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'origin_id') + self.origin_id = attributes[:'origin_id'] + else + self.origin_id = nil + end + + if attributes.key?(:'email') + self.email = attributes[:'email'] + else + self.email = nil + end + + if attributes.key?(:'employee') + self.employee = attributes[:'employee'] + else + self.employee = nil + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + warn '[DEPRECATED] the `list_invalid_properties` method is obsolete' + invalid_properties = Array.new + if @origin_id.nil? + invalid_properties.push('invalid value for "origin_id", origin_id cannot be nil.') + end + + if @email.nil? + invalid_properties.push('invalid value for "email", email cannot be nil.') + end + + if @employee.nil? + invalid_properties.push('invalid value for "employee", employee cannot be nil.') + end + + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + warn '[DEPRECATED] the `valid?` method is obsolete' + return false if @origin_id.nil? + return false if @email.nil? + return false if @employee.nil? + true + end + + # Custom attribute writer method with validation + # @param [Object] origin_id Value to be assigned + def origin_id=(origin_id) + if origin_id.nil? + fail ArgumentError, 'origin_id cannot be nil' + end + + @origin_id = origin_id + end + + # Custom attribute writer method with validation + # @param [Object] email Value to be assigned + def email=(email) + if email.nil? + fail ArgumentError, 'email cannot be nil' + end + + @email = email + end + + # Custom attribute writer method with validation + # @param [Object] employee Value to be assigned + def employee=(employee) + if employee.nil? + fail ArgumentError, 'employee cannot be nil' + end + + @employee = employee + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + origin_id == o.origin_id && + email == o.email && + employee == o.employee + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [origin_id, email, employee].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + transformed_hash = {} + openapi_types.each_pair do |key, type| + if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = nil + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[attribute_map[key]].is_a?(Array) + transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) } + end + elsif !attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]]) + end + end + new(transformed_hash) + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + end + +end diff --git a/lib/kombo_client/models/post_hris_provisioning_groups_group_id_diff_positive_response_data_users_to_deprovision_inner.rb b/lib/kombo_client/models/post_hris_provisioning_groups_group_id_diff_positive_response_data_users_to_deprovision_inner.rb new file mode 100644 index 0000000..0d60d29 --- /dev/null +++ b/lib/kombo_client/models/post_hris_provisioning_groups_group_id_diff_positive_response_data_users_to_deprovision_inner.rb @@ -0,0 +1,192 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.17.0 + +=end + +require 'date' +require 'time' + +module Kombo + class PostHrisProvisioningGroupsGroupIdDiffPositiveResponseDataUsersToDeprovisionInner < ApiModelBase + # _Your_ ID for this user (that you submitted through `origin_id`). + attr_accessor :origin_id + + # The email address of the user. + attr_accessor :email + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'origin_id' => :'origin_id', + :'email' => :'email' + } + end + + # Returns attribute mapping this model knows about + def self.acceptable_attribute_map + attribute_map + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + acceptable_attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'origin_id' => :'String', + :'email' => :'String' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Kombo::PostHrisProvisioningGroupsGroupIdDiffPositiveResponseDataUsersToDeprovisionInner` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + acceptable_attribute_map = self.class.acceptable_attribute_map + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!acceptable_attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Kombo::PostHrisProvisioningGroupsGroupIdDiffPositiveResponseDataUsersToDeprovisionInner`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'origin_id') + self.origin_id = attributes[:'origin_id'] + else + self.origin_id = nil + end + + if attributes.key?(:'email') + self.email = attributes[:'email'] + else + self.email = nil + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + warn '[DEPRECATED] the `list_invalid_properties` method is obsolete' + invalid_properties = Array.new + if @origin_id.nil? + invalid_properties.push('invalid value for "origin_id", origin_id cannot be nil.') + end + + if @email.nil? + invalid_properties.push('invalid value for "email", email cannot be nil.') + end + + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + warn '[DEPRECATED] the `valid?` method is obsolete' + return false if @origin_id.nil? + return false if @email.nil? + true + end + + # Custom attribute writer method with validation + # @param [Object] origin_id Value to be assigned + def origin_id=(origin_id) + if origin_id.nil? + fail ArgumentError, 'origin_id cannot be nil' + end + + @origin_id = origin_id + end + + # Custom attribute writer method with validation + # @param [Object] email Value to be assigned + def email=(email) + if email.nil? + fail ArgumentError, 'email cannot be nil' + end + + @email = email + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + origin_id == o.origin_id && + email == o.email + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [origin_id, email].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + transformed_hash = {} + openapi_types.each_pair do |key, type| + if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = nil + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[attribute_map[key]].is_a?(Array) + transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) } + end + elsif !attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]]) + end + end + new(transformed_hash) + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + end + +end diff --git a/lib/kombo_client/models/post_hris_provisioning_groups_group_id_diff_positive_response_data_users_to_provision_inner.rb b/lib/kombo_client/models/post_hris_provisioning_groups_group_id_diff_positive_response_data_users_to_provision_inner.rb new file mode 100644 index 0000000..8def3f8 --- /dev/null +++ b/lib/kombo_client/models/post_hris_provisioning_groups_group_id_diff_positive_response_data_users_to_provision_inner.rb @@ -0,0 +1,194 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.17.0 + +=end + +require 'date' +require 'time' + +module Kombo + class PostHrisProvisioningGroupsGroupIdDiffPositiveResponseDataUsersToProvisionInner < ApiModelBase + # The email address of the user. + attr_accessor :email + + attr_accessor :employee + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'email' => :'email', + :'employee' => :'employee' + } + end + + # Returns attribute mapping this model knows about + def self.acceptable_attribute_map + attribute_map + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + acceptable_attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'email' => :'String', + :'employee' => :'PostHrisProvisioningGroupsGroupIdDiffPositiveResponseDataUsersToProvisionInnerEmployee' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + :'email', + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Kombo::PostHrisProvisioningGroupsGroupIdDiffPositiveResponseDataUsersToProvisionInner` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + acceptable_attribute_map = self.class.acceptable_attribute_map + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!acceptable_attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Kombo::PostHrisProvisioningGroupsGroupIdDiffPositiveResponseDataUsersToProvisionInner`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'email') + self.email = attributes[:'email'] + else + self.email = nil + end + + if attributes.key?(:'employee') + self.employee = attributes[:'employee'] + else + self.employee = nil + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + warn '[DEPRECATED] the `list_invalid_properties` method is obsolete' + invalid_properties = Array.new + pattern = Regexp.new(/^(?!\.)(?!.*\.\.)([\w'+-.]*)[\w+-]@([\da-z][\da-z-]*\.)+[a-z]{2,}$/) + if @email !~ pattern + invalid_properties.push("invalid value for \"email\", must conform to the pattern #{pattern}.") + end + + if @employee.nil? + invalid_properties.push('invalid value for "employee", employee cannot be nil.') + end + + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + warn '[DEPRECATED] the `valid?` method is obsolete' + return false if @email !~ Regexp.new(/^(?!\.)(?!.*\.\.)([\w'+-.]*)[\w+-]@([\da-z][\da-z-]*\.)+[a-z]{2,}$/) + return false if @employee.nil? + true + end + + # Custom attribute writer method with validation + # @param [Object] email Value to be assigned + def email=(email) + pattern = Regexp.new(/^(?!\.)(?!.*\.\.)([\w'+-.]*)[\w+-]@([\da-z][\da-z-]*\.)+[a-z]{2,}$/) + if !email.nil? && email !~ pattern + fail ArgumentError, "invalid value for \"email\", must conform to the pattern #{pattern}." + end + + @email = email + end + + # Custom attribute writer method with validation + # @param [Object] employee Value to be assigned + def employee=(employee) + if employee.nil? + fail ArgumentError, 'employee cannot be nil' + end + + @employee = employee + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + email == o.email && + employee == o.employee + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [email, employee].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + transformed_hash = {} + openapi_types.each_pair do |key, type| + if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = nil + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[attribute_map[key]].is_a?(Array) + transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) } + end + elsif !attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]]) + end + end + new(transformed_hash) + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + end + +end diff --git a/lib/kombo_client/models/post_hris_provisioning_groups_group_id_diff_positive_response_data_users_to_provision_inner_employee.rb b/lib/kombo_client/models/post_hris_provisioning_groups_group_id_diff_positive_response_data_users_to_provision_inner_employee.rb new file mode 100644 index 0000000..96ecc15 --- /dev/null +++ b/lib/kombo_client/models/post_hris_provisioning_groups_group_id_diff_positive_response_data_users_to_provision_inner_employee.rb @@ -0,0 +1,219 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.17.0 + +=end + +require 'date' +require 'time' + +module Kombo + # The field of the underlying employee (which ones are included depends on the `employee_fields` array you supplied). + class PostHrisProvisioningGroupsGroupIdDiffPositiveResponseDataUsersToProvisionInnerEmployee < ApiModelBase + attr_accessor :id + + attr_accessor :remote_id + + attr_accessor :first_name + + attr_accessor :last_name + + attr_accessor :groups + + attr_accessor :avatar + + attr_accessor :work_location_id + + attr_accessor :legal_entity_id + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'id' => :'id', + :'remote_id' => :'remote_id', + :'first_name' => :'first_name', + :'last_name' => :'last_name', + :'groups' => :'groups', + :'avatar' => :'avatar', + :'work_location_id' => :'work_location_id', + :'legal_entity_id' => :'legal_entity_id' + } + end + + # Returns attribute mapping this model knows about + def self.acceptable_attribute_map + attribute_map + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + acceptable_attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'id' => :'String', + :'remote_id' => :'String', + :'first_name' => :'String', + :'last_name' => :'String', + :'groups' => :'Array', + :'avatar' => :'String', + :'work_location_id' => :'String', + :'legal_entity_id' => :'String' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + :'remote_id', + :'first_name', + :'last_name', + :'avatar', + :'work_location_id', + :'legal_entity_id' + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Kombo::PostHrisProvisioningGroupsGroupIdDiffPositiveResponseDataUsersToProvisionInnerEmployee` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + acceptable_attribute_map = self.class.acceptable_attribute_map + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!acceptable_attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Kombo::PostHrisProvisioningGroupsGroupIdDiffPositiveResponseDataUsersToProvisionInnerEmployee`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'id') + self.id = attributes[:'id'] + end + + if attributes.key?(:'remote_id') + self.remote_id = attributes[:'remote_id'] + end + + if attributes.key?(:'first_name') + self.first_name = attributes[:'first_name'] + end + + if attributes.key?(:'last_name') + self.last_name = attributes[:'last_name'] + end + + if attributes.key?(:'groups') + if (value = attributes[:'groups']).is_a?(Array) + self.groups = value + end + end + + if attributes.key?(:'avatar') + self.avatar = attributes[:'avatar'] + end + + if attributes.key?(:'work_location_id') + self.work_location_id = attributes[:'work_location_id'] + end + + if attributes.key?(:'legal_entity_id') + self.legal_entity_id = attributes[:'legal_entity_id'] + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + warn '[DEPRECATED] the `list_invalid_properties` method is obsolete' + invalid_properties = Array.new + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + warn '[DEPRECATED] the `valid?` method is obsolete' + true + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + id == o.id && + remote_id == o.remote_id && + first_name == o.first_name && + last_name == o.last_name && + groups == o.groups && + avatar == o.avatar && + work_location_id == o.work_location_id && + legal_entity_id == o.legal_entity_id + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [id, remote_id, first_name, last_name, groups, avatar, work_location_id, legal_entity_id].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + transformed_hash = {} + openapi_types.each_pair do |key, type| + if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = nil + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[attribute_map[key]].is_a?(Array) + transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) } + end + elsif !attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]]) + end + end + new(transformed_hash) + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + end + +end diff --git a/lib/kombo_client/models/post_hris_provisioning_groups_group_id_diff_positive_response_data_users_to_provision_inner_employee_groups_inner.rb b/lib/kombo_client/models/post_hris_provisioning_groups_group_id_diff_positive_response_data_users_to_provision_inner_employee_groups_inner.rb new file mode 100644 index 0000000..a44f026 --- /dev/null +++ b/lib/kombo_client/models/post_hris_provisioning_groups_group_id_diff_positive_response_data_users_to_provision_inner_employee_groups_inner.rb @@ -0,0 +1,188 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.17.0 + +=end + +require 'date' +require 'time' + +module Kombo + class PostHrisProvisioningGroupsGroupIdDiffPositiveResponseDataUsersToProvisionInnerEmployeeGroupsInner < ApiModelBase + attr_accessor :id + + attr_accessor :remote_id + + attr_accessor :name + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'id' => :'id', + :'remote_id' => :'remote_id', + :'name' => :'name' + } + end + + # Returns attribute mapping this model knows about + def self.acceptable_attribute_map + attribute_map + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + acceptable_attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'id' => :'String', + :'remote_id' => :'String', + :'name' => :'String' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + :'remote_id', + :'name' + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Kombo::PostHrisProvisioningGroupsGroupIdDiffPositiveResponseDataUsersToProvisionInnerEmployeeGroupsInner` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + acceptable_attribute_map = self.class.acceptable_attribute_map + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!acceptable_attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Kombo::PostHrisProvisioningGroupsGroupIdDiffPositiveResponseDataUsersToProvisionInnerEmployeeGroupsInner`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'id') + self.id = attributes[:'id'] + else + self.id = nil + end + + if attributes.key?(:'remote_id') + self.remote_id = attributes[:'remote_id'] + else + self.remote_id = nil + end + + if attributes.key?(:'name') + self.name = attributes[:'name'] + else + self.name = nil + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + warn '[DEPRECATED] the `list_invalid_properties` method is obsolete' + invalid_properties = Array.new + if @id.nil? + invalid_properties.push('invalid value for "id", id cannot be nil.') + end + + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + warn '[DEPRECATED] the `valid?` method is obsolete' + return false if @id.nil? + true + end + + # Custom attribute writer method with validation + # @param [Object] id Value to be assigned + def id=(id) + if id.nil? + fail ArgumentError, 'id cannot be nil' + end + + @id = id + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + id == o.id && + remote_id == o.remote_id && + name == o.name + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [id, remote_id, name].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + transformed_hash = {} + openapi_types.each_pair do |key, type| + if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = nil + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[attribute_map[key]].is_a?(Array) + transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) } + end + elsif !attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]]) + end + end + new(transformed_hash) + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + end + +end diff --git a/lib/kombo_client/models/post_hris_provisioning_groups_group_id_diff_request_body.rb b/lib/kombo_client/models/post_hris_provisioning_groups_group_id_diff_request_body.rb new file mode 100644 index 0000000..59c1878 --- /dev/null +++ b/lib/kombo_client/models/post_hris_provisioning_groups_group_id_diff_request_body.rb @@ -0,0 +1,193 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.17.0 + +=end + +require 'date' +require 'time' + +module Kombo + class PostHrisProvisioningGroupsGroupIdDiffRequestBody < ApiModelBase + # Array of the already provisioned users in your system. + attr_accessor :provisioned_users + + attr_accessor :options + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'provisioned_users' => :'provisioned_users', + :'options' => :'options' + } + end + + # Returns attribute mapping this model knows about + def self.acceptable_attribute_map + attribute_map + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + acceptable_attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'provisioned_users' => :'Array', + :'options' => :'PostHrisProvisioningGroupsGroupIdDiffRequestBodyOptions' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Kombo::PostHrisProvisioningGroupsGroupIdDiffRequestBody` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + acceptable_attribute_map = self.class.acceptable_attribute_map + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!acceptable_attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Kombo::PostHrisProvisioningGroupsGroupIdDiffRequestBody`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'provisioned_users') + if (value = attributes[:'provisioned_users']).is_a?(Array) + self.provisioned_users = value + end + else + self.provisioned_users = nil + end + + if attributes.key?(:'options') + self.options = attributes[:'options'] + else + self.options = nil + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + warn '[DEPRECATED] the `list_invalid_properties` method is obsolete' + invalid_properties = Array.new + if @provisioned_users.nil? + invalid_properties.push('invalid value for "provisioned_users", provisioned_users cannot be nil.') + end + + if @options.nil? + invalid_properties.push('invalid value for "options", options cannot be nil.') + end + + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + warn '[DEPRECATED] the `valid?` method is obsolete' + return false if @provisioned_users.nil? + return false if @options.nil? + true + end + + # Custom attribute writer method with validation + # @param [Object] provisioned_users Value to be assigned + def provisioned_users=(provisioned_users) + if provisioned_users.nil? + fail ArgumentError, 'provisioned_users cannot be nil' + end + + @provisioned_users = provisioned_users + end + + # Custom attribute writer method with validation + # @param [Object] options Value to be assigned + def options=(options) + if options.nil? + fail ArgumentError, 'options cannot be nil' + end + + @options = options + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + provisioned_users == o.provisioned_users && + options == o.options + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [provisioned_users, options].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + transformed_hash = {} + openapi_types.each_pair do |key, type| + if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = nil + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[attribute_map[key]].is_a?(Array) + transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) } + end + elsif !attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]]) + end + end + new(transformed_hash) + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + end + +end diff --git a/lib/kombo_client/models/post_hris_provisioning_groups_group_id_diff_request_body_options.rb b/lib/kombo_client/models/post_hris_provisioning_groups_group_id_diff_request_body_options.rb new file mode 100644 index 0000000..05a7d09 --- /dev/null +++ b/lib/kombo_client/models/post_hris_provisioning_groups_group_id_diff_request_body_options.rb @@ -0,0 +1,180 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.17.0 + +=end + +require 'date' +require 'time' + +module Kombo + # Options to customize what we return. + class PostHrisProvisioningGroupsGroupIdDiffRequestBodyOptions < ApiModelBase + # The employee fields relevant for your use case. + attr_accessor :employee_fields + + class EnumAttributeValidator + attr_reader :datatype + attr_reader :allowable_values + + def initialize(datatype, allowable_values) + @allowable_values = allowable_values.map do |value| + case datatype.to_s + when /Integer/i + value.to_i + when /Float/i + value.to_f + else + value + end + end + end + + def valid?(value) + !value || allowable_values.include?(value) + end + end + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'employee_fields' => :'employee_fields' + } + end + + # Returns attribute mapping this model knows about + def self.acceptable_attribute_map + attribute_map + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + acceptable_attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'employee_fields' => :'Array' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Kombo::PostHrisProvisioningGroupsGroupIdDiffRequestBodyOptions` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + acceptable_attribute_map = self.class.acceptable_attribute_map + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!acceptable_attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Kombo::PostHrisProvisioningGroupsGroupIdDiffRequestBodyOptions`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'employee_fields') + if (value = attributes[:'employee_fields']).is_a?(Array) + self.employee_fields = value + end + else + self.employee_fields = nil + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + warn '[DEPRECATED] the `list_invalid_properties` method is obsolete' + invalid_properties = Array.new + if @employee_fields.nil? + invalid_properties.push('invalid value for "employee_fields", employee_fields cannot be nil.') + end + + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + warn '[DEPRECATED] the `valid?` method is obsolete' + return false if @employee_fields.nil? + true + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + employee_fields == o.employee_fields + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [employee_fields].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + transformed_hash = {} + openapi_types.each_pair do |key, type| + if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = nil + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[attribute_map[key]].is_a?(Array) + transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) } + end + elsif !attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]]) + end + end + new(transformed_hash) + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + end + +end diff --git a/lib/kombo_client/models/post_hris_provisioning_groups_group_id_diff_request_body_provisioned_users_inner.rb b/lib/kombo_client/models/post_hris_provisioning_groups_group_id_diff_request_body_provisioned_users_inner.rb new file mode 100644 index 0000000..04ba141 --- /dev/null +++ b/lib/kombo_client/models/post_hris_provisioning_groups_group_id_diff_request_body_provisioned_users_inner.rb @@ -0,0 +1,192 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.17.0 + +=end + +require 'date' +require 'time' + +module Kombo + class PostHrisProvisioningGroupsGroupIdDiffRequestBodyProvisionedUsersInner < ApiModelBase + # _Your_ ID for this user (_not_ an ID retrieved from Kombo). + attr_accessor :origin_id + + # This user's email address. + attr_accessor :email + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'origin_id' => :'origin_id', + :'email' => :'email' + } + end + + # Returns attribute mapping this model knows about + def self.acceptable_attribute_map + attribute_map + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + acceptable_attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'origin_id' => :'String', + :'email' => :'String' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Kombo::PostHrisProvisioningGroupsGroupIdDiffRequestBodyProvisionedUsersInner` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + acceptable_attribute_map = self.class.acceptable_attribute_map + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!acceptable_attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Kombo::PostHrisProvisioningGroupsGroupIdDiffRequestBodyProvisionedUsersInner`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'origin_id') + self.origin_id = attributes[:'origin_id'] + else + self.origin_id = nil + end + + if attributes.key?(:'email') + self.email = attributes[:'email'] + else + self.email = nil + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + warn '[DEPRECATED] the `list_invalid_properties` method is obsolete' + invalid_properties = Array.new + if @origin_id.nil? + invalid_properties.push('invalid value for "origin_id", origin_id cannot be nil.') + end + + if @email.nil? + invalid_properties.push('invalid value for "email", email cannot be nil.') + end + + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + warn '[DEPRECATED] the `valid?` method is obsolete' + return false if @origin_id.nil? + return false if @email.nil? + true + end + + # Custom attribute writer method with validation + # @param [Object] origin_id Value to be assigned + def origin_id=(origin_id) + if origin_id.nil? + fail ArgumentError, 'origin_id cannot be nil' + end + + @origin_id = origin_id + end + + # Custom attribute writer method with validation + # @param [Object] email Value to be assigned + def email=(email) + if email.nil? + fail ArgumentError, 'email cannot be nil' + end + + @email = email + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + origin_id == o.origin_id && + email == o.email + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [origin_id, email].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + transformed_hash = {} + openapi_types.each_pair do |key, type| + if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = nil + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[attribute_map[key]].is_a?(Array) + transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) } + end + elsif !attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]]) + end + end + new(transformed_hash) + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + end + +end diff --git a/lib/kombo_client/models/post_hris_provisioning_groups_group_id_setup_links_positive_response.rb b/lib/kombo_client/models/post_hris_provisioning_groups_group_id_setup_links_positive_response.rb new file mode 100644 index 0000000..129b4d1 --- /dev/null +++ b/lib/kombo_client/models/post_hris_provisioning_groups_group_id_setup_links_positive_response.rb @@ -0,0 +1,214 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.17.0 + +=end + +require 'date' +require 'time' + +module Kombo + class PostHrisProvisioningGroupsGroupIdSetupLinksPositiveResponse < ApiModelBase + attr_accessor :status + + attr_accessor :data + + class EnumAttributeValidator + attr_reader :datatype + attr_reader :allowable_values + + def initialize(datatype, allowable_values) + @allowable_values = allowable_values.map do |value| + case datatype.to_s + when /Integer/i + value.to_i + when /Float/i + value.to_f + else + value + end + end + end + + def valid?(value) + !value || allowable_values.include?(value) + end + end + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'status' => :'status', + :'data' => :'data' + } + end + + # Returns attribute mapping this model knows about + def self.acceptable_attribute_map + attribute_map + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + acceptable_attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'status' => :'String', + :'data' => :'PostHrisProvisioningGroupsGroupIdSetupLinksPositiveResponseData' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Kombo::PostHrisProvisioningGroupsGroupIdSetupLinksPositiveResponse` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + acceptable_attribute_map = self.class.acceptable_attribute_map + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!acceptable_attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Kombo::PostHrisProvisioningGroupsGroupIdSetupLinksPositiveResponse`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'status') + self.status = attributes[:'status'] + else + self.status = nil + end + + if attributes.key?(:'data') + self.data = attributes[:'data'] + else + self.data = nil + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + warn '[DEPRECATED] the `list_invalid_properties` method is obsolete' + invalid_properties = Array.new + if @status.nil? + invalid_properties.push('invalid value for "status", status cannot be nil.') + end + + if @data.nil? + invalid_properties.push('invalid value for "data", data cannot be nil.') + end + + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + warn '[DEPRECATED] the `valid?` method is obsolete' + return false if @status.nil? + status_validator = EnumAttributeValidator.new('String', ["success"]) + return false unless status_validator.valid?(@status) + return false if @data.nil? + true + end + + # Custom attribute writer method checking allowed values (enum). + # @param [Object] status Object to be assigned + def status=(status) + validator = EnumAttributeValidator.new('String', ["success"]) + unless validator.valid?(status) + fail ArgumentError, "invalid value for \"status\", must be one of #{validator.allowable_values}." + end + @status = status + end + + # Custom attribute writer method with validation + # @param [Object] data Value to be assigned + def data=(data) + if data.nil? + fail ArgumentError, 'data cannot be nil' + end + + @data = data + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + status == o.status && + data == o.data + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [status, data].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + transformed_hash = {} + openapi_types.each_pair do |key, type| + if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = nil + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[attribute_map[key]].is_a?(Array) + transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) } + end + elsif !attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]]) + end + end + new(transformed_hash) + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + end + +end diff --git a/lib/kombo_client/models/post_hris_provisioning_groups_group_id_setup_links_positive_response_data.rb b/lib/kombo_client/models/post_hris_provisioning_groups_group_id_setup_links_positive_response_data.rb new file mode 100644 index 0000000..4fa6b64 --- /dev/null +++ b/lib/kombo_client/models/post_hris_provisioning_groups_group_id_setup_links_positive_response_data.rb @@ -0,0 +1,192 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.17.0 + +=end + +require 'date' +require 'time' + +module Kombo + class PostHrisProvisioningGroupsGroupIdSetupLinksPositiveResponseData < ApiModelBase + # The setup link URL to pass to the Kombo Connect SDK. + attr_accessor :url + + # When this link expires. + attr_accessor :expires_at + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'url' => :'url', + :'expires_at' => :'expires_at' + } + end + + # Returns attribute mapping this model knows about + def self.acceptable_attribute_map + attribute_map + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + acceptable_attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'url' => :'String', + :'expires_at' => :'Time' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Kombo::PostHrisProvisioningGroupsGroupIdSetupLinksPositiveResponseData` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + acceptable_attribute_map = self.class.acceptable_attribute_map + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!acceptable_attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Kombo::PostHrisProvisioningGroupsGroupIdSetupLinksPositiveResponseData`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'url') + self.url = attributes[:'url'] + else + self.url = nil + end + + if attributes.key?(:'expires_at') + self.expires_at = attributes[:'expires_at'] + else + self.expires_at = nil + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + warn '[DEPRECATED] the `list_invalid_properties` method is obsolete' + invalid_properties = Array.new + if @url.nil? + invalid_properties.push('invalid value for "url", url cannot be nil.') + end + + if @expires_at.nil? + invalid_properties.push('invalid value for "expires_at", expires_at cannot be nil.') + end + + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + warn '[DEPRECATED] the `valid?` method is obsolete' + return false if @url.nil? + return false if @expires_at.nil? + true + end + + # Custom attribute writer method with validation + # @param [Object] url Value to be assigned + def url=(url) + if url.nil? + fail ArgumentError, 'url cannot be nil' + end + + @url = url + end + + # Custom attribute writer method with validation + # @param [Object] expires_at Value to be assigned + def expires_at=(expires_at) + if expires_at.nil? + fail ArgumentError, 'expires_at cannot be nil' + end + + @expires_at = expires_at + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + url == o.url && + expires_at == o.expires_at + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [url, expires_at].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + transformed_hash = {} + openapi_types.each_pair do |key, type| + if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = nil + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[attribute_map[key]].is_a?(Array) + transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) } + end + elsif !attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]]) + end + end + new(transformed_hash) + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + end + +end diff --git a/lib/kombo_client/models/post_hris_provisioning_groups_group_id_setup_links_request_body.rb b/lib/kombo_client/models/post_hris_provisioning_groups_group_id_setup_links_request_body.rb new file mode 100644 index 0000000..6d7f2bb --- /dev/null +++ b/lib/kombo_client/models/post_hris_provisioning_groups_group_id_setup_links_request_body.rb @@ -0,0 +1,185 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.17.0 + +=end + +require 'date' +require 'time' + +module Kombo + class PostHrisProvisioningGroupsGroupIdSetupLinksRequestBody < ApiModelBase + # 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. + attr_accessor :language + + class EnumAttributeValidator + attr_reader :datatype + attr_reader :allowable_values + + def initialize(datatype, allowable_values) + @allowable_values = allowable_values.map do |value| + case datatype.to_s + when /Integer/i + value.to_i + when /Float/i + value.to_f + else + value + end + end + end + + def valid?(value) + !value || allowable_values.include?(value) + end + end + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'language' => :'language' + } + end + + # Returns attribute mapping this model knows about + def self.acceptable_attribute_map + attribute_map + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + acceptable_attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'language' => :'String' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + :'language' + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Kombo::PostHrisProvisioningGroupsGroupIdSetupLinksRequestBody` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + acceptable_attribute_map = self.class.acceptable_attribute_map + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!acceptable_attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Kombo::PostHrisProvisioningGroupsGroupIdSetupLinksRequestBody`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'language') + self.language = attributes[:'language'] + else + self.language = 'en' + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + warn '[DEPRECATED] the `list_invalid_properties` method is obsolete' + invalid_properties = Array.new + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + warn '[DEPRECATED] the `valid?` method is obsolete' + language_validator = EnumAttributeValidator.new('String', ["en", "de", "fr", "it", "es"]) + return false unless language_validator.valid?(@language) + true + end + + # Custom attribute writer method checking allowed values (enum). + # @param [Object] language Object to be assigned + def language=(language) + validator = EnumAttributeValidator.new('String', ["en", "de", "fr", "it", "es"]) + unless validator.valid?(language) + fail ArgumentError, "invalid value for \"language\", must be one of #{validator.allowable_values}." + end + @language = language + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + language == o.language + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [language].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + transformed_hash = {} + openapi_types.each_pair do |key, type| + if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = nil + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[attribute_map[key]].is_a?(Array) + transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) } + end + elsif !attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]]) + end + end + new(transformed_hash) + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + end + +end diff --git a/lib/kombo_client/models/post_hris_skills_positive_response.rb b/lib/kombo_client/models/post_hris_skills_positive_response.rb new file mode 100644 index 0000000..71943b8 --- /dev/null +++ b/lib/kombo_client/models/post_hris_skills_positive_response.rb @@ -0,0 +1,214 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.17.0 + +=end + +require 'date' +require 'time' + +module Kombo + class PostHrisSkillsPositiveResponse < ApiModelBase + attr_accessor :status + + attr_accessor :data + + class EnumAttributeValidator + attr_reader :datatype + attr_reader :allowable_values + + def initialize(datatype, allowable_values) + @allowable_values = allowable_values.map do |value| + case datatype.to_s + when /Integer/i + value.to_i + when /Float/i + value.to_f + else + value + end + end + end + + def valid?(value) + !value || allowable_values.include?(value) + end + end + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'status' => :'status', + :'data' => :'data' + } + end + + # Returns attribute mapping this model knows about + def self.acceptable_attribute_map + attribute_map + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + acceptable_attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'status' => :'String', + :'data' => :'GetHrisSkillsPositiveResponseDataResultsInner' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Kombo::PostHrisSkillsPositiveResponse` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + acceptable_attribute_map = self.class.acceptable_attribute_map + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!acceptable_attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Kombo::PostHrisSkillsPositiveResponse`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'status') + self.status = attributes[:'status'] + else + self.status = nil + end + + if attributes.key?(:'data') + self.data = attributes[:'data'] + else + self.data = nil + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + warn '[DEPRECATED] the `list_invalid_properties` method is obsolete' + invalid_properties = Array.new + if @status.nil? + invalid_properties.push('invalid value for "status", status cannot be nil.') + end + + if @data.nil? + invalid_properties.push('invalid value for "data", data cannot be nil.') + end + + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + warn '[DEPRECATED] the `valid?` method is obsolete' + return false if @status.nil? + status_validator = EnumAttributeValidator.new('String', ["success"]) + return false unless status_validator.valid?(@status) + return false if @data.nil? + true + end + + # Custom attribute writer method checking allowed values (enum). + # @param [Object] status Object to be assigned + def status=(status) + validator = EnumAttributeValidator.new('String', ["success"]) + unless validator.valid?(status) + fail ArgumentError, "invalid value for \"status\", must be one of #{validator.allowable_values}." + end + @status = status + end + + # Custom attribute writer method with validation + # @param [Object] data Value to be assigned + def data=(data) + if data.nil? + fail ArgumentError, 'data cannot be nil' + end + + @data = data + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + status == o.status && + data == o.data + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [status, data].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + transformed_hash = {} + openapi_types.each_pair do |key, type| + if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = nil + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[attribute_map[key]].is_a?(Array) + transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) } + end + elsif !attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]]) + end + end + new(transformed_hash) + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + end + +end diff --git a/lib/kombo_client/models/post_hris_skills_request_body.rb b/lib/kombo_client/models/post_hris_skills_request_body.rb new file mode 100644 index 0000000..01b62af --- /dev/null +++ b/lib/kombo_client/models/post_hris_skills_request_body.rb @@ -0,0 +1,177 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.17.0 + +=end + +require 'date' +require 'time' + +module Kombo + class PostHrisSkillsRequestBody < ApiModelBase + # The name of the skill + attr_accessor :name + + # List of available skill levels (e.g., [\"Beginner\", \"Intermediate\", \"Advanced\"]) + attr_accessor :levels + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'name' => :'name', + :'levels' => :'levels' + } + end + + # Returns attribute mapping this model knows about + def self.acceptable_attribute_map + attribute_map + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + acceptable_attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'name' => :'String', + :'levels' => :'Array' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Kombo::PostHrisSkillsRequestBody` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + acceptable_attribute_map = self.class.acceptable_attribute_map + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!acceptable_attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Kombo::PostHrisSkillsRequestBody`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'name') + self.name = attributes[:'name'] + else + self.name = nil + end + + if attributes.key?(:'levels') + if (value = attributes[:'levels']).is_a?(Array) + self.levels = value + end + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + warn '[DEPRECATED] the `list_invalid_properties` method is obsolete' + invalid_properties = Array.new + if @name.nil? + invalid_properties.push('invalid value for "name", name cannot be nil.') + end + + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + warn '[DEPRECATED] the `valid?` method is obsolete' + return false if @name.nil? + true + end + + # Custom attribute writer method with validation + # @param [Object] name Value to be assigned + def name=(name) + if name.nil? + fail ArgumentError, 'name cannot be nil' + end + + @name = name + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + name == o.name && + levels == o.levels + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [name, levels].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + transformed_hash = {} + openapi_types.each_pair do |key, type| + if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = nil + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[attribute_map[key]].is_a?(Array) + transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) } + end + elsif !attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]]) + end + end + new(transformed_hash) + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + end + +end diff --git a/lib/kombo_client/models/post_integrations_integration_id_relink_positive_response.rb b/lib/kombo_client/models/post_integrations_integration_id_relink_positive_response.rb new file mode 100644 index 0000000..820ab60 --- /dev/null +++ b/lib/kombo_client/models/post_integrations_integration_id_relink_positive_response.rb @@ -0,0 +1,214 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.17.0 + +=end + +require 'date' +require 'time' + +module Kombo + class PostIntegrationsIntegrationIdRelinkPositiveResponse < ApiModelBase + attr_accessor :status + + attr_accessor :data + + class EnumAttributeValidator + attr_reader :datatype + attr_reader :allowable_values + + def initialize(datatype, allowable_values) + @allowable_values = allowable_values.map do |value| + case datatype.to_s + when /Integer/i + value.to_i + when /Float/i + value.to_f + else + value + end + end + end + + def valid?(value) + !value || allowable_values.include?(value) + end + end + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'status' => :'status', + :'data' => :'data' + } + end + + # Returns attribute mapping this model knows about + def self.acceptable_attribute_map + attribute_map + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + acceptable_attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'status' => :'String', + :'data' => :'PostIntegrationsIntegrationIdRelinkPositiveResponseData' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Kombo::PostIntegrationsIntegrationIdRelinkPositiveResponse` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + acceptable_attribute_map = self.class.acceptable_attribute_map + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!acceptable_attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Kombo::PostIntegrationsIntegrationIdRelinkPositiveResponse`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'status') + self.status = attributes[:'status'] + else + self.status = nil + end + + if attributes.key?(:'data') + self.data = attributes[:'data'] + else + self.data = nil + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + warn '[DEPRECATED] the `list_invalid_properties` method is obsolete' + invalid_properties = Array.new + if @status.nil? + invalid_properties.push('invalid value for "status", status cannot be nil.') + end + + if @data.nil? + invalid_properties.push('invalid value for "data", data cannot be nil.') + end + + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + warn '[DEPRECATED] the `valid?` method is obsolete' + return false if @status.nil? + status_validator = EnumAttributeValidator.new('String', ["success"]) + return false unless status_validator.valid?(@status) + return false if @data.nil? + true + end + + # Custom attribute writer method checking allowed values (enum). + # @param [Object] status Object to be assigned + def status=(status) + validator = EnumAttributeValidator.new('String', ["success"]) + unless validator.valid?(status) + fail ArgumentError, "invalid value for \"status\", must be one of #{validator.allowable_values}." + end + @status = status + end + + # Custom attribute writer method with validation + # @param [Object] data Value to be assigned + def data=(data) + if data.nil? + fail ArgumentError, 'data cannot be nil' + end + + @data = data + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + status == o.status && + data == o.data + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [status, data].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + transformed_hash = {} + openapi_types.each_pair do |key, type| + if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = nil + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[attribute_map[key]].is_a?(Array) + transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) } + end + elsif !attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]]) + end + end + new(transformed_hash) + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + end + +end diff --git a/lib/kombo_client/models/post_integrations_integration_id_relink_positive_response_data.rb b/lib/kombo_client/models/post_integrations_integration_id_relink_positive_response_data.rb new file mode 100644 index 0000000..ab7db37 --- /dev/null +++ b/lib/kombo_client/models/post_integrations_integration_id_relink_positive_response_data.rb @@ -0,0 +1,164 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.17.0 + +=end + +require 'date' +require 'time' + +module Kombo + class PostIntegrationsIntegrationIdRelinkPositiveResponseData < ApiModelBase + attr_accessor :link + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'link' => :'link' + } + end + + # Returns attribute mapping this model knows about + def self.acceptable_attribute_map + attribute_map + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + acceptable_attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'link' => :'String' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Kombo::PostIntegrationsIntegrationIdRelinkPositiveResponseData` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + acceptable_attribute_map = self.class.acceptable_attribute_map + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!acceptable_attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Kombo::PostIntegrationsIntegrationIdRelinkPositiveResponseData`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'link') + self.link = attributes[:'link'] + else + self.link = nil + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + warn '[DEPRECATED] the `list_invalid_properties` method is obsolete' + invalid_properties = Array.new + if @link.nil? + invalid_properties.push('invalid value for "link", link cannot be nil.') + end + + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + warn '[DEPRECATED] the `valid?` method is obsolete' + return false if @link.nil? + true + end + + # Custom attribute writer method with validation + # @param [Object] link Value to be assigned + def link=(link) + if link.nil? + fail ArgumentError, 'link cannot be nil' + end + + @link = link + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + link == o.link + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [link].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + transformed_hash = {} + openapi_types.each_pair do |key, type| + if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = nil + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[attribute_map[key]].is_a?(Array) + transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) } + end + elsif !attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]]) + end + end + new(transformed_hash) + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + end + +end diff --git a/lib/kombo_client/models/post_integrations_integration_id_relink_request_body.rb b/lib/kombo_client/models/post_integrations_integration_id_relink_request_body.rb new file mode 100644 index 0000000..90fa3fe --- /dev/null +++ b/lib/kombo_client/models/post_integrations_integration_id_relink_request_body.rb @@ -0,0 +1,220 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.17.0 + +=end + +require 'date' +require 'time' + +module Kombo + class PostIntegrationsIntegrationIdRelinkRequestBody < ApiModelBase + # Language of the connection flow UI. + attr_accessor :language + + # 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. + attr_accessor :scope_config_id + + # 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. + attr_accessor :link_type + + class EnumAttributeValidator + attr_reader :datatype + attr_reader :allowable_values + + def initialize(datatype, allowable_values) + @allowable_values = allowable_values.map do |value| + case datatype.to_s + when /Integer/i + value.to_i + when /Float/i + value.to_f + else + value + end + end + end + + def valid?(value) + !value || allowable_values.include?(value) + end + end + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'language' => :'language', + :'scope_config_id' => :'scope_config_id', + :'link_type' => :'link_type' + } + end + + # Returns attribute mapping this model knows about + def self.acceptable_attribute_map + attribute_map + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + acceptable_attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'language' => :'String', + :'scope_config_id' => :'String', + :'link_type' => :'String' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + :'language', + :'scope_config_id', + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Kombo::PostIntegrationsIntegrationIdRelinkRequestBody` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + acceptable_attribute_map = self.class.acceptable_attribute_map + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!acceptable_attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Kombo::PostIntegrationsIntegrationIdRelinkRequestBody`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'language') + self.language = attributes[:'language'] + else + self.language = 'en' + end + + if attributes.key?(:'scope_config_id') + self.scope_config_id = attributes[:'scope_config_id'] + end + + if attributes.key?(:'link_type') + self.link_type = attributes[:'link_type'] + else + self.link_type = 'EMBEDDED' + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + warn '[DEPRECATED] the `list_invalid_properties` method is obsolete' + invalid_properties = Array.new + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + warn '[DEPRECATED] the `valid?` method is obsolete' + language_validator = EnumAttributeValidator.new('String', ["en", "de", "fr", "it", "es"]) + return false unless language_validator.valid?(@language) + link_type_validator = EnumAttributeValidator.new('String', ["EMBEDDED", "MAGIC_LINK"]) + return false unless link_type_validator.valid?(@link_type) + true + end + + # Custom attribute writer method checking allowed values (enum). + # @param [Object] language Object to be assigned + def language=(language) + validator = EnumAttributeValidator.new('String', ["en", "de", "fr", "it", "es"]) + unless validator.valid?(language) + fail ArgumentError, "invalid value for \"language\", must be one of #{validator.allowable_values}." + end + @language = language + end + + # Custom attribute writer method checking allowed values (enum). + # @param [Object] link_type Object to be assigned + def link_type=(link_type) + validator = EnumAttributeValidator.new('String', ["EMBEDDED", "MAGIC_LINK"]) + unless validator.valid?(link_type) + fail ArgumentError, "invalid value for \"link_type\", must be one of #{validator.allowable_values}." + end + @link_type = link_type + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + language == o.language && + scope_config_id == o.scope_config_id && + link_type == o.link_type + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [language, scope_config_id, link_type].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + transformed_hash = {} + openapi_types.each_pair do |key, type| + if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = nil + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[attribute_map[key]].is_a?(Array) + transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) } + end + elsif !attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]]) + end + end + new(transformed_hash) + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + end + +end diff --git a/lib/kombo_client/models/post_lms_content_positive_response.rb b/lib/kombo_client/models/post_lms_content_positive_response.rb new file mode 100644 index 0000000..c6b1a7f --- /dev/null +++ b/lib/kombo_client/models/post_lms_content_positive_response.rb @@ -0,0 +1,214 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.17.0 + +=end + +require 'date' +require 'time' + +module Kombo + class PostLmsContentPositiveResponse < ApiModelBase + attr_accessor :status + + attr_accessor :data + + class EnumAttributeValidator + attr_reader :datatype + attr_reader :allowable_values + + def initialize(datatype, allowable_values) + @allowable_values = allowable_values.map do |value| + case datatype.to_s + when /Integer/i + value.to_i + when /Float/i + value.to_f + else + value + end + end + end + + def valid?(value) + !value || allowable_values.include?(value) + end + end + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'status' => :'status', + :'data' => :'data' + } + end + + # Returns attribute mapping this model knows about + def self.acceptable_attribute_map + attribute_map + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + acceptable_attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'status' => :'String', + :'data' => :'PostLmsContentPositiveResponseData' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Kombo::PostLmsContentPositiveResponse` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + acceptable_attribute_map = self.class.acceptable_attribute_map + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!acceptable_attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Kombo::PostLmsContentPositiveResponse`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'status') + self.status = attributes[:'status'] + else + self.status = nil + end + + if attributes.key?(:'data') + self.data = attributes[:'data'] + else + self.data = nil + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + warn '[DEPRECATED] the `list_invalid_properties` method is obsolete' + invalid_properties = Array.new + if @status.nil? + invalid_properties.push('invalid value for "status", status cannot be nil.') + end + + if @data.nil? + invalid_properties.push('invalid value for "data", data cannot be nil.') + end + + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + warn '[DEPRECATED] the `valid?` method is obsolete' + return false if @status.nil? + status_validator = EnumAttributeValidator.new('String', ["success"]) + return false unless status_validator.valid?(@status) + return false if @data.nil? + true + end + + # Custom attribute writer method checking allowed values (enum). + # @param [Object] status Object to be assigned + def status=(status) + validator = EnumAttributeValidator.new('String', ["success"]) + unless validator.valid?(status) + fail ArgumentError, "invalid value for \"status\", must be one of #{validator.allowable_values}." + end + @status = status + end + + # Custom attribute writer method with validation + # @param [Object] data Value to be assigned + def data=(data) + if data.nil? + fail ArgumentError, 'data cannot be nil' + end + + @data = data + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + status == o.status && + data == o.data + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [status, data].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + transformed_hash = {} + openapi_types.each_pair do |key, type| + if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = nil + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[attribute_map[key]].is_a?(Array) + transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) } + end + elsif !attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]]) + end + end + new(transformed_hash) + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + end + +end diff --git a/lib/kombo_client/models/post_lms_content_positive_response_data.rb b/lib/kombo_client/models/post_lms_content_positive_response_data.rb new file mode 100644 index 0000000..02efdac --- /dev/null +++ b/lib/kombo_client/models/post_lms_content_positive_response_data.rb @@ -0,0 +1,364 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.17.0 + +=end + +require 'date' +require 'time' + +module Kombo + class PostLmsContentPositiveResponseData < ApiModelBase + # The globally unique ID of this object generated by Kombo. We recommend using this as a stable primary key for syncing. + attr_accessor :id + + # 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. + attr_accessor :remote_id + + # The title of the content item. + attr_accessor :title + + # A description of the content item. + attr_accessor :description + + # URL where the content can be accessed. + attr_accessor :url + + # The type of learning content. + attr_accessor :type + + # The ID of the course this content belongs to. + attr_accessor :course_id + + # The date and time the object was created in the remote system. + attr_accessor :remote_created_at + + # 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. + attr_accessor :changed_at + + # 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. + attr_accessor :remote_data + + class EnumAttributeValidator + attr_reader :datatype + attr_reader :allowable_values + + def initialize(datatype, allowable_values) + @allowable_values = allowable_values.map do |value| + case datatype.to_s + when /Integer/i + value.to_i + when /Float/i + value.to_f + else + value + end + end + end + + def valid?(value) + !value || allowable_values.include?(value) + end + end + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'id' => :'id', + :'remote_id' => :'remote_id', + :'title' => :'title', + :'description' => :'description', + :'url' => :'url', + :'type' => :'type', + :'course_id' => :'course_id', + :'remote_created_at' => :'remote_created_at', + :'changed_at' => :'changed_at', + :'remote_data' => :'remote_data' + } + end + + # Returns attribute mapping this model knows about + def self.acceptable_attribute_map + attribute_map + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + acceptable_attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'id' => :'String', + :'remote_id' => :'String', + :'title' => :'String', + :'description' => :'String', + :'url' => :'String', + :'type' => :'String', + :'course_id' => :'String', + :'remote_created_at' => :'Time', + :'changed_at' => :'Time', + :'remote_data' => :'Hash' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + :'description', + :'url', + :'course_id', + :'remote_created_at', + :'remote_data' + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Kombo::PostLmsContentPositiveResponseData` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + acceptable_attribute_map = self.class.acceptable_attribute_map + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!acceptable_attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Kombo::PostLmsContentPositiveResponseData`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'id') + self.id = attributes[:'id'] + else + self.id = nil + end + + if attributes.key?(:'remote_id') + self.remote_id = attributes[:'remote_id'] + else + self.remote_id = nil + end + + if attributes.key?(:'title') + self.title = attributes[:'title'] + else + self.title = nil + end + + if attributes.key?(:'description') + self.description = attributes[:'description'] + else + self.description = nil + end + + if attributes.key?(:'url') + self.url = attributes[:'url'] + else + self.url = nil + end + + if attributes.key?(:'type') + self.type = attributes[:'type'] + else + self.type = nil + end + + if attributes.key?(:'course_id') + self.course_id = attributes[:'course_id'] + else + self.course_id = nil + end + + if attributes.key?(:'remote_created_at') + self.remote_created_at = attributes[:'remote_created_at'] + else + self.remote_created_at = nil + end + + if attributes.key?(:'changed_at') + self.changed_at = attributes[:'changed_at'] + else + self.changed_at = nil + end + + if attributes.key?(:'remote_data') + if (value = attributes[:'remote_data']).is_a?(Hash) + self.remote_data = value + end + else + self.remote_data = nil + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + warn '[DEPRECATED] the `list_invalid_properties` method is obsolete' + invalid_properties = Array.new + if @id.nil? + invalid_properties.push('invalid value for "id", id cannot be nil.') + end + + if @remote_id.nil? + invalid_properties.push('invalid value for "remote_id", remote_id cannot be nil.') + end + + if @title.nil? + invalid_properties.push('invalid value for "title", title cannot be nil.') + end + + if @type.nil? + invalid_properties.push('invalid value for "type", type cannot be nil.') + end + + if @changed_at.nil? + invalid_properties.push('invalid value for "changed_at", changed_at cannot be nil.') + end + + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + warn '[DEPRECATED] the `valid?` method is obsolete' + return false if @id.nil? + return false if @remote_id.nil? + return false if @title.nil? + return false if @type.nil? + type_validator = EnumAttributeValidator.new('String', ["COACHING", "VIDEO", "TEXT", "QUIZ"]) + return false unless type_validator.valid?(@type) + return false if @changed_at.nil? + true + end + + # Custom attribute writer method with validation + # @param [Object] id Value to be assigned + def id=(id) + if id.nil? + fail ArgumentError, 'id cannot be nil' + end + + @id = id + end + + # Custom attribute writer method with validation + # @param [Object] remote_id Value to be assigned + def remote_id=(remote_id) + if remote_id.nil? + fail ArgumentError, 'remote_id cannot be nil' + end + + @remote_id = remote_id + end + + # Custom attribute writer method with validation + # @param [Object] title Value to be assigned + def title=(title) + if title.nil? + fail ArgumentError, 'title cannot be nil' + end + + @title = title + end + + # Custom attribute writer method checking allowed values (enum). + # @param [Object] type Object to be assigned + def type=(type) + validator = EnumAttributeValidator.new('String', ["COACHING", "VIDEO", "TEXT", "QUIZ"]) + unless validator.valid?(type) + fail ArgumentError, "invalid value for \"type\", must be one of #{validator.allowable_values}." + end + @type = type + end + + # Custom attribute writer method with validation + # @param [Object] changed_at Value to be assigned + def changed_at=(changed_at) + if changed_at.nil? + fail ArgumentError, 'changed_at cannot be nil' + end + + @changed_at = changed_at + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + id == o.id && + remote_id == o.remote_id && + title == o.title && + description == o.description && + url == o.url && + type == o.type && + course_id == o.course_id && + remote_created_at == o.remote_created_at && + changed_at == o.changed_at && + remote_data == o.remote_data + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [id, remote_id, title, description, url, type, course_id, remote_created_at, changed_at, remote_data].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + transformed_hash = {} + openapi_types.each_pair do |key, type| + if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = nil + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[attribute_map[key]].is_a?(Array) + transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) } + end + elsif !attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]]) + end + end + new(transformed_hash) + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + end + +end diff --git a/lib/kombo_client/models/post_lms_content_request_body.rb b/lib/kombo_client/models/post_lms_content_request_body.rb new file mode 100644 index 0000000..95d9a1a --- /dev/null +++ b/lib/kombo_client/models/post_lms_content_request_body.rb @@ -0,0 +1,265 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.17.0 + +=end + +require 'date' +require 'time' + +module Kombo + class PostLmsContentRequestBody < ApiModelBase + # The ID of the course to add this content to + attr_accessor :course_id + + # The title of the content item + attr_accessor :title + + # A description of the content item + attr_accessor :description + + # URL where the content can be accessed + attr_accessor :url + + # The type of learning content + attr_accessor :type + + class EnumAttributeValidator + attr_reader :datatype + attr_reader :allowable_values + + def initialize(datatype, allowable_values) + @allowable_values = allowable_values.map do |value| + case datatype.to_s + when /Integer/i + value.to_i + when /Float/i + value.to_f + else + value + end + end + end + + def valid?(value) + !value || allowable_values.include?(value) + end + end + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'course_id' => :'course_id', + :'title' => :'title', + :'description' => :'description', + :'url' => :'url', + :'type' => :'type' + } + end + + # Returns attribute mapping this model knows about + def self.acceptable_attribute_map + attribute_map + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + acceptable_attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'course_id' => :'String', + :'title' => :'String', + :'description' => :'String', + :'url' => :'String', + :'type' => :'String' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + :'description', + :'url', + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Kombo::PostLmsContentRequestBody` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + acceptable_attribute_map = self.class.acceptable_attribute_map + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!acceptable_attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Kombo::PostLmsContentRequestBody`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'course_id') + self.course_id = attributes[:'course_id'] + else + self.course_id = nil + end + + if attributes.key?(:'title') + self.title = attributes[:'title'] + else + self.title = nil + end + + if attributes.key?(:'description') + self.description = attributes[:'description'] + end + + if attributes.key?(:'url') + self.url = attributes[:'url'] + end + + if attributes.key?(:'type') + self.type = attributes[:'type'] + else + self.type = nil + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + warn '[DEPRECATED] the `list_invalid_properties` method is obsolete' + invalid_properties = Array.new + if @course_id.nil? + invalid_properties.push('invalid value for "course_id", course_id cannot be nil.') + end + + if @title.nil? + invalid_properties.push('invalid value for "title", title cannot be nil.') + end + + if @type.nil? + invalid_properties.push('invalid value for "type", type cannot be nil.') + end + + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + warn '[DEPRECATED] the `valid?` method is obsolete' + return false if @course_id.nil? + return false if @title.nil? + return false if @type.nil? + type_validator = EnumAttributeValidator.new('String', ["COACHING", "VIDEO", "TEXT", "QUIZ"]) + return false unless type_validator.valid?(@type) + true + end + + # Custom attribute writer method with validation + # @param [Object] course_id Value to be assigned + def course_id=(course_id) + if course_id.nil? + fail ArgumentError, 'course_id cannot be nil' + end + + @course_id = course_id + end + + # Custom attribute writer method with validation + # @param [Object] title Value to be assigned + def title=(title) + if title.nil? + fail ArgumentError, 'title cannot be nil' + end + + @title = title + end + + # Custom attribute writer method checking allowed values (enum). + # @param [Object] type Object to be assigned + def type=(type) + validator = EnumAttributeValidator.new('String', ["COACHING", "VIDEO", "TEXT", "QUIZ"]) + unless validator.valid?(type) + fail ArgumentError, "invalid value for \"type\", must be one of #{validator.allowable_values}." + end + @type = type + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + course_id == o.course_id && + title == o.title && + description == o.description && + url == o.url && + type == o.type + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [course_id, title, description, url, type].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + transformed_hash = {} + openapi_types.each_pair do |key, type| + if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = nil + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[attribute_map[key]].is_a?(Array) + transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) } + end + elsif !attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]]) + end + end + new(transformed_hash) + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + end + +end diff --git a/lib/kombo_client/models/post_lms_courses_positive_response.rb b/lib/kombo_client/models/post_lms_courses_positive_response.rb new file mode 100644 index 0000000..f61a3b6 --- /dev/null +++ b/lib/kombo_client/models/post_lms_courses_positive_response.rb @@ -0,0 +1,214 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.17.0 + +=end + +require 'date' +require 'time' + +module Kombo + class PostLmsCoursesPositiveResponse < ApiModelBase + attr_accessor :status + + attr_accessor :data + + class EnumAttributeValidator + attr_reader :datatype + attr_reader :allowable_values + + def initialize(datatype, allowable_values) + @allowable_values = allowable_values.map do |value| + case datatype.to_s + when /Integer/i + value.to_i + when /Float/i + value.to_f + else + value + end + end + end + + def valid?(value) + !value || allowable_values.include?(value) + end + end + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'status' => :'status', + :'data' => :'data' + } + end + + # Returns attribute mapping this model knows about + def self.acceptable_attribute_map + attribute_map + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + acceptable_attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'status' => :'String', + :'data' => :'GetLmsCoursesPositiveResponseDataResultsInner' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Kombo::PostLmsCoursesPositiveResponse` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + acceptable_attribute_map = self.class.acceptable_attribute_map + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!acceptable_attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Kombo::PostLmsCoursesPositiveResponse`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'status') + self.status = attributes[:'status'] + else + self.status = nil + end + + if attributes.key?(:'data') + self.data = attributes[:'data'] + else + self.data = nil + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + warn '[DEPRECATED] the `list_invalid_properties` method is obsolete' + invalid_properties = Array.new + if @status.nil? + invalid_properties.push('invalid value for "status", status cannot be nil.') + end + + if @data.nil? + invalid_properties.push('invalid value for "data", data cannot be nil.') + end + + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + warn '[DEPRECATED] the `valid?` method is obsolete' + return false if @status.nil? + status_validator = EnumAttributeValidator.new('String', ["success"]) + return false unless status_validator.valid?(@status) + return false if @data.nil? + true + end + + # Custom attribute writer method checking allowed values (enum). + # @param [Object] status Object to be assigned + def status=(status) + validator = EnumAttributeValidator.new('String', ["success"]) + unless validator.valid?(status) + fail ArgumentError, "invalid value for \"status\", must be one of #{validator.allowable_values}." + end + @status = status + end + + # Custom attribute writer method with validation + # @param [Object] data Value to be assigned + def data=(data) + if data.nil? + fail ArgumentError, 'data cannot be nil' + end + + @data = data + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + status == o.status && + data == o.data + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [status, data].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + transformed_hash = {} + openapi_types.each_pair do |key, type| + if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = nil + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[attribute_map[key]].is_a?(Array) + transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) } + end + elsif !attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]]) + end + end + new(transformed_hash) + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + end + +end diff --git a/lib/kombo_client/models/post_lms_courses_request_body.rb b/lib/kombo_client/models/post_lms_courses_request_body.rb new file mode 100644 index 0000000..91cc308 --- /dev/null +++ b/lib/kombo_client/models/post_lms_courses_request_body.rb @@ -0,0 +1,199 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.17.0 + +=end + +require 'date' +require 'time' + +module Kombo + class PostLmsCoursesRequestBody < ApiModelBase + # The title of the course + attr_accessor :title + + # A description of the course + attr_accessor :description + + # URL where the course can be accessed + attr_accessor :url + + # Skills that will be taught in this course + attr_accessor :skills + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'title' => :'title', + :'description' => :'description', + :'url' => :'url', + :'skills' => :'skills' + } + end + + # Returns attribute mapping this model knows about + def self.acceptable_attribute_map + attribute_map + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + acceptable_attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'title' => :'String', + :'description' => :'String', + :'url' => :'String', + :'skills' => :'Array' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + :'description', + :'url', + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Kombo::PostLmsCoursesRequestBody` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + acceptable_attribute_map = self.class.acceptable_attribute_map + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!acceptable_attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Kombo::PostLmsCoursesRequestBody`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'title') + self.title = attributes[:'title'] + else + self.title = nil + end + + if attributes.key?(:'description') + self.description = attributes[:'description'] + end + + if attributes.key?(:'url') + self.url = attributes[:'url'] + end + + if attributes.key?(:'skills') + if (value = attributes[:'skills']).is_a?(Array) + self.skills = value + end + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + warn '[DEPRECATED] the `list_invalid_properties` method is obsolete' + invalid_properties = Array.new + if @title.nil? + invalid_properties.push('invalid value for "title", title cannot be nil.') + end + + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + warn '[DEPRECATED] the `valid?` method is obsolete' + return false if @title.nil? + true + end + + # Custom attribute writer method with validation + # @param [Object] title Value to be assigned + def title=(title) + if title.nil? + fail ArgumentError, 'title cannot be nil' + end + + @title = title + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + title == o.title && + description == o.description && + url == o.url && + skills == o.skills + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [title, description, url, skills].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + transformed_hash = {} + openapi_types.each_pair do |key, type| + if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = nil + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[attribute_map[key]].is_a?(Array) + transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) } + end + elsif !attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]]) + end + end + new(transformed_hash) + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + end + +end diff --git a/lib/kombo_client/models/post_lms_courses_request_body_skills_inner.rb b/lib/kombo_client/models/post_lms_courses_request_body_skills_inner.rb new file mode 100644 index 0000000..e61cdb8 --- /dev/null +++ b/lib/kombo_client/models/post_lms_courses_request_body_skills_inner.rb @@ -0,0 +1,176 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.17.0 + +=end + +require 'date' +require 'time' + +module Kombo + class PostLmsCoursesRequestBodySkillsInner < ApiModelBase + # The name of the skill + attr_accessor :name + + # The proficiency level of the skill + attr_accessor :skill_level + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'name' => :'name', + :'skill_level' => :'skill_level' + } + end + + # Returns attribute mapping this model knows about + def self.acceptable_attribute_map + attribute_map + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + acceptable_attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'name' => :'String', + :'skill_level' => :'String' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + :'skill_level' + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Kombo::PostLmsCoursesRequestBodySkillsInner` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + acceptable_attribute_map = self.class.acceptable_attribute_map + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!acceptable_attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Kombo::PostLmsCoursesRequestBodySkillsInner`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'name') + self.name = attributes[:'name'] + else + self.name = nil + end + + if attributes.key?(:'skill_level') + self.skill_level = attributes[:'skill_level'] + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + warn '[DEPRECATED] the `list_invalid_properties` method is obsolete' + invalid_properties = Array.new + if @name.nil? + invalid_properties.push('invalid value for "name", name cannot be nil.') + end + + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + warn '[DEPRECATED] the `valid?` method is obsolete' + return false if @name.nil? + true + end + + # Custom attribute writer method with validation + # @param [Object] name Value to be assigned + def name=(name) + if name.nil? + fail ArgumentError, 'name cannot be nil' + end + + @name = name + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + name == o.name && + skill_level == o.skill_level + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [name, skill_level].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + transformed_hash = {} + openapi_types.each_pair do |key, type| + if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = nil + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[attribute_map[key]].is_a?(Array) + transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) } + end + elsif !attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]]) + end + end + new(transformed_hash) + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + end + +end diff --git a/lib/kombo_client/models/post_lms_progress_positive_response.rb b/lib/kombo_client/models/post_lms_progress_positive_response.rb new file mode 100644 index 0000000..98080bc --- /dev/null +++ b/lib/kombo_client/models/post_lms_progress_positive_response.rb @@ -0,0 +1,214 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.17.0 + +=end + +require 'date' +require 'time' + +module Kombo + class PostLmsProgressPositiveResponse < ApiModelBase + attr_accessor :status + + attr_accessor :data + + class EnumAttributeValidator + attr_reader :datatype + attr_reader :allowable_values + + def initialize(datatype, allowable_values) + @allowable_values = allowable_values.map do |value| + case datatype.to_s + when /Integer/i + value.to_i + when /Float/i + value.to_f + else + value + end + end + end + + def valid?(value) + !value || allowable_values.include?(value) + end + end + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'status' => :'status', + :'data' => :'data' + } + end + + # Returns attribute mapping this model knows about + def self.acceptable_attribute_map + attribute_map + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + acceptable_attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'status' => :'String', + :'data' => :'PostLmsProgressPositiveResponseData' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Kombo::PostLmsProgressPositiveResponse` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + acceptable_attribute_map = self.class.acceptable_attribute_map + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!acceptable_attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Kombo::PostLmsProgressPositiveResponse`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'status') + self.status = attributes[:'status'] + else + self.status = nil + end + + if attributes.key?(:'data') + self.data = attributes[:'data'] + else + self.data = nil + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + warn '[DEPRECATED] the `list_invalid_properties` method is obsolete' + invalid_properties = Array.new + if @status.nil? + invalid_properties.push('invalid value for "status", status cannot be nil.') + end + + if @data.nil? + invalid_properties.push('invalid value for "data", data cannot be nil.') + end + + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + warn '[DEPRECATED] the `valid?` method is obsolete' + return false if @status.nil? + status_validator = EnumAttributeValidator.new('String', ["success"]) + return false unless status_validator.valid?(@status) + return false if @data.nil? + true + end + + # Custom attribute writer method checking allowed values (enum). + # @param [Object] status Object to be assigned + def status=(status) + validator = EnumAttributeValidator.new('String', ["success"]) + unless validator.valid?(status) + fail ArgumentError, "invalid value for \"status\", must be one of #{validator.allowable_values}." + end + @status = status + end + + # Custom attribute writer method with validation + # @param [Object] data Value to be assigned + def data=(data) + if data.nil? + fail ArgumentError, 'data cannot be nil' + end + + @data = data + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + status == o.status && + data == o.data + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [status, data].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + transformed_hash = {} + openapi_types.each_pair do |key, type| + if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = nil + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[attribute_map[key]].is_a?(Array) + transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) } + end + elsif !attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]]) + end + end + new(transformed_hash) + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + end + +end diff --git a/lib/kombo_client/models/post_lms_progress_positive_response_data.rb b/lib/kombo_client/models/post_lms_progress_positive_response_data.rb new file mode 100644 index 0000000..3faecce --- /dev/null +++ b/lib/kombo_client/models/post_lms_progress_positive_response_data.rb @@ -0,0 +1,434 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.17.0 + +=end + +require 'date' +require 'time' + +module Kombo + class PostLmsProgressPositiveResponseData < ApiModelBase + # The Kombo ID of the progress entry. + attr_accessor :id + + # The remote ID of the progress entry. + attr_accessor :remote_id + + # The ID of the course this progress relates to. + attr_accessor :course_id + + # The ID of the user this progress belongs to. + attr_accessor :user_id + + # Current status of the learner in this course. + attr_accessor :status + + # Date when the user enrolled in the course. + attr_accessor :enrollment_date + + # Date when the user completed the course. + attr_accessor :completion_date + + # Numerical score achieved by the user (e.g., 85.5). + attr_accessor :score + + # Total time spent on the course in minutes. + attr_accessor :duration + + # Additional comments or notes about the progress. + attr_accessor :comments + + # 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. + attr_accessor :changed_at + + # 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. + attr_accessor :remote_data + + class EnumAttributeValidator + attr_reader :datatype + attr_reader :allowable_values + + def initialize(datatype, allowable_values) + @allowable_values = allowable_values.map do |value| + case datatype.to_s + when /Integer/i + value.to_i + when /Float/i + value.to_f + else + value + end + end + end + + def valid?(value) + !value || allowable_values.include?(value) + end + end + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'id' => :'id', + :'remote_id' => :'remote_id', + :'course_id' => :'course_id', + :'user_id' => :'user_id', + :'status' => :'status', + :'enrollment_date' => :'enrollment_date', + :'completion_date' => :'completion_date', + :'score' => :'score', + :'duration' => :'duration', + :'comments' => :'comments', + :'changed_at' => :'changed_at', + :'remote_data' => :'remote_data' + } + end + + # Returns attribute mapping this model knows about + def self.acceptable_attribute_map + attribute_map + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + acceptable_attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'id' => :'String', + :'remote_id' => :'String', + :'course_id' => :'String', + :'user_id' => :'String', + :'status' => :'String', + :'enrollment_date' => :'String', + :'completion_date' => :'String', + :'score' => :'Float', + :'duration' => :'Float', + :'comments' => :'String', + :'changed_at' => :'Time', + :'remote_data' => :'Hash' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + :'enrollment_date', + :'completion_date', + :'score', + :'duration', + :'comments', + :'remote_data' + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Kombo::PostLmsProgressPositiveResponseData` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + acceptable_attribute_map = self.class.acceptable_attribute_map + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!acceptable_attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Kombo::PostLmsProgressPositiveResponseData`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'id') + self.id = attributes[:'id'] + else + self.id = nil + end + + if attributes.key?(:'remote_id') + self.remote_id = attributes[:'remote_id'] + else + self.remote_id = nil + end + + if attributes.key?(:'course_id') + self.course_id = attributes[:'course_id'] + else + self.course_id = nil + end + + if attributes.key?(:'user_id') + self.user_id = attributes[:'user_id'] + else + self.user_id = nil + end + + if attributes.key?(:'status') + self.status = attributes[:'status'] + else + self.status = nil + end + + if attributes.key?(:'enrollment_date') + self.enrollment_date = attributes[:'enrollment_date'] + else + self.enrollment_date = nil + end + + if attributes.key?(:'completion_date') + self.completion_date = attributes[:'completion_date'] + else + self.completion_date = nil + end + + if attributes.key?(:'score') + self.score = attributes[:'score'] + else + self.score = nil + end + + if attributes.key?(:'duration') + self.duration = attributes[:'duration'] + else + self.duration = nil + end + + if attributes.key?(:'comments') + self.comments = attributes[:'comments'] + else + self.comments = nil + end + + if attributes.key?(:'changed_at') + self.changed_at = attributes[:'changed_at'] + else + self.changed_at = nil + end + + if attributes.key?(:'remote_data') + if (value = attributes[:'remote_data']).is_a?(Hash) + self.remote_data = value + end + else + self.remote_data = nil + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + warn '[DEPRECATED] the `list_invalid_properties` method is obsolete' + invalid_properties = Array.new + if @id.nil? + invalid_properties.push('invalid value for "id", id cannot be nil.') + end + + if @remote_id.nil? + invalid_properties.push('invalid value for "remote_id", remote_id cannot be nil.') + end + + if @course_id.nil? + invalid_properties.push('invalid value for "course_id", course_id cannot be nil.') + end + + if @user_id.nil? + invalid_properties.push('invalid value for "user_id", user_id cannot be nil.') + end + + if @status.nil? + invalid_properties.push('invalid value for "status", status cannot be nil.') + end + + if @score < -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + invalid_properties.push('invalid value for "score", must be greater than or equal to -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.') + end + + if @duration < -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + invalid_properties.push('invalid value for "duration", must be greater than or equal to -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.') + end + + if @changed_at.nil? + invalid_properties.push('invalid value for "changed_at", changed_at cannot be nil.') + end + + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + warn '[DEPRECATED] the `valid?` method is obsolete' + return false if @id.nil? + return false if @remote_id.nil? + return false if @course_id.nil? + return false if @user_id.nil? + return false if @status.nil? + status_validator = EnumAttributeValidator.new('String', ["ENROLLED", "STARTED", "COMPLETED", "STOPPED"]) + return false unless status_validator.valid?(@status) + return false if @score < -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + return false if @duration < -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + return false if @changed_at.nil? + true + end + + # Custom attribute writer method with validation + # @param [Object] id Value to be assigned + def id=(id) + if id.nil? + fail ArgumentError, 'id cannot be nil' + end + + @id = id + end + + # Custom attribute writer method with validation + # @param [Object] remote_id Value to be assigned + def remote_id=(remote_id) + if remote_id.nil? + fail ArgumentError, 'remote_id cannot be nil' + end + + @remote_id = remote_id + end + + # Custom attribute writer method with validation + # @param [Object] course_id Value to be assigned + def course_id=(course_id) + if course_id.nil? + fail ArgumentError, 'course_id cannot be nil' + end + + @course_id = course_id + end + + # Custom attribute writer method with validation + # @param [Object] user_id Value to be assigned + def user_id=(user_id) + if user_id.nil? + fail ArgumentError, 'user_id cannot be nil' + end + + @user_id = user_id + end + + # Custom attribute writer method checking allowed values (enum). + # @param [Object] status Object to be assigned + def status=(status) + validator = EnumAttributeValidator.new('String', ["ENROLLED", "STARTED", "COMPLETED", "STOPPED"]) + unless validator.valid?(status) + fail ArgumentError, "invalid value for \"status\", must be one of #{validator.allowable_values}." + end + @status = status + end + + # Custom attribute writer method with validation + # @param [Object] score Value to be assigned + def score=(score) + if !score.nil? && score < -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + fail ArgumentError, 'invalid value for "score", must be greater than or equal to -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.' + end + + @score = score + end + + # Custom attribute writer method with validation + # @param [Object] duration Value to be assigned + def duration=(duration) + if !duration.nil? && duration < -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + fail ArgumentError, 'invalid value for "duration", must be greater than or equal to -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.' + end + + @duration = duration + end + + # Custom attribute writer method with validation + # @param [Object] changed_at Value to be assigned + def changed_at=(changed_at) + if changed_at.nil? + fail ArgumentError, 'changed_at cannot be nil' + end + + @changed_at = changed_at + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + id == o.id && + remote_id == o.remote_id && + course_id == o.course_id && + user_id == o.user_id && + status == o.status && + enrollment_date == o.enrollment_date && + completion_date == o.completion_date && + score == o.score && + duration == o.duration && + comments == o.comments && + changed_at == o.changed_at && + remote_data == o.remote_data + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [id, remote_id, course_id, user_id, status, enrollment_date, completion_date, score, duration, comments, changed_at, remote_data].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + transformed_hash = {} + openapi_types.each_pair do |key, type| + if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = nil + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[attribute_map[key]].is_a?(Array) + transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) } + end + elsif !attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]]) + end + end + new(transformed_hash) + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + end + +end diff --git a/lib/kombo_client/models/post_lms_progress_request_body.rb b/lib/kombo_client/models/post_lms_progress_request_body.rb new file mode 100644 index 0000000..d36d802 --- /dev/null +++ b/lib/kombo_client/models/post_lms_progress_request_body.rb @@ -0,0 +1,371 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.17.0 + +=end + +require 'date' +require 'time' + +module Kombo + class PostLmsProgressRequestBody < ApiModelBase + # The ID of the course. + attr_accessor :course_id + + # The ID of the user. + attr_accessor :user_id + + # Unique identifier for this progress entry. + attr_accessor :progress_id + + # Current status of the learner in this course. + attr_accessor :status + + # Date when the user enrolled in the course. + attr_accessor :enrollment_date + + # Date when the user completed the course. + attr_accessor :completion_date + + # Numerical score achieved (e.g., 85.5). + attr_accessor :score + + # Total time spent on the course in minutes. + attr_accessor :duration + + # Additional comments or notes. + attr_accessor :comments + + class EnumAttributeValidator + attr_reader :datatype + attr_reader :allowable_values + + def initialize(datatype, allowable_values) + @allowable_values = allowable_values.map do |value| + case datatype.to_s + when /Integer/i + value.to_i + when /Float/i + value.to_f + else + value + end + end + end + + def valid?(value) + !value || allowable_values.include?(value) + end + end + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'course_id' => :'course_id', + :'user_id' => :'user_id', + :'progress_id' => :'progress_id', + :'status' => :'status', + :'enrollment_date' => :'enrollment_date', + :'completion_date' => :'completion_date', + :'score' => :'score', + :'duration' => :'duration', + :'comments' => :'comments' + } + end + + # Returns attribute mapping this model knows about + def self.acceptable_attribute_map + attribute_map + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + acceptable_attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'course_id' => :'String', + :'user_id' => :'String', + :'progress_id' => :'String', + :'status' => :'String', + :'enrollment_date' => :'String', + :'completion_date' => :'String', + :'score' => :'Float', + :'duration' => :'Float', + :'comments' => :'String' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + :'completion_date', + :'score', + :'duration', + :'comments' + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Kombo::PostLmsProgressRequestBody` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + acceptable_attribute_map = self.class.acceptable_attribute_map + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!acceptable_attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Kombo::PostLmsProgressRequestBody`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'course_id') + self.course_id = attributes[:'course_id'] + else + self.course_id = nil + end + + if attributes.key?(:'user_id') + self.user_id = attributes[:'user_id'] + else + self.user_id = nil + end + + if attributes.key?(:'progress_id') + self.progress_id = attributes[:'progress_id'] + else + self.progress_id = nil + end + + if attributes.key?(:'status') + self.status = attributes[:'status'] + else + self.status = nil + end + + if attributes.key?(:'enrollment_date') + self.enrollment_date = attributes[:'enrollment_date'] + else + self.enrollment_date = nil + end + + if attributes.key?(:'completion_date') + self.completion_date = attributes[:'completion_date'] + end + + if attributes.key?(:'score') + self.score = attributes[:'score'] + end + + if attributes.key?(:'duration') + self.duration = attributes[:'duration'] + end + + if attributes.key?(:'comments') + self.comments = attributes[:'comments'] + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + warn '[DEPRECATED] the `list_invalid_properties` method is obsolete' + invalid_properties = Array.new + if @course_id.nil? + invalid_properties.push('invalid value for "course_id", course_id cannot be nil.') + end + + if @user_id.nil? + invalid_properties.push('invalid value for "user_id", user_id cannot be nil.') + end + + if @progress_id.nil? + invalid_properties.push('invalid value for "progress_id", progress_id cannot be nil.') + end + + if @status.nil? + invalid_properties.push('invalid value for "status", status cannot be nil.') + end + + if @enrollment_date.nil? + invalid_properties.push('invalid value for "enrollment_date", enrollment_date cannot be nil.') + end + + if !@score.nil? && @score < -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + invalid_properties.push('invalid value for "score", must be greater than or equal to -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.') + end + + if !@duration.nil? && @duration < -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + invalid_properties.push('invalid value for "duration", must be greater than or equal to -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.') + end + + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + warn '[DEPRECATED] the `valid?` method is obsolete' + return false if @course_id.nil? + return false if @user_id.nil? + return false if @progress_id.nil? + return false if @status.nil? + status_validator = EnumAttributeValidator.new('String', ["ENROLLED", "STARTED", "COMPLETED", "STOPPED"]) + return false unless status_validator.valid?(@status) + return false if @enrollment_date.nil? + return false if !@score.nil? && @score < -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + return false if !@duration.nil? && @duration < -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + true + end + + # Custom attribute writer method with validation + # @param [Object] course_id Value to be assigned + def course_id=(course_id) + if course_id.nil? + fail ArgumentError, 'course_id cannot be nil' + end + + @course_id = course_id + end + + # Custom attribute writer method with validation + # @param [Object] user_id Value to be assigned + def user_id=(user_id) + if user_id.nil? + fail ArgumentError, 'user_id cannot be nil' + end + + @user_id = user_id + end + + # Custom attribute writer method with validation + # @param [Object] progress_id Value to be assigned + def progress_id=(progress_id) + if progress_id.nil? + fail ArgumentError, 'progress_id cannot be nil' + end + + @progress_id = progress_id + end + + # Custom attribute writer method checking allowed values (enum). + # @param [Object] status Object to be assigned + def status=(status) + validator = EnumAttributeValidator.new('String', ["ENROLLED", "STARTED", "COMPLETED", "STOPPED"]) + unless validator.valid?(status) + fail ArgumentError, "invalid value for \"status\", must be one of #{validator.allowable_values}." + end + @status = status + end + + # Custom attribute writer method with validation + # @param [Object] enrollment_date Value to be assigned + def enrollment_date=(enrollment_date) + if enrollment_date.nil? + fail ArgumentError, 'enrollment_date cannot be nil' + end + + @enrollment_date = enrollment_date + end + + # Custom attribute writer method with validation + # @param [Object] score Value to be assigned + def score=(score) + if !score.nil? && score < -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + fail ArgumentError, 'invalid value for "score", must be greater than or equal to -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.' + end + + @score = score + end + + # Custom attribute writer method with validation + # @param [Object] duration Value to be assigned + def duration=(duration) + if !duration.nil? && duration < -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + fail ArgumentError, 'invalid value for "duration", must be greater than or equal to -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.' + end + + @duration = duration + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + course_id == o.course_id && + user_id == o.user_id && + progress_id == o.progress_id && + status == o.status && + enrollment_date == o.enrollment_date && + completion_date == o.completion_date && + score == o.score && + duration == o.duration && + comments == o.comments + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [course_id, user_id, progress_id, status, enrollment_date, completion_date, score, duration, comments].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + transformed_hash = {} + openapi_types.each_pair do |key, type| + if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = nil + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[attribute_map[key]].is_a?(Array) + transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) } + end + elsif !attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]]) + end + end + new(transformed_hash) + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + end + +end diff --git a/lib/kombo_client/models/post_passthrough_tool_api_positive_response.rb b/lib/kombo_client/models/post_passthrough_tool_api_positive_response.rb new file mode 100644 index 0000000..af45890 --- /dev/null +++ b/lib/kombo_client/models/post_passthrough_tool_api_positive_response.rb @@ -0,0 +1,243 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.17.0 + +=end + +require 'date' +require 'time' + +module Kombo + class PostPassthroughToolApiPositiveResponse < ApiModelBase + attr_accessor :status + + attr_accessor :data + + # 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. + attr_accessor :warnings + + class EnumAttributeValidator + attr_reader :datatype + attr_reader :allowable_values + + def initialize(datatype, allowable_values) + @allowable_values = allowable_values.map do |value| + case datatype.to_s + when /Integer/i + value.to_i + when /Float/i + value.to_f + else + value + end + end + end + + def valid?(value) + !value || allowable_values.include?(value) + end + end + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'status' => :'status', + :'data' => :'data', + :'warnings' => :'warnings' + } + end + + # Returns attribute mapping this model knows about + def self.acceptable_attribute_map + attribute_map + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + acceptable_attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'status' => :'String', + :'data' => :'PostPassthroughToolApiPositiveResponseData', + :'warnings' => :'Array' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Kombo::PostPassthroughToolApiPositiveResponse` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + acceptable_attribute_map = self.class.acceptable_attribute_map + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!acceptable_attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Kombo::PostPassthroughToolApiPositiveResponse`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'status') + self.status = attributes[:'status'] + else + self.status = nil + end + + if attributes.key?(:'data') + self.data = attributes[:'data'] + else + self.data = nil + end + + if attributes.key?(:'warnings') + if (value = attributes[:'warnings']).is_a?(Array) + self.warnings = value + end + else + self.warnings = nil + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + warn '[DEPRECATED] the `list_invalid_properties` method is obsolete' + invalid_properties = Array.new + if @status.nil? + invalid_properties.push('invalid value for "status", status cannot be nil.') + end + + if @data.nil? + invalid_properties.push('invalid value for "data", data cannot be nil.') + end + + if @warnings.nil? + invalid_properties.push('invalid value for "warnings", warnings cannot be nil.') + end + + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + warn '[DEPRECATED] the `valid?` method is obsolete' + return false if @status.nil? + status_validator = EnumAttributeValidator.new('String', ["success"]) + return false unless status_validator.valid?(@status) + return false if @data.nil? + return false if @warnings.nil? + true + end + + # Custom attribute writer method checking allowed values (enum). + # @param [Object] status Object to be assigned + def status=(status) + validator = EnumAttributeValidator.new('String', ["success"]) + unless validator.valid?(status) + fail ArgumentError, "invalid value for \"status\", must be one of #{validator.allowable_values}." + end + @status = status + end + + # Custom attribute writer method with validation + # @param [Object] data Value to be assigned + def data=(data) + if data.nil? + fail ArgumentError, 'data cannot be nil' + end + + @data = data + end + + # Custom attribute writer method with validation + # @param [Object] warnings Value to be assigned + def warnings=(warnings) + if warnings.nil? + fail ArgumentError, 'warnings cannot be nil' + end + + @warnings = warnings + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + status == o.status && + data == o.data && + warnings == o.warnings + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [status, data, warnings].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + transformed_hash = {} + openapi_types.each_pair do |key, type| + if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = nil + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[attribute_map[key]].is_a?(Array) + transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) } + end + elsif !attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]]) + end + end + new(transformed_hash) + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + end + +end diff --git a/lib/kombo_client/models/post_passthrough_tool_api_positive_response_data.rb b/lib/kombo_client/models/post_passthrough_tool_api_positive_response_data.rb new file mode 100644 index 0000000..acad963 --- /dev/null +++ b/lib/kombo_client/models/post_passthrough_tool_api_positive_response_data.rb @@ -0,0 +1,231 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.17.0 + +=end + +require 'date' +require 'time' + +module Kombo + class PostPassthroughToolApiPositiveResponseData < ApiModelBase + # 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). + attr_accessor :url + + # The HTTP status code returned from the remote system. + attr_accessor :status + + # The HTTP headers returned from the remote system. + attr_accessor :headers + + attr_accessor :data + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'url' => :'url', + :'status' => :'status', + :'headers' => :'headers', + :'data' => :'data' + } + end + + # Returns attribute mapping this model knows about + def self.acceptable_attribute_map + attribute_map + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + acceptable_attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'url' => :'String', + :'status' => :'Integer', + :'headers' => :'Hash', + :'data' => :'Object' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + :'data' + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Kombo::PostPassthroughToolApiPositiveResponseData` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + acceptable_attribute_map = self.class.acceptable_attribute_map + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!acceptable_attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Kombo::PostPassthroughToolApiPositiveResponseData`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'url') + self.url = attributes[:'url'] + else + self.url = nil + end + + if attributes.key?(:'status') + self.status = attributes[:'status'] + else + self.status = nil + end + + if attributes.key?(:'headers') + if (value = attributes[:'headers']).is_a?(Hash) + self.headers = value + end + else + self.headers = nil + end + + if attributes.key?(:'data') + self.data = attributes[:'data'] + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + warn '[DEPRECATED] the `list_invalid_properties` method is obsolete' + invalid_properties = Array.new + if @url.nil? + invalid_properties.push('invalid value for "url", url cannot be nil.') + end + + if @status.nil? + invalid_properties.push('invalid value for "status", status cannot be nil.') + end + + if @headers.nil? + invalid_properties.push('invalid value for "headers", headers cannot be nil.') + end + + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + warn '[DEPRECATED] the `valid?` method is obsolete' + return false if @url.nil? + return false if @status.nil? + return false if @headers.nil? + true + end + + # Custom attribute writer method with validation + # @param [Object] url Value to be assigned + def url=(url) + if url.nil? + fail ArgumentError, 'url cannot be nil' + end + + @url = url + end + + # Custom attribute writer method with validation + # @param [Object] status Value to be assigned + def status=(status) + if status.nil? + fail ArgumentError, 'status cannot be nil' + end + + @status = status + end + + # Custom attribute writer method with validation + # @param [Object] headers Value to be assigned + def headers=(headers) + if headers.nil? + fail ArgumentError, 'headers cannot be nil' + end + + @headers = headers + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + url == o.url && + status == o.status && + headers == o.headers && + data == o.data + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [url, status, headers, data].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + transformed_hash = {} + openapi_types.each_pair do |key, type| + if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = nil + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[attribute_map[key]].is_a?(Array) + transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) } + end + elsif !attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]]) + end + end + new(transformed_hash) + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + end + +end diff --git a/lib/kombo_client/models/post_passthrough_tool_api_positive_response_data_headers_value.rb b/lib/kombo_client/models/post_passthrough_tool_api_positive_response_data_headers_value.rb new file mode 100644 index 0000000..9d74b63 --- /dev/null +++ b/lib/kombo_client/models/post_passthrough_tool_api_positive_response_data_headers_value.rb @@ -0,0 +1,104 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.17.0 + +=end + +require 'date' +require 'time' + +module Kombo + module PostPassthroughToolApiPositiveResponseDataHeadersValue + class << self + # List of class defined in oneOf (OpenAPI v3) + def openapi_one_of + [ + :'Array', + :'String' + ] + end + + # Builds the object + # @param [Mixed] Data to be matched against the list of oneOf items + # @return [Object] Returns the model or the data itself + def build(data) + # Go through the list of oneOf items and attempt to identify the appropriate one. + # Note: + # - We do not attempt to check whether exactly one item matches. + # - No advanced validation of types in some cases (e.g. "x: { type: string }" will happily match { x: 123 }) + # due to the way the deserialization is made in the base_object template (it just casts without verifying). + # - TODO: scalar values are de facto behaving as if they were nullable. + # - TODO: logging when debugging is set. + openapi_one_of.each do |klass| + begin + next if klass == :AnyType # "nullable: true" + return find_and_cast_into_type(klass, data) + rescue # rescue all errors so we keep iterating even if the current item lookup raises + end + end + + openapi_one_of.include?(:AnyType) ? data : nil + end + + private + + SchemaMismatchError = Class.new(StandardError) + + # Note: 'File' is missing here because in the regular case we get the data _after_ a call to JSON.parse. + def find_and_cast_into_type(klass, data) + return if data.nil? + + case klass.to_s + when 'Boolean' + return data if data.instance_of?(TrueClass) || data.instance_of?(FalseClass) + when 'Float' + return data if data.instance_of?(Float) + when 'Integer' + return data if data.instance_of?(Integer) + when 'Time' + return Time.parse(data) + when 'Date' + return Date.iso8601(data) + when 'String' + return data if data.instance_of?(String) + when 'Object' # "type: object" + return data if data.instance_of?(Hash) + when /\AArray<(?.+)>\z/ # "type: array" + if data.instance_of?(Array) + sub_type = Regexp.last_match[:sub_type] + return data.map { |item| find_and_cast_into_type(sub_type, item) } + end + when /\AHash.+)>\z/ # "type: object" with "additionalProperties: { ... }" + if data.instance_of?(Hash) && data.keys.all? { |k| k.instance_of?(Symbol) || k.instance_of?(String) } + sub_type = Regexp.last_match[:sub_type] + return data.each_with_object({}) { |(k, v), hsh| hsh[k] = find_and_cast_into_type(sub_type, v) } + end + else # model + const = Kombo.const_get(klass) + if const + if const.respond_to?(:openapi_one_of) # nested oneOf model + model = const.build(data) + return model if model + else + # raise if data contains keys that are not known to the model + raise if const.respond_to?(:acceptable_attributes) && !(data.keys - const.acceptable_attributes).empty? + model = const.build_from_hash(data) + return model if model + end + end + end + + raise # if no match by now, raise + rescue + raise SchemaMismatchError, "#{data} doesn't match the #{klass} type" + end + end + end + +end diff --git a/lib/kombo_client/models/post_passthrough_tool_api_positive_response_warnings_inner.rb b/lib/kombo_client/models/post_passthrough_tool_api_positive_response_warnings_inner.rb new file mode 100644 index 0000000..7c99d42 --- /dev/null +++ b/lib/kombo_client/models/post_passthrough_tool_api_positive_response_warnings_inner.rb @@ -0,0 +1,164 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.17.0 + +=end + +require 'date' +require 'time' + +module Kombo + class PostPassthroughToolApiPositiveResponseWarningsInner < ApiModelBase + attr_accessor :message + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'message' => :'message' + } + end + + # Returns attribute mapping this model knows about + def self.acceptable_attribute_map + attribute_map + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + acceptable_attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'message' => :'String' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Kombo::PostPassthroughToolApiPositiveResponseWarningsInner` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + acceptable_attribute_map = self.class.acceptable_attribute_map + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!acceptable_attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Kombo::PostPassthroughToolApiPositiveResponseWarningsInner`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'message') + self.message = attributes[:'message'] + else + self.message = nil + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + warn '[DEPRECATED] the `list_invalid_properties` method is obsolete' + invalid_properties = Array.new + if @message.nil? + invalid_properties.push('invalid value for "message", message cannot be nil.') + end + + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + warn '[DEPRECATED] the `valid?` method is obsolete' + return false if @message.nil? + true + end + + # Custom attribute writer method with validation + # @param [Object] message Value to be assigned + def message=(message) + if message.nil? + fail ArgumentError, 'message cannot be nil' + end + + @message = message + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + message == o.message + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [message].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + transformed_hash = {} + openapi_types.each_pair do |key, type| + if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = nil + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[attribute_map[key]].is_a?(Array) + transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) } + end + elsif !attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]]) + end + end + new(transformed_hash) + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + end + +end diff --git a/lib/kombo_client/models/post_passthrough_tool_api_request_body.rb b/lib/kombo_client/models/post_passthrough_tool_api_request_body.rb new file mode 100644 index 0000000..303057f --- /dev/null +++ b/lib/kombo_client/models/post_passthrough_tool_api_request_body.rb @@ -0,0 +1,294 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.17.0 + +=end + +require 'date' +require 'time' + +module Kombo + class PostPassthroughToolApiRequestBody < ApiModelBase + # The HTTP method (e.g., `GET`) of the request. + attr_accessor :method + + # 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). + attr_accessor :path + + # The headers to send with the request. Note that we automatically supply any authentication-related headers. + attr_accessor :headers + + # The query parameters to send in addition to the ones in the `path`. + attr_accessor :params + + attr_accessor :data + + # If set to `true`, the response will be returned as a base64-encoded string. This is useful for binary data (e.g., PDFs). + attr_accessor :response_as_base64 + + attr_accessor :multipart_form_data + + # 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. + attr_accessor :api_options + + class EnumAttributeValidator + attr_reader :datatype + attr_reader :allowable_values + + def initialize(datatype, allowable_values) + @allowable_values = allowable_values.map do |value| + case datatype.to_s + when /Integer/i + value.to_i + when /Float/i + value.to_f + else + value + end + end + end + + def valid?(value) + !value || allowable_values.include?(value) + end + end + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'method' => :'method', + :'path' => :'path', + :'headers' => :'headers', + :'params' => :'params', + :'data' => :'data', + :'response_as_base64' => :'response_as_base64', + :'multipart_form_data' => :'multipart_form_data', + :'api_options' => :'api_options' + } + end + + # Returns attribute mapping this model knows about + def self.acceptable_attribute_map + attribute_map + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + acceptable_attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'method' => :'String', + :'path' => :'String', + :'headers' => :'Hash', + :'params' => :'Hash', + :'data' => :'Object', + :'response_as_base64' => :'Boolean', + :'multipart_form_data' => :'Array', + :'api_options' => :'Hash' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + :'data', + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Kombo::PostPassthroughToolApiRequestBody` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + acceptable_attribute_map = self.class.acceptable_attribute_map + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!acceptable_attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Kombo::PostPassthroughToolApiRequestBody`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'method') + self.method = attributes[:'method'] + else + self.method = nil + end + + if attributes.key?(:'path') + self.path = attributes[:'path'] + else + self.path = nil + end + + if attributes.key?(:'headers') + if (value = attributes[:'headers']).is_a?(Hash) + self.headers = value + end + end + + if attributes.key?(:'params') + if (value = attributes[:'params']).is_a?(Hash) + self.params = value + end + end + + if attributes.key?(:'data') + self.data = attributes[:'data'] + end + + if attributes.key?(:'response_as_base64') + self.response_as_base64 = attributes[:'response_as_base64'] + end + + if attributes.key?(:'multipart_form_data') + if (value = attributes[:'multipart_form_data']).is_a?(Array) + self.multipart_form_data = value + end + end + + if attributes.key?(:'api_options') + if (value = attributes[:'api_options']).is_a?(Hash) + self.api_options = value + end + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + warn '[DEPRECATED] the `list_invalid_properties` method is obsolete' + invalid_properties = Array.new + if @method.nil? + invalid_properties.push('invalid value for "method", method cannot be nil.') + end + + if @path.nil? + invalid_properties.push('invalid value for "path", path cannot be nil.') + end + + pattern = Regexp.new(/^\//) + if @path !~ pattern + invalid_properties.push("invalid value for \"path\", must conform to the pattern #{pattern}.") + end + + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + warn '[DEPRECATED] the `valid?` method is obsolete' + return false if @method.nil? + method_validator = EnumAttributeValidator.new('String', ["GET", "POST", "DELETE", "PUT", "PATCH"]) + return false unless method_validator.valid?(@method) + return false if @path.nil? + return false if @path !~ Regexp.new(/^\//) + true + end + + # Custom attribute writer method checking allowed values (enum). + # @param [Object] method Object to be assigned + def method=(method) + validator = EnumAttributeValidator.new('String', ["GET", "POST", "DELETE", "PUT", "PATCH"]) + unless validator.valid?(method) + fail ArgumentError, "invalid value for \"method\", must be one of #{validator.allowable_values}." + end + @method = method + end + + # Custom attribute writer method with validation + # @param [Object] path Value to be assigned + def path=(path) + if path.nil? + fail ArgumentError, 'path cannot be nil' + end + + pattern = Regexp.new(/^\//) + if path !~ pattern + fail ArgumentError, "invalid value for \"path\", must conform to the pattern #{pattern}." + end + + @path = path + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + method == o.method && + path == o.path && + headers == o.headers && + params == o.params && + data == o.data && + response_as_base64 == o.response_as_base64 && + multipart_form_data == o.multipart_form_data && + api_options == o.api_options + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [method, path, headers, params, data, response_as_base64, multipart_form_data, api_options].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + transformed_hash = {} + openapi_types.each_pair do |key, type| + if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = nil + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[attribute_map[key]].is_a?(Array) + transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) } + end + elsif !attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]]) + end + end + new(transformed_hash) + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + end + +end diff --git a/lib/kombo_client/models/post_passthrough_tool_api_request_body_multipart_form_data_inner.rb b/lib/kombo_client/models/post_passthrough_tool_api_request_body_multipart_form_data_inner.rb new file mode 100644 index 0000000..48d1bab --- /dev/null +++ b/lib/kombo_client/models/post_passthrough_tool_api_request_body_multipart_form_data_inner.rb @@ -0,0 +1,192 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.17.0 + +=end + +require 'date' +require 'time' + +module Kombo + # The data to submit as part of the request body if the request's `Content-Type` is `multipart/form-data`. + class PostPassthroughToolApiRequestBodyMultipartFormDataInner < ApiModelBase + # The key of the form data + attr_accessor :name + + attr_accessor :value + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'name' => :'name', + :'value' => :'value' + } + end + + # Returns attribute mapping this model knows about + def self.acceptable_attribute_map + attribute_map + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + acceptable_attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'name' => :'String', + :'value' => :'PostPassthroughToolApiRequestBodyMultipartFormDataInnerValue' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Kombo::PostPassthroughToolApiRequestBodyMultipartFormDataInner` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + acceptable_attribute_map = self.class.acceptable_attribute_map + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!acceptable_attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Kombo::PostPassthroughToolApiRequestBodyMultipartFormDataInner`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'name') + self.name = attributes[:'name'] + else + self.name = nil + end + + if attributes.key?(:'value') + self.value = attributes[:'value'] + else + self.value = nil + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + warn '[DEPRECATED] the `list_invalid_properties` method is obsolete' + invalid_properties = Array.new + if @name.nil? + invalid_properties.push('invalid value for "name", name cannot be nil.') + end + + if @value.nil? + invalid_properties.push('invalid value for "value", value cannot be nil.') + end + + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + warn '[DEPRECATED] the `valid?` method is obsolete' + return false if @name.nil? + return false if @value.nil? + true + end + + # Custom attribute writer method with validation + # @param [Object] name Value to be assigned + def name=(name) + if name.nil? + fail ArgumentError, 'name cannot be nil' + end + + @name = name + end + + # Custom attribute writer method with validation + # @param [Object] value Value to be assigned + def value=(value) + if value.nil? + fail ArgumentError, 'value cannot be nil' + end + + @value = value + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + name == o.name && + value == o.value + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [name, value].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + transformed_hash = {} + openapi_types.each_pair do |key, type| + if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = nil + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[attribute_map[key]].is_a?(Array) + transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) } + end + elsif !attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]]) + end + end + new(transformed_hash) + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + end + +end diff --git a/lib/kombo_client/models/post_passthrough_tool_api_request_body_multipart_form_data_inner_value.rb b/lib/kombo_client/models/post_passthrough_tool_api_request_body_multipart_form_data_inner_value.rb new file mode 100644 index 0000000..b7d82c7 --- /dev/null +++ b/lib/kombo_client/models/post_passthrough_tool_api_request_body_multipart_form_data_inner_value.rb @@ -0,0 +1,104 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.17.0 + +=end + +require 'date' +require 'time' + +module Kombo + module PostPassthroughToolApiRequestBodyMultipartFormDataInnerValue + class << self + # List of class defined in oneOf (OpenAPI v3) + def openapi_one_of + [ + :'PostPassthroughToolApiRequestBodyMultipartFormDataInnerValueOneOf', + :'String' + ] + end + + # Builds the object + # @param [Mixed] Data to be matched against the list of oneOf items + # @return [Object] Returns the model or the data itself + def build(data) + # Go through the list of oneOf items and attempt to identify the appropriate one. + # Note: + # - We do not attempt to check whether exactly one item matches. + # - No advanced validation of types in some cases (e.g. "x: { type: string }" will happily match { x: 123 }) + # due to the way the deserialization is made in the base_object template (it just casts without verifying). + # - TODO: scalar values are de facto behaving as if they were nullable. + # - TODO: logging when debugging is set. + openapi_one_of.each do |klass| + begin + next if klass == :AnyType # "nullable: true" + return find_and_cast_into_type(klass, data) + rescue # rescue all errors so we keep iterating even if the current item lookup raises + end + end + + openapi_one_of.include?(:AnyType) ? data : nil + end + + private + + SchemaMismatchError = Class.new(StandardError) + + # Note: 'File' is missing here because in the regular case we get the data _after_ a call to JSON.parse. + def find_and_cast_into_type(klass, data) + return if data.nil? + + case klass.to_s + when 'Boolean' + return data if data.instance_of?(TrueClass) || data.instance_of?(FalseClass) + when 'Float' + return data if data.instance_of?(Float) + when 'Integer' + return data if data.instance_of?(Integer) + when 'Time' + return Time.parse(data) + when 'Date' + return Date.iso8601(data) + when 'String' + return data if data.instance_of?(String) + when 'Object' # "type: object" + return data if data.instance_of?(Hash) + when /\AArray<(?.+)>\z/ # "type: array" + if data.instance_of?(Array) + sub_type = Regexp.last_match[:sub_type] + return data.map { |item| find_and_cast_into_type(sub_type, item) } + end + when /\AHash.+)>\z/ # "type: object" with "additionalProperties: { ... }" + if data.instance_of?(Hash) && data.keys.all? { |k| k.instance_of?(Symbol) || k.instance_of?(String) } + sub_type = Regexp.last_match[:sub_type] + return data.each_with_object({}) { |(k, v), hsh| hsh[k] = find_and_cast_into_type(sub_type, v) } + end + else # model + const = Kombo.const_get(klass) + if const + if const.respond_to?(:openapi_one_of) # nested oneOf model + model = const.build(data) + return model if model + else + # raise if data contains keys that are not known to the model + raise if const.respond_to?(:acceptable_attributes) && !(data.keys - const.acceptable_attributes).empty? + model = const.build_from_hash(data) + return model if model + end + end + end + + raise # if no match by now, raise + rescue + raise SchemaMismatchError, "#{data} doesn't match the #{klass} type" + end + end + end + +end diff --git a/lib/kombo_client/models/post_passthrough_tool_api_request_body_multipart_form_data_inner_value_one_of.rb b/lib/kombo_client/models/post_passthrough_tool_api_request_body_multipart_form_data_inner_value_one_of.rb new file mode 100644 index 0000000..a99ad99 --- /dev/null +++ b/lib/kombo_client/models/post_passthrough_tool_api_request_body_multipart_form_data_inner_value_one_of.rb @@ -0,0 +1,216 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.17.0 + +=end + +require 'date' +require 'time' + +module Kombo + class PostPassthroughToolApiRequestBodyMultipartFormDataInnerValueOneOf < ApiModelBase + # 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. + attr_accessor :name + + # 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)). + attr_accessor :content_type + + # 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. + attr_accessor :data_url + + # 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. + attr_accessor :data + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'name' => :'name', + :'content_type' => :'content_type', + :'data_url' => :'data_url', + :'data' => :'data' + } + end + + # Returns attribute mapping this model knows about + def self.acceptable_attribute_map + attribute_map + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + acceptable_attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'name' => :'String', + :'content_type' => :'String', + :'data_url' => :'String', + :'data' => :'String' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Kombo::PostPassthroughToolApiRequestBodyMultipartFormDataInnerValueOneOf` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + acceptable_attribute_map = self.class.acceptable_attribute_map + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!acceptable_attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Kombo::PostPassthroughToolApiRequestBodyMultipartFormDataInnerValueOneOf`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'name') + self.name = attributes[:'name'] + else + self.name = nil + end + + if attributes.key?(:'content_type') + self.content_type = attributes[:'content_type'] + end + + if attributes.key?(:'data_url') + self.data_url = attributes[:'data_url'] + end + + if attributes.key?(:'data') + self.data = attributes[:'data'] + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + warn '[DEPRECATED] the `list_invalid_properties` method is obsolete' + invalid_properties = Array.new + if @name.nil? + invalid_properties.push('invalid value for "name", name cannot be nil.') + end + + pattern = Regexp.new(/^[\w.-]+\/[\w.-]+$/) + if !@content_type.nil? && @content_type !~ pattern + invalid_properties.push("invalid value for \"content_type\", must conform to the pattern #{pattern}.") + end + + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + warn '[DEPRECATED] the `valid?` method is obsolete' + return false if @name.nil? + return false if !@content_type.nil? && @content_type !~ Regexp.new(/^[\w.-]+\/[\w.-]+$/) + true + end + + # Custom attribute writer method with validation + # @param [Object] name Value to be assigned + def name=(name) + if name.nil? + fail ArgumentError, 'name cannot be nil' + end + + @name = name + end + + # Custom attribute writer method with validation + # @param [Object] content_type Value to be assigned + def content_type=(content_type) + if content_type.nil? + fail ArgumentError, 'content_type cannot be nil' + end + + pattern = Regexp.new(/^[\w.-]+\/[\w.-]+$/) + if content_type !~ pattern + fail ArgumentError, "invalid value for \"content_type\", must conform to the pattern #{pattern}." + end + + @content_type = content_type + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + name == o.name && + content_type == o.content_type && + data_url == o.data_url && + data == o.data + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [name, content_type, data_url, data].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + transformed_hash = {} + openapi_types.each_pair do |key, type| + if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = nil + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[attribute_map[key]].is_a?(Array) + transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) } + end + elsif !attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]]) + end + end + new(transformed_hash) + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + end + +end diff --git a/lib/kombo_client/models/put_assessment_orders_assessment_order_id_result_positive_response.rb b/lib/kombo_client/models/put_assessment_orders_assessment_order_id_result_positive_response.rb new file mode 100644 index 0000000..3d366c8 --- /dev/null +++ b/lib/kombo_client/models/put_assessment_orders_assessment_order_id_result_positive_response.rb @@ -0,0 +1,243 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.17.0 + +=end + +require 'date' +require 'time' + +module Kombo + class PutAssessmentOrdersAssessmentOrderIdResultPositiveResponse < ApiModelBase + attr_accessor :status + + attr_accessor :data + + # 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. + attr_accessor :warnings + + class EnumAttributeValidator + attr_reader :datatype + attr_reader :allowable_values + + def initialize(datatype, allowable_values) + @allowable_values = allowable_values.map do |value| + case datatype.to_s + when /Integer/i + value.to_i + when /Float/i + value.to_f + else + value + end + end + end + + def valid?(value) + !value || allowable_values.include?(value) + end + end + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'status' => :'status', + :'data' => :'data', + :'warnings' => :'warnings' + } + end + + # Returns attribute mapping this model knows about + def self.acceptable_attribute_map + attribute_map + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + acceptable_attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'status' => :'String', + :'data' => :'Object', + :'warnings' => :'Array' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Kombo::PutAssessmentOrdersAssessmentOrderIdResultPositiveResponse` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + acceptable_attribute_map = self.class.acceptable_attribute_map + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!acceptable_attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Kombo::PutAssessmentOrdersAssessmentOrderIdResultPositiveResponse`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'status') + self.status = attributes[:'status'] + else + self.status = nil + end + + if attributes.key?(:'data') + self.data = attributes[:'data'] + else + self.data = nil + end + + if attributes.key?(:'warnings') + if (value = attributes[:'warnings']).is_a?(Array) + self.warnings = value + end + else + self.warnings = nil + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + warn '[DEPRECATED] the `list_invalid_properties` method is obsolete' + invalid_properties = Array.new + if @status.nil? + invalid_properties.push('invalid value for "status", status cannot be nil.') + end + + if @data.nil? + invalid_properties.push('invalid value for "data", data cannot be nil.') + end + + if @warnings.nil? + invalid_properties.push('invalid value for "warnings", warnings cannot be nil.') + end + + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + warn '[DEPRECATED] the `valid?` method is obsolete' + return false if @status.nil? + status_validator = EnumAttributeValidator.new('String', ["success"]) + return false unless status_validator.valid?(@status) + return false if @data.nil? + return false if @warnings.nil? + true + end + + # Custom attribute writer method checking allowed values (enum). + # @param [Object] status Object to be assigned + def status=(status) + validator = EnumAttributeValidator.new('String', ["success"]) + unless validator.valid?(status) + fail ArgumentError, "invalid value for \"status\", must be one of #{validator.allowable_values}." + end + @status = status + end + + # Custom attribute writer method with validation + # @param [Object] data Value to be assigned + def data=(data) + if data.nil? + fail ArgumentError, 'data cannot be nil' + end + + @data = data + end + + # Custom attribute writer method with validation + # @param [Object] warnings Value to be assigned + def warnings=(warnings) + if warnings.nil? + fail ArgumentError, 'warnings cannot be nil' + end + + @warnings = warnings + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + status == o.status && + data == o.data && + warnings == o.warnings + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [status, data, warnings].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + transformed_hash = {} + openapi_types.each_pair do |key, type| + if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = nil + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[attribute_map[key]].is_a?(Array) + transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) } + end + elsif !attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]]) + end + end + new(transformed_hash) + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + end + +end diff --git a/lib/kombo_client/models/put_assessment_orders_assessment_order_id_result_request_body.rb b/lib/kombo_client/models/put_assessment_orders_assessment_order_id_result_request_body.rb new file mode 100644 index 0000000..086c51b --- /dev/null +++ b/lib/kombo_client/models/put_assessment_orders_assessment_order_id_result_request_body.rb @@ -0,0 +1,354 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.17.0 + +=end + +require 'date' +require 'time' + +module Kombo + class PutAssessmentOrdersAssessmentOrderIdResultRequestBody < ApiModelBase + # Status of the assessment. **Please note the `status` can only be updated to a different value if its current value is `OPEN`.** + attr_accessor :status + + attr_accessor :result_url + + # YYYY-MM-DDTHH:mm:ss.sssZ **Please make sure this value is provided when the `status` is of the type `COMPLETED` or `CANCELLED`.** + attr_accessor :completed_at + + attr_accessor :score + + attr_accessor :max_score + + # 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. + attr_accessor :attributes + + # An array of attachments containing the assessment result. + attr_accessor :attachments + + attr_accessor :remote_fields + + class EnumAttributeValidator + attr_reader :datatype + attr_reader :allowable_values + + def initialize(datatype, allowable_values) + @allowable_values = allowable_values.map do |value| + case datatype.to_s + when /Integer/i + value.to_i + when /Float/i + value.to_f + else + value + end + end + end + + def valid?(value) + !value || allowable_values.include?(value) + end + end + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'status' => :'status', + :'result_url' => :'result_url', + :'completed_at' => :'completed_at', + :'score' => :'score', + :'max_score' => :'max_score', + :'attributes' => :'attributes', + :'attachments' => :'attachments', + :'remote_fields' => :'remote_fields' + } + end + + # Returns attribute mapping this model knows about + def self.acceptable_attribute_map + attribute_map + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + acceptable_attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'status' => :'String', + :'result_url' => :'String', + :'completed_at' => :'Time', + :'score' => :'Float', + :'max_score' => :'Float', + :'attributes' => :'Array', + :'attachments' => :'Array', + :'remote_fields' => :'PutAssessmentOrdersAssessmentOrderIdResultRequestBodyRemoteFields' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Kombo::PutAssessmentOrdersAssessmentOrderIdResultRequestBody` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + acceptable_attribute_map = self.class.acceptable_attribute_map + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!acceptable_attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Kombo::PutAssessmentOrdersAssessmentOrderIdResultRequestBody`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'status') + self.status = attributes[:'status'] + else + self.status = nil + end + + if attributes.key?(:'result_url') + self.result_url = attributes[:'result_url'] + else + self.result_url = nil + end + + if attributes.key?(:'completed_at') + self.completed_at = attributes[:'completed_at'] + end + + if attributes.key?(:'score') + self.score = attributes[:'score'] + end + + if attributes.key?(:'max_score') + self.max_score = attributes[:'max_score'] + end + + if attributes.key?(:'attributes') + if (value = attributes[:'attributes']).is_a?(Array) + self.attributes = value + end + end + + if attributes.key?(:'attachments') + if (value = attributes[:'attachments']).is_a?(Array) + self.attachments = value + end + end + + if attributes.key?(:'remote_fields') + self.remote_fields = attributes[:'remote_fields'] + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + warn '[DEPRECATED] the `list_invalid_properties` method is obsolete' + invalid_properties = Array.new + if @status.nil? + invalid_properties.push('invalid value for "status", status cannot be nil.') + end + + if @result_url.nil? + invalid_properties.push('invalid value for "result_url", result_url cannot be nil.') + end + + pattern = Regexp.new(/^\d{4}-\d{2}-\d{2}(T\d{2}:\d{2}:\d{2}(\.\d+)?)?Z?$/) + if !@completed_at.nil? && @completed_at !~ pattern + invalid_properties.push("invalid value for \"completed_at\", must conform to the pattern #{pattern}.") + end + + if !@score.nil? && @score < -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + invalid_properties.push('invalid value for "score", must be greater than or equal to -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.') + end + + if !@max_score.nil? && @max_score < -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + invalid_properties.push('invalid value for "max_score", must be greater than or equal to -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.') + end + + if !@attachments.nil? && @attachments.length > 5 + invalid_properties.push('invalid value for "attachments", number of items must be less than or equal to 5.') + end + + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + warn '[DEPRECATED] the `valid?` method is obsolete' + return false if @status.nil? + status_validator = EnumAttributeValidator.new('String', ["COMPLETED", "CANCELLED", "OPEN"]) + return false unless status_validator.valid?(@status) + return false if @result_url.nil? + return false if !@completed_at.nil? && @completed_at !~ Regexp.new(/^\d{4}-\d{2}-\d{2}(T\d{2}:\d{2}:\d{2}(\.\d+)?)?Z?$/) + return false if !@score.nil? && @score < -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + return false if !@max_score.nil? && @max_score < -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + return false if !@attachments.nil? && @attachments.length > 5 + true + end + + # Custom attribute writer method checking allowed values (enum). + # @param [Object] status Object to be assigned + def status=(status) + validator = EnumAttributeValidator.new('String', ["COMPLETED", "CANCELLED", "OPEN"]) + unless validator.valid?(status) + fail ArgumentError, "invalid value for \"status\", must be one of #{validator.allowable_values}." + end + @status = status + end + + # Custom attribute writer method with validation + # @param [Object] result_url Value to be assigned + def result_url=(result_url) + if result_url.nil? + fail ArgumentError, 'result_url cannot be nil' + end + + @result_url = result_url + end + + # Custom attribute writer method with validation + # @param [Object] completed_at Value to be assigned + def completed_at=(completed_at) + if completed_at.nil? + fail ArgumentError, 'completed_at cannot be nil' + end + + pattern = Regexp.new(/^\d{4}-\d{2}-\d{2}(T\d{2}:\d{2}:\d{2}(\.\d+)?)?Z?$/) + if completed_at !~ pattern + fail ArgumentError, "invalid value for \"completed_at\", must conform to the pattern #{pattern}." + end + + @completed_at = completed_at + end + + # Custom attribute writer method with validation + # @param [Object] score Value to be assigned + def score=(score) + if score.nil? + fail ArgumentError, 'score cannot be nil' + end + + if score < -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + fail ArgumentError, 'invalid value for "score", must be greater than or equal to -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.' + end + + @score = score + end + + # Custom attribute writer method with validation + # @param [Object] max_score Value to be assigned + def max_score=(max_score) + if max_score.nil? + fail ArgumentError, 'max_score cannot be nil' + end + + if max_score < -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + fail ArgumentError, 'invalid value for "max_score", must be greater than or equal to -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.' + end + + @max_score = max_score + end + + # Custom attribute writer method with validation + # @param [Object] attachments Value to be assigned + def attachments=(attachments) + if attachments.nil? + fail ArgumentError, 'attachments cannot be nil' + end + + if attachments.length > 5 + fail ArgumentError, 'invalid value for "attachments", number of items must be less than or equal to 5.' + end + + @attachments = attachments + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + status == o.status && + result_url == o.result_url && + completed_at == o.completed_at && + score == o.score && + max_score == o.max_score && + attributes == o.attributes && + attachments == o.attachments && + remote_fields == o.remote_fields + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [status, result_url, completed_at, score, max_score, attributes, attachments, remote_fields].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + transformed_hash = {} + openapi_types.each_pair do |key, type| + if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = nil + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[attribute_map[key]].is_a?(Array) + transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) } + end + elsif !attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]]) + end + end + new(transformed_hash) + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + end + +end diff --git a/lib/kombo_client/models/put_assessment_orders_assessment_order_id_result_request_body_attributes_inner.rb b/lib/kombo_client/models/put_assessment_orders_assessment_order_id_result_request_body_attributes_inner.rb new file mode 100644 index 0000000..dc8dad6 --- /dev/null +++ b/lib/kombo_client/models/put_assessment_orders_assessment_order_id_result_request_body_attributes_inner.rb @@ -0,0 +1,103 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.17.0 + +=end + +require 'date' +require 'time' + +module Kombo + module PutAssessmentOrdersAssessmentOrderIdResultRequestBodyAttributesInner + class << self + # List of class defined in anyOf (OpenAPI v3) + def openapi_any_of + [ + :'PutAssessmentOrdersAssessmentOrderIdResultRequestBodyAttributesInnerAnyOf', + :'PutAssessmentOrdersAssessmentOrderIdResultRequestBodyAttributesInnerAnyOf1' + ] + end + + # Builds the object + # @param [Mixed] Data to be matched against the list of anyOf items + # @return [Object] Returns the model or the data itself + def build(data) + # Go through the list of anyOf items and attempt to identify the appropriate one. + # Note: + # - No advanced validation of types in some cases (e.g. "x: { type: string }" will happily match { x: 123 }) + # due to the way the deserialization is made in the base_object template (it just casts without verifying). + # - TODO: scalar values are de facto behaving as if they were nullable. + # - TODO: logging when debugging is set. + openapi_any_of.each do |klass| + begin + next if klass == :AnyType # "nullable: true" + return find_and_cast_into_type(klass, data) + rescue # rescue all errors so we keep iterating even if the current item lookup raises + end + end + + openapi_any_of.include?(:AnyType) ? data : nil + end + + private + + SchemaMismatchError = Class.new(StandardError) + + # Note: 'File' is missing here because in the regular case we get the data _after_ a call to JSON.parse. + def find_and_cast_into_type(klass, data) + return if data.nil? + + case klass.to_s + when 'Boolean' + return data if data.instance_of?(TrueClass) || data.instance_of?(FalseClass) + when 'Float' + return data if data.instance_of?(Float) + when 'Integer' + return data if data.instance_of?(Integer) + when 'Time' + return Time.parse(data) + when 'Date' + return Date.iso8601(data) + when 'String' + return data if data.instance_of?(String) + when 'Object' # "type: object" + return data if data.instance_of?(Hash) + when /\AArray<(?.+)>\z/ # "type: array" + if data.instance_of?(Array) + sub_type = Regexp.last_match[:sub_type] + return data.map { |item| find_and_cast_into_type(sub_type, item) } + end + when /\AHash.+)>\z/ # "type: object" with "additionalProperties: { ... }" + if data.instance_of?(Hash) && data.keys.all? { |k| k.instance_of?(Symbol) || k.instance_of?(String) } + sub_type = Regexp.last_match[:sub_type] + return data.each_with_object({}) { |(k, v), hsh| hsh[k] = find_and_cast_into_type(sub_type, v) } + end + else # model + const = Kombo.const_get(klass) + if const + if const.respond_to?(:openapi_any_of) # nested anyOf model + model = const.build(data) + return model if model + else + # raise if data contains keys that are not known to the model + raise if const.respond_to?(:acceptable_attributes) && !(data.keys - const.acceptable_attributes).empty? + model = const.build_from_hash(data) + return model if model + end + end + end + + raise # if no match by now, raise + rescue + raise SchemaMismatchError, "#{data} doesn't match the #{klass} type" + end + end + end + +end diff --git a/lib/kombo_client/models/put_assessment_orders_assessment_order_id_result_request_body_attributes_inner_any_of.rb b/lib/kombo_client/models/put_assessment_orders_assessment_order_id_result_request_body_attributes_inner_any_of.rb new file mode 100644 index 0000000..1d38606 --- /dev/null +++ b/lib/kombo_client/models/put_assessment_orders_assessment_order_id_result_request_body_attributes_inner_any_of.rb @@ -0,0 +1,240 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.17.0 + +=end + +require 'date' +require 'time' + +module Kombo + class PutAssessmentOrdersAssessmentOrderIdResultRequestBodyAttributesInnerAnyOf < ApiModelBase + attr_accessor :type + + attr_accessor :label + + attr_accessor :value + + class EnumAttributeValidator + attr_reader :datatype + attr_reader :allowable_values + + def initialize(datatype, allowable_values) + @allowable_values = allowable_values.map do |value| + case datatype.to_s + when /Integer/i + value.to_i + when /Float/i + value.to_f + else + value + end + end + end + + def valid?(value) + !value || allowable_values.include?(value) + end + end + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'type' => :'type', + :'label' => :'label', + :'value' => :'value' + } + end + + # Returns attribute mapping this model knows about + def self.acceptable_attribute_map + attribute_map + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + acceptable_attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'type' => :'String', + :'label' => :'String', + :'value' => :'String' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Kombo::PutAssessmentOrdersAssessmentOrderIdResultRequestBodyAttributesInnerAnyOf` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + acceptable_attribute_map = self.class.acceptable_attribute_map + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!acceptable_attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Kombo::PutAssessmentOrdersAssessmentOrderIdResultRequestBodyAttributesInnerAnyOf`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'type') + self.type = attributes[:'type'] + else + self.type = nil + end + + if attributes.key?(:'label') + self.label = attributes[:'label'] + else + self.label = nil + end + + if attributes.key?(:'value') + self.value = attributes[:'value'] + else + self.value = nil + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + warn '[DEPRECATED] the `list_invalid_properties` method is obsolete' + invalid_properties = Array.new + if @type.nil? + invalid_properties.push('invalid value for "type", type cannot be nil.') + end + + if @label.nil? + invalid_properties.push('invalid value for "label", label cannot be nil.') + end + + if @value.nil? + invalid_properties.push('invalid value for "value", value cannot be nil.') + end + + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + warn '[DEPRECATED] the `valid?` method is obsolete' + return false if @type.nil? + type_validator = EnumAttributeValidator.new('String', ["TEXT"]) + return false unless type_validator.valid?(@type) + return false if @label.nil? + return false if @value.nil? + true + end + + # Custom attribute writer method checking allowed values (enum). + # @param [Object] type Object to be assigned + def type=(type) + validator = EnumAttributeValidator.new('String', ["TEXT"]) + unless validator.valid?(type) + fail ArgumentError, "invalid value for \"type\", must be one of #{validator.allowable_values}." + end + @type = type + end + + # Custom attribute writer method with validation + # @param [Object] label Value to be assigned + def label=(label) + if label.nil? + fail ArgumentError, 'label cannot be nil' + end + + @label = label + end + + # Custom attribute writer method with validation + # @param [Object] value Value to be assigned + def value=(value) + if value.nil? + fail ArgumentError, 'value cannot be nil' + end + + @value = value + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + type == o.type && + label == o.label && + value == o.value + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [type, label, value].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + transformed_hash = {} + openapi_types.each_pair do |key, type| + if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = nil + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[attribute_map[key]].is_a?(Array) + transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) } + end + elsif !attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]]) + end + end + new(transformed_hash) + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + end + +end diff --git a/lib/kombo_client/models/put_assessment_orders_assessment_order_id_result_request_body_attributes_inner_any_of1.rb b/lib/kombo_client/models/put_assessment_orders_assessment_order_id_result_request_body_attributes_inner_any_of1.rb new file mode 100644 index 0000000..965eb85 --- /dev/null +++ b/lib/kombo_client/models/put_assessment_orders_assessment_order_id_result_request_body_attributes_inner_any_of1.rb @@ -0,0 +1,294 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.17.0 + +=end + +require 'date' +require 'time' + +module Kombo + class PutAssessmentOrdersAssessmentOrderIdResultRequestBodyAttributesInnerAnyOf1 < ApiModelBase + attr_accessor :type + + attr_accessor :id + + attr_accessor :label + + attr_accessor :score + + attr_accessor :status + + class EnumAttributeValidator + attr_reader :datatype + attr_reader :allowable_values + + def initialize(datatype, allowable_values) + @allowable_values = allowable_values.map do |value| + case datatype.to_s + when /Integer/i + value.to_i + when /Float/i + value.to_f + else + value + end + end + end + + def valid?(value) + !value || allowable_values.include?(value) + end + end + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'type' => :'type', + :'id' => :'id', + :'label' => :'label', + :'score' => :'score', + :'status' => :'status' + } + end + + # Returns attribute mapping this model knows about + def self.acceptable_attribute_map + attribute_map + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + acceptable_attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'type' => :'String', + :'id' => :'String', + :'label' => :'String', + :'score' => :'PutAssessmentOrdersAssessmentOrderIdResultRequestBodyAttributesInnerAnyOf1Score', + :'status' => :'String' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Kombo::PutAssessmentOrdersAssessmentOrderIdResultRequestBodyAttributesInnerAnyOf1` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + acceptable_attribute_map = self.class.acceptable_attribute_map + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!acceptable_attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Kombo::PutAssessmentOrdersAssessmentOrderIdResultRequestBodyAttributesInnerAnyOf1`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'type') + self.type = attributes[:'type'] + else + self.type = nil + end + + if attributes.key?(:'id') + self.id = attributes[:'id'] + else + self.id = nil + end + + if attributes.key?(:'label') + self.label = attributes[:'label'] + else + self.label = nil + end + + if attributes.key?(:'score') + self.score = attributes[:'score'] + else + self.score = nil + end + + if attributes.key?(:'status') + self.status = attributes[:'status'] + else + self.status = nil + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + warn '[DEPRECATED] the `list_invalid_properties` method is obsolete' + invalid_properties = Array.new + if @type.nil? + invalid_properties.push('invalid value for "type", type cannot be nil.') + end + + if @id.nil? + invalid_properties.push('invalid value for "id", id cannot be nil.') + end + + if @label.nil? + invalid_properties.push('invalid value for "label", label cannot be nil.') + end + + if @score.nil? + invalid_properties.push('invalid value for "score", score cannot be nil.') + end + + if @status.nil? + invalid_properties.push('invalid value for "status", status cannot be nil.') + end + + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + warn '[DEPRECATED] the `valid?` method is obsolete' + return false if @type.nil? + type_validator = EnumAttributeValidator.new('String', ["SUB_RESULT"]) + return false unless type_validator.valid?(@type) + return false if @id.nil? + return false if @label.nil? + return false if @score.nil? + return false if @status.nil? + status_validator = EnumAttributeValidator.new('String', ["COMPLETED", "CANCELLED"]) + return false unless status_validator.valid?(@status) + true + end + + # Custom attribute writer method checking allowed values (enum). + # @param [Object] type Object to be assigned + def type=(type) + validator = EnumAttributeValidator.new('String', ["SUB_RESULT"]) + unless validator.valid?(type) + fail ArgumentError, "invalid value for \"type\", must be one of #{validator.allowable_values}." + end + @type = type + end + + # Custom attribute writer method with validation + # @param [Object] id Value to be assigned + def id=(id) + if id.nil? + fail ArgumentError, 'id cannot be nil' + end + + @id = id + end + + # Custom attribute writer method with validation + # @param [Object] label Value to be assigned + def label=(label) + if label.nil? + fail ArgumentError, 'label cannot be nil' + end + + @label = label + end + + # Custom attribute writer method with validation + # @param [Object] score Value to be assigned + def score=(score) + if score.nil? + fail ArgumentError, 'score cannot be nil' + end + + @score = score + end + + # Custom attribute writer method checking allowed values (enum). + # @param [Object] status Object to be assigned + def status=(status) + validator = EnumAttributeValidator.new('String', ["COMPLETED", "CANCELLED"]) + unless validator.valid?(status) + fail ArgumentError, "invalid value for \"status\", must be one of #{validator.allowable_values}." + end + @status = status + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + type == o.type && + id == o.id && + label == o.label && + score == o.score && + status == o.status + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [type, id, label, score, status].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + transformed_hash = {} + openapi_types.each_pair do |key, type| + if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = nil + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[attribute_map[key]].is_a?(Array) + transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) } + end + elsif !attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]]) + end + end + new(transformed_hash) + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + end + +end diff --git a/lib/kombo_client/models/put_assessment_orders_assessment_order_id_result_request_body_attributes_inner_any_of1_score.rb b/lib/kombo_client/models/put_assessment_orders_assessment_order_id_result_request_body_attributes_inner_any_of1_score.rb new file mode 100644 index 0000000..261e1e4 --- /dev/null +++ b/lib/kombo_client/models/put_assessment_orders_assessment_order_id_result_request_body_attributes_inner_any_of1_score.rb @@ -0,0 +1,208 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.17.0 + +=end + +require 'date' +require 'time' + +module Kombo + class PutAssessmentOrdersAssessmentOrderIdResultRequestBodyAttributesInnerAnyOf1Score < ApiModelBase + attr_accessor :value + + attr_accessor :max + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'value' => :'value', + :'max' => :'max' + } + end + + # Returns attribute mapping this model knows about + def self.acceptable_attribute_map + attribute_map + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + acceptable_attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'value' => :'Float', + :'max' => :'Float' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Kombo::PutAssessmentOrdersAssessmentOrderIdResultRequestBodyAttributesInnerAnyOf1Score` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + acceptable_attribute_map = self.class.acceptable_attribute_map + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!acceptable_attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Kombo::PutAssessmentOrdersAssessmentOrderIdResultRequestBodyAttributesInnerAnyOf1Score`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'value') + self.value = attributes[:'value'] + else + self.value = nil + end + + if attributes.key?(:'max') + self.max = attributes[:'max'] + else + self.max = nil + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + warn '[DEPRECATED] the `list_invalid_properties` method is obsolete' + invalid_properties = Array.new + if @value.nil? + invalid_properties.push('invalid value for "value", value cannot be nil.') + end + + if @value < -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + invalid_properties.push('invalid value for "value", must be greater than or equal to -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.') + end + + if @max.nil? + invalid_properties.push('invalid value for "max", max cannot be nil.') + end + + if @max < 1 + invalid_properties.push('invalid value for "max", must be greater than or equal to 1.') + end + + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + warn '[DEPRECATED] the `valid?` method is obsolete' + return false if @value.nil? + return false if @value < -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + return false if @max.nil? + return false if @max < 1 + true + end + + # Custom attribute writer method with validation + # @param [Object] value Value to be assigned + def value=(value) + if value.nil? + fail ArgumentError, 'value cannot be nil' + end + + if value < -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + fail ArgumentError, 'invalid value for "value", must be greater than or equal to -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.' + end + + @value = value + end + + # Custom attribute writer method with validation + # @param [Object] max Value to be assigned + def max=(max) + if max.nil? + fail ArgumentError, 'max cannot be nil' + end + + if max < 1 + fail ArgumentError, 'invalid value for "max", must be greater than or equal to 1.' + end + + @max = max + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + value == o.value && + max == o.max + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [value, max].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + transformed_hash = {} + openapi_types.each_pair do |key, type| + if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = nil + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[attribute_map[key]].is_a?(Array) + transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) } + end + elsif !attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]]) + end + end + new(transformed_hash) + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + end + +end diff --git a/lib/kombo_client/models/put_assessment_orders_assessment_order_id_result_request_body_remote_fields.rb b/lib/kombo_client/models/put_assessment_orders_assessment_order_id_result_request_body_remote_fields.rb new file mode 100644 index 0000000..ab14daf --- /dev/null +++ b/lib/kombo_client/models/put_assessment_orders_assessment_order_id_result_request_body_remote_fields.rb @@ -0,0 +1,148 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.17.0 + +=end + +require 'date' +require 'time' + +module Kombo + # Additional fields that we will pass through to specific ATS systems. + class PutAssessmentOrdersAssessmentOrderIdResultRequestBodyRemoteFields < ApiModelBase + attr_accessor :smartrecruiters + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'smartrecruiters' => :'smartrecruiters' + } + end + + # Returns attribute mapping this model knows about + def self.acceptable_attribute_map + attribute_map + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + acceptable_attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'smartrecruiters' => :'PutAssessmentOrdersAssessmentOrderIdResultRequestBodyRemoteFieldsSmartrecruiters' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Kombo::PutAssessmentOrdersAssessmentOrderIdResultRequestBodyRemoteFields` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + acceptable_attribute_map = self.class.acceptable_attribute_map + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!acceptable_attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Kombo::PutAssessmentOrdersAssessmentOrderIdResultRequestBodyRemoteFields`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'smartrecruiters') + self.smartrecruiters = attributes[:'smartrecruiters'] + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + warn '[DEPRECATED] the `list_invalid_properties` method is obsolete' + invalid_properties = Array.new + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + warn '[DEPRECATED] the `valid?` method is obsolete' + true + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + smartrecruiters == o.smartrecruiters + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [smartrecruiters].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + transformed_hash = {} + openapi_types.each_pair do |key, type| + if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = nil + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[attribute_map[key]].is_a?(Array) + transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) } + end + elsif !attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]]) + end + end + new(transformed_hash) + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + end + +end diff --git a/lib/kombo_client/models/put_assessment_orders_assessment_order_id_result_request_body_remote_fields_smartrecruiters.rb b/lib/kombo_client/models/put_assessment_orders_assessment_order_id_result_request_body_remote_fields_smartrecruiters.rb new file mode 100644 index 0000000..9fc1b86 --- /dev/null +++ b/lib/kombo_client/models/put_assessment_orders_assessment_order_id_result_request_body_remote_fields_smartrecruiters.rb @@ -0,0 +1,148 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.17.0 + +=end + +require 'date' +require 'time' + +module Kombo + class PutAssessmentOrdersAssessmentOrderIdResultRequestBodyRemoteFieldsSmartrecruiters < ApiModelBase + # Value that we will pass through to SmartRecruiters' `scoreLabel` field. + attr_accessor :score_label + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'score_label' => :'scoreLabel' + } + end + + # Returns attribute mapping this model knows about + def self.acceptable_attribute_map + attribute_map + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + acceptable_attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'score_label' => :'String' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Kombo::PutAssessmentOrdersAssessmentOrderIdResultRequestBodyRemoteFieldsSmartrecruiters` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + acceptable_attribute_map = self.class.acceptable_attribute_map + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!acceptable_attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Kombo::PutAssessmentOrdersAssessmentOrderIdResultRequestBodyRemoteFieldsSmartrecruiters`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'score_label') + self.score_label = attributes[:'score_label'] + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + warn '[DEPRECATED] the `list_invalid_properties` method is obsolete' + invalid_properties = Array.new + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + warn '[DEPRECATED] the `valid?` method is obsolete' + true + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + score_label == o.score_label + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [score_label].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + transformed_hash = {} + openapi_types.each_pair do |key, type| + if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = nil + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[attribute_map[key]].is_a?(Array) + transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) } + end + elsif !attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]]) + end + end + new(transformed_hash) + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + end + +end diff --git a/lib/kombo_client/models/put_assessment_packages_positive_response.rb b/lib/kombo_client/models/put_assessment_packages_positive_response.rb new file mode 100644 index 0000000..1da88a4 --- /dev/null +++ b/lib/kombo_client/models/put_assessment_packages_positive_response.rb @@ -0,0 +1,243 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.17.0 + +=end + +require 'date' +require 'time' + +module Kombo + class PutAssessmentPackagesPositiveResponse < ApiModelBase + attr_accessor :status + + attr_accessor :data + + # 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. + attr_accessor :warnings + + class EnumAttributeValidator + attr_reader :datatype + attr_reader :allowable_values + + def initialize(datatype, allowable_values) + @allowable_values = allowable_values.map do |value| + case datatype.to_s + when /Integer/i + value.to_i + when /Float/i + value.to_f + else + value + end + end + end + + def valid?(value) + !value || allowable_values.include?(value) + end + end + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'status' => :'status', + :'data' => :'data', + :'warnings' => :'warnings' + } + end + + # Returns attribute mapping this model knows about + def self.acceptable_attribute_map + attribute_map + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + acceptable_attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'status' => :'String', + :'data' => :'Object', + :'warnings' => :'Array' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Kombo::PutAssessmentPackagesPositiveResponse` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + acceptable_attribute_map = self.class.acceptable_attribute_map + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!acceptable_attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Kombo::PutAssessmentPackagesPositiveResponse`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'status') + self.status = attributes[:'status'] + else + self.status = nil + end + + if attributes.key?(:'data') + self.data = attributes[:'data'] + else + self.data = nil + end + + if attributes.key?(:'warnings') + if (value = attributes[:'warnings']).is_a?(Array) + self.warnings = value + end + else + self.warnings = nil + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + warn '[DEPRECATED] the `list_invalid_properties` method is obsolete' + invalid_properties = Array.new + if @status.nil? + invalid_properties.push('invalid value for "status", status cannot be nil.') + end + + if @data.nil? + invalid_properties.push('invalid value for "data", data cannot be nil.') + end + + if @warnings.nil? + invalid_properties.push('invalid value for "warnings", warnings cannot be nil.') + end + + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + warn '[DEPRECATED] the `valid?` method is obsolete' + return false if @status.nil? + status_validator = EnumAttributeValidator.new('String', ["success"]) + return false unless status_validator.valid?(@status) + return false if @data.nil? + return false if @warnings.nil? + true + end + + # Custom attribute writer method checking allowed values (enum). + # @param [Object] status Object to be assigned + def status=(status) + validator = EnumAttributeValidator.new('String', ["success"]) + unless validator.valid?(status) + fail ArgumentError, "invalid value for \"status\", must be one of #{validator.allowable_values}." + end + @status = status + end + + # Custom attribute writer method with validation + # @param [Object] data Value to be assigned + def data=(data) + if data.nil? + fail ArgumentError, 'data cannot be nil' + end + + @data = data + end + + # Custom attribute writer method with validation + # @param [Object] warnings Value to be assigned + def warnings=(warnings) + if warnings.nil? + fail ArgumentError, 'warnings cannot be nil' + end + + @warnings = warnings + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + status == o.status && + data == o.data && + warnings == o.warnings + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [status, data, warnings].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + transformed_hash = {} + openapi_types.each_pair do |key, type| + if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = nil + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[attribute_map[key]].is_a?(Array) + transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) } + end + elsif !attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]]) + end + end + new(transformed_hash) + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + end + +end diff --git a/lib/kombo_client/models/put_assessment_packages_request_body.rb b/lib/kombo_client/models/put_assessment_packages_request_body.rb new file mode 100644 index 0000000..39fbc68 --- /dev/null +++ b/lib/kombo_client/models/put_assessment_packages_request_body.rb @@ -0,0 +1,166 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.17.0 + +=end + +require 'date' +require 'time' + +module Kombo + class PutAssessmentPackagesRequestBody < ApiModelBase + attr_accessor :packages + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'packages' => :'packages' + } + end + + # Returns attribute mapping this model knows about + def self.acceptable_attribute_map + attribute_map + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + acceptable_attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'packages' => :'Array' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Kombo::PutAssessmentPackagesRequestBody` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + acceptable_attribute_map = self.class.acceptable_attribute_map + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!acceptable_attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Kombo::PutAssessmentPackagesRequestBody`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'packages') + if (value = attributes[:'packages']).is_a?(Array) + self.packages = value + end + else + self.packages = nil + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + warn '[DEPRECATED] the `list_invalid_properties` method is obsolete' + invalid_properties = Array.new + if @packages.nil? + invalid_properties.push('invalid value for "packages", packages cannot be nil.') + end + + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + warn '[DEPRECATED] the `valid?` method is obsolete' + return false if @packages.nil? + true + end + + # Custom attribute writer method with validation + # @param [Object] packages Value to be assigned + def packages=(packages) + if packages.nil? + fail ArgumentError, 'packages cannot be nil' + end + + @packages = packages + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + packages == o.packages + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [packages].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + transformed_hash = {} + openapi_types.each_pair do |key, type| + if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = nil + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[attribute_map[key]].is_a?(Array) + transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) } + end + elsif !attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]]) + end + end + new(transformed_hash) + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + end + +end diff --git a/lib/kombo_client/models/put_assessment_packages_request_body_packages_inner.rb b/lib/kombo_client/models/put_assessment_packages_request_body_packages_inner.rb new file mode 100644 index 0000000..f52c699 --- /dev/null +++ b/lib/kombo_client/models/put_assessment_packages_request_body_packages_inner.rb @@ -0,0 +1,269 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.17.0 + +=end + +require 'date' +require 'time' + +module Kombo + class PutAssessmentPackagesRequestBodyPackagesInner < ApiModelBase + # A unique identifier for the assessment package. + attr_accessor :id + + attr_accessor :type + + # The name of the assessment package. + attr_accessor :name + + # Description about the package. Some ATSs will display this in their UI. + attr_accessor :description + + class EnumAttributeValidator + attr_reader :datatype + attr_reader :allowable_values + + def initialize(datatype, allowable_values) + @allowable_values = allowable_values.map do |value| + case datatype.to_s + when /Integer/i + value.to_i + when /Float/i + value.to_f + else + value + end + end + end + + def valid?(value) + !value || allowable_values.include?(value) + end + end + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'id' => :'id', + :'type' => :'type', + :'name' => :'name', + :'description' => :'description' + } + end + + # Returns attribute mapping this model knows about + def self.acceptable_attribute_map + attribute_map + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + acceptable_attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'id' => :'String', + :'type' => :'String', + :'name' => :'String', + :'description' => :'String' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Kombo::PutAssessmentPackagesRequestBodyPackagesInner` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + acceptable_attribute_map = self.class.acceptable_attribute_map + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!acceptable_attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Kombo::PutAssessmentPackagesRequestBodyPackagesInner`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'id') + self.id = attributes[:'id'] + else + self.id = nil + end + + if attributes.key?(:'type') + self.type = attributes[:'type'] + else + self.type = nil + end + + if attributes.key?(:'name') + self.name = attributes[:'name'] + else + self.name = nil + end + + if attributes.key?(:'description') + self.description = attributes[:'description'] + else + self.description = nil + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + warn '[DEPRECATED] the `list_invalid_properties` method is obsolete' + invalid_properties = Array.new + if @id.nil? + invalid_properties.push('invalid value for "id", id cannot be nil.') + end + + if @type.nil? + invalid_properties.push('invalid value for "type", type cannot be nil.') + end + + if @name.nil? + invalid_properties.push('invalid value for "name", name cannot be nil.') + end + + if @description.nil? + invalid_properties.push('invalid value for "description", description cannot be nil.') + end + + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + warn '[DEPRECATED] the `valid?` method is obsolete' + return false if @id.nil? + return false if @type.nil? + type_validator = EnumAttributeValidator.new('String', ["BEHAVIORAL", "VIDEO_INTERVIEW", "SKILLS_TEST", "BACKGROUND_CHECK", "REFERENCE_CHECK"]) + return false unless type_validator.valid?(@type) + return false if @name.nil? + return false if @description.nil? + true + end + + # Custom attribute writer method with validation + # @param [Object] id Value to be assigned + def id=(id) + if id.nil? + fail ArgumentError, 'id cannot be nil' + end + + @id = id + end + + # Custom attribute writer method checking allowed values (enum). + # @param [Object] type Object to be assigned + def type=(type) + validator = EnumAttributeValidator.new('String', ["BEHAVIORAL", "VIDEO_INTERVIEW", "SKILLS_TEST", "BACKGROUND_CHECK", "REFERENCE_CHECK"]) + unless validator.valid?(type) + fail ArgumentError, "invalid value for \"type\", must be one of #{validator.allowable_values}." + end + @type = type + end + + # Custom attribute writer method with validation + # @param [Object] name Value to be assigned + def name=(name) + if name.nil? + fail ArgumentError, 'name cannot be nil' + end + + @name = name + end + + # Custom attribute writer method with validation + # @param [Object] description Value to be assigned + def description=(description) + if description.nil? + fail ArgumentError, 'description cannot be nil' + end + + @description = description + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + id == o.id && + type == o.type && + name == o.name && + description == o.description + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [id, type, name, description].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + transformed_hash = {} + openapi_types.each_pair do |key, type| + if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = nil + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[attribute_map[key]].is_a?(Array) + transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) } + end + elsif !attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]]) + end + end + new(transformed_hash) + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + end + +end diff --git a/lib/kombo_client/models/put_ats_applications_application_id_stage_positive_response.rb b/lib/kombo_client/models/put_ats_applications_application_id_stage_positive_response.rb new file mode 100644 index 0000000..1ad1fc6 --- /dev/null +++ b/lib/kombo_client/models/put_ats_applications_application_id_stage_positive_response.rb @@ -0,0 +1,243 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.17.0 + +=end + +require 'date' +require 'time' + +module Kombo + class PutAtsApplicationsApplicationIdStagePositiveResponse < ApiModelBase + attr_accessor :status + + attr_accessor :data + + # 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. + attr_accessor :warnings + + class EnumAttributeValidator + attr_reader :datatype + attr_reader :allowable_values + + def initialize(datatype, allowable_values) + @allowable_values = allowable_values.map do |value| + case datatype.to_s + when /Integer/i + value.to_i + when /Float/i + value.to_f + else + value + end + end + end + + def valid?(value) + !value || allowable_values.include?(value) + end + end + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'status' => :'status', + :'data' => :'data', + :'warnings' => :'warnings' + } + end + + # Returns attribute mapping this model knows about + def self.acceptable_attribute_map + attribute_map + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + acceptable_attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'status' => :'String', + :'data' => :'Object', + :'warnings' => :'Array' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Kombo::PutAtsApplicationsApplicationIdStagePositiveResponse` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + acceptable_attribute_map = self.class.acceptable_attribute_map + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!acceptable_attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Kombo::PutAtsApplicationsApplicationIdStagePositiveResponse`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'status') + self.status = attributes[:'status'] + else + self.status = nil + end + + if attributes.key?(:'data') + self.data = attributes[:'data'] + else + self.data = nil + end + + if attributes.key?(:'warnings') + if (value = attributes[:'warnings']).is_a?(Array) + self.warnings = value + end + else + self.warnings = nil + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + warn '[DEPRECATED] the `list_invalid_properties` method is obsolete' + invalid_properties = Array.new + if @status.nil? + invalid_properties.push('invalid value for "status", status cannot be nil.') + end + + if @data.nil? + invalid_properties.push('invalid value for "data", data cannot be nil.') + end + + if @warnings.nil? + invalid_properties.push('invalid value for "warnings", warnings cannot be nil.') + end + + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + warn '[DEPRECATED] the `valid?` method is obsolete' + return false if @status.nil? + status_validator = EnumAttributeValidator.new('String', ["success"]) + return false unless status_validator.valid?(@status) + return false if @data.nil? + return false if @warnings.nil? + true + end + + # Custom attribute writer method checking allowed values (enum). + # @param [Object] status Object to be assigned + def status=(status) + validator = EnumAttributeValidator.new('String', ["success"]) + unless validator.valid?(status) + fail ArgumentError, "invalid value for \"status\", must be one of #{validator.allowable_values}." + end + @status = status + end + + # Custom attribute writer method with validation + # @param [Object] data Value to be assigned + def data=(data) + if data.nil? + fail ArgumentError, 'data cannot be nil' + end + + @data = data + end + + # Custom attribute writer method with validation + # @param [Object] warnings Value to be assigned + def warnings=(warnings) + if warnings.nil? + fail ArgumentError, 'warnings cannot be nil' + end + + @warnings = warnings + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + status == o.status && + data == o.data && + warnings == o.warnings + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [status, data, warnings].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + transformed_hash = {} + openapi_types.each_pair do |key, type| + if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = nil + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[attribute_map[key]].is_a?(Array) + transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) } + end + elsif !attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]]) + end + end + new(transformed_hash) + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + end + +end diff --git a/lib/kombo_client/models/put_ats_applications_application_id_stage_request_body.rb b/lib/kombo_client/models/put_ats_applications_application_id_stage_request_body.rb new file mode 100644 index 0000000..dc59e00 --- /dev/null +++ b/lib/kombo_client/models/put_ats_applications_application_id_stage_request_body.rb @@ -0,0 +1,174 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.17.0 + +=end + +require 'date' +require 'time' + +module Kombo + class PutAtsApplicationsApplicationIdStageRequestBody < ApiModelBase + # 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. + attr_accessor :stage_id + + attr_accessor :remote_fields + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'stage_id' => :'stage_id', + :'remote_fields' => :'remote_fields' + } + end + + # Returns attribute mapping this model knows about + def self.acceptable_attribute_map + attribute_map + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + acceptable_attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'stage_id' => :'String', + :'remote_fields' => :'PutAtsApplicationsApplicationIdStageRequestBodyRemoteFields' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Kombo::PutAtsApplicationsApplicationIdStageRequestBody` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + acceptable_attribute_map = self.class.acceptable_attribute_map + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!acceptable_attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Kombo::PutAtsApplicationsApplicationIdStageRequestBody`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'stage_id') + self.stage_id = attributes[:'stage_id'] + else + self.stage_id = nil + end + + if attributes.key?(:'remote_fields') + self.remote_fields = attributes[:'remote_fields'] + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + warn '[DEPRECATED] the `list_invalid_properties` method is obsolete' + invalid_properties = Array.new + if @stage_id.nil? + invalid_properties.push('invalid value for "stage_id", stage_id cannot be nil.') + end + + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + warn '[DEPRECATED] the `valid?` method is obsolete' + return false if @stage_id.nil? + true + end + + # Custom attribute writer method with validation + # @param [Object] stage_id Value to be assigned + def stage_id=(stage_id) + if stage_id.nil? + fail ArgumentError, 'stage_id cannot be nil' + end + + @stage_id = stage_id + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + stage_id == o.stage_id && + remote_fields == o.remote_fields + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [stage_id, remote_fields].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + transformed_hash = {} + openapi_types.each_pair do |key, type| + if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = nil + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[attribute_map[key]].is_a?(Array) + transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) } + end + elsif !attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]]) + end + end + new(transformed_hash) + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + end + +end diff --git a/lib/kombo_client/models/put_ats_applications_application_id_stage_request_body_remote_fields.rb b/lib/kombo_client/models/put_ats_applications_application_id_stage_request_body_remote_fields.rb new file mode 100644 index 0000000..97b45d0 --- /dev/null +++ b/lib/kombo_client/models/put_ats_applications_application_id_stage_request_body_remote_fields.rb @@ -0,0 +1,157 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.17.0 + +=end + +require 'date' +require 'time' + +module Kombo + # Additional fields that we will pass through to specific ATS systems. + class PutAtsApplicationsApplicationIdStageRequestBodyRemoteFields < ApiModelBase + attr_accessor :greenhouse + + attr_accessor :workable + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'greenhouse' => :'greenhouse', + :'workable' => :'workable' + } + end + + # Returns attribute mapping this model knows about + def self.acceptable_attribute_map + attribute_map + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + acceptable_attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'greenhouse' => :'PutAtsApplicationsApplicationIdStageRequestBodyRemoteFieldsGreenhouse', + :'workable' => :'PutAtsApplicationsApplicationIdStageRequestBodyRemoteFieldsWorkable' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Kombo::PutAtsApplicationsApplicationIdStageRequestBodyRemoteFields` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + acceptable_attribute_map = self.class.acceptable_attribute_map + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!acceptable_attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Kombo::PutAtsApplicationsApplicationIdStageRequestBodyRemoteFields`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'greenhouse') + self.greenhouse = attributes[:'greenhouse'] + end + + if attributes.key?(:'workable') + self.workable = attributes[:'workable'] + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + warn '[DEPRECATED] the `list_invalid_properties` method is obsolete' + invalid_properties = Array.new + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + warn '[DEPRECATED] the `valid?` method is obsolete' + true + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + greenhouse == o.greenhouse && + workable == o.workable + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [greenhouse, workable].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + transformed_hash = {} + openapi_types.each_pair do |key, type| + if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = nil + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[attribute_map[key]].is_a?(Array) + transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) } + end + elsif !attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]]) + end + end + new(transformed_hash) + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + end + +end diff --git a/lib/kombo_client/models/put_ats_applications_application_id_stage_request_body_remote_fields_greenhouse.rb b/lib/kombo_client/models/put_ats_applications_application_id_stage_request_body_remote_fields_greenhouse.rb new file mode 100644 index 0000000..5ecdb27 --- /dev/null +++ b/lib/kombo_client/models/put_ats_applications_application_id_stage_request_body_remote_fields_greenhouse.rb @@ -0,0 +1,148 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.17.0 + +=end + +require 'date' +require 'time' + +module Kombo + # Fields specific to Greenhouse. + class PutAtsApplicationsApplicationIdStageRequestBodyRemoteFieldsGreenhouse < ApiModelBase + attr_accessor :post_headers + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'post_headers' => :'post_headers' + } + end + + # Returns attribute mapping this model knows about + def self.acceptable_attribute_map + attribute_map + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + acceptable_attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'post_headers' => :'PutAtsApplicationsApplicationIdStageRequestBodyRemoteFieldsGreenhousePostHeaders' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Kombo::PutAtsApplicationsApplicationIdStageRequestBodyRemoteFieldsGreenhouse` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + acceptable_attribute_map = self.class.acceptable_attribute_map + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!acceptable_attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Kombo::PutAtsApplicationsApplicationIdStageRequestBodyRemoteFieldsGreenhouse`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'post_headers') + self.post_headers = attributes[:'post_headers'] + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + warn '[DEPRECATED] the `list_invalid_properties` method is obsolete' + invalid_properties = Array.new + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + warn '[DEPRECATED] the `valid?` method is obsolete' + true + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + post_headers == o.post_headers + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [post_headers].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + transformed_hash = {} + openapi_types.each_pair do |key, type| + if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = nil + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[attribute_map[key]].is_a?(Array) + transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) } + end + elsif !attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]]) + end + end + new(transformed_hash) + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + end + +end diff --git a/lib/kombo_client/models/put_ats_applications_application_id_stage_request_body_remote_fields_greenhouse_post_headers.rb b/lib/kombo_client/models/put_ats_applications_application_id_stage_request_body_remote_fields_greenhouse_post_headers.rb new file mode 100644 index 0000000..3d19de3 --- /dev/null +++ b/lib/kombo_client/models/put_ats_applications_application_id_stage_request_body_remote_fields_greenhouse_post_headers.rb @@ -0,0 +1,150 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.17.0 + +=end + +require 'date' +require 'time' + +module Kombo + # Headers we will pass with `POST` requests to Greenhouse. + class PutAtsApplicationsApplicationIdStageRequestBodyRemoteFieldsGreenhousePostHeaders < ApiModelBase + # 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. + attr_accessor :on_behalf_of + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'on_behalf_of' => :'On-Behalf-Of' + } + end + + # Returns attribute mapping this model knows about + def self.acceptable_attribute_map + attribute_map + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + acceptable_attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'on_behalf_of' => :'String' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + :'on_behalf_of' + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Kombo::PutAtsApplicationsApplicationIdStageRequestBodyRemoteFieldsGreenhousePostHeaders` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + acceptable_attribute_map = self.class.acceptable_attribute_map + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!acceptable_attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Kombo::PutAtsApplicationsApplicationIdStageRequestBodyRemoteFieldsGreenhousePostHeaders`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'on_behalf_of') + self.on_behalf_of = attributes[:'on_behalf_of'] + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + warn '[DEPRECATED] the `list_invalid_properties` method is obsolete' + invalid_properties = Array.new + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + warn '[DEPRECATED] the `valid?` method is obsolete' + true + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + on_behalf_of == o.on_behalf_of + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [on_behalf_of].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + transformed_hash = {} + openapi_types.each_pair do |key, type| + if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = nil + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[attribute_map[key]].is_a?(Array) + transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) } + end + elsif !attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]]) + end + end + new(transformed_hash) + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + end + +end diff --git a/lib/kombo_client/models/put_ats_applications_application_id_stage_request_body_remote_fields_workable.rb b/lib/kombo_client/models/put_ats_applications_application_id_stage_request_body_remote_fields_workable.rb new file mode 100644 index 0000000..c34a449 --- /dev/null +++ b/lib/kombo_client/models/put_ats_applications_application_id_stage_request_body_remote_fields_workable.rb @@ -0,0 +1,149 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.17.0 + +=end + +require 'date' +require 'time' + +module Kombo + # Workable specific remote fields for ATS actions. + class PutAtsApplicationsApplicationIdStageRequestBodyRemoteFieldsWorkable < ApiModelBase + # The remote ID of the user that will be displayed in the UI as the one that performed the action. + attr_accessor :on_behalf_of_user_remote_id + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'on_behalf_of_user_remote_id' => :'on_behalf_of_user_remote_id' + } + end + + # Returns attribute mapping this model knows about + def self.acceptable_attribute_map + attribute_map + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + acceptable_attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'on_behalf_of_user_remote_id' => :'String' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Kombo::PutAtsApplicationsApplicationIdStageRequestBodyRemoteFieldsWorkable` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + acceptable_attribute_map = self.class.acceptable_attribute_map + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!acceptable_attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Kombo::PutAtsApplicationsApplicationIdStageRequestBodyRemoteFieldsWorkable`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'on_behalf_of_user_remote_id') + self.on_behalf_of_user_remote_id = attributes[:'on_behalf_of_user_remote_id'] + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + warn '[DEPRECATED] the `list_invalid_properties` method is obsolete' + invalid_properties = Array.new + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + warn '[DEPRECATED] the `valid?` method is obsolete' + true + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + on_behalf_of_user_remote_id == o.on_behalf_of_user_remote_id + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [on_behalf_of_user_remote_id].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + transformed_hash = {} + openapi_types.each_pair do |key, type| + if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = nil + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[attribute_map[key]].is_a?(Array) + transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) } + end + elsif !attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]]) + end + end + new(transformed_hash) + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + end + +end diff --git a/lib/kombo_client/models/put_custom_datev_employees_employee_id_compensations_positive_response.rb b/lib/kombo_client/models/put_custom_datev_employees_employee_id_compensations_positive_response.rb new file mode 100644 index 0000000..716d55f --- /dev/null +++ b/lib/kombo_client/models/put_custom_datev_employees_employee_id_compensations_positive_response.rb @@ -0,0 +1,243 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.17.0 + +=end + +require 'date' +require 'time' + +module Kombo + class PutCustomDatevEmployeesEmployeeIdCompensationsPositiveResponse < ApiModelBase + attr_accessor :status + + attr_accessor :data + + # 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. + attr_accessor :warnings + + class EnumAttributeValidator + attr_reader :datatype + attr_reader :allowable_values + + def initialize(datatype, allowable_values) + @allowable_values = allowable_values.map do |value| + case datatype.to_s + when /Integer/i + value.to_i + when /Float/i + value.to_f + else + value + end + end + end + + def valid?(value) + !value || allowable_values.include?(value) + end + end + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'status' => :'status', + :'data' => :'data', + :'warnings' => :'warnings' + } + end + + # Returns attribute mapping this model knows about + def self.acceptable_attribute_map + attribute_map + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + acceptable_attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'status' => :'String', + :'data' => :'Object', + :'warnings' => :'Array' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Kombo::PutCustomDatevEmployeesEmployeeIdCompensationsPositiveResponse` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + acceptable_attribute_map = self.class.acceptable_attribute_map + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!acceptable_attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Kombo::PutCustomDatevEmployeesEmployeeIdCompensationsPositiveResponse`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'status') + self.status = attributes[:'status'] + else + self.status = nil + end + + if attributes.key?(:'data') + self.data = attributes[:'data'] + else + self.data = nil + end + + if attributes.key?(:'warnings') + if (value = attributes[:'warnings']).is_a?(Array) + self.warnings = value + end + else + self.warnings = nil + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + warn '[DEPRECATED] the `list_invalid_properties` method is obsolete' + invalid_properties = Array.new + if @status.nil? + invalid_properties.push('invalid value for "status", status cannot be nil.') + end + + if @data.nil? + invalid_properties.push('invalid value for "data", data cannot be nil.') + end + + if @warnings.nil? + invalid_properties.push('invalid value for "warnings", warnings cannot be nil.') + end + + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + warn '[DEPRECATED] the `valid?` method is obsolete' + return false if @status.nil? + status_validator = EnumAttributeValidator.new('String', ["success"]) + return false unless status_validator.valid?(@status) + return false if @data.nil? + return false if @warnings.nil? + true + end + + # Custom attribute writer method checking allowed values (enum). + # @param [Object] status Object to be assigned + def status=(status) + validator = EnumAttributeValidator.new('String', ["success"]) + unless validator.valid?(status) + fail ArgumentError, "invalid value for \"status\", must be one of #{validator.allowable_values}." + end + @status = status + end + + # Custom attribute writer method with validation + # @param [Object] data Value to be assigned + def data=(data) + if data.nil? + fail ArgumentError, 'data cannot be nil' + end + + @data = data + end + + # Custom attribute writer method with validation + # @param [Object] warnings Value to be assigned + def warnings=(warnings) + if warnings.nil? + fail ArgumentError, 'warnings cannot be nil' + end + + @warnings = warnings + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + status == o.status && + data == o.data && + warnings == o.warnings + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [status, data, warnings].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + transformed_hash = {} + openapi_types.each_pair do |key, type| + if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = nil + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[attribute_map[key]].is_a?(Array) + transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) } + end + elsif !attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]]) + end + end + new(transformed_hash) + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + end + +end diff --git a/lib/kombo_client/models/put_custom_datev_employees_employee_id_compensations_request_body.rb b/lib/kombo_client/models/put_custom_datev_employees_employee_id_compensations_request_body.rb new file mode 100644 index 0000000..eb9a073 --- /dev/null +++ b/lib/kombo_client/models/put_custom_datev_employees_employee_id_compensations_request_body.rb @@ -0,0 +1,204 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.17.0 + +=end + +require 'date' +require 'time' + +module Kombo + class PutCustomDatevEmployeesEmployeeIdCompensationsRequestBody < ApiModelBase + # 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. + attr_accessor :effective_date + + attr_accessor :compensations + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'effective_date' => :'effective_date', + :'compensations' => :'compensations' + } + end + + # Returns attribute mapping this model knows about + def self.acceptable_attribute_map + attribute_map + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + acceptable_attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'effective_date' => :'Time', + :'compensations' => :'Array' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Kombo::PutCustomDatevEmployeesEmployeeIdCompensationsRequestBody` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + acceptable_attribute_map = self.class.acceptable_attribute_map + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!acceptable_attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Kombo::PutCustomDatevEmployeesEmployeeIdCompensationsRequestBody`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'effective_date') + self.effective_date = attributes[:'effective_date'] + else + self.effective_date = nil + end + + if attributes.key?(:'compensations') + if (value = attributes[:'compensations']).is_a?(Array) + self.compensations = value + end + else + self.compensations = nil + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + warn '[DEPRECATED] the `list_invalid_properties` method is obsolete' + invalid_properties = Array.new + if @effective_date.nil? + invalid_properties.push('invalid value for "effective_date", effective_date cannot be nil.') + end + + pattern = Regexp.new(/^\d{4}-\d{2}-\d{2}(T\d{2}:\d{2}:\d{2}(\.\d+)?)?Z?$/) + if @effective_date !~ pattern + invalid_properties.push("invalid value for \"effective_date\", must conform to the pattern #{pattern}.") + end + + if @compensations.nil? + invalid_properties.push('invalid value for "compensations", compensations cannot be nil.') + end + + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + warn '[DEPRECATED] the `valid?` method is obsolete' + return false if @effective_date.nil? + return false if @effective_date !~ Regexp.new(/^\d{4}-\d{2}-\d{2}(T\d{2}:\d{2}:\d{2}(\.\d+)?)?Z?$/) + return false if @compensations.nil? + true + end + + # Custom attribute writer method with validation + # @param [Object] effective_date Value to be assigned + def effective_date=(effective_date) + if effective_date.nil? + fail ArgumentError, 'effective_date cannot be nil' + end + + pattern = Regexp.new(/^\d{4}-\d{2}-\d{2}(T\d{2}:\d{2}:\d{2}(\.\d+)?)?Z?$/) + if effective_date !~ pattern + fail ArgumentError, "invalid value for \"effective_date\", must conform to the pattern #{pattern}." + end + + @effective_date = effective_date + end + + # Custom attribute writer method with validation + # @param [Object] compensations Value to be assigned + def compensations=(compensations) + if compensations.nil? + fail ArgumentError, 'compensations cannot be nil' + end + + @compensations = compensations + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + effective_date == o.effective_date && + compensations == o.compensations + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [effective_date, compensations].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + transformed_hash = {} + openapi_types.each_pair do |key, type| + if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = nil + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[attribute_map[key]].is_a?(Array) + transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) } + end + elsif !attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]]) + end + end + new(transformed_hash) + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + end + +end diff --git a/lib/kombo_client/models/put_custom_datev_employees_employee_id_compensations_request_body_compensations_inner.rb b/lib/kombo_client/models/put_custom_datev_employees_employee_id_compensations_request_body_compensations_inner.rb new file mode 100644 index 0000000..542a83c --- /dev/null +++ b/lib/kombo_client/models/put_custom_datev_employees_employee_id_compensations_request_body_compensations_inner.rb @@ -0,0 +1,292 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.17.0 + +=end + +require 'date' +require 'time' + +module Kombo + class PutCustomDatevEmployeesEmployeeIdCompensationsRequestBodyCompensationsInner < ApiModelBase + # The amount that this employee will be paid. + attr_accessor :amount + + # The currency in which the employee gets paid. Currently, only euro is supported as integrated systems only work with Euro. + attr_accessor :currency + + # The period for which the specified amount is paid. Currently, integrated systems only support \"HOUR\" and \"MONTH\". + attr_accessor :period + + # 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. + attr_accessor :lohnart + + class EnumAttributeValidator + attr_reader :datatype + attr_reader :allowable_values + + def initialize(datatype, allowable_values) + @allowable_values = allowable_values.map do |value| + case datatype.to_s + when /Integer/i + value.to_i + when /Float/i + value.to_f + else + value + end + end + end + + def valid?(value) + !value || allowable_values.include?(value) + end + end + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'amount' => :'amount', + :'currency' => :'currency', + :'period' => :'period', + :'lohnart' => :'lohnart' + } + end + + # Returns attribute mapping this model knows about + def self.acceptable_attribute_map + attribute_map + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + acceptable_attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'amount' => :'Float', + :'currency' => :'String', + :'period' => :'String', + :'lohnart' => :'Integer' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Kombo::PutCustomDatevEmployeesEmployeeIdCompensationsRequestBodyCompensationsInner` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + acceptable_attribute_map = self.class.acceptable_attribute_map + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!acceptable_attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Kombo::PutCustomDatevEmployeesEmployeeIdCompensationsRequestBodyCompensationsInner`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'amount') + self.amount = attributes[:'amount'] + else + self.amount = nil + end + + if attributes.key?(:'currency') + self.currency = attributes[:'currency'] + else + self.currency = nil + end + + if attributes.key?(:'period') + self.period = attributes[:'period'] + else + self.period = nil + end + + if attributes.key?(:'lohnart') + self.lohnart = attributes[:'lohnart'] + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + warn '[DEPRECATED] the `list_invalid_properties` method is obsolete' + invalid_properties = Array.new + if @amount.nil? + invalid_properties.push('invalid value for "amount", amount cannot be nil.') + end + + if @amount < -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + invalid_properties.push('invalid value for "amount", must be greater than or equal to -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.') + end + + if @currency.nil? + invalid_properties.push('invalid value for "currency", currency cannot be nil.') + end + + if @period.nil? + invalid_properties.push('invalid value for "period", period cannot be nil.') + end + + if !@lohnart.nil? && @lohnart > 9999 + invalid_properties.push('invalid value for "lohnart", must be smaller than or equal to 9999.') + end + + if !@lohnart.nil? && @lohnart < 1 + invalid_properties.push('invalid value for "lohnart", must be greater than or equal to 1.') + end + + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + warn '[DEPRECATED] the `valid?` method is obsolete' + return false if @amount.nil? + return false if @amount < -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + return false if @currency.nil? + currency_validator = EnumAttributeValidator.new('String', ["EUR"]) + return false unless currency_validator.valid?(@currency) + return false if @period.nil? + period_validator = EnumAttributeValidator.new('String', ["HOUR", "MONTH"]) + return false unless period_validator.valid?(@period) + return false if !@lohnart.nil? && @lohnart > 9999 + return false if !@lohnart.nil? && @lohnart < 1 + true + end + + # Custom attribute writer method with validation + # @param [Object] amount Value to be assigned + def amount=(amount) + if amount.nil? + fail ArgumentError, 'amount cannot be nil' + end + + if amount < -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + fail ArgumentError, 'invalid value for "amount", must be greater than or equal to -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.' + end + + @amount = amount + end + + # Custom attribute writer method checking allowed values (enum). + # @param [Object] currency Object to be assigned + def currency=(currency) + validator = EnumAttributeValidator.new('String', ["EUR"]) + unless validator.valid?(currency) + fail ArgumentError, "invalid value for \"currency\", must be one of #{validator.allowable_values}." + end + @currency = currency + end + + # Custom attribute writer method checking allowed values (enum). + # @param [Object] period Object to be assigned + def period=(period) + validator = EnumAttributeValidator.new('String', ["HOUR", "MONTH"]) + unless validator.valid?(period) + fail ArgumentError, "invalid value for \"period\", must be one of #{validator.allowable_values}." + end + @period = period + end + + # Custom attribute writer method with validation + # @param [Object] lohnart Value to be assigned + def lohnart=(lohnart) + if lohnart.nil? + fail ArgumentError, 'lohnart cannot be nil' + end + + if lohnart > 9999 + fail ArgumentError, 'invalid value for "lohnart", must be smaller than or equal to 9999.' + end + + if lohnart < 1 + fail ArgumentError, 'invalid value for "lohnart", must be greater than or equal to 1.' + end + + @lohnart = lohnart + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + amount == o.amount && + currency == o.currency && + period == o.period && + lohnart == o.lohnart + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [amount, currency, period, lohnart].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + transformed_hash = {} + openapi_types.each_pair do |key, type| + if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = nil + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[attribute_map[key]].is_a?(Array) + transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) } + end + elsif !attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]]) + end + end + new(transformed_hash) + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + end + +end diff --git a/lib/kombo_client/models/put_custom_datev_employees_employee_id_prepare_payroll_positive_response.rb b/lib/kombo_client/models/put_custom_datev_employees_employee_id_prepare_payroll_positive_response.rb new file mode 100644 index 0000000..b6133f1 --- /dev/null +++ b/lib/kombo_client/models/put_custom_datev_employees_employee_id_prepare_payroll_positive_response.rb @@ -0,0 +1,243 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.17.0 + +=end + +require 'date' +require 'time' + +module Kombo + class PutCustomDatevEmployeesEmployeeIdPreparePayrollPositiveResponse < ApiModelBase + attr_accessor :status + + attr_accessor :data + + # 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. + attr_accessor :warnings + + class EnumAttributeValidator + attr_reader :datatype + attr_reader :allowable_values + + def initialize(datatype, allowable_values) + @allowable_values = allowable_values.map do |value| + case datatype.to_s + when /Integer/i + value.to_i + when /Float/i + value.to_f + else + value + end + end + end + + def valid?(value) + !value || allowable_values.include?(value) + end + end + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'status' => :'status', + :'data' => :'data', + :'warnings' => :'warnings' + } + end + + # Returns attribute mapping this model knows about + def self.acceptable_attribute_map + attribute_map + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + acceptable_attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'status' => :'String', + :'data' => :'Object', + :'warnings' => :'Array' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Kombo::PutCustomDatevEmployeesEmployeeIdPreparePayrollPositiveResponse` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + acceptable_attribute_map = self.class.acceptable_attribute_map + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!acceptable_attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Kombo::PutCustomDatevEmployeesEmployeeIdPreparePayrollPositiveResponse`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'status') + self.status = attributes[:'status'] + else + self.status = nil + end + + if attributes.key?(:'data') + self.data = attributes[:'data'] + else + self.data = nil + end + + if attributes.key?(:'warnings') + if (value = attributes[:'warnings']).is_a?(Array) + self.warnings = value + end + else + self.warnings = nil + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + warn '[DEPRECATED] the `list_invalid_properties` method is obsolete' + invalid_properties = Array.new + if @status.nil? + invalid_properties.push('invalid value for "status", status cannot be nil.') + end + + if @data.nil? + invalid_properties.push('invalid value for "data", data cannot be nil.') + end + + if @warnings.nil? + invalid_properties.push('invalid value for "warnings", warnings cannot be nil.') + end + + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + warn '[DEPRECATED] the `valid?` method is obsolete' + return false if @status.nil? + status_validator = EnumAttributeValidator.new('String', ["success"]) + return false unless status_validator.valid?(@status) + return false if @data.nil? + return false if @warnings.nil? + true + end + + # Custom attribute writer method checking allowed values (enum). + # @param [Object] status Object to be assigned + def status=(status) + validator = EnumAttributeValidator.new('String', ["success"]) + unless validator.valid?(status) + fail ArgumentError, "invalid value for \"status\", must be one of #{validator.allowable_values}." + end + @status = status + end + + # Custom attribute writer method with validation + # @param [Object] data Value to be assigned + def data=(data) + if data.nil? + fail ArgumentError, 'data cannot be nil' + end + + @data = data + end + + # Custom attribute writer method with validation + # @param [Object] warnings Value to be assigned + def warnings=(warnings) + if warnings.nil? + fail ArgumentError, 'warnings cannot be nil' + end + + @warnings = warnings + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + status == o.status && + data == o.data && + warnings == o.warnings + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [status, data, warnings].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + transformed_hash = {} + openapi_types.each_pair do |key, type| + if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = nil + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[attribute_map[key]].is_a?(Array) + transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) } + end + elsif !attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]]) + end + end + new(transformed_hash) + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + end + +end diff --git a/lib/kombo_client/models/put_custom_datev_employees_employee_id_prepare_payroll_request_body.rb b/lib/kombo_client/models/put_custom_datev_employees_employee_id_prepare_payroll_request_body.rb new file mode 100644 index 0000000..95df788 --- /dev/null +++ b/lib/kombo_client/models/put_custom_datev_employees_employee_id_prepare_payroll_request_body.rb @@ -0,0 +1,234 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.17.0 + +=end + +require 'date' +require 'time' + +module Kombo + class PutCustomDatevEmployeesEmployeeIdPreparePayrollRequestBody < ApiModelBase + attr_accessor :payroll_run + + # 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. + attr_accessor :hourly_payments + + # 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. + attr_accessor :fixed_payments + + # Add custom entries to the DATEV Lodas Standard Erfassungstabelle. + attr_accessor :custom_lodas + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'payroll_run' => :'payroll_run', + :'hourly_payments' => :'hourly_payments', + :'fixed_payments' => :'fixed_payments', + :'custom_lodas' => :'custom_lodas' + } + end + + # Returns attribute mapping this model knows about + def self.acceptable_attribute_map + attribute_map + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + acceptable_attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'payroll_run' => :'PutCustomDatevEmployeesEmployeeIdPreparePayrollRequestBodyPayrollRun', + :'hourly_payments' => :'Array', + :'fixed_payments' => :'Array', + :'custom_lodas' => :'Array' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Kombo::PutCustomDatevEmployeesEmployeeIdPreparePayrollRequestBody` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + acceptable_attribute_map = self.class.acceptable_attribute_map + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!acceptable_attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Kombo::PutCustomDatevEmployeesEmployeeIdPreparePayrollRequestBody`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'payroll_run') + self.payroll_run = attributes[:'payroll_run'] + else + self.payroll_run = nil + end + + if attributes.key?(:'hourly_payments') + if (value = attributes[:'hourly_payments']).is_a?(Array) + self.hourly_payments = value + end + else + self.hourly_payments = nil + end + + if attributes.key?(:'fixed_payments') + if (value = attributes[:'fixed_payments']).is_a?(Array) + self.fixed_payments = value + end + else + self.fixed_payments = nil + end + + if attributes.key?(:'custom_lodas') + if (value = attributes[:'custom_lodas']).is_a?(Array) + self.custom_lodas = value + end + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + warn '[DEPRECATED] the `list_invalid_properties` method is obsolete' + invalid_properties = Array.new + if @payroll_run.nil? + invalid_properties.push('invalid value for "payroll_run", payroll_run cannot be nil.') + end + + if @hourly_payments.nil? + invalid_properties.push('invalid value for "hourly_payments", hourly_payments cannot be nil.') + end + + if @fixed_payments.nil? + invalid_properties.push('invalid value for "fixed_payments", fixed_payments cannot be nil.') + end + + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + warn '[DEPRECATED] the `valid?` method is obsolete' + return false if @payroll_run.nil? + return false if @hourly_payments.nil? + return false if @fixed_payments.nil? + true + end + + # Custom attribute writer method with validation + # @param [Object] payroll_run Value to be assigned + def payroll_run=(payroll_run) + if payroll_run.nil? + fail ArgumentError, 'payroll_run cannot be nil' + end + + @payroll_run = payroll_run + end + + # Custom attribute writer method with validation + # @param [Object] hourly_payments Value to be assigned + def hourly_payments=(hourly_payments) + if hourly_payments.nil? + fail ArgumentError, 'hourly_payments cannot be nil' + end + + @hourly_payments = hourly_payments + end + + # Custom attribute writer method with validation + # @param [Object] fixed_payments Value to be assigned + def fixed_payments=(fixed_payments) + if fixed_payments.nil? + fail ArgumentError, 'fixed_payments cannot be nil' + end + + @fixed_payments = fixed_payments + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + payroll_run == o.payroll_run && + hourly_payments == o.hourly_payments && + fixed_payments == o.fixed_payments && + custom_lodas == o.custom_lodas + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [payroll_run, hourly_payments, fixed_payments, custom_lodas].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + transformed_hash = {} + openapi_types.each_pair do |key, type| + if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = nil + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[attribute_map[key]].is_a?(Array) + transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) } + end + elsif !attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]]) + end + end + new(transformed_hash) + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + end + +end diff --git a/lib/kombo_client/models/put_custom_datev_employees_employee_id_prepare_payroll_request_body_custom_lodas_inner.rb b/lib/kombo_client/models/put_custom_datev_employees_employee_id_prepare_payroll_request_body_custom_lodas_inner.rb new file mode 100644 index 0000000..931b13a --- /dev/null +++ b/lib/kombo_client/models/put_custom_datev_employees_employee_id_prepare_payroll_request_body_custom_lodas_inner.rb @@ -0,0 +1,246 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.17.0 + +=end + +require 'date' +require 'time' + +module Kombo + class PutCustomDatevEmployeesEmployeeIdPreparePayrollRequestBodyCustomLodasInner < ApiModelBase + # This amount value will be mapped to Datev \"Wert\" field. + attr_accessor :amount + + # Choose a valid Lodas Lohnart. + attr_accessor :lohnart + + # Choose a valid Lodas Bearbeitungsschlüssel. We list the valid Bearbeitungsschlüssel [here](https://storage.googleapis.com/kombo-assets/integrations/datev/lodas_bs.json). + attr_accessor :bearbeitungsschluessel + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'amount' => :'amount', + :'lohnart' => :'lohnart', + :'bearbeitungsschluessel' => :'bearbeitungsschluessel' + } + end + + # Returns attribute mapping this model knows about + def self.acceptable_attribute_map + attribute_map + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + acceptable_attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'amount' => :'Float', + :'lohnart' => :'Float', + :'bearbeitungsschluessel' => :'Float' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Kombo::PutCustomDatevEmployeesEmployeeIdPreparePayrollRequestBodyCustomLodasInner` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + acceptable_attribute_map = self.class.acceptable_attribute_map + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!acceptable_attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Kombo::PutCustomDatevEmployeesEmployeeIdPreparePayrollRequestBodyCustomLodasInner`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'amount') + self.amount = attributes[:'amount'] + else + self.amount = nil + end + + if attributes.key?(:'lohnart') + self.lohnart = attributes[:'lohnart'] + else + self.lohnart = nil + end + + if attributes.key?(:'bearbeitungsschluessel') + self.bearbeitungsschluessel = attributes[:'bearbeitungsschluessel'] + else + self.bearbeitungsschluessel = nil + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + warn '[DEPRECATED] the `list_invalid_properties` method is obsolete' + invalid_properties = Array.new + if @amount.nil? + invalid_properties.push('invalid value for "amount", amount cannot be nil.') + end + + if @amount < -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + invalid_properties.push('invalid value for "amount", must be greater than or equal to -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.') + end + + if @lohnart.nil? + invalid_properties.push('invalid value for "lohnart", lohnart cannot be nil.') + end + + if @lohnart < -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + invalid_properties.push('invalid value for "lohnart", must be greater than or equal to -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.') + end + + if @bearbeitungsschluessel.nil? + invalid_properties.push('invalid value for "bearbeitungsschluessel", bearbeitungsschluessel cannot be nil.') + end + + if @bearbeitungsschluessel < -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + invalid_properties.push('invalid value for "bearbeitungsschluessel", must be greater than or equal to -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.') + end + + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + warn '[DEPRECATED] the `valid?` method is obsolete' + return false if @amount.nil? + return false if @amount < -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + return false if @lohnart.nil? + return false if @lohnart < -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + return false if @bearbeitungsschluessel.nil? + return false if @bearbeitungsschluessel < -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + true + end + + # Custom attribute writer method with validation + # @param [Object] amount Value to be assigned + def amount=(amount) + if amount.nil? + fail ArgumentError, 'amount cannot be nil' + end + + if amount < -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + fail ArgumentError, 'invalid value for "amount", must be greater than or equal to -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.' + end + + @amount = amount + end + + # Custom attribute writer method with validation + # @param [Object] lohnart Value to be assigned + def lohnart=(lohnart) + if lohnart.nil? + fail ArgumentError, 'lohnart cannot be nil' + end + + if lohnart < -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + fail ArgumentError, 'invalid value for "lohnart", must be greater than or equal to -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.' + end + + @lohnart = lohnart + end + + # Custom attribute writer method with validation + # @param [Object] bearbeitungsschluessel Value to be assigned + def bearbeitungsschluessel=(bearbeitungsschluessel) + if bearbeitungsschluessel.nil? + fail ArgumentError, 'bearbeitungsschluessel cannot be nil' + end + + if bearbeitungsschluessel < -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + fail ArgumentError, 'invalid value for "bearbeitungsschluessel", must be greater than or equal to -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.' + end + + @bearbeitungsschluessel = bearbeitungsschluessel + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + amount == o.amount && + lohnart == o.lohnart && + bearbeitungsschluessel == o.bearbeitungsschluessel + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [amount, lohnart, bearbeitungsschluessel].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + transformed_hash = {} + openapi_types.each_pair do |key, type| + if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = nil + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[attribute_map[key]].is_a?(Array) + transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) } + end + elsif !attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]]) + end + end + new(transformed_hash) + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + end + +end diff --git a/lib/kombo_client/models/put_custom_datev_employees_employee_id_prepare_payroll_request_body_fixed_payments_inner.rb b/lib/kombo_client/models/put_custom_datev_employees_employee_id_prepare_payroll_request_body_fixed_payments_inner.rb new file mode 100644 index 0000000..daa8713 --- /dev/null +++ b/lib/kombo_client/models/put_custom_datev_employees_employee_id_prepare_payroll_request_body_fixed_payments_inner.rb @@ -0,0 +1,209 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.17.0 + +=end + +require 'date' +require 'time' + +module Kombo + class PutCustomDatevEmployeesEmployeeIdPreparePayrollRequestBodyFixedPaymentsInner < ApiModelBase + attr_accessor :amount + + # The \"Lohnart\" (payment-type) in DATEV. Make sure a Lohnart is selected that actually supports fixed payments (no hourly modifier). + attr_accessor :lohnart + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'amount' => :'amount', + :'lohnart' => :'lohnart' + } + end + + # Returns attribute mapping this model knows about + def self.acceptable_attribute_map + attribute_map + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + acceptable_attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'amount' => :'Float', + :'lohnart' => :'Float' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Kombo::PutCustomDatevEmployeesEmployeeIdPreparePayrollRequestBodyFixedPaymentsInner` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + acceptable_attribute_map = self.class.acceptable_attribute_map + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!acceptable_attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Kombo::PutCustomDatevEmployeesEmployeeIdPreparePayrollRequestBodyFixedPaymentsInner`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'amount') + self.amount = attributes[:'amount'] + else + self.amount = nil + end + + if attributes.key?(:'lohnart') + self.lohnart = attributes[:'lohnart'] + else + self.lohnart = nil + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + warn '[DEPRECATED] the `list_invalid_properties` method is obsolete' + invalid_properties = Array.new + if @amount.nil? + invalid_properties.push('invalid value for "amount", amount cannot be nil.') + end + + if @amount < -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + invalid_properties.push('invalid value for "amount", must be greater than or equal to -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.') + end + + if @lohnart.nil? + invalid_properties.push('invalid value for "lohnart", lohnart cannot be nil.') + end + + if @lohnart < -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + invalid_properties.push('invalid value for "lohnart", must be greater than or equal to -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.') + end + + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + warn '[DEPRECATED] the `valid?` method is obsolete' + return false if @amount.nil? + return false if @amount < -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + return false if @lohnart.nil? + return false if @lohnart < -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + true + end + + # Custom attribute writer method with validation + # @param [Object] amount Value to be assigned + def amount=(amount) + if amount.nil? + fail ArgumentError, 'amount cannot be nil' + end + + if amount < -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + fail ArgumentError, 'invalid value for "amount", must be greater than or equal to -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.' + end + + @amount = amount + end + + # Custom attribute writer method with validation + # @param [Object] lohnart Value to be assigned + def lohnart=(lohnart) + if lohnart.nil? + fail ArgumentError, 'lohnart cannot be nil' + end + + if lohnart < -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + fail ArgumentError, 'invalid value for "lohnart", must be greater than or equal to -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.' + end + + @lohnart = lohnart + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + amount == o.amount && + lohnart == o.lohnart + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [amount, lohnart].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + transformed_hash = {} + openapi_types.each_pair do |key, type| + if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = nil + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[attribute_map[key]].is_a?(Array) + transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) } + end + elsif !attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]]) + end + end + new(transformed_hash) + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + end + +end diff --git a/lib/kombo_client/models/put_custom_datev_employees_employee_id_prepare_payroll_request_body_hourly_payments_inner.rb b/lib/kombo_client/models/put_custom_datev_employees_employee_id_prepare_payroll_request_body_hourly_payments_inner.rb new file mode 100644 index 0000000..880f743 --- /dev/null +++ b/lib/kombo_client/models/put_custom_datev_employees_employee_id_prepare_payroll_request_body_hourly_payments_inner.rb @@ -0,0 +1,210 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.17.0 + +=end + +require 'date' +require 'time' + +module Kombo + class PutCustomDatevEmployeesEmployeeIdPreparePayrollRequestBodyHourlyPaymentsInner < ApiModelBase + # Number of hours this employee has worked. + attr_accessor :hours + + # The \"Lohnart\" (payment-type) in DATEV. Make sure a Lohnart is selected that actually supports hours. + attr_accessor :lohnart + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'hours' => :'hours', + :'lohnart' => :'lohnart' + } + end + + # Returns attribute mapping this model knows about + def self.acceptable_attribute_map + attribute_map + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + acceptable_attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'hours' => :'Float', + :'lohnart' => :'Float' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Kombo::PutCustomDatevEmployeesEmployeeIdPreparePayrollRequestBodyHourlyPaymentsInner` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + acceptable_attribute_map = self.class.acceptable_attribute_map + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!acceptable_attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Kombo::PutCustomDatevEmployeesEmployeeIdPreparePayrollRequestBodyHourlyPaymentsInner`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'hours') + self.hours = attributes[:'hours'] + else + self.hours = nil + end + + if attributes.key?(:'lohnart') + self.lohnart = attributes[:'lohnart'] + else + self.lohnart = nil + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + warn '[DEPRECATED] the `list_invalid_properties` method is obsolete' + invalid_properties = Array.new + if @hours.nil? + invalid_properties.push('invalid value for "hours", hours cannot be nil.') + end + + if @hours < -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + invalid_properties.push('invalid value for "hours", must be greater than or equal to -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.') + end + + if @lohnart.nil? + invalid_properties.push('invalid value for "lohnart", lohnart cannot be nil.') + end + + if @lohnart < -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + invalid_properties.push('invalid value for "lohnart", must be greater than or equal to -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.') + end + + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + warn '[DEPRECATED] the `valid?` method is obsolete' + return false if @hours.nil? + return false if @hours < -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + return false if @lohnart.nil? + return false if @lohnart < -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + true + end + + # Custom attribute writer method with validation + # @param [Object] hours Value to be assigned + def hours=(hours) + if hours.nil? + fail ArgumentError, 'hours cannot be nil' + end + + if hours < -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + fail ArgumentError, 'invalid value for "hours", must be greater than or equal to -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.' + end + + @hours = hours + end + + # Custom attribute writer method with validation + # @param [Object] lohnart Value to be assigned + def lohnart=(lohnart) + if lohnart.nil? + fail ArgumentError, 'lohnart cannot be nil' + end + + if lohnart < -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + fail ArgumentError, 'invalid value for "lohnart", must be greater than or equal to -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.' + end + + @lohnart = lohnart + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + hours == o.hours && + lohnart == o.lohnart + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [hours, lohnart].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + transformed_hash = {} + openapi_types.each_pair do |key, type| + if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = nil + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[attribute_map[key]].is_a?(Array) + transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) } + end + elsif !attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]]) + end + end + new(transformed_hash) + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + end + +end diff --git a/lib/kombo_client/models/put_custom_datev_employees_employee_id_prepare_payroll_request_body_payroll_run.rb b/lib/kombo_client/models/put_custom_datev_employees_employee_id_prepare_payroll_request_body_payroll_run.rb new file mode 100644 index 0000000..74c7578 --- /dev/null +++ b/lib/kombo_client/models/put_custom_datev_employees_employee_id_prepare_payroll_request_body_payroll_run.rb @@ -0,0 +1,176 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.17.0 + +=end + +require 'date' +require 'time' + +module Kombo + class PutCustomDatevEmployeesEmployeeIdPreparePayrollRequestBodyPayrollRun < ApiModelBase + # YYYY-MM-DDTHH:mm:ss.sssZ + attr_accessor :date + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'date' => :'date' + } + end + + # Returns attribute mapping this model knows about + def self.acceptable_attribute_map + attribute_map + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + acceptable_attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'date' => :'Time' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Kombo::PutCustomDatevEmployeesEmployeeIdPreparePayrollRequestBodyPayrollRun` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + acceptable_attribute_map = self.class.acceptable_attribute_map + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!acceptable_attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Kombo::PutCustomDatevEmployeesEmployeeIdPreparePayrollRequestBodyPayrollRun`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'date') + self.date = attributes[:'date'] + else + self.date = nil + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + warn '[DEPRECATED] the `list_invalid_properties` method is obsolete' + invalid_properties = Array.new + if @date.nil? + invalid_properties.push('invalid value for "date", date cannot be nil.') + end + + pattern = Regexp.new(/^\d{4}-\d{2}-\d{2}(T\d{2}:\d{2}:\d{2}(\.\d+)?)?Z?$/) + if @date !~ pattern + invalid_properties.push("invalid value for \"date\", must conform to the pattern #{pattern}.") + end + + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + warn '[DEPRECATED] the `valid?` method is obsolete' + return false if @date.nil? + return false if @date !~ Regexp.new(/^\d{4}-\d{2}-\d{2}(T\d{2}:\d{2}:\d{2}(\.\d+)?)?Z?$/) + true + end + + # Custom attribute writer method with validation + # @param [Object] date Value to be assigned + def date=(date) + if date.nil? + fail ArgumentError, 'date cannot be nil' + end + + pattern = Regexp.new(/^\d{4}-\d{2}-\d{2}(T\d{2}:\d{2}:\d{2}(\.\d+)?)?Z?$/) + if date !~ pattern + fail ArgumentError, "invalid value for \"date\", must conform to the pattern #{pattern}." + end + + @date = date + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + date == o.date + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [date].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + transformed_hash = {} + openapi_types.each_pair do |key, type| + if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = nil + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[attribute_map[key]].is_a?(Array) + transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) } + end + elsif !attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]]) + end + end + new(transformed_hash) + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + end + +end diff --git a/lib/kombo_client/models/put_integrations_integration_id_custom_fields_custom_field_id_positive_response.rb b/lib/kombo_client/models/put_integrations_integration_id_custom_fields_custom_field_id_positive_response.rb new file mode 100644 index 0000000..2cff887 --- /dev/null +++ b/lib/kombo_client/models/put_integrations_integration_id_custom_fields_custom_field_id_positive_response.rb @@ -0,0 +1,214 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.17.0 + +=end + +require 'date' +require 'time' + +module Kombo + class PutIntegrationsIntegrationIdCustomFieldsCustomFieldIdPositiveResponse < ApiModelBase + attr_accessor :status + + attr_accessor :data + + class EnumAttributeValidator + attr_reader :datatype + attr_reader :allowable_values + + def initialize(datatype, allowable_values) + @allowable_values = allowable_values.map do |value| + case datatype.to_s + when /Integer/i + value.to_i + when /Float/i + value.to_f + else + value + end + end + end + + def valid?(value) + !value || allowable_values.include?(value) + end + end + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'status' => :'status', + :'data' => :'data' + } + end + + # Returns attribute mapping this model knows about + def self.acceptable_attribute_map + attribute_map + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + acceptable_attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'status' => :'String', + :'data' => :'GetIntegrationsIntegrationIdCustomFieldsPositiveResponseDataResultsInner' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Kombo::PutIntegrationsIntegrationIdCustomFieldsCustomFieldIdPositiveResponse` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + acceptable_attribute_map = self.class.acceptable_attribute_map + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!acceptable_attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Kombo::PutIntegrationsIntegrationIdCustomFieldsCustomFieldIdPositiveResponse`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'status') + self.status = attributes[:'status'] + else + self.status = nil + end + + if attributes.key?(:'data') + self.data = attributes[:'data'] + else + self.data = nil + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + warn '[DEPRECATED] the `list_invalid_properties` method is obsolete' + invalid_properties = Array.new + if @status.nil? + invalid_properties.push('invalid value for "status", status cannot be nil.') + end + + if @data.nil? + invalid_properties.push('invalid value for "data", data cannot be nil.') + end + + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + warn '[DEPRECATED] the `valid?` method is obsolete' + return false if @status.nil? + status_validator = EnumAttributeValidator.new('String', ["success"]) + return false unless status_validator.valid?(@status) + return false if @data.nil? + true + end + + # Custom attribute writer method checking allowed values (enum). + # @param [Object] status Object to be assigned + def status=(status) + validator = EnumAttributeValidator.new('String', ["success"]) + unless validator.valid?(status) + fail ArgumentError, "invalid value for \"status\", must be one of #{validator.allowable_values}." + end + @status = status + end + + # Custom attribute writer method with validation + # @param [Object] data Value to be assigned + def data=(data) + if data.nil? + fail ArgumentError, 'data cannot be nil' + end + + @data = data + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + status == o.status && + data == o.data + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [status, data].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + transformed_hash = {} + openapi_types.each_pair do |key, type| + if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = nil + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[attribute_map[key]].is_a?(Array) + transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) } + end + elsif !attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]]) + end + end + new(transformed_hash) + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + end + +end diff --git a/lib/kombo_client/models/put_integrations_integration_id_custom_fields_custom_field_id_request_body.rb b/lib/kombo_client/models/put_integrations_integration_id_custom_fields_custom_field_id_request_body.rb new file mode 100644 index 0000000..3f0e01b --- /dev/null +++ b/lib/kombo_client/models/put_integrations_integration_id_custom_fields_custom_field_id_request_body.rb @@ -0,0 +1,151 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.17.0 + +=end + +require 'date' +require 'time' + +module Kombo + class PutIntegrationsIntegrationIdCustomFieldsCustomFieldIdRequestBody < ApiModelBase + # The integration field's unique ID which the custom field should be mapped to. Null to remove a mapping. + attr_accessor :integration_field_id + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'integration_field_id' => :'integration_field_id' + } + end + + # Returns attribute mapping this model knows about + def self.acceptable_attribute_map + attribute_map + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + acceptable_attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'integration_field_id' => :'String' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + :'integration_field_id' + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Kombo::PutIntegrationsIntegrationIdCustomFieldsCustomFieldIdRequestBody` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + acceptable_attribute_map = self.class.acceptable_attribute_map + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!acceptable_attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Kombo::PutIntegrationsIntegrationIdCustomFieldsCustomFieldIdRequestBody`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'integration_field_id') + self.integration_field_id = attributes[:'integration_field_id'] + else + self.integration_field_id = nil + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + warn '[DEPRECATED] the `list_invalid_properties` method is obsolete' + invalid_properties = Array.new + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + warn '[DEPRECATED] the `valid?` method is obsolete' + true + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + integration_field_id == o.integration_field_id + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [integration_field_id].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + transformed_hash = {} + openapi_types.each_pair do |key, type| + if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = nil + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[attribute_map[key]].is_a?(Array) + transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) } + end + elsif !attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]]) + end + end + new(transformed_hash) + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + end + +end diff --git a/lib/kombo_client/models/remote_event_received_webhook_payload.rb b/lib/kombo_client/models/remote_event_received_webhook_payload.rb new file mode 100644 index 0000000..8613ca2 --- /dev/null +++ b/lib/kombo_client/models/remote_event_received_webhook_payload.rb @@ -0,0 +1,242 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.17.0 + +=end + +require 'date' +require 'time' + +module Kombo + class RemoteEventReceivedWebhookPayload < ApiModelBase + # Unique identifier for this webhook event + attr_accessor :id + + # Type of the webhook event + attr_accessor :type + + attr_accessor :data + + class EnumAttributeValidator + attr_reader :datatype + attr_reader :allowable_values + + def initialize(datatype, allowable_values) + @allowable_values = allowable_values.map do |value| + case datatype.to_s + when /Integer/i + value.to_i + when /Float/i + value.to_f + else + value + end + end + end + + def valid?(value) + !value || allowable_values.include?(value) + end + end + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'id' => :'id', + :'type' => :'type', + :'data' => :'data' + } + end + + # Returns attribute mapping this model knows about + def self.acceptable_attribute_map + attribute_map + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + acceptable_attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'id' => :'String', + :'type' => :'String', + :'data' => :'RemoteEventReceivedWebhookPayloadData' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Kombo::RemoteEventReceivedWebhookPayload` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + acceptable_attribute_map = self.class.acceptable_attribute_map + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!acceptable_attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Kombo::RemoteEventReceivedWebhookPayload`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'id') + self.id = attributes[:'id'] + else + self.id = nil + end + + if attributes.key?(:'type') + self.type = attributes[:'type'] + else + self.type = nil + end + + if attributes.key?(:'data') + self.data = attributes[:'data'] + else + self.data = nil + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + warn '[DEPRECATED] the `list_invalid_properties` method is obsolete' + invalid_properties = Array.new + if @id.nil? + invalid_properties.push('invalid value for "id", id cannot be nil.') + end + + if @type.nil? + invalid_properties.push('invalid value for "type", type cannot be nil.') + end + + if @data.nil? + invalid_properties.push('invalid value for "data", data cannot be nil.') + end + + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + warn '[DEPRECATED] the `valid?` method is obsolete' + return false if @id.nil? + return false if @type.nil? + type_validator = EnumAttributeValidator.new('String', ["remote-event-received"]) + return false unless type_validator.valid?(@type) + return false if @data.nil? + true + end + + # Custom attribute writer method with validation + # @param [Object] id Value to be assigned + def id=(id) + if id.nil? + fail ArgumentError, 'id cannot be nil' + end + + @id = id + end + + # Custom attribute writer method checking allowed values (enum). + # @param [Object] type Object to be assigned + def type=(type) + validator = EnumAttributeValidator.new('String', ["remote-event-received"]) + unless validator.valid?(type) + fail ArgumentError, "invalid value for \"type\", must be one of #{validator.allowable_values}." + end + @type = type + end + + # Custom attribute writer method with validation + # @param [Object] data Value to be assigned + def data=(data) + if data.nil? + fail ArgumentError, 'data cannot be nil' + end + + @data = data + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + id == o.id && + type == o.type && + data == o.data + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [id, type, data].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + transformed_hash = {} + openapi_types.each_pair do |key, type| + if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = nil + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[attribute_map[key]].is_a?(Array) + transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) } + end + elsif !attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]]) + end + end + new(transformed_hash) + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + end + +end diff --git a/lib/kombo_client/models/remote_event_received_webhook_payload_data.rb b/lib/kombo_client/models/remote_event_received_webhook_payload_data.rb new file mode 100644 index 0000000..d030f9a --- /dev/null +++ b/lib/kombo_client/models/remote_event_received_webhook_payload_data.rb @@ -0,0 +1,269 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.17.0 + +=end + +require 'date' +require 'time' + +module Kombo + class RemoteEventReceivedWebhookPayloadData < ApiModelBase + # The unique identifier of the integration. + attr_accessor :integration_id + + # The name of the integrated tool (e.g., \"personio\", \"greenhouse\"). + attr_accessor :integration_tool + + # The category of the integration (HRIS, ATS, or ASSESSMENT). + attr_accessor :integration_category + + attr_accessor :end_user + + class EnumAttributeValidator + attr_reader :datatype + attr_reader :allowable_values + + def initialize(datatype, allowable_values) + @allowable_values = allowable_values.map do |value| + case datatype.to_s + when /Integer/i + value.to_i + when /Float/i + value.to_f + else + value + end + end + end + + def valid?(value) + !value || allowable_values.include?(value) + end + end + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'integration_id' => :'integration_id', + :'integration_tool' => :'integration_tool', + :'integration_category' => :'integration_category', + :'end_user' => :'end_user' + } + end + + # Returns attribute mapping this model knows about + def self.acceptable_attribute_map + attribute_map + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + acceptable_attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'integration_id' => :'String', + :'integration_tool' => :'String', + :'integration_category' => :'String', + :'end_user' => :'ConnectionFlowFailedWebhookPayloadDataEndUser' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Kombo::RemoteEventReceivedWebhookPayloadData` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + acceptable_attribute_map = self.class.acceptable_attribute_map + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!acceptable_attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Kombo::RemoteEventReceivedWebhookPayloadData`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'integration_id') + self.integration_id = attributes[:'integration_id'] + else + self.integration_id = nil + end + + if attributes.key?(:'integration_tool') + self.integration_tool = attributes[:'integration_tool'] + else + self.integration_tool = nil + end + + if attributes.key?(:'integration_category') + self.integration_category = attributes[:'integration_category'] + else + self.integration_category = nil + end + + if attributes.key?(:'end_user') + self.end_user = attributes[:'end_user'] + else + self.end_user = nil + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + warn '[DEPRECATED] the `list_invalid_properties` method is obsolete' + invalid_properties = Array.new + if @integration_id.nil? + invalid_properties.push('invalid value for "integration_id", integration_id cannot be nil.') + end + + if @integration_tool.nil? + invalid_properties.push('invalid value for "integration_tool", integration_tool cannot be nil.') + end + + if @integration_category.nil? + invalid_properties.push('invalid value for "integration_category", integration_category cannot be nil.') + end + + if @end_user.nil? + invalid_properties.push('invalid value for "end_user", end_user cannot be nil.') + end + + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + warn '[DEPRECATED] the `valid?` method is obsolete' + return false if @integration_id.nil? + return false if @integration_tool.nil? + return false if @integration_category.nil? + integration_category_validator = EnumAttributeValidator.new('String', ["HRIS", "ATS", "ASSESSMENT"]) + return false unless integration_category_validator.valid?(@integration_category) + return false if @end_user.nil? + true + end + + # Custom attribute writer method with validation + # @param [Object] integration_id Value to be assigned + def integration_id=(integration_id) + if integration_id.nil? + fail ArgumentError, 'integration_id cannot be nil' + end + + @integration_id = integration_id + end + + # Custom attribute writer method with validation + # @param [Object] integration_tool Value to be assigned + def integration_tool=(integration_tool) + if integration_tool.nil? + fail ArgumentError, 'integration_tool cannot be nil' + end + + @integration_tool = integration_tool + end + + # Custom attribute writer method checking allowed values (enum). + # @param [Object] integration_category Object to be assigned + def integration_category=(integration_category) + validator = EnumAttributeValidator.new('String', ["HRIS", "ATS", "ASSESSMENT"]) + unless validator.valid?(integration_category) + fail ArgumentError, "invalid value for \"integration_category\", must be one of #{validator.allowable_values}." + end + @integration_category = integration_category + end + + # Custom attribute writer method with validation + # @param [Object] end_user Value to be assigned + def end_user=(end_user) + if end_user.nil? + fail ArgumentError, 'end_user cannot be nil' + end + + @end_user = end_user + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + integration_id == o.integration_id && + integration_tool == o.integration_tool && + integration_category == o.integration_category && + end_user == o.end_user + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [integration_id, integration_tool, integration_category, end_user].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + transformed_hash = {} + openapi_types.each_pair do |key, type| + if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = nil + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[attribute_map[key]].is_a?(Array) + transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) } + end + elsif !attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]]) + end + end + new(transformed_hash) + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + end + +end diff --git a/lib/kombo_client/models/schema1_value.rb b/lib/kombo_client/models/schema1_value.rb new file mode 100644 index 0000000..423fee0 --- /dev/null +++ b/lib/kombo_client/models/schema1_value.rb @@ -0,0 +1,110 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.17.0 + +=end + +require 'date' +require 'time' + +module Kombo + module Schema1Value + class << self + # List of class defined in anyOf (OpenAPI v3) + def openapi_any_of + [ + :'Schema2AnyOf', + :'Schema2AnyOf1', + :'Schema2AnyOf2', + :'Schema2AnyOf3', + :'Schema2AnyOf4', + :'Schema2AnyOf5', + :'Schema2AnyOf6', + :'Schema2AnyOf7', + :'Schema2AnyOf8' + ] + end + + # Builds the object + # @param [Mixed] Data to be matched against the list of anyOf items + # @return [Object] Returns the model or the data itself + def build(data) + # Go through the list of anyOf items and attempt to identify the appropriate one. + # Note: + # - No advanced validation of types in some cases (e.g. "x: { type: string }" will happily match { x: 123 }) + # due to the way the deserialization is made in the base_object template (it just casts without verifying). + # - TODO: scalar values are de facto behaving as if they were nullable. + # - TODO: logging when debugging is set. + openapi_any_of.each do |klass| + begin + next if klass == :AnyType # "nullable: true" + return find_and_cast_into_type(klass, data) + rescue # rescue all errors so we keep iterating even if the current item lookup raises + end + end + + openapi_any_of.include?(:AnyType) ? data : nil + end + + private + + SchemaMismatchError = Class.new(StandardError) + + # Note: 'File' is missing here because in the regular case we get the data _after_ a call to JSON.parse. + def find_and_cast_into_type(klass, data) + return if data.nil? + + case klass.to_s + when 'Boolean' + return data if data.instance_of?(TrueClass) || data.instance_of?(FalseClass) + when 'Float' + return data if data.instance_of?(Float) + when 'Integer' + return data if data.instance_of?(Integer) + when 'Time' + return Time.parse(data) + when 'Date' + return Date.iso8601(data) + when 'String' + return data if data.instance_of?(String) + when 'Object' # "type: object" + return data if data.instance_of?(Hash) + when /\AArray<(?.+)>\z/ # "type: array" + if data.instance_of?(Array) + sub_type = Regexp.last_match[:sub_type] + return data.map { |item| find_and_cast_into_type(sub_type, item) } + end + when /\AHash.+)>\z/ # "type: object" with "additionalProperties: { ... }" + if data.instance_of?(Hash) && data.keys.all? { |k| k.instance_of?(Symbol) || k.instance_of?(String) } + sub_type = Regexp.last_match[:sub_type] + return data.each_with_object({}) { |(k, v), hsh| hsh[k] = find_and_cast_into_type(sub_type, v) } + end + else # model + const = Kombo.const_get(klass) + if const + if const.respond_to?(:openapi_any_of) # nested anyOf model + model = const.build(data) + return model if model + else + # raise if data contains keys that are not known to the model + raise if const.respond_to?(:acceptable_attributes) && !(data.keys - const.acceptable_attributes).empty? + model = const.build_from_hash(data) + return model if model + end + end + end + + raise # if no match by now, raise + rescue + raise SchemaMismatchError, "#{data} doesn't match the #{klass} type" + end + end + end + +end diff --git a/lib/kombo_client/models/schema2.rb b/lib/kombo_client/models/schema2.rb new file mode 100644 index 0000000..1ded565 --- /dev/null +++ b/lib/kombo_client/models/schema2.rb @@ -0,0 +1,110 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.17.0 + +=end + +require 'date' +require 'time' + +module Kombo + module Schema2 + class << self + # List of class defined in anyOf (OpenAPI v3) + def openapi_any_of + [ + :'Schema2AnyOf', + :'Schema2AnyOf1', + :'Schema2AnyOf2', + :'Schema2AnyOf3', + :'Schema2AnyOf4', + :'Schema2AnyOf5', + :'Schema2AnyOf6', + :'Schema2AnyOf7', + :'Schema2AnyOf8' + ] + end + + # Builds the object + # @param [Mixed] Data to be matched against the list of anyOf items + # @return [Object] Returns the model or the data itself + def build(data) + # Go through the list of anyOf items and attempt to identify the appropriate one. + # Note: + # - No advanced validation of types in some cases (e.g. "x: { type: string }" will happily match { x: 123 }) + # due to the way the deserialization is made in the base_object template (it just casts without verifying). + # - TODO: scalar values are de facto behaving as if they were nullable. + # - TODO: logging when debugging is set. + openapi_any_of.each do |klass| + begin + next if klass == :AnyType # "nullable: true" + return find_and_cast_into_type(klass, data) + rescue # rescue all errors so we keep iterating even if the current item lookup raises + end + end + + openapi_any_of.include?(:AnyType) ? data : nil + end + + private + + SchemaMismatchError = Class.new(StandardError) + + # Note: 'File' is missing here because in the regular case we get the data _after_ a call to JSON.parse. + def find_and_cast_into_type(klass, data) + return if data.nil? + + case klass.to_s + when 'Boolean' + return data if data.instance_of?(TrueClass) || data.instance_of?(FalseClass) + when 'Float' + return data if data.instance_of?(Float) + when 'Integer' + return data if data.instance_of?(Integer) + when 'Time' + return Time.parse(data) + when 'Date' + return Date.iso8601(data) + when 'String' + return data if data.instance_of?(String) + when 'Object' # "type: object" + return data if data.instance_of?(Hash) + when /\AArray<(?.+)>\z/ # "type: array" + if data.instance_of?(Array) + sub_type = Regexp.last_match[:sub_type] + return data.map { |item| find_and_cast_into_type(sub_type, item) } + end + when /\AHash.+)>\z/ # "type: object" with "additionalProperties: { ... }" + if data.instance_of?(Hash) && data.keys.all? { |k| k.instance_of?(Symbol) || k.instance_of?(String) } + sub_type = Regexp.last_match[:sub_type] + return data.each_with_object({}) { |(k, v), hsh| hsh[k] = find_and_cast_into_type(sub_type, v) } + end + else # model + const = Kombo.const_get(klass) + if const + if const.respond_to?(:openapi_any_of) # nested anyOf model + model = const.build(data) + return model if model + else + # raise if data contains keys that are not known to the model + raise if const.respond_to?(:acceptable_attributes) && !(data.keys - const.acceptable_attributes).empty? + model = const.build_from_hash(data) + return model if model + end + end + end + + raise # if no match by now, raise + rescue + raise SchemaMismatchError, "#{data} doesn't match the #{klass} type" + end + end + end + +end diff --git a/lib/kombo_client/models/schema2_any_of.rb b/lib/kombo_client/models/schema2_any_of.rb new file mode 100644 index 0000000..918df3a --- /dev/null +++ b/lib/kombo_client/models/schema2_any_of.rb @@ -0,0 +1,332 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.17.0 + +=end + +require 'date' +require 'time' + +module Kombo + class Schema2AnyOf < ApiModelBase + attr_accessor :label + + attr_accessor :required + + attr_accessor :description + + attr_accessor :unified_key + + attr_accessor :type + + attr_accessor :min_length + + attr_accessor :max_length + + attr_accessor :reg_exp + + class EnumAttributeValidator + attr_reader :datatype + attr_reader :allowable_values + + def initialize(datatype, allowable_values) + @allowable_values = allowable_values.map do |value| + case datatype.to_s + when /Integer/i + value.to_i + when /Float/i + value.to_f + else + value + end + end + end + + def valid?(value) + !value || allowable_values.include?(value) + end + end + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'label' => :'label', + :'required' => :'required', + :'description' => :'description', + :'unified_key' => :'unified_key', + :'type' => :'type', + :'min_length' => :'min_length', + :'max_length' => :'max_length', + :'reg_exp' => :'reg_exp' + } + end + + # Returns attribute mapping this model knows about + def self.acceptable_attribute_map + attribute_map + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + acceptable_attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'label' => :'String', + :'required' => :'Boolean', + :'description' => :'String', + :'unified_key' => :'String', + :'type' => :'String', + :'min_length' => :'Float', + :'max_length' => :'Float', + :'reg_exp' => :'String' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + :'description', + :'unified_key', + :'min_length', + :'max_length', + :'reg_exp' + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Kombo::Schema2AnyOf` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + acceptable_attribute_map = self.class.acceptable_attribute_map + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!acceptable_attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Kombo::Schema2AnyOf`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'label') + self.label = attributes[:'label'] + else + self.label = nil + end + + if attributes.key?(:'required') + self.required = attributes[:'required'] + else + self.required = nil + end + + if attributes.key?(:'description') + self.description = attributes[:'description'] + end + + if attributes.key?(:'unified_key') + self.unified_key = attributes[:'unified_key'] + end + + if attributes.key?(:'type') + self.type = attributes[:'type'] + else + self.type = nil + end + + if attributes.key?(:'min_length') + self.min_length = attributes[:'min_length'] + end + + if attributes.key?(:'max_length') + self.max_length = attributes[:'max_length'] + end + + if attributes.key?(:'reg_exp') + self.reg_exp = attributes[:'reg_exp'] + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + warn '[DEPRECATED] the `list_invalid_properties` method is obsolete' + invalid_properties = Array.new + if @label.nil? + invalid_properties.push('invalid value for "label", label cannot be nil.') + end + + if @required.nil? + invalid_properties.push('invalid value for "required", required cannot be nil.') + end + + if @type.nil? + invalid_properties.push('invalid value for "type", type cannot be nil.') + end + + if !@min_length.nil? && @min_length < -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + invalid_properties.push('invalid value for "min_length", must be greater than or equal to -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.') + end + + if !@max_length.nil? && @max_length < -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + invalid_properties.push('invalid value for "max_length", must be greater than or equal to -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.') + end + + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + warn '[DEPRECATED] the `valid?` method is obsolete' + return false if @label.nil? + return false if @required.nil? + unified_key_validator = EnumAttributeValidator.new('String', ["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"]) + return false unless unified_key_validator.valid?(@unified_key) + return false if @type.nil? + type_validator = EnumAttributeValidator.new('String', ["text"]) + return false unless type_validator.valid?(@type) + return false if !@min_length.nil? && @min_length < -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + return false if !@max_length.nil? && @max_length < -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + true + end + + # Custom attribute writer method with validation + # @param [Object] label Value to be assigned + def label=(label) + if label.nil? + fail ArgumentError, 'label cannot be nil' + end + + @label = label + end + + # Custom attribute writer method with validation + # @param [Object] required Value to be assigned + def required=(required) + if required.nil? + fail ArgumentError, 'required cannot be nil' + end + + @required = required + end + + # Custom attribute writer method checking allowed values (enum). + # @param [Object] unified_key Object to be assigned + def unified_key=(unified_key) + validator = EnumAttributeValidator.new('String', ["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"]) + unless validator.valid?(unified_key) + fail ArgumentError, "invalid value for \"unified_key\", must be one of #{validator.allowable_values}." + end + @unified_key = unified_key + end + + # Custom attribute writer method checking allowed values (enum). + # @param [Object] type Object to be assigned + def type=(type) + validator = EnumAttributeValidator.new('String', ["text"]) + unless validator.valid?(type) + fail ArgumentError, "invalid value for \"type\", must be one of #{validator.allowable_values}." + end + @type = type + end + + # Custom attribute writer method with validation + # @param [Object] min_length Value to be assigned + def min_length=(min_length) + if !min_length.nil? && min_length < -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + fail ArgumentError, 'invalid value for "min_length", must be greater than or equal to -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.' + end + + @min_length = min_length + end + + # Custom attribute writer method with validation + # @param [Object] max_length Value to be assigned + def max_length=(max_length) + if !max_length.nil? && max_length < -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + fail ArgumentError, 'invalid value for "max_length", must be greater than or equal to -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.' + end + + @max_length = max_length + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + label == o.label && + required == o.required && + description == o.description && + unified_key == o.unified_key && + type == o.type && + min_length == o.min_length && + max_length == o.max_length && + reg_exp == o.reg_exp + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [label, required, description, unified_key, type, min_length, max_length, reg_exp].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + transformed_hash = {} + openapi_types.each_pair do |key, type| + if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = nil + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[attribute_map[key]].is_a?(Array) + transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) } + end + elsif !attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]]) + end + end + new(transformed_hash) + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + end + +end diff --git a/lib/kombo_client/models/schema2_any_of1.rb b/lib/kombo_client/models/schema2_any_of1.rb new file mode 100644 index 0000000..7490392 --- /dev/null +++ b/lib/kombo_client/models/schema2_any_of1.rb @@ -0,0 +1,322 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.17.0 + +=end + +require 'date' +require 'time' + +module Kombo + class Schema2AnyOf1 < ApiModelBase + attr_accessor :label + + attr_accessor :required + + attr_accessor :description + + attr_accessor :unified_key + + attr_accessor :type + + attr_accessor :min + + attr_accessor :max + + class EnumAttributeValidator + attr_reader :datatype + attr_reader :allowable_values + + def initialize(datatype, allowable_values) + @allowable_values = allowable_values.map do |value| + case datatype.to_s + when /Integer/i + value.to_i + when /Float/i + value.to_f + else + value + end + end + end + + def valid?(value) + !value || allowable_values.include?(value) + end + end + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'label' => :'label', + :'required' => :'required', + :'description' => :'description', + :'unified_key' => :'unified_key', + :'type' => :'type', + :'min' => :'min', + :'max' => :'max' + } + end + + # Returns attribute mapping this model knows about + def self.acceptable_attribute_map + attribute_map + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + acceptable_attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'label' => :'String', + :'required' => :'Boolean', + :'description' => :'String', + :'unified_key' => :'String', + :'type' => :'String', + :'min' => :'Float', + :'max' => :'Float' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + :'description', + :'unified_key', + :'min', + :'max' + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Kombo::Schema2AnyOf1` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + acceptable_attribute_map = self.class.acceptable_attribute_map + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!acceptable_attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Kombo::Schema2AnyOf1`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'label') + self.label = attributes[:'label'] + else + self.label = nil + end + + if attributes.key?(:'required') + self.required = attributes[:'required'] + else + self.required = nil + end + + if attributes.key?(:'description') + self.description = attributes[:'description'] + end + + if attributes.key?(:'unified_key') + self.unified_key = attributes[:'unified_key'] + end + + if attributes.key?(:'type') + self.type = attributes[:'type'] + else + self.type = nil + end + + if attributes.key?(:'min') + self.min = attributes[:'min'] + end + + if attributes.key?(:'max') + self.max = attributes[:'max'] + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + warn '[DEPRECATED] the `list_invalid_properties` method is obsolete' + invalid_properties = Array.new + if @label.nil? + invalid_properties.push('invalid value for "label", label cannot be nil.') + end + + if @required.nil? + invalid_properties.push('invalid value for "required", required cannot be nil.') + end + + if @type.nil? + invalid_properties.push('invalid value for "type", type cannot be nil.') + end + + if !@min.nil? && @min < -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + invalid_properties.push('invalid value for "min", must be greater than or equal to -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.') + end + + if !@max.nil? && @max < -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + invalid_properties.push('invalid value for "max", must be greater than or equal to -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.') + end + + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + warn '[DEPRECATED] the `valid?` method is obsolete' + return false if @label.nil? + return false if @required.nil? + unified_key_validator = EnumAttributeValidator.new('String', ["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"]) + return false unless unified_key_validator.valid?(@unified_key) + return false if @type.nil? + type_validator = EnumAttributeValidator.new('String', ["number"]) + return false unless type_validator.valid?(@type) + return false if !@min.nil? && @min < -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + return false if !@max.nil? && @max < -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + true + end + + # Custom attribute writer method with validation + # @param [Object] label Value to be assigned + def label=(label) + if label.nil? + fail ArgumentError, 'label cannot be nil' + end + + @label = label + end + + # Custom attribute writer method with validation + # @param [Object] required Value to be assigned + def required=(required) + if required.nil? + fail ArgumentError, 'required cannot be nil' + end + + @required = required + end + + # Custom attribute writer method checking allowed values (enum). + # @param [Object] unified_key Object to be assigned + def unified_key=(unified_key) + validator = EnumAttributeValidator.new('String', ["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"]) + unless validator.valid?(unified_key) + fail ArgumentError, "invalid value for \"unified_key\", must be one of #{validator.allowable_values}." + end + @unified_key = unified_key + end + + # Custom attribute writer method checking allowed values (enum). + # @param [Object] type Object to be assigned + def type=(type) + validator = EnumAttributeValidator.new('String', ["number"]) + unless validator.valid?(type) + fail ArgumentError, "invalid value for \"type\", must be one of #{validator.allowable_values}." + end + @type = type + end + + # Custom attribute writer method with validation + # @param [Object] min Value to be assigned + def min=(min) + if !min.nil? && min < -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + fail ArgumentError, 'invalid value for "min", must be greater than or equal to -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.' + end + + @min = min + end + + # Custom attribute writer method with validation + # @param [Object] max Value to be assigned + def max=(max) + if !max.nil? && max < -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + fail ArgumentError, 'invalid value for "max", must be greater than or equal to -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.' + end + + @max = max + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + label == o.label && + required == o.required && + description == o.description && + unified_key == o.unified_key && + type == o.type && + min == o.min && + max == o.max + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [label, required, description, unified_key, type, min, max].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + transformed_hash = {} + openapi_types.each_pair do |key, type| + if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = nil + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[attribute_map[key]].is_a?(Array) + transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) } + end + elsif !attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]]) + end + end + new(transformed_hash) + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + end + +end diff --git a/lib/kombo_client/models/schema2_any_of2.rb b/lib/kombo_client/models/schema2_any_of2.rb new file mode 100644 index 0000000..169fe48 --- /dev/null +++ b/lib/kombo_client/models/schema2_any_of2.rb @@ -0,0 +1,272 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.17.0 + +=end + +require 'date' +require 'time' + +module Kombo + class Schema2AnyOf2 < ApiModelBase + attr_accessor :label + + attr_accessor :required + + attr_accessor :description + + attr_accessor :unified_key + + attr_accessor :type + + class EnumAttributeValidator + attr_reader :datatype + attr_reader :allowable_values + + def initialize(datatype, allowable_values) + @allowable_values = allowable_values.map do |value| + case datatype.to_s + when /Integer/i + value.to_i + when /Float/i + value.to_f + else + value + end + end + end + + def valid?(value) + !value || allowable_values.include?(value) + end + end + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'label' => :'label', + :'required' => :'required', + :'description' => :'description', + :'unified_key' => :'unified_key', + :'type' => :'type' + } + end + + # Returns attribute mapping this model knows about + def self.acceptable_attribute_map + attribute_map + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + acceptable_attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'label' => :'String', + :'required' => :'Boolean', + :'description' => :'String', + :'unified_key' => :'String', + :'type' => :'String' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + :'description', + :'unified_key', + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Kombo::Schema2AnyOf2` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + acceptable_attribute_map = self.class.acceptable_attribute_map + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!acceptable_attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Kombo::Schema2AnyOf2`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'label') + self.label = attributes[:'label'] + else + self.label = nil + end + + if attributes.key?(:'required') + self.required = attributes[:'required'] + else + self.required = nil + end + + if attributes.key?(:'description') + self.description = attributes[:'description'] + end + + if attributes.key?(:'unified_key') + self.unified_key = attributes[:'unified_key'] + end + + if attributes.key?(:'type') + self.type = attributes[:'type'] + else + self.type = nil + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + warn '[DEPRECATED] the `list_invalid_properties` method is obsolete' + invalid_properties = Array.new + if @label.nil? + invalid_properties.push('invalid value for "label", label cannot be nil.') + end + + if @required.nil? + invalid_properties.push('invalid value for "required", required cannot be nil.') + end + + if @type.nil? + invalid_properties.push('invalid value for "type", type cannot be nil.') + end + + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + warn '[DEPRECATED] the `valid?` method is obsolete' + return false if @label.nil? + return false if @required.nil? + unified_key_validator = EnumAttributeValidator.new('String', ["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"]) + return false unless unified_key_validator.valid?(@unified_key) + return false if @type.nil? + type_validator = EnumAttributeValidator.new('String', ["date"]) + return false unless type_validator.valid?(@type) + true + end + + # Custom attribute writer method with validation + # @param [Object] label Value to be assigned + def label=(label) + if label.nil? + fail ArgumentError, 'label cannot be nil' + end + + @label = label + end + + # Custom attribute writer method with validation + # @param [Object] required Value to be assigned + def required=(required) + if required.nil? + fail ArgumentError, 'required cannot be nil' + end + + @required = required + end + + # Custom attribute writer method checking allowed values (enum). + # @param [Object] unified_key Object to be assigned + def unified_key=(unified_key) + validator = EnumAttributeValidator.new('String', ["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"]) + unless validator.valid?(unified_key) + fail ArgumentError, "invalid value for \"unified_key\", must be one of #{validator.allowable_values}." + end + @unified_key = unified_key + end + + # Custom attribute writer method checking allowed values (enum). + # @param [Object] type Object to be assigned + def type=(type) + validator = EnumAttributeValidator.new('String', ["date"]) + unless validator.valid?(type) + fail ArgumentError, "invalid value for \"type\", must be one of #{validator.allowable_values}." + end + @type = type + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + label == o.label && + required == o.required && + description == o.description && + unified_key == o.unified_key && + type == o.type + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [label, required, description, unified_key, type].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + transformed_hash = {} + openapi_types.each_pair do |key, type| + if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = nil + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[attribute_map[key]].is_a?(Array) + transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) } + end + elsif !attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]]) + end + end + new(transformed_hash) + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + end + +end diff --git a/lib/kombo_client/models/schema2_any_of3.rb b/lib/kombo_client/models/schema2_any_of3.rb new file mode 100644 index 0000000..b524100 --- /dev/null +++ b/lib/kombo_client/models/schema2_any_of3.rb @@ -0,0 +1,298 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.17.0 + +=end + +require 'date' +require 'time' + +module Kombo + class Schema2AnyOf3 < ApiModelBase + attr_accessor :label + + attr_accessor :required + + attr_accessor :description + + attr_accessor :unified_key + + attr_accessor :type + + attr_accessor :options + + class EnumAttributeValidator + attr_reader :datatype + attr_reader :allowable_values + + def initialize(datatype, allowable_values) + @allowable_values = allowable_values.map do |value| + case datatype.to_s + when /Integer/i + value.to_i + when /Float/i + value.to_f + else + value + end + end + end + + def valid?(value) + !value || allowable_values.include?(value) + end + end + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'label' => :'label', + :'required' => :'required', + :'description' => :'description', + :'unified_key' => :'unified_key', + :'type' => :'type', + :'options' => :'options' + } + end + + # Returns attribute mapping this model knows about + def self.acceptable_attribute_map + attribute_map + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + acceptable_attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'label' => :'String', + :'required' => :'Boolean', + :'description' => :'String', + :'unified_key' => :'String', + :'type' => :'String', + :'options' => :'Schema2AnyOf3Options' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + :'description', + :'unified_key', + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Kombo::Schema2AnyOf3` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + acceptable_attribute_map = self.class.acceptable_attribute_map + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!acceptable_attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Kombo::Schema2AnyOf3`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'label') + self.label = attributes[:'label'] + else + self.label = nil + end + + if attributes.key?(:'required') + self.required = attributes[:'required'] + else + self.required = nil + end + + if attributes.key?(:'description') + self.description = attributes[:'description'] + end + + if attributes.key?(:'unified_key') + self.unified_key = attributes[:'unified_key'] + end + + if attributes.key?(:'type') + self.type = attributes[:'type'] + else + self.type = nil + end + + if attributes.key?(:'options') + self.options = attributes[:'options'] + else + self.options = nil + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + warn '[DEPRECATED] the `list_invalid_properties` method is obsolete' + invalid_properties = Array.new + if @label.nil? + invalid_properties.push('invalid value for "label", label cannot be nil.') + end + + if @required.nil? + invalid_properties.push('invalid value for "required", required cannot be nil.') + end + + if @type.nil? + invalid_properties.push('invalid value for "type", type cannot be nil.') + end + + if @options.nil? + invalid_properties.push('invalid value for "options", options cannot be nil.') + end + + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + warn '[DEPRECATED] the `valid?` method is obsolete' + return false if @label.nil? + return false if @required.nil? + unified_key_validator = EnumAttributeValidator.new('String', ["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"]) + return false unless unified_key_validator.valid?(@unified_key) + return false if @type.nil? + type_validator = EnumAttributeValidator.new('String', ["single_select"]) + return false unless type_validator.valid?(@type) + return false if @options.nil? + true + end + + # Custom attribute writer method with validation + # @param [Object] label Value to be assigned + def label=(label) + if label.nil? + fail ArgumentError, 'label cannot be nil' + end + + @label = label + end + + # Custom attribute writer method with validation + # @param [Object] required Value to be assigned + def required=(required) + if required.nil? + fail ArgumentError, 'required cannot be nil' + end + + @required = required + end + + # Custom attribute writer method checking allowed values (enum). + # @param [Object] unified_key Object to be assigned + def unified_key=(unified_key) + validator = EnumAttributeValidator.new('String', ["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"]) + unless validator.valid?(unified_key) + fail ArgumentError, "invalid value for \"unified_key\", must be one of #{validator.allowable_values}." + end + @unified_key = unified_key + end + + # Custom attribute writer method checking allowed values (enum). + # @param [Object] type Object to be assigned + def type=(type) + validator = EnumAttributeValidator.new('String', ["single_select"]) + unless validator.valid?(type) + fail ArgumentError, "invalid value for \"type\", must be one of #{validator.allowable_values}." + end + @type = type + end + + # Custom attribute writer method with validation + # @param [Object] options Value to be assigned + def options=(options) + if options.nil? + fail ArgumentError, 'options cannot be nil' + end + + @options = options + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + label == o.label && + required == o.required && + description == o.description && + unified_key == o.unified_key && + type == o.type && + options == o.options + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [label, required, description, unified_key, type, options].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + transformed_hash = {} + openapi_types.each_pair do |key, type| + if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = nil + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[attribute_map[key]].is_a?(Array) + transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) } + end + elsif !attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]]) + end + end + new(transformed_hash) + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + end + +end diff --git a/lib/kombo_client/models/schema2_any_of3_options.rb b/lib/kombo_client/models/schema2_any_of3_options.rb new file mode 100644 index 0000000..ef66381 --- /dev/null +++ b/lib/kombo_client/models/schema2_any_of3_options.rb @@ -0,0 +1,103 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.17.0 + +=end + +require 'date' +require 'time' + +module Kombo + module Schema2AnyOf3Options + class << self + # List of class defined in anyOf (OpenAPI v3) + def openapi_any_of + [ + :'Schema2AnyOf3OptionsAnyOf', + :'Schema2AnyOf3OptionsAnyOf1' + ] + end + + # Builds the object + # @param [Mixed] Data to be matched against the list of anyOf items + # @return [Object] Returns the model or the data itself + def build(data) + # Go through the list of anyOf items and attempt to identify the appropriate one. + # Note: + # - No advanced validation of types in some cases (e.g. "x: { type: string }" will happily match { x: 123 }) + # due to the way the deserialization is made in the base_object template (it just casts without verifying). + # - TODO: scalar values are de facto behaving as if they were nullable. + # - TODO: logging when debugging is set. + openapi_any_of.each do |klass| + begin + next if klass == :AnyType # "nullable: true" + return find_and_cast_into_type(klass, data) + rescue # rescue all errors so we keep iterating even if the current item lookup raises + end + end + + openapi_any_of.include?(:AnyType) ? data : nil + end + + private + + SchemaMismatchError = Class.new(StandardError) + + # Note: 'File' is missing here because in the regular case we get the data _after_ a call to JSON.parse. + def find_and_cast_into_type(klass, data) + return if data.nil? + + case klass.to_s + when 'Boolean' + return data if data.instance_of?(TrueClass) || data.instance_of?(FalseClass) + when 'Float' + return data if data.instance_of?(Float) + when 'Integer' + return data if data.instance_of?(Integer) + when 'Time' + return Time.parse(data) + when 'Date' + return Date.iso8601(data) + when 'String' + return data if data.instance_of?(String) + when 'Object' # "type: object" + return data if data.instance_of?(Hash) + when /\AArray<(?.+)>\z/ # "type: array" + if data.instance_of?(Array) + sub_type = Regexp.last_match[:sub_type] + return data.map { |item| find_and_cast_into_type(sub_type, item) } + end + when /\AHash.+)>\z/ # "type: object" with "additionalProperties: { ... }" + if data.instance_of?(Hash) && data.keys.all? { |k| k.instance_of?(Symbol) || k.instance_of?(String) } + sub_type = Regexp.last_match[:sub_type] + return data.each_with_object({}) { |(k, v), hsh| hsh[k] = find_and_cast_into_type(sub_type, v) } + end + else # model + const = Kombo.const_get(klass) + if const + if const.respond_to?(:openapi_any_of) # nested anyOf model + model = const.build(data) + return model if model + else + # raise if data contains keys that are not known to the model + raise if const.respond_to?(:acceptable_attributes) && !(data.keys - const.acceptable_attributes).empty? + model = const.build_from_hash(data) + return model if model + end + end + end + + raise # if no match by now, raise + rescue + raise SchemaMismatchError, "#{data} doesn't match the #{klass} type" + end + end + end + +end diff --git a/lib/kombo_client/models/schema2_any_of3_options_any_of.rb b/lib/kombo_client/models/schema2_any_of3_options_any_of.rb new file mode 100644 index 0000000..ebba5a6 --- /dev/null +++ b/lib/kombo_client/models/schema2_any_of3_options_any_of.rb @@ -0,0 +1,216 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.17.0 + +=end + +require 'date' +require 'time' + +module Kombo + class Schema2AnyOf3OptionsAnyOf < ApiModelBase + attr_accessor :type + + attr_accessor :entries + + class EnumAttributeValidator + attr_reader :datatype + attr_reader :allowable_values + + def initialize(datatype, allowable_values) + @allowable_values = allowable_values.map do |value| + case datatype.to_s + when /Integer/i + value.to_i + when /Float/i + value.to_f + else + value + end + end + end + + def valid?(value) + !value || allowable_values.include?(value) + end + end + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'type' => :'type', + :'entries' => :'entries' + } + end + + # Returns attribute mapping this model knows about + def self.acceptable_attribute_map + attribute_map + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + acceptable_attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'type' => :'String', + :'entries' => :'Array' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Kombo::Schema2AnyOf3OptionsAnyOf` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + acceptable_attribute_map = self.class.acceptable_attribute_map + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!acceptable_attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Kombo::Schema2AnyOf3OptionsAnyOf`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'type') + self.type = attributes[:'type'] + else + self.type = nil + end + + if attributes.key?(:'entries') + if (value = attributes[:'entries']).is_a?(Array) + self.entries = value + end + else + self.entries = nil + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + warn '[DEPRECATED] the `list_invalid_properties` method is obsolete' + invalid_properties = Array.new + if @type.nil? + invalid_properties.push('invalid value for "type", type cannot be nil.') + end + + if @entries.nil? + invalid_properties.push('invalid value for "entries", entries cannot be nil.') + end + + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + warn '[DEPRECATED] the `valid?` method is obsolete' + return false if @type.nil? + type_validator = EnumAttributeValidator.new('String', ["inline"]) + return false unless type_validator.valid?(@type) + return false if @entries.nil? + true + end + + # Custom attribute writer method checking allowed values (enum). + # @param [Object] type Object to be assigned + def type=(type) + validator = EnumAttributeValidator.new('String', ["inline"]) + unless validator.valid?(type) + fail ArgumentError, "invalid value for \"type\", must be one of #{validator.allowable_values}." + end + @type = type + end + + # Custom attribute writer method with validation + # @param [Object] entries Value to be assigned + def entries=(entries) + if entries.nil? + fail ArgumentError, 'entries cannot be nil' + end + + @entries = entries + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + type == o.type && + entries == o.entries + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [type, entries].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + transformed_hash = {} + openapi_types.each_pair do |key, type| + if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = nil + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[attribute_map[key]].is_a?(Array) + transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) } + end + elsif !attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]]) + end + end + new(transformed_hash) + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + end + +end diff --git a/lib/kombo_client/models/schema2_any_of3_options_any_of1.rb b/lib/kombo_client/models/schema2_any_of3_options_any_of1.rb new file mode 100644 index 0000000..b6194d3 --- /dev/null +++ b/lib/kombo_client/models/schema2_any_of3_options_any_of1.rb @@ -0,0 +1,214 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.17.0 + +=end + +require 'date' +require 'time' + +module Kombo + class Schema2AnyOf3OptionsAnyOf1 < ApiModelBase + attr_accessor :type + + attr_accessor :link + + class EnumAttributeValidator + attr_reader :datatype + attr_reader :allowable_values + + def initialize(datatype, allowable_values) + @allowable_values = allowable_values.map do |value| + case datatype.to_s + when /Integer/i + value.to_i + when /Float/i + value.to_f + else + value + end + end + end + + def valid?(value) + !value || allowable_values.include?(value) + end + end + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'type' => :'type', + :'link' => :'link' + } + end + + # Returns attribute mapping this model knows about + def self.acceptable_attribute_map + attribute_map + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + acceptable_attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'type' => :'String', + :'link' => :'String' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Kombo::Schema2AnyOf3OptionsAnyOf1` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + acceptable_attribute_map = self.class.acceptable_attribute_map + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!acceptable_attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Kombo::Schema2AnyOf3OptionsAnyOf1`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'type') + self.type = attributes[:'type'] + else + self.type = nil + end + + if attributes.key?(:'link') + self.link = attributes[:'link'] + else + self.link = nil + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + warn '[DEPRECATED] the `list_invalid_properties` method is obsolete' + invalid_properties = Array.new + if @type.nil? + invalid_properties.push('invalid value for "type", type cannot be nil.') + end + + if @link.nil? + invalid_properties.push('invalid value for "link", link cannot be nil.') + end + + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + warn '[DEPRECATED] the `valid?` method is obsolete' + return false if @type.nil? + type_validator = EnumAttributeValidator.new('String', ["referenced"]) + return false unless type_validator.valid?(@type) + return false if @link.nil? + true + end + + # Custom attribute writer method checking allowed values (enum). + # @param [Object] type Object to be assigned + def type=(type) + validator = EnumAttributeValidator.new('String', ["referenced"]) + unless validator.valid?(type) + fail ArgumentError, "invalid value for \"type\", must be one of #{validator.allowable_values}." + end + @type = type + end + + # Custom attribute writer method with validation + # @param [Object] link Value to be assigned + def link=(link) + if link.nil? + fail ArgumentError, 'link cannot be nil' + end + + @link = link + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + type == o.type && + link == o.link + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [type, link].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + transformed_hash = {} + openapi_types.each_pair do |key, type| + if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = nil + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[attribute_map[key]].is_a?(Array) + transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) } + end + elsif !attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]]) + end + end + new(transformed_hash) + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + end + +end diff --git a/lib/kombo_client/models/schema2_any_of3_options_any_of_entries_inner.rb b/lib/kombo_client/models/schema2_any_of3_options_any_of_entries_inner.rb new file mode 100644 index 0000000..5c4575e --- /dev/null +++ b/lib/kombo_client/models/schema2_any_of3_options_any_of_entries_inner.rb @@ -0,0 +1,225 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.17.0 + +=end + +require 'date' +require 'time' + +module Kombo + class Schema2AnyOf3OptionsAnyOfEntriesInner < ApiModelBase + attr_accessor :id + + attr_accessor :label + + attr_accessor :unified_value + + attr_accessor :remote_id + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'id' => :'id', + :'label' => :'label', + :'unified_value' => :'unified_value', + :'remote_id' => :'remote_id' + } + end + + # Returns attribute mapping this model knows about + def self.acceptable_attribute_map + attribute_map + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + acceptable_attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'id' => :'String', + :'label' => :'String', + :'unified_value' => :'String', + :'remote_id' => :'Schema2AnyOf3OptionsAnyOfEntriesInnerRemoteId' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Kombo::Schema2AnyOf3OptionsAnyOfEntriesInner` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + acceptable_attribute_map = self.class.acceptable_attribute_map + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!acceptable_attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Kombo::Schema2AnyOf3OptionsAnyOfEntriesInner`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'id') + self.id = attributes[:'id'] + else + self.id = nil + end + + if attributes.key?(:'label') + self.label = attributes[:'label'] + else + self.label = nil + end + + if attributes.key?(:'unified_value') + self.unified_value = attributes[:'unified_value'] + end + + if attributes.key?(:'remote_id') + self.remote_id = attributes[:'remote_id'] + else + self.remote_id = nil + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + warn '[DEPRECATED] the `list_invalid_properties` method is obsolete' + invalid_properties = Array.new + if @id.nil? + invalid_properties.push('invalid value for "id", id cannot be nil.') + end + + if @label.nil? + invalid_properties.push('invalid value for "label", label cannot be nil.') + end + + if @remote_id.nil? + invalid_properties.push('invalid value for "remote_id", remote_id cannot be nil.') + end + + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + warn '[DEPRECATED] the `valid?` method is obsolete' + return false if @id.nil? + return false if @label.nil? + return false if @remote_id.nil? + true + end + + # Custom attribute writer method with validation + # @param [Object] id Value to be assigned + def id=(id) + if id.nil? + fail ArgumentError, 'id cannot be nil' + end + + @id = id + end + + # Custom attribute writer method with validation + # @param [Object] label Value to be assigned + def label=(label) + if label.nil? + fail ArgumentError, 'label cannot be nil' + end + + @label = label + end + + # Custom attribute writer method with validation + # @param [Object] remote_id Value to be assigned + def remote_id=(remote_id) + if remote_id.nil? + fail ArgumentError, 'remote_id cannot be nil' + end + + @remote_id = remote_id + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + id == o.id && + label == o.label && + unified_value == o.unified_value && + remote_id == o.remote_id + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [id, label, unified_value, remote_id].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + transformed_hash = {} + openapi_types.each_pair do |key, type| + if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = nil + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[attribute_map[key]].is_a?(Array) + transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) } + end + elsif !attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]]) + end + end + new(transformed_hash) + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + end + +end diff --git a/lib/kombo_client/models/schema2_any_of3_options_any_of_entries_inner_remote_id.rb b/lib/kombo_client/models/schema2_any_of3_options_any_of_entries_inner_remote_id.rb new file mode 100644 index 0000000..5333619 --- /dev/null +++ b/lib/kombo_client/models/schema2_any_of3_options_any_of_entries_inner_remote_id.rb @@ -0,0 +1,104 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.17.0 + +=end + +require 'date' +require 'time' + +module Kombo + module Schema2AnyOf3OptionsAnyOfEntriesInnerRemoteId + class << self + # List of class defined in oneOf (OpenAPI v3) + def openapi_one_of + [ + :'Float', + :'String' + ] + end + + # Builds the object + # @param [Mixed] Data to be matched against the list of oneOf items + # @return [Object] Returns the model or the data itself + def build(data) + # Go through the list of oneOf items and attempt to identify the appropriate one. + # Note: + # - We do not attempt to check whether exactly one item matches. + # - No advanced validation of types in some cases (e.g. "x: { type: string }" will happily match { x: 123 }) + # due to the way the deserialization is made in the base_object template (it just casts without verifying). + # - TODO: scalar values are de facto behaving as if they were nullable. + # - TODO: logging when debugging is set. + openapi_one_of.each do |klass| + begin + next if klass == :AnyType # "nullable: true" + return find_and_cast_into_type(klass, data) + rescue # rescue all errors so we keep iterating even if the current item lookup raises + end + end + + openapi_one_of.include?(:AnyType) ? data : nil + end + + private + + SchemaMismatchError = Class.new(StandardError) + + # Note: 'File' is missing here because in the regular case we get the data _after_ a call to JSON.parse. + def find_and_cast_into_type(klass, data) + return if data.nil? + + case klass.to_s + when 'Boolean' + return data if data.instance_of?(TrueClass) || data.instance_of?(FalseClass) + when 'Float' + return data if data.instance_of?(Float) + when 'Integer' + return data if data.instance_of?(Integer) + when 'Time' + return Time.parse(data) + when 'Date' + return Date.iso8601(data) + when 'String' + return data if data.instance_of?(String) + when 'Object' # "type: object" + return data if data.instance_of?(Hash) + when /\AArray<(?.+)>\z/ # "type: array" + if data.instance_of?(Array) + sub_type = Regexp.last_match[:sub_type] + return data.map { |item| find_and_cast_into_type(sub_type, item) } + end + when /\AHash.+)>\z/ # "type: object" with "additionalProperties: { ... }" + if data.instance_of?(Hash) && data.keys.all? { |k| k.instance_of?(Symbol) || k.instance_of?(String) } + sub_type = Regexp.last_match[:sub_type] + return data.each_with_object({}) { |(k, v), hsh| hsh[k] = find_and_cast_into_type(sub_type, v) } + end + else # model + const = Kombo.const_get(klass) + if const + if const.respond_to?(:openapi_one_of) # nested oneOf model + model = const.build(data) + return model if model + else + # raise if data contains keys that are not known to the model + raise if const.respond_to?(:acceptable_attributes) && !(data.keys - const.acceptable_attributes).empty? + model = const.build_from_hash(data) + return model if model + end + end + end + + raise # if no match by now, raise + rescue + raise SchemaMismatchError, "#{data} doesn't match the #{klass} type" + end + end + end + +end diff --git a/lib/kombo_client/models/schema2_any_of4.rb b/lib/kombo_client/models/schema2_any_of4.rb new file mode 100644 index 0000000..e731bad --- /dev/null +++ b/lib/kombo_client/models/schema2_any_of4.rb @@ -0,0 +1,336 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.17.0 + +=end + +require 'date' +require 'time' + +module Kombo + class Schema2AnyOf4 < ApiModelBase + attr_accessor :label + + attr_accessor :required + + attr_accessor :description + + attr_accessor :unified_key + + attr_accessor :type + + attr_accessor :min_items + + attr_accessor :max_items + + attr_accessor :options + + class EnumAttributeValidator + attr_reader :datatype + attr_reader :allowable_values + + def initialize(datatype, allowable_values) + @allowable_values = allowable_values.map do |value| + case datatype.to_s + when /Integer/i + value.to_i + when /Float/i + value.to_f + else + value + end + end + end + + def valid?(value) + !value || allowable_values.include?(value) + end + end + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'label' => :'label', + :'required' => :'required', + :'description' => :'description', + :'unified_key' => :'unified_key', + :'type' => :'type', + :'min_items' => :'min_items', + :'max_items' => :'max_items', + :'options' => :'options' + } + end + + # Returns attribute mapping this model knows about + def self.acceptable_attribute_map + attribute_map + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + acceptable_attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'label' => :'String', + :'required' => :'Boolean', + :'description' => :'String', + :'unified_key' => :'String', + :'type' => :'String', + :'min_items' => :'Float', + :'max_items' => :'Float', + :'options' => :'Schema2AnyOf3Options' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + :'description', + :'unified_key', + :'min_items', + :'max_items', + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Kombo::Schema2AnyOf4` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + acceptable_attribute_map = self.class.acceptable_attribute_map + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!acceptable_attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Kombo::Schema2AnyOf4`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'label') + self.label = attributes[:'label'] + else + self.label = nil + end + + if attributes.key?(:'required') + self.required = attributes[:'required'] + else + self.required = nil + end + + if attributes.key?(:'description') + self.description = attributes[:'description'] + end + + if attributes.key?(:'unified_key') + self.unified_key = attributes[:'unified_key'] + end + + if attributes.key?(:'type') + self.type = attributes[:'type'] + else + self.type = nil + end + + if attributes.key?(:'min_items') + self.min_items = attributes[:'min_items'] + end + + if attributes.key?(:'max_items') + self.max_items = attributes[:'max_items'] + end + + if attributes.key?(:'options') + self.options = attributes[:'options'] + else + self.options = nil + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + warn '[DEPRECATED] the `list_invalid_properties` method is obsolete' + invalid_properties = Array.new + if @label.nil? + invalid_properties.push('invalid value for "label", label cannot be nil.') + end + + if @required.nil? + invalid_properties.push('invalid value for "required", required cannot be nil.') + end + + if @type.nil? + invalid_properties.push('invalid value for "type", type cannot be nil.') + end + + if !@min_items.nil? && @min_items < -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + invalid_properties.push('invalid value for "min_items", must be greater than or equal to -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.') + end + + if !@max_items.nil? && @max_items < -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + invalid_properties.push('invalid value for "max_items", must be greater than or equal to -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.') + end + + if @options.nil? + invalid_properties.push('invalid value for "options", options cannot be nil.') + end + + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + warn '[DEPRECATED] the `valid?` method is obsolete' + return false if @label.nil? + return false if @required.nil? + return false if @type.nil? + type_validator = EnumAttributeValidator.new('String', ["multi_select"]) + return false unless type_validator.valid?(@type) + return false if !@min_items.nil? && @min_items < -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + return false if !@max_items.nil? && @max_items < -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + return false if @options.nil? + true + end + + # Custom attribute writer method with validation + # @param [Object] label Value to be assigned + def label=(label) + if label.nil? + fail ArgumentError, 'label cannot be nil' + end + + @label = label + end + + # Custom attribute writer method with validation + # @param [Object] required Value to be assigned + def required=(required) + if required.nil? + fail ArgumentError, 'required cannot be nil' + end + + @required = required + end + + # Custom attribute writer method checking allowed values (enum). + # @param [Object] type Object to be assigned + def type=(type) + validator = EnumAttributeValidator.new('String', ["multi_select"]) + unless validator.valid?(type) + fail ArgumentError, "invalid value for \"type\", must be one of #{validator.allowable_values}." + end + @type = type + end + + # Custom attribute writer method with validation + # @param [Object] min_items Value to be assigned + def min_items=(min_items) + if !min_items.nil? && min_items < -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + fail ArgumentError, 'invalid value for "min_items", must be greater than or equal to -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.' + end + + @min_items = min_items + end + + # Custom attribute writer method with validation + # @param [Object] max_items Value to be assigned + def max_items=(max_items) + if !max_items.nil? && max_items < -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + fail ArgumentError, 'invalid value for "max_items", must be greater than or equal to -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.' + end + + @max_items = max_items + end + + # Custom attribute writer method with validation + # @param [Object] options Value to be assigned + def options=(options) + if options.nil? + fail ArgumentError, 'options cannot be nil' + end + + @options = options + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + label == o.label && + required == o.required && + description == o.description && + unified_key == o.unified_key && + type == o.type && + min_items == o.min_items && + max_items == o.max_items && + options == o.options + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [label, required, description, unified_key, type, min_items, max_items, options].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + transformed_hash = {} + openapi_types.each_pair do |key, type| + if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = nil + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[attribute_map[key]].is_a?(Array) + transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) } + end + elsif !attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]]) + end + end + new(transformed_hash) + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + end + +end diff --git a/lib/kombo_client/models/schema2_any_of5.rb b/lib/kombo_client/models/schema2_any_of5.rb new file mode 100644 index 0000000..cbe7cd2 --- /dev/null +++ b/lib/kombo_client/models/schema2_any_of5.rb @@ -0,0 +1,272 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.17.0 + +=end + +require 'date' +require 'time' + +module Kombo + class Schema2AnyOf5 < ApiModelBase + attr_accessor :label + + attr_accessor :required + + attr_accessor :description + + attr_accessor :unified_key + + attr_accessor :type + + class EnumAttributeValidator + attr_reader :datatype + attr_reader :allowable_values + + def initialize(datatype, allowable_values) + @allowable_values = allowable_values.map do |value| + case datatype.to_s + when /Integer/i + value.to_i + when /Float/i + value.to_f + else + value + end + end + end + + def valid?(value) + !value || allowable_values.include?(value) + end + end + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'label' => :'label', + :'required' => :'required', + :'description' => :'description', + :'unified_key' => :'unified_key', + :'type' => :'type' + } + end + + # Returns attribute mapping this model knows about + def self.acceptable_attribute_map + attribute_map + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + acceptable_attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'label' => :'String', + :'required' => :'Boolean', + :'description' => :'String', + :'unified_key' => :'String', + :'type' => :'String' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + :'description', + :'unified_key', + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Kombo::Schema2AnyOf5` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + acceptable_attribute_map = self.class.acceptable_attribute_map + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!acceptable_attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Kombo::Schema2AnyOf5`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'label') + self.label = attributes[:'label'] + else + self.label = nil + end + + if attributes.key?(:'required') + self.required = attributes[:'required'] + else + self.required = nil + end + + if attributes.key?(:'description') + self.description = attributes[:'description'] + end + + if attributes.key?(:'unified_key') + self.unified_key = attributes[:'unified_key'] + end + + if attributes.key?(:'type') + self.type = attributes[:'type'] + else + self.type = nil + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + warn '[DEPRECATED] the `list_invalid_properties` method is obsolete' + invalid_properties = Array.new + if @label.nil? + invalid_properties.push('invalid value for "label", label cannot be nil.') + end + + if @required.nil? + invalid_properties.push('invalid value for "required", required cannot be nil.') + end + + if @type.nil? + invalid_properties.push('invalid value for "type", type cannot be nil.') + end + + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + warn '[DEPRECATED] the `valid?` method is obsolete' + return false if @label.nil? + return false if @required.nil? + unified_key_validator = EnumAttributeValidator.new('String', ["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"]) + return false unless unified_key_validator.valid?(@unified_key) + return false if @type.nil? + type_validator = EnumAttributeValidator.new('String', ["checkbox"]) + return false unless type_validator.valid?(@type) + true + end + + # Custom attribute writer method with validation + # @param [Object] label Value to be assigned + def label=(label) + if label.nil? + fail ArgumentError, 'label cannot be nil' + end + + @label = label + end + + # Custom attribute writer method with validation + # @param [Object] required Value to be assigned + def required=(required) + if required.nil? + fail ArgumentError, 'required cannot be nil' + end + + @required = required + end + + # Custom attribute writer method checking allowed values (enum). + # @param [Object] unified_key Object to be assigned + def unified_key=(unified_key) + validator = EnumAttributeValidator.new('String', ["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"]) + unless validator.valid?(unified_key) + fail ArgumentError, "invalid value for \"unified_key\", must be one of #{validator.allowable_values}." + end + @unified_key = unified_key + end + + # Custom attribute writer method checking allowed values (enum). + # @param [Object] type Object to be assigned + def type=(type) + validator = EnumAttributeValidator.new('String', ["checkbox"]) + unless validator.valid?(type) + fail ArgumentError, "invalid value for \"type\", must be one of #{validator.allowable_values}." + end + @type = type + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + label == o.label && + required == o.required && + description == o.description && + unified_key == o.unified_key && + type == o.type + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [label, required, description, unified_key, type].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + transformed_hash = {} + openapi_types.each_pair do |key, type| + if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = nil + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[attribute_map[key]].is_a?(Array) + transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) } + end + elsif !attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]]) + end + end + new(transformed_hash) + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + end + +end diff --git a/lib/kombo_client/models/schema2_any_of6.rb b/lib/kombo_client/models/schema2_any_of6.rb new file mode 100644 index 0000000..3f909c9 --- /dev/null +++ b/lib/kombo_client/models/schema2_any_of6.rb @@ -0,0 +1,300 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.17.0 + +=end + +require 'date' +require 'time' + +module Kombo + class Schema2AnyOf6 < ApiModelBase + attr_accessor :label + + attr_accessor :required + + attr_accessor :description + + attr_accessor :unified_key + + attr_accessor :type + + attr_accessor :properties + + class EnumAttributeValidator + attr_reader :datatype + attr_reader :allowable_values + + def initialize(datatype, allowable_values) + @allowable_values = allowable_values.map do |value| + case datatype.to_s + when /Integer/i + value.to_i + when /Float/i + value.to_f + else + value + end + end + end + + def valid?(value) + !value || allowable_values.include?(value) + end + end + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'label' => :'label', + :'required' => :'required', + :'description' => :'description', + :'unified_key' => :'unified_key', + :'type' => :'type', + :'properties' => :'properties' + } + end + + # Returns attribute mapping this model knows about + def self.acceptable_attribute_map + attribute_map + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + acceptable_attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'label' => :'String', + :'required' => :'Boolean', + :'description' => :'String', + :'unified_key' => :'String', + :'type' => :'String', + :'properties' => :'Hash' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + :'description', + :'unified_key', + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Kombo::Schema2AnyOf6` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + acceptable_attribute_map = self.class.acceptable_attribute_map + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!acceptable_attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Kombo::Schema2AnyOf6`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'label') + self.label = attributes[:'label'] + else + self.label = nil + end + + if attributes.key?(:'required') + self.required = attributes[:'required'] + else + self.required = nil + end + + if attributes.key?(:'description') + self.description = attributes[:'description'] + end + + if attributes.key?(:'unified_key') + self.unified_key = attributes[:'unified_key'] + end + + if attributes.key?(:'type') + self.type = attributes[:'type'] + else + self.type = nil + end + + if attributes.key?(:'properties') + if (value = attributes[:'properties']).is_a?(Hash) + self.properties = value + end + else + self.properties = nil + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + warn '[DEPRECATED] the `list_invalid_properties` method is obsolete' + invalid_properties = Array.new + if @label.nil? + invalid_properties.push('invalid value for "label", label cannot be nil.') + end + + if @required.nil? + invalid_properties.push('invalid value for "required", required cannot be nil.') + end + + if @type.nil? + invalid_properties.push('invalid value for "type", type cannot be nil.') + end + + if @properties.nil? + invalid_properties.push('invalid value for "properties", properties cannot be nil.') + end + + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + warn '[DEPRECATED] the `valid?` method is obsolete' + return false if @label.nil? + return false if @required.nil? + unified_key_validator = EnumAttributeValidator.new('String', ["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"]) + return false unless unified_key_validator.valid?(@unified_key) + return false if @type.nil? + type_validator = EnumAttributeValidator.new('String', ["object"]) + return false unless type_validator.valid?(@type) + return false if @properties.nil? + true + end + + # Custom attribute writer method with validation + # @param [Object] label Value to be assigned + def label=(label) + if label.nil? + fail ArgumentError, 'label cannot be nil' + end + + @label = label + end + + # Custom attribute writer method with validation + # @param [Object] required Value to be assigned + def required=(required) + if required.nil? + fail ArgumentError, 'required cannot be nil' + end + + @required = required + end + + # Custom attribute writer method checking allowed values (enum). + # @param [Object] unified_key Object to be assigned + def unified_key=(unified_key) + validator = EnumAttributeValidator.new('String', ["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"]) + unless validator.valid?(unified_key) + fail ArgumentError, "invalid value for \"unified_key\", must be one of #{validator.allowable_values}." + end + @unified_key = unified_key + end + + # Custom attribute writer method checking allowed values (enum). + # @param [Object] type Object to be assigned + def type=(type) + validator = EnumAttributeValidator.new('String', ["object"]) + unless validator.valid?(type) + fail ArgumentError, "invalid value for \"type\", must be one of #{validator.allowable_values}." + end + @type = type + end + + # Custom attribute writer method with validation + # @param [Object] properties Value to be assigned + def properties=(properties) + if properties.nil? + fail ArgumentError, 'properties cannot be nil' + end + + @properties = properties + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + label == o.label && + required == o.required && + description == o.description && + unified_key == o.unified_key && + type == o.type && + properties == o.properties + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [label, required, description, unified_key, type, properties].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + transformed_hash = {} + openapi_types.each_pair do |key, type| + if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = nil + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[attribute_map[key]].is_a?(Array) + transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) } + end + elsif !attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]]) + end + end + new(transformed_hash) + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + end + +end diff --git a/lib/kombo_client/models/schema2_any_of7.rb b/lib/kombo_client/models/schema2_any_of7.rb new file mode 100644 index 0000000..aa5c6b7 --- /dev/null +++ b/lib/kombo_client/models/schema2_any_of7.rb @@ -0,0 +1,348 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.17.0 + +=end + +require 'date' +require 'time' + +module Kombo + class Schema2AnyOf7 < ApiModelBase + attr_accessor :label + + attr_accessor :required + + attr_accessor :description + + attr_accessor :unified_key + + attr_accessor :type + + attr_accessor :item_type + + attr_accessor :min_items + + attr_accessor :max_items + + class EnumAttributeValidator + attr_reader :datatype + attr_reader :allowable_values + + def initialize(datatype, allowable_values) + @allowable_values = allowable_values.map do |value| + case datatype.to_s + when /Integer/i + value.to_i + when /Float/i + value.to_f + else + value + end + end + end + + def valid?(value) + !value || allowable_values.include?(value) + end + end + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'label' => :'label', + :'required' => :'required', + :'description' => :'description', + :'unified_key' => :'unified_key', + :'type' => :'type', + :'item_type' => :'item_type', + :'min_items' => :'min_items', + :'max_items' => :'max_items' + } + end + + # Returns attribute mapping this model knows about + def self.acceptable_attribute_map + attribute_map + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + acceptable_attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'label' => :'String', + :'required' => :'Boolean', + :'description' => :'String', + :'unified_key' => :'String', + :'type' => :'String', + :'item_type' => :'Schema2', + :'min_items' => :'Float', + :'max_items' => :'Float' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + :'description', + :'unified_key', + :'min_items', + :'max_items' + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Kombo::Schema2AnyOf7` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + acceptable_attribute_map = self.class.acceptable_attribute_map + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!acceptable_attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Kombo::Schema2AnyOf7`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'label') + self.label = attributes[:'label'] + else + self.label = nil + end + + if attributes.key?(:'required') + self.required = attributes[:'required'] + else + self.required = nil + end + + if attributes.key?(:'description') + self.description = attributes[:'description'] + end + + if attributes.key?(:'unified_key') + self.unified_key = attributes[:'unified_key'] + end + + if attributes.key?(:'type') + self.type = attributes[:'type'] + else + self.type = nil + end + + if attributes.key?(:'item_type') + self.item_type = attributes[:'item_type'] + else + self.item_type = nil + end + + if attributes.key?(:'min_items') + self.min_items = attributes[:'min_items'] + end + + if attributes.key?(:'max_items') + self.max_items = attributes[:'max_items'] + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + warn '[DEPRECATED] the `list_invalid_properties` method is obsolete' + invalid_properties = Array.new + if @label.nil? + invalid_properties.push('invalid value for "label", label cannot be nil.') + end + + if @required.nil? + invalid_properties.push('invalid value for "required", required cannot be nil.') + end + + if @type.nil? + invalid_properties.push('invalid value for "type", type cannot be nil.') + end + + if @item_type.nil? + invalid_properties.push('invalid value for "item_type", item_type cannot be nil.') + end + + if !@min_items.nil? && @min_items < -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + invalid_properties.push('invalid value for "min_items", must be greater than or equal to -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.') + end + + if !@max_items.nil? && @max_items < -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + invalid_properties.push('invalid value for "max_items", must be greater than or equal to -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.') + end + + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + warn '[DEPRECATED] the `valid?` method is obsolete' + return false if @label.nil? + return false if @required.nil? + unified_key_validator = EnumAttributeValidator.new('String', ["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"]) + return false unless unified_key_validator.valid?(@unified_key) + return false if @type.nil? + type_validator = EnumAttributeValidator.new('String', ["array"]) + return false unless type_validator.valid?(@type) + return false if @item_type.nil? + return false if !@min_items.nil? && @min_items < -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + return false if !@max_items.nil? && @max_items < -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + true + end + + # Custom attribute writer method with validation + # @param [Object] label Value to be assigned + def label=(label) + if label.nil? + fail ArgumentError, 'label cannot be nil' + end + + @label = label + end + + # Custom attribute writer method with validation + # @param [Object] required Value to be assigned + def required=(required) + if required.nil? + fail ArgumentError, 'required cannot be nil' + end + + @required = required + end + + # Custom attribute writer method checking allowed values (enum). + # @param [Object] unified_key Object to be assigned + def unified_key=(unified_key) + validator = EnumAttributeValidator.new('String', ["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"]) + unless validator.valid?(unified_key) + fail ArgumentError, "invalid value for \"unified_key\", must be one of #{validator.allowable_values}." + end + @unified_key = unified_key + end + + # Custom attribute writer method checking allowed values (enum). + # @param [Object] type Object to be assigned + def type=(type) + validator = EnumAttributeValidator.new('String', ["array"]) + unless validator.valid?(type) + fail ArgumentError, "invalid value for \"type\", must be one of #{validator.allowable_values}." + end + @type = type + end + + # Custom attribute writer method with validation + # @param [Object] item_type Value to be assigned + def item_type=(item_type) + if item_type.nil? + fail ArgumentError, 'item_type cannot be nil' + end + + @item_type = item_type + end + + # Custom attribute writer method with validation + # @param [Object] min_items Value to be assigned + def min_items=(min_items) + if !min_items.nil? && min_items < -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + fail ArgumentError, 'invalid value for "min_items", must be greater than or equal to -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.' + end + + @min_items = min_items + end + + # Custom attribute writer method with validation + # @param [Object] max_items Value to be assigned + def max_items=(max_items) + if !max_items.nil? && max_items < -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + fail ArgumentError, 'invalid value for "max_items", must be greater than or equal to -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.' + end + + @max_items = max_items + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + label == o.label && + required == o.required && + description == o.description && + unified_key == o.unified_key && + type == o.type && + item_type == o.item_type && + min_items == o.min_items && + max_items == o.max_items + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [label, required, description, unified_key, type, item_type, min_items, max_items].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + transformed_hash = {} + openapi_types.each_pair do |key, type| + if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = nil + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[attribute_map[key]].is_a?(Array) + transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) } + end + elsif !attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]]) + end + end + new(transformed_hash) + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + end + +end diff --git a/lib/kombo_client/models/schema2_any_of8.rb b/lib/kombo_client/models/schema2_any_of8.rb new file mode 100644 index 0000000..85114b1 --- /dev/null +++ b/lib/kombo_client/models/schema2_any_of8.rb @@ -0,0 +1,298 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.17.0 + +=end + +require 'date' +require 'time' + +module Kombo + class Schema2AnyOf8 < ApiModelBase + attr_accessor :label + + attr_accessor :required + + attr_accessor :description + + attr_accessor :unified_key + + attr_accessor :type + + attr_accessor :file_restrictions + + class EnumAttributeValidator + attr_reader :datatype + attr_reader :allowable_values + + def initialize(datatype, allowable_values) + @allowable_values = allowable_values.map do |value| + case datatype.to_s + when /Integer/i + value.to_i + when /Float/i + value.to_f + else + value + end + end + end + + def valid?(value) + !value || allowable_values.include?(value) + end + end + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'label' => :'label', + :'required' => :'required', + :'description' => :'description', + :'unified_key' => :'unified_key', + :'type' => :'type', + :'file_restrictions' => :'file_restrictions' + } + end + + # Returns attribute mapping this model knows about + def self.acceptable_attribute_map + attribute_map + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + acceptable_attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'label' => :'String', + :'required' => :'Boolean', + :'description' => :'String', + :'unified_key' => :'String', + :'type' => :'String', + :'file_restrictions' => :'Schema2AnyOf8FileRestrictions' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + :'description', + :'unified_key', + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Kombo::Schema2AnyOf8` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + acceptable_attribute_map = self.class.acceptable_attribute_map + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!acceptable_attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Kombo::Schema2AnyOf8`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'label') + self.label = attributes[:'label'] + else + self.label = nil + end + + if attributes.key?(:'required') + self.required = attributes[:'required'] + else + self.required = nil + end + + if attributes.key?(:'description') + self.description = attributes[:'description'] + end + + if attributes.key?(:'unified_key') + self.unified_key = attributes[:'unified_key'] + end + + if attributes.key?(:'type') + self.type = attributes[:'type'] + else + self.type = nil + end + + if attributes.key?(:'file_restrictions') + self.file_restrictions = attributes[:'file_restrictions'] + else + self.file_restrictions = nil + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + warn '[DEPRECATED] the `list_invalid_properties` method is obsolete' + invalid_properties = Array.new + if @label.nil? + invalid_properties.push('invalid value for "label", label cannot be nil.') + end + + if @required.nil? + invalid_properties.push('invalid value for "required", required cannot be nil.') + end + + if @type.nil? + invalid_properties.push('invalid value for "type", type cannot be nil.') + end + + if @file_restrictions.nil? + invalid_properties.push('invalid value for "file_restrictions", file_restrictions cannot be nil.') + end + + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + warn '[DEPRECATED] the `valid?` method is obsolete' + return false if @label.nil? + return false if @required.nil? + unified_key_validator = EnumAttributeValidator.new('String', ["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"]) + return false unless unified_key_validator.valid?(@unified_key) + return false if @type.nil? + type_validator = EnumAttributeValidator.new('String', ["file"]) + return false unless type_validator.valid?(@type) + return false if @file_restrictions.nil? + true + end + + # Custom attribute writer method with validation + # @param [Object] label Value to be assigned + def label=(label) + if label.nil? + fail ArgumentError, 'label cannot be nil' + end + + @label = label + end + + # Custom attribute writer method with validation + # @param [Object] required Value to be assigned + def required=(required) + if required.nil? + fail ArgumentError, 'required cannot be nil' + end + + @required = required + end + + # Custom attribute writer method checking allowed values (enum). + # @param [Object] unified_key Object to be assigned + def unified_key=(unified_key) + validator = EnumAttributeValidator.new('String', ["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"]) + unless validator.valid?(unified_key) + fail ArgumentError, "invalid value for \"unified_key\", must be one of #{validator.allowable_values}." + end + @unified_key = unified_key + end + + # Custom attribute writer method checking allowed values (enum). + # @param [Object] type Object to be assigned + def type=(type) + validator = EnumAttributeValidator.new('String', ["file"]) + unless validator.valid?(type) + fail ArgumentError, "invalid value for \"type\", must be one of #{validator.allowable_values}." + end + @type = type + end + + # Custom attribute writer method with validation + # @param [Object] file_restrictions Value to be assigned + def file_restrictions=(file_restrictions) + if file_restrictions.nil? + fail ArgumentError, 'file_restrictions cannot be nil' + end + + @file_restrictions = file_restrictions + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + label == o.label && + required == o.required && + description == o.description && + unified_key == o.unified_key && + type == o.type && + file_restrictions == o.file_restrictions + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [label, required, description, unified_key, type, file_restrictions].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + transformed_hash = {} + openapi_types.each_pair do |key, type| + if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = nil + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[attribute_map[key]].is_a?(Array) + transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) } + end + elsif !attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]]) + end + end + new(transformed_hash) + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + end + +end diff --git a/lib/kombo_client/models/schema2_any_of8_file_restrictions.rb b/lib/kombo_client/models/schema2_any_of8_file_restrictions.rb new file mode 100644 index 0000000..0850897 --- /dev/null +++ b/lib/kombo_client/models/schema2_any_of8_file_restrictions.rb @@ -0,0 +1,191 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.17.0 + +=end + +require 'date' +require 'time' + +module Kombo + class Schema2AnyOf8FileRestrictions < ApiModelBase + attr_accessor :accepted_mime_types + + attr_accessor :max_file_size + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'accepted_mime_types' => :'accepted_mime_types', + :'max_file_size' => :'max_file_size' + } + end + + # Returns attribute mapping this model knows about + def self.acceptable_attribute_map + attribute_map + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + acceptable_attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'accepted_mime_types' => :'Array', + :'max_file_size' => :'Float' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + :'max_file_size' + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Kombo::Schema2AnyOf8FileRestrictions` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + acceptable_attribute_map = self.class.acceptable_attribute_map + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!acceptable_attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Kombo::Schema2AnyOf8FileRestrictions`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'accepted_mime_types') + if (value = attributes[:'accepted_mime_types']).is_a?(Array) + self.accepted_mime_types = value + end + else + self.accepted_mime_types = nil + end + + if attributes.key?(:'max_file_size') + self.max_file_size = attributes[:'max_file_size'] + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + warn '[DEPRECATED] the `list_invalid_properties` method is obsolete' + invalid_properties = Array.new + if @accepted_mime_types.nil? + invalid_properties.push('invalid value for "accepted_mime_types", accepted_mime_types cannot be nil.') + end + + if !@max_file_size.nil? && @max_file_size < -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + invalid_properties.push('invalid value for "max_file_size", must be greater than or equal to -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.') + end + + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + warn '[DEPRECATED] the `valid?` method is obsolete' + return false if @accepted_mime_types.nil? + return false if !@max_file_size.nil? && @max_file_size < -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + true + end + + # Custom attribute writer method with validation + # @param [Object] accepted_mime_types Value to be assigned + def accepted_mime_types=(accepted_mime_types) + if accepted_mime_types.nil? + fail ArgumentError, 'accepted_mime_types cannot be nil' + end + + @accepted_mime_types = accepted_mime_types + end + + # Custom attribute writer method with validation + # @param [Object] max_file_size Value to be assigned + def max_file_size=(max_file_size) + if !max_file_size.nil? && max_file_size < -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + fail ArgumentError, 'invalid value for "max_file_size", must be greater than or equal to -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.' + end + + @max_file_size = max_file_size + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + accepted_mime_types == o.accepted_mime_types && + max_file_size == o.max_file_size + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [accepted_mime_types, max_file_size].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + transformed_hash = {} + openapi_types.each_pair do |key, type| + if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = nil + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[attribute_map[key]].is_a?(Array) + transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) } + end + elsif !attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]]) + end + end + new(transformed_hash) + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + end + +end diff --git a/lib/kombo_client/models/schema4.rb b/lib/kombo_client/models/schema4.rb new file mode 100644 index 0000000..8e7abf9 --- /dev/null +++ b/lib/kombo_client/models/schema4.rb @@ -0,0 +1,107 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.17.0 + +=end + +require 'date' +require 'time' + +module Kombo + module Schema4 + class << self + # List of class defined in oneOf (OpenAPI v3) + def openapi_one_of + [ + :'Array', + :'Boolean', + :'Float', + :'Hash', + :'String' + ] + end + + # Builds the object + # @param [Mixed] Data to be matched against the list of oneOf items + # @return [Object] Returns the model or the data itself + def build(data) + # Go through the list of oneOf items and attempt to identify the appropriate one. + # Note: + # - We do not attempt to check whether exactly one item matches. + # - No advanced validation of types in some cases (e.g. "x: { type: string }" will happily match { x: 123 }) + # due to the way the deserialization is made in the base_object template (it just casts without verifying). + # - TODO: scalar values are de facto behaving as if they were nullable. + # - TODO: logging when debugging is set. + openapi_one_of.each do |klass| + begin + next if klass == :AnyType # "nullable: true" + return find_and_cast_into_type(klass, data) + rescue # rescue all errors so we keep iterating even if the current item lookup raises + end + end + + openapi_one_of.include?(:AnyType) ? data : nil + end + + private + + SchemaMismatchError = Class.new(StandardError) + + # Note: 'File' is missing here because in the regular case we get the data _after_ a call to JSON.parse. + def find_and_cast_into_type(klass, data) + return if data.nil? + + case klass.to_s + when 'Boolean' + return data if data.instance_of?(TrueClass) || data.instance_of?(FalseClass) + when 'Float' + return data if data.instance_of?(Float) + when 'Integer' + return data if data.instance_of?(Integer) + when 'Time' + return Time.parse(data) + when 'Date' + return Date.iso8601(data) + when 'String' + return data if data.instance_of?(String) + when 'Object' # "type: object" + return data if data.instance_of?(Hash) + when /\AArray<(?.+)>\z/ # "type: array" + if data.instance_of?(Array) + sub_type = Regexp.last_match[:sub_type] + return data.map { |item| find_and_cast_into_type(sub_type, item) } + end + when /\AHash.+)>\z/ # "type: object" with "additionalProperties: { ... }" + if data.instance_of?(Hash) && data.keys.all? { |k| k.instance_of?(Symbol) || k.instance_of?(String) } + sub_type = Regexp.last_match[:sub_type] + return data.each_with_object({}) { |(k, v), hsh| hsh[k] = find_and_cast_into_type(sub_type, v) } + end + else # model + const = Kombo.const_get(klass) + if const + if const.respond_to?(:openapi_one_of) # nested oneOf model + model = const.build(data) + return model if model + else + # raise if data contains keys that are not known to the model + raise if const.respond_to?(:acceptable_attributes) && !(data.keys - const.acceptable_attributes).empty? + model = const.build_from_hash(data) + return model if model + end + end + end + + raise # if no match by now, raise + rescue + raise SchemaMismatchError, "#{data} doesn't match the #{klass} type" + end + end + end + +end diff --git a/lib/kombo_client/models/sync_finished_webhook_payload.rb b/lib/kombo_client/models/sync_finished_webhook_payload.rb new file mode 100644 index 0000000..8e34595 --- /dev/null +++ b/lib/kombo_client/models/sync_finished_webhook_payload.rb @@ -0,0 +1,242 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.17.0 + +=end + +require 'date' +require 'time' + +module Kombo + class SyncFinishedWebhookPayload < ApiModelBase + # Unique identifier for this webhook event + attr_accessor :id + + # Type of the webhook event + attr_accessor :type + + attr_accessor :data + + class EnumAttributeValidator + attr_reader :datatype + attr_reader :allowable_values + + def initialize(datatype, allowable_values) + @allowable_values = allowable_values.map do |value| + case datatype.to_s + when /Integer/i + value.to_i + when /Float/i + value.to_f + else + value + end + end + end + + def valid?(value) + !value || allowable_values.include?(value) + end + end + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'id' => :'id', + :'type' => :'type', + :'data' => :'data' + } + end + + # Returns attribute mapping this model knows about + def self.acceptable_attribute_map + attribute_map + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + acceptable_attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'id' => :'String', + :'type' => :'String', + :'data' => :'SyncFinishedWebhookPayloadData' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Kombo::SyncFinishedWebhookPayload` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + acceptable_attribute_map = self.class.acceptable_attribute_map + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!acceptable_attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Kombo::SyncFinishedWebhookPayload`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'id') + self.id = attributes[:'id'] + else + self.id = nil + end + + if attributes.key?(:'type') + self.type = attributes[:'type'] + else + self.type = nil + end + + if attributes.key?(:'data') + self.data = attributes[:'data'] + else + self.data = nil + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + warn '[DEPRECATED] the `list_invalid_properties` method is obsolete' + invalid_properties = Array.new + if @id.nil? + invalid_properties.push('invalid value for "id", id cannot be nil.') + end + + if @type.nil? + invalid_properties.push('invalid value for "type", type cannot be nil.') + end + + if @data.nil? + invalid_properties.push('invalid value for "data", data cannot be nil.') + end + + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + warn '[DEPRECATED] the `valid?` method is obsolete' + return false if @id.nil? + return false if @type.nil? + type_validator = EnumAttributeValidator.new('String', ["sync-finished"]) + return false unless type_validator.valid?(@type) + return false if @data.nil? + true + end + + # Custom attribute writer method with validation + # @param [Object] id Value to be assigned + def id=(id) + if id.nil? + fail ArgumentError, 'id cannot be nil' + end + + @id = id + end + + # Custom attribute writer method checking allowed values (enum). + # @param [Object] type Object to be assigned + def type=(type) + validator = EnumAttributeValidator.new('String', ["sync-finished"]) + unless validator.valid?(type) + fail ArgumentError, "invalid value for \"type\", must be one of #{validator.allowable_values}." + end + @type = type + end + + # Custom attribute writer method with validation + # @param [Object] data Value to be assigned + def data=(data) + if data.nil? + fail ArgumentError, 'data cannot be nil' + end + + @data = data + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + id == o.id && + type == o.type && + data == o.data + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [id, type, data].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + transformed_hash = {} + openapi_types.each_pair do |key, type| + if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = nil + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[attribute_map[key]].is_a?(Array) + transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) } + end + elsif !attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]]) + end + end + new(transformed_hash) + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + end + +end diff --git a/lib/kombo_client/models/sync_finished_webhook_payload_data.rb b/lib/kombo_client/models/sync_finished_webhook_payload_data.rb new file mode 100644 index 0000000..fd52eb0 --- /dev/null +++ b/lib/kombo_client/models/sync_finished_webhook_payload_data.rb @@ -0,0 +1,440 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.17.0 + +=end + +require 'date' +require 'time' + +module Kombo + class SyncFinishedWebhookPayloadData < ApiModelBase + # The unique identifier of the sync operation. + attr_accessor :sync_id + + # The final state of the sync operation (e.g., `SUCCEEDED`, `FAILED`). + attr_accessor :sync_state + + # ISO 8601 timestamp when the sync operation started. + attr_accessor :sync_started_at + + # ISO 8601 timestamp when the sync operation completed. + attr_accessor :sync_ended_at + + # Duration of the sync operation in seconds. + attr_accessor :sync_duration_seconds + + # The unique identifier of the integration. + attr_accessor :integration_id + + # The name of the integrated tool (e.g., \"personio\", \"greenhouse\"). + attr_accessor :integration_tool + + # The category of the integration (HRIS, ATS, or ASSESSMENT). + attr_accessor :integration_category + + attr_accessor :end_user + + # URL to view detailed logs for the operation. + attr_accessor :log_url + + class EnumAttributeValidator + attr_reader :datatype + attr_reader :allowable_values + + def initialize(datatype, allowable_values) + @allowable_values = allowable_values.map do |value| + case datatype.to_s + when /Integer/i + value.to_i + when /Float/i + value.to_f + else + value + end + end + end + + def valid?(value) + !value || allowable_values.include?(value) + end + end + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'sync_id' => :'sync_id', + :'sync_state' => :'sync_state', + :'sync_started_at' => :'sync_started_at', + :'sync_ended_at' => :'sync_ended_at', + :'sync_duration_seconds' => :'sync_duration_seconds', + :'integration_id' => :'integration_id', + :'integration_tool' => :'integration_tool', + :'integration_category' => :'integration_category', + :'end_user' => :'end_user', + :'log_url' => :'log_url' + } + end + + # Returns attribute mapping this model knows about + def self.acceptable_attribute_map + attribute_map + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + acceptable_attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'sync_id' => :'String', + :'sync_state' => :'String', + :'sync_started_at' => :'Time', + :'sync_ended_at' => :'Time', + :'sync_duration_seconds' => :'Integer', + :'integration_id' => :'String', + :'integration_tool' => :'String', + :'integration_category' => :'String', + :'end_user' => :'ConnectionFlowFailedWebhookPayloadDataEndUser', + :'log_url' => :'String' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Kombo::SyncFinishedWebhookPayloadData` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + acceptable_attribute_map = self.class.acceptable_attribute_map + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!acceptable_attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Kombo::SyncFinishedWebhookPayloadData`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'sync_id') + self.sync_id = attributes[:'sync_id'] + else + self.sync_id = nil + end + + if attributes.key?(:'sync_state') + self.sync_state = attributes[:'sync_state'] + else + self.sync_state = nil + end + + if attributes.key?(:'sync_started_at') + self.sync_started_at = attributes[:'sync_started_at'] + else + self.sync_started_at = nil + end + + if attributes.key?(:'sync_ended_at') + self.sync_ended_at = attributes[:'sync_ended_at'] + else + self.sync_ended_at = nil + end + + if attributes.key?(:'sync_duration_seconds') + self.sync_duration_seconds = attributes[:'sync_duration_seconds'] + else + self.sync_duration_seconds = nil + end + + if attributes.key?(:'integration_id') + self.integration_id = attributes[:'integration_id'] + else + self.integration_id = nil + end + + if attributes.key?(:'integration_tool') + self.integration_tool = attributes[:'integration_tool'] + else + self.integration_tool = nil + end + + if attributes.key?(:'integration_category') + self.integration_category = attributes[:'integration_category'] + else + self.integration_category = nil + end + + if attributes.key?(:'end_user') + self.end_user = attributes[:'end_user'] + else + self.end_user = nil + end + + if attributes.key?(:'log_url') + self.log_url = attributes[:'log_url'] + else + self.log_url = nil + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + warn '[DEPRECATED] the `list_invalid_properties` method is obsolete' + invalid_properties = Array.new + if @sync_id.nil? + invalid_properties.push('invalid value for "sync_id", sync_id cannot be nil.') + end + + if @sync_state.nil? + invalid_properties.push('invalid value for "sync_state", sync_state cannot be nil.') + end + + if @sync_started_at.nil? + invalid_properties.push('invalid value for "sync_started_at", sync_started_at cannot be nil.') + end + + if @sync_ended_at.nil? + invalid_properties.push('invalid value for "sync_ended_at", sync_ended_at cannot be nil.') + end + + if @sync_duration_seconds.nil? + invalid_properties.push('invalid value for "sync_duration_seconds", sync_duration_seconds cannot be nil.') + end + + if @sync_duration_seconds < 0 + invalid_properties.push('invalid value for "sync_duration_seconds", must be greater than or equal to 0.') + end + + if @integration_id.nil? + invalid_properties.push('invalid value for "integration_id", integration_id cannot be nil.') + end + + if @integration_tool.nil? + invalid_properties.push('invalid value for "integration_tool", integration_tool cannot be nil.') + end + + if @integration_category.nil? + invalid_properties.push('invalid value for "integration_category", integration_category cannot be nil.') + end + + if @end_user.nil? + invalid_properties.push('invalid value for "end_user", end_user cannot be nil.') + end + + if @log_url.nil? + invalid_properties.push('invalid value for "log_url", log_url cannot be nil.') + end + + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + warn '[DEPRECATED] the `valid?` method is obsolete' + return false if @sync_id.nil? + return false if @sync_state.nil? + return false if @sync_started_at.nil? + return false if @sync_ended_at.nil? + return false if @sync_duration_seconds.nil? + return false if @sync_duration_seconds < 0 + return false if @integration_id.nil? + return false if @integration_tool.nil? + return false if @integration_category.nil? + integration_category_validator = EnumAttributeValidator.new('String', ["HRIS", "ATS", "ASSESSMENT"]) + return false unless integration_category_validator.valid?(@integration_category) + return false if @end_user.nil? + return false if @log_url.nil? + true + end + + # Custom attribute writer method with validation + # @param [Object] sync_id Value to be assigned + def sync_id=(sync_id) + if sync_id.nil? + fail ArgumentError, 'sync_id cannot be nil' + end + + @sync_id = sync_id + end + + # Custom attribute writer method with validation + # @param [Object] sync_state Value to be assigned + def sync_state=(sync_state) + if sync_state.nil? + fail ArgumentError, 'sync_state cannot be nil' + end + + @sync_state = sync_state + end + + # Custom attribute writer method with validation + # @param [Object] sync_started_at Value to be assigned + def sync_started_at=(sync_started_at) + if sync_started_at.nil? + fail ArgumentError, 'sync_started_at cannot be nil' + end + + @sync_started_at = sync_started_at + end + + # Custom attribute writer method with validation + # @param [Object] sync_ended_at Value to be assigned + def sync_ended_at=(sync_ended_at) + if sync_ended_at.nil? + fail ArgumentError, 'sync_ended_at cannot be nil' + end + + @sync_ended_at = sync_ended_at + end + + # Custom attribute writer method with validation + # @param [Object] sync_duration_seconds Value to be assigned + def sync_duration_seconds=(sync_duration_seconds) + if sync_duration_seconds.nil? + fail ArgumentError, 'sync_duration_seconds cannot be nil' + end + + if sync_duration_seconds < 0 + fail ArgumentError, 'invalid value for "sync_duration_seconds", must be greater than or equal to 0.' + end + + @sync_duration_seconds = sync_duration_seconds + end + + # Custom attribute writer method with validation + # @param [Object] integration_id Value to be assigned + def integration_id=(integration_id) + if integration_id.nil? + fail ArgumentError, 'integration_id cannot be nil' + end + + @integration_id = integration_id + end + + # Custom attribute writer method with validation + # @param [Object] integration_tool Value to be assigned + def integration_tool=(integration_tool) + if integration_tool.nil? + fail ArgumentError, 'integration_tool cannot be nil' + end + + @integration_tool = integration_tool + end + + # Custom attribute writer method checking allowed values (enum). + # @param [Object] integration_category Object to be assigned + def integration_category=(integration_category) + validator = EnumAttributeValidator.new('String', ["HRIS", "ATS", "ASSESSMENT"]) + unless validator.valid?(integration_category) + fail ArgumentError, "invalid value for \"integration_category\", must be one of #{validator.allowable_values}." + end + @integration_category = integration_category + end + + # Custom attribute writer method with validation + # @param [Object] end_user Value to be assigned + def end_user=(end_user) + if end_user.nil? + fail ArgumentError, 'end_user cannot be nil' + end + + @end_user = end_user + end + + # Custom attribute writer method with validation + # @param [Object] log_url Value to be assigned + def log_url=(log_url) + if log_url.nil? + fail ArgumentError, 'log_url cannot be nil' + end + + @log_url = log_url + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + sync_id == o.sync_id && + sync_state == o.sync_state && + sync_started_at == o.sync_started_at && + sync_ended_at == o.sync_ended_at && + sync_duration_seconds == o.sync_duration_seconds && + integration_id == o.integration_id && + integration_tool == o.integration_tool && + integration_category == o.integration_category && + end_user == o.end_user && + log_url == o.log_url + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [sync_id, sync_state, sync_started_at, sync_ended_at, sync_duration_seconds, integration_id, integration_tool, integration_category, end_user, log_url].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + transformed_hash = {} + openapi_types.each_pair do |key, type| + if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = nil + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[attribute_map[key]].is_a?(Array) + transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) } + end + elsif !attributes[attribute_map[key]].nil? + transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]]) + end + end + new(transformed_hash) + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + end + +end diff --git a/lib/kombo_client/version.rb b/lib/kombo_client/version.rb new file mode 100644 index 0000000..060a5d1 --- /dev/null +++ b/lib/kombo_client/version.rb @@ -0,0 +1,15 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.17.0 + +=end + +module Kombo + VERSION = '' +end diff --git a/spec/api/ai_apply_api_spec.rb b/spec/api/ai_apply_api_spec.rb new file mode 100644 index 0000000..4d6420f --- /dev/null +++ b/spec/api/ai_apply_api_spec.rb @@ -0,0 +1,172 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.13.0 + +=end + +require 'spec_helper' +require 'json' + +# Unit tests for Kombo::AIApplyApi +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe 'AIApplyApi' do + before do + # run before each test + @api_instance = Kombo::AIApplyApi.new + end + + after do + # run after each test + end + + describe 'test an instance of AIApplyApi' do + it 'should create an instance of AIApplyApi' do + expect(@api_instance).to be_instance_of(Kombo::AIApplyApi) + end + end + + # unit tests for get_ai_apply_applications + # Get applications + # Get all applications. + # @param [Hash] opts the optional parameters + # @option opts [String] :cursor An optional cursor string used for pagination. This can be retrieved from the `next` property of the previous page response. + # @option opts [Integer] :page_size The number of results to return per page. Maximum is 250. + # @option opts [String] :ids Filter by a comma-separated list of IDs such as `222k7eCGyUdgt2JWZDNnkDs3,B5DVmypWENfU6eMe6gYDyJG3`. + # @option opts [String] :job_posting_ids Filter by a comma-separated list of job posting IDs such as `89V6GEKpdZwqbxQz59n1ftFb,kcGHREEXCMF26Yhpuyh1gDVE`. + # @return [GetAiApplyApplicationsPositiveResponse] + describe 'get_ai_apply_applications test' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + # unit tests for get_ai_apply_career_sites + # Get career sites + # Get all career sites. + # @param [Hash] opts the optional parameters + # @option opts [String] :cursor An optional cursor string used for pagination. This can be retrieved from the `next` property of the previous page response. + # @option opts [Integer] :page_size The number of results to return per page. Maximum is 250. + # @option opts [String] :ids Filter by a comma-separated list of IDs such as `222k7eCGyUdgt2JWZDNnkDs3,B5DVmypWENfU6eMe6gYDyJG3`. + # @return [GetAiApplyCareerSitesPositiveResponse] + describe 'get_ai_apply_career_sites test' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + # unit tests for get_ai_apply_postings + # Get job postings + # Get all job postings. To get the application form and submit applications, use the POST /postings/:id/inquire endpoint. + # @param [Hash] opts the optional parameters + # @option opts [String] :cursor An optional cursor string used for pagination. This can be retrieved from the `next` property of the previous page response. + # @option opts [Integer] :page_size The number of results to return per page. Maximum is 250. + # @option opts [String] :ids Filter by a comma-separated list of IDs such as `222k7eCGyUdgt2JWZDNnkDs3,B5DVmypWENfU6eMe6gYDyJG3`. + # @option opts [String] :career_site_ids Filter by a comma-separated list of career site IDs such as `A8m9k9RhjNokMfRTWtpQ99VtH,rCbkAA3pvcKjsFYwEeXtCQkc`. + # @option opts [String] :job_codes Filter by a comma-separated list of job codes such as `ACME_13,ACME_14`. + # @return [GetAiApplyPostingsPositiveResponse] + describe 'get_ai_apply_postings test' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + # unit tests for get_ai_apply_unified_api_jobs + # 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. + # @param [Hash] opts the optional parameters + # @option opts [String] :cursor An optional cursor string used for pagination. This can be retrieved from the `next` property of the previous page response. + # @option opts [Integer] :page_size The number of results to return per page. Maximum is 5. + # @option opts [String] :ids Filter by a comma-separated list of IDs such as `222k7eCGyUdgt2JWZDNnkDs3,B5DVmypWENfU6eMe6gYDyJG3`. + # @option opts [String] :remote_ids 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. + # @option opts [String] :job_codes Filter by a comma-separated list of job codes such as `ACME_12,ACME_14`. + # @option opts [String] :career_site_ids Filter by a comma-separated list of career site IDs such as `A8m9k9RhjNokMfRTWtpQ99VtH,rCbkAA3pvcKjsFYwEeXtCQkc`. + # @return [GetAiApplyUnifiedApiJobsPositiveResponse] + describe 'get_ai_apply_unified_api_jobs test' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + # unit tests for post_ai_apply_apply + # 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. + # @param [Hash] opts the optional parameters + # @option opts [PostAiApplyApplyRequestBody] :post_ai_apply_apply_request_body POST /ai-apply/apply Request body + # @return [PostAiApplyApplyPositiveResponse] + describe 'post_ai_apply_apply test' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + # unit tests for post_ai_apply_career_sites + # 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. + # @param [Hash] opts the optional parameters + # @option opts [PostAiApplyCareerSitesRequestBody] :post_ai_apply_career_sites_request_body POST /ai-apply/career-sites Request body + # @return [PostAiApplyCareerSitesPositiveResponse] + describe 'post_ai_apply_career_sites test' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + # unit tests for post_ai_apply_postings + # Parse a job posting + # Submit a job posting URL to be parsed asynchronously. Returns ID to track progress. + # @param [Hash] opts the optional parameters + # @option opts [PostAiApplyPostingsRequestBody] :post_ai_apply_postings_request_body POST /ai-apply/postings Request body + # @return [PostAiApplyPostingsPositiveResponse] + describe 'post_ai_apply_postings test' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + # unit tests for post_ai_apply_postings_posting_id_inquire + # 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). + # @param posting_id The globally unique ID of this object generated by Kombo. We recommend using this as a stable primary key for syncing. + # @param [Hash] opts the optional parameters + # @option opts [Object] :body POST /ai-apply/postings/:posting_id/inquire Request body + # @return [PostAiApplyPostingsPostingIdInquirePositiveResponse] + describe 'post_ai_apply_postings_posting_id_inquire test' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + # unit tests for post_ai_apply_postings_posting_id_parse + # Re-parse an existing job posting + # Trigger re-parsing of an already parsed job posting. + # @param posting_id The ID of the job posting to parse a new revision for + # @param [Hash] opts the optional parameters + # @option opts [Object] :body POST /ai-apply/postings/:posting_id/parse Request body + # @return [PostAiApplyPostingsPostingIdParsePositiveResponse] + describe 'post_ai_apply_postings_posting_id_parse test' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + # unit tests for post_ai_apply_unified_api_jobs_job_id_applications + # 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. + # @param job_id 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. + # @param [Hash] opts the optional parameters + # @option opts [PostAiApplyUnifiedApiJobsJobIdApplicationsRequestBody] :post_ai_apply_unified_api_jobs_job_id_applications_request_body POST /ai-apply/unified-api/jobs/:job_id/applications Request body + # @return [PostAiApplyUnifiedApiJobsJobIdApplicationsPositiveResponse] + describe 'post_ai_apply_unified_api_jobs_job_id_applications test' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/api/custom_endpoints_api_spec.rb b/spec/api/custom_endpoints_api_spec.rb new file mode 100644 index 0000000..acdc55a --- /dev/null +++ b/spec/api/custom_endpoints_api_spec.rb @@ -0,0 +1,243 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.13.0 + +=end + +require 'spec_helper' +require 'json' + +# Unit tests for Kombo::CustomEndpointsApi +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe 'CustomEndpointsApi' do + before do + # run before each test + @api_instance = Kombo::CustomEndpointsApi.new + end + + after do + # run after each test + end + + describe 'test an instance of CustomEndpointsApi' do + it 'should create an instance of CustomEndpointsApi' do + expect(@api_instance).to be_instance_of(Kombo::CustomEndpointsApi) + end + end + + # unit tests for get_custom_datev_available_documents + # Retrieve available documents + # Use this endpoint to get all available documents for a specific period. + # @param x_integration_id ID of the integration you want to interact with. + # @param period Provide the period in the format YYYY-MM-DD for which to check for available documents. + # @param [Hash] opts the optional parameters + # @return [GetCustomDatevAvailableDocumentsPositiveResponse] + describe 'get_custom_datev_available_documents test' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + # unit tests for get_custom_datev_check_document_permission + # Verify service is enabled + # This endpoint returns the available document types for this DATEV integration. + # @param x_integration_id ID of the integration you want to interact with. + # @param [Hash] opts the optional parameters + # @return [GetCustomDatevCheckDocumentPermissionPositiveResponse] + describe 'get_custom_datev_check_document_permission test' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + # unit tests for get_custom_datev_check_eau_permission + # Verify service is enabled + # This endpoint validates that this DATEV integration is ready to use the eAU feature. + # @param x_integration_id ID of the integration you want to interact with. + # @param [Hash] opts the optional parameters + # @return [GetCustomDatevCheckEauPermissionPositiveResponse] + describe 'get_custom_datev_check_eau_permission test' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + # unit tests for get_custom_datev_check_write_permission + # Verify service is enabled + # This endpoint returns whether you can write to this DATEV integration. + # @param x_integration_id ID of the integration you want to interact with. + # @param [Hash] opts the optional parameters + # @return [GetCustomDatevCheckWritePermissionPositiveResponse] + describe 'get_custom_datev_check_write_permission test' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + # unit tests for get_custom_datev_data_pushes + # 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. + # @param x_integration_id ID of the integration you want to interact with. + # @param [Hash] opts the optional parameters + # @return [GetCustomDatevDataPushesPositiveResponse] + describe 'get_custom_datev_data_pushes test' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + # unit tests for get_custom_datev_eau_requests_eau_id + # Query the status of the eAU request + # This endpoint queries the status of the eAU request for the given DATEV integration. + # @param x_integration_id ID of the integration you want to interact with. + # @param eau_id GET /custom/datev/eau-requests/:eau_id Parameter + # @param [Hash] opts the optional parameters + # @return [GetCustomDatevEauRequestsEauIdPositiveResponse] + describe 'get_custom_datev_eau_requests_eau_id test' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + # unit tests for get_custom_datev_system_information + # 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. + # @param x_integration_id ID of the integration you want to interact with. + # @param [Hash] opts the optional parameters + # @return [GetCustomDatevSystemInformationPositiveResponse] + describe 'get_custom_datev_system_information test' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + # unit tests for post_custom_datev_download_document + # Download Payroll Document + # Download a document from DATEV <Note> This endpoint requires the permission **Manage documents** to be enabled in [your scope config](/scopes). </Note> ### Example Request Body ```json { \"accounting_month\": \"2001-12-01\", \"document_type\": \"LOJE\", \"employee_id\": null } ``` + # @param x_integration_id ID of the integration you want to interact with. + # @param [Hash] opts the optional parameters + # @option opts [PostCustomDatevDownloadDocumentRequestBody] :post_custom_datev_download_document_request_body POST /custom/datev/download-document Request body + # @return [PostCustomDatevDownloadDocumentPositiveResponse] + describe 'post_custom_datev_download_document test' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + # unit tests for post_custom_datev_employees_employee_id_download_document + # Download Payroll Document + # Download a document from DATEV <Note> This endpoint requires the permission **Manage documents** to be enabled in [your scope config](/scopes). </Note> ### Example Request Body ```json { \"accounting_month\": \"2001-12-01\", \"document_type\": \"LOJE\" } ``` + # @param x_integration_id ID of the integration you want to interact with. + # @param employee_id POST /custom/datev/employees/:employee_id/download-document Parameter + # @param [Hash] opts the optional parameters + # @option opts [PostCustomDatevEmployeesEmployeeIdDownloadDocumentRequestBody] :post_custom_datev_employees_employee_id_download_document_request_body POST /custom/datev/employees/:employee_id/download-document Request body + # @return [PostCustomDatevEmployeesEmployeeIdDownloadDocumentPositiveResponse] + describe 'post_custom_datev_employees_employee_id_download_document test' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + # unit tests for post_custom_datev_employees_employee_id_eau_requests + # Create eAU Request + # Create a request for an electronic certificate of incapacity for work (eAU). <Note> This endpoint requires the permission **Manage eAU** to be enabled in [your scope config](/scopes). </Note> ### Example Request Body ```json { \"start_work_incapacity\": \"2022-01-01\" } ``` + # @param x_integration_id ID of the integration you want to interact with. + # @param employee_id 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`) + # @param [Hash] opts the optional parameters + # @option opts [PostCustomDatevEmployeesEmployeeIdEauRequestsRequestBody] :post_custom_datev_employees_employee_id_eau_requests_request_body POST /custom/datev/employees/:employee_id/eau-requests Request body + # @return [PostCustomDatevEmployeesEmployeeIdEauRequestsPositiveResponse] + describe 'post_custom_datev_employees_employee_id_eau_requests test' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + # unit tests for post_custom_datev_passthrough + # 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. + # @param x_integration_id ID of the integration you want to interact with. + # @param [Hash] opts the optional parameters + # @option opts [PostCustomDatevPassthroughRequestBody] :post_custom_datev_passthrough_request_body POST /custom/datev/passthrough Request body + # @return [PostCustomDatevPassthroughPositiveResponse] + describe 'post_custom_datev_passthrough test' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + # unit tests for post_custom_datev_push_data_general + # 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. + # @param x_integration_id ID of the integration you want to interact with. + # @param [Hash] opts the optional parameters + # @option opts [Object] :body POST /custom/datev/push-data/general Request body + # @return [PostCustomDatevPushDataGeneralPositiveResponse] + describe 'post_custom_datev_push_data_general test' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + # unit tests for post_custom_datev_push_data_payroll + # 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. + # @param x_integration_id ID of the integration you want to interact with. + # @param [Hash] opts the optional parameters + # @option opts [PostCustomDatevPushDataPayrollRequestBody] :post_custom_datev_push_data_payroll_request_body POST /custom/datev/push-data/payroll Request body + # @return [PostCustomDatevPushDataPayrollPositiveResponse] + describe 'post_custom_datev_push_data_payroll test' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + # unit tests for post_custom_silae_employees_employee_id_payroll_supplements + # Write Payroll Supplement + # Write a payroll supplement to Silae using the supplement code. <Note> This endpoint requires the permission **Manage payroll** to be enabled in [your scope config](/scopes). </Note> ### Example Request Body ```json { \"employee_id\": \"EvLV61zdahkN4ftPJbmPCkdv\", \"supplement_code\": \"200\", \"effective_date\": \"2024-01-14\", \"element_amount\": 6 } ``` + # @param x_integration_id ID of the integration you want to interact with. + # @param employee_id 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`) + # @param [Hash] opts the optional parameters + # @option opts [PostCustomSilaeEmployeesEmployeeIdPayrollSupplementsRequestBody] :post_custom_silae_employees_employee_id_payroll_supplements_request_body POST /custom/silae/employees/:employee_id/payroll-supplements Request body + # @return [PostCustomSilaeEmployeesEmployeeIdPayrollSupplementsPositiveResponse] + describe 'post_custom_silae_employees_employee_id_payroll_supplements test' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + # unit tests for put_custom_datev_employees_employee_id_compensations + # 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. <Note> This endpoint requires the permission **Manage payroll** to be enabled in [your scope config](/scopes). </Note> ### 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\" } ] } ``` + # @param x_integration_id ID of the integration you want to interact with. + # @param employee_id 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`) + # @param [Hash] opts the optional parameters + # @option opts [PutCustomDatevEmployeesEmployeeIdCompensationsRequestBody] :put_custom_datev_employees_employee_id_compensations_request_body PUT /custom/datev/employees/:employee_id/compensations Request body + # @return [PutCustomDatevEmployeesEmployeeIdCompensationsPositiveResponse] + describe 'put_custom_datev_employees_employee_id_compensations test' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + # unit tests for put_custom_datev_employees_employee_id_prepare_payroll + # 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. <Note> This endpoint requires the permission **Manage payroll** to be enabled in [your scope config](/scopes). </Note> ### 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 } ] } ``` + # @param x_integration_id ID of the integration you want to interact with. + # @param employee_id 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`) + # @param [Hash] opts the optional parameters + # @option opts [PutCustomDatevEmployeesEmployeeIdPreparePayrollRequestBody] :put_custom_datev_employees_employee_id_prepare_payroll_request_body PUT /custom/datev/employees/:employee_id/prepare-payroll Request body + # @return [PutCustomDatevEmployeesEmployeeIdPreparePayrollPositiveResponse] + describe 'put_custom_datev_employees_employee_id_prepare_payroll test' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/api/default_api_spec.rb b/spec/api/default_api_spec.rb new file mode 100644 index 0000000..4efd97c --- /dev/null +++ b/spec/api/default_api_spec.rb @@ -0,0 +1,167 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.13.0 + +=end + +require 'spec_helper' +require 'json' + +# Unit tests for Kombo::DefaultApi +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe 'DefaultApi' do + before do + # run before each test + @api_instance = Kombo::DefaultApi.new + end + + after do + # run after each test + end + + describe 'test an instance of DefaultApi' do + it 'should create an instance of DefaultApi' do + expect(@api_instance).to be_instance_of(Kombo::DefaultApi) + end + end + + # unit tests for webhook_ai_apply_application_status_updated_webhook_payload + # AI Apply: Application status updated + # @param x_kombo_signature HMAC signature for webhook verification. See the webhook documentation for details on how to verify this signature. + # @param ai_apply_application_status_updated_webhook_payload + # @param [Hash] opts the optional parameters + # @return [nil] + describe 'webhook_ai_apply_application_status_updated_webhook_payload test' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + # unit tests for webhook_ai_apply_job_posting_status_updated_webhook_payload + # AI Apply: Job posting status updated + # @param x_kombo_signature HMAC signature for webhook verification. See the webhook documentation for details on how to verify this signature. + # @param ai_apply_job_posting_status_updated_webhook_payload + # @param [Hash] opts the optional parameters + # @return [nil] + describe 'webhook_ai_apply_job_posting_status_updated_webhook_payload test' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + # unit tests for webhook_assessment_order_received_webhook_payload + # Assessment: Order received + # @param x_kombo_signature HMAC signature for webhook verification. See the webhook documentation for details on how to verify this signature. + # @param assessment_order_received_webhook_payload + # @param [Hash] opts the optional parameters + # @return [nil] + describe 'webhook_assessment_order_received_webhook_payload test' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + # unit tests for webhook_connection_flow_failed_webhook_payload + # Connection flow failed + # @param x_kombo_signature HMAC signature for webhook verification. See the webhook documentation for details on how to verify this signature. + # @param connection_flow_failed_webhook_payload + # @param [Hash] opts the optional parameters + # @return [nil] + describe 'webhook_connection_flow_failed_webhook_payload test' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + # unit tests for webhook_data_changed_webhook_payload + # Data changed + # @param x_kombo_signature HMAC signature for webhook verification. See the webhook documentation for details on how to verify this signature. + # @param data_changed_webhook_payload + # @param [Hash] opts the optional parameters + # @return [nil] + describe 'webhook_data_changed_webhook_payload test' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + # unit tests for webhook_inline_assessment_order_received_webhook_payload + # Inline assessment: Order received + # @param x_kombo_signature HMAC signature for webhook verification. See the webhook documentation for details on how to verify this signature. + # @param inline_assessment_order_received_webhook_payload + # @param [Hash] opts the optional parameters + # @return [nil] + describe 'webhook_inline_assessment_order_received_webhook_payload test' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + # unit tests for webhook_integration_created_webhook_payload + # Integration created + # @param x_kombo_signature HMAC signature for webhook verification. See the webhook documentation for details on how to verify this signature. + # @param integration_created_webhook_payload + # @param [Hash] opts the optional parameters + # @return [nil] + describe 'webhook_integration_created_webhook_payload test' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + # unit tests for webhook_integration_deleted_webhook_payload + # Integration deleted + # @param x_kombo_signature HMAC signature for webhook verification. See the webhook documentation for details on how to verify this signature. + # @param integration_deleted_webhook_payload + # @param [Hash] opts the optional parameters + # @return [nil] + describe 'webhook_integration_deleted_webhook_payload test' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + # unit tests for webhook_integration_state_changed_webhook_payload + # Integration state changed + # @param x_kombo_signature HMAC signature for webhook verification. See the webhook documentation for details on how to verify this signature. + # @param integration_state_changed_webhook_payload + # @param [Hash] opts the optional parameters + # @return [nil] + describe 'webhook_integration_state_changed_webhook_payload test' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + # unit tests for webhook_remote_event_received_webhook_payload + # Remote event received + # @param x_kombo_signature HMAC signature for webhook verification. See the webhook documentation for details on how to verify this signature. + # @param remote_event_received_webhook_payload + # @param [Hash] opts the optional parameters + # @return [nil] + describe 'webhook_remote_event_received_webhook_payload test' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + # unit tests for webhook_sync_finished_webhook_payload + # Sync finished + # @param x_kombo_signature HMAC signature for webhook verification. See the webhook documentation for details on how to verify this signature. + # @param sync_finished_webhook_payload + # @param [Hash] opts the optional parameters + # @return [nil] + describe 'webhook_sync_finished_webhook_payload test' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/api/general_api_spec.rb b/spec/api/general_api_spec.rb new file mode 100644 index 0000000..eb745bb --- /dev/null +++ b/spec/api/general_api_spec.rb @@ -0,0 +1,258 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.13.0 + +=end + +require 'spec_helper' +require 'json' + +# Unit tests for Kombo::GeneralApi +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe 'GeneralApi' do + before do + # run before each test + @api_instance = Kombo::GeneralApi.new + end + + after do + # run after each test + end + + describe 'test an instance of GeneralApi' do + it 'should create an instance of GeneralApi' do + expect(@api_instance).to be_instance_of(Kombo::GeneralApi) + end + end + + # unit tests for delete_integrations_integration_id + # Delete integration + # Delete the specified integration. **⚠️ This can not be undone!** + # @param integration_id DELETE /integrations/:integration_id Parameter + # @param [Hash] opts the optional parameters + # @option opts [Object] :body DELETE /integrations/:integration_id Request body + # @return [DeleteIntegrationsIntegrationIdPositiveResponse] + describe 'delete_integrations_integration_id test' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + # unit tests for get_check_api_key + # Check API key + # Check whether your API key is working properly. + # @param [Hash] opts the optional parameters + # @return [GetCheckApiKeyPositiveResponse] + describe 'get_check_api_key test' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + # unit tests for get_integrations_integration_id + # Get integration details + # Get the specified integration with everything you need to display it to your customer. + # @param integration_id GET /integrations/:integration_id Parameter + # @param [Hash] opts the optional parameters + # @return [GetIntegrationsIntegrationIdPositiveResponse] + describe 'get_integrations_integration_id test' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + # unit tests for get_integrations_integration_id_custom_fields + # 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* + # @param integration_id GET /integrations/:integration_id/custom-fields Parameter + # @param [Hash] opts the optional parameters + # @option opts [String] :cursor An optional cursor string used for pagination. This can be retrieved from the `next` property of the previous page response. + # @option opts [Integer] :page_size The number of results to return per page. Maximum is 250. + # @return [GetIntegrationsIntegrationIdCustomFieldsPositiveResponse] + describe 'get_integrations_integration_id_custom_fields test' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + # unit tests for get_integrations_integration_id_integration_fields + # Get integration fields + # Get all fields available on the specified integration. **This includes the mapping to your custom fields** + # @param integration_id GET /integrations/:integration_id/integration-fields Parameter + # @param [Hash] opts the optional parameters + # @option opts [String] :cursor An optional cursor string used for pagination. This can be retrieved from the `next` property of the previous page response. + # @option opts [Integer] :page_size The number of results to return per page. Maximum is 2000. + # @return [GetIntegrationsIntegrationIdIntegrationFieldsPositiveResponse] + describe 'get_integrations_integration_id_integration_fields test' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + # unit tests for get_lms_courses + # Get courses + # Get courses <Warning>**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.</Warning> Retrieve all courses available in the LMS. Courses are structured learning programs that contain ordered content items and develop specific skills. + # @param [Hash] opts the optional parameters + # @option opts [String] :ids Filter by a comma-separated list of IDs such as `222k7eCGyUdgt2JWZDNnkDs3,B5DVmypWENfU6eMe6gYDyJG3`. + # @option opts [String] :remote_ids Filter by a comma-separated list of remote IDs. + # @option opts [String] :title_contains Filter by the `title` field. Can be used to find courses by keywords present in the course title. + # @return [GetLmsCoursesPositiveResponse] + describe 'get_lms_courses test' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + # unit tests for get_lms_users + # Get users + # Get users <Warning>**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.</Warning> 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. + # @param [Hash] opts the optional parameters + # @option opts [String] :ids Filter by a comma-separated list of IDs such as `222k7eCGyUdgt2JWZDNnkDs3,B5DVmypWENfU6eMe6gYDyJG3`. + # @option opts [String] :remote_ids Filter by a comma-separated list of remote IDs. + # @option opts [String] :email Filter users by their work email address. + # @option opts [GetLmsUsersParameterStatus] :status Filter users by their current status. + # @return [GetLmsUsersPositiveResponse] + describe 'get_lms_users test' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + # unit tests for get_tools_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. + # @param category GET /tools/:category Parameter + # @param [Hash] opts the optional parameters + # @return [GetToolsCategoryPositiveResponse] + describe 'get_tools_category test' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + # unit tests for patch_integrations_integration_id_integration_fields_integration_field_id + # 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. + # @param integration_id PATCH /integrations/:integration_id/integration-fields/:integration_field_id Parameter + # @param integration_field_id PATCH /integrations/:integration_id/integration-fields/:integration_field_id Parameter + # @param [Hash] opts the optional parameters + # @option opts [PatchIntegrationsIntegrationIdIntegrationFieldsIntegrationFieldIdRequestBody] :patch_integrations_integration_id_integration_fields_integration_field_id_request_body PATCH /integrations/:integration_id/integration-fields/:integration_field_id Request body + # @return [PatchIntegrationsIntegrationIdIntegrationFieldsIntegrationFieldIdPositiveResponse] + describe 'patch_integrations_integration_id_integration_fields_integration_field_id test' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + # unit tests for patch_lms_progress_progress_id + # Update progress + # Update progress <Warning>**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.</Warning> Update an existing progress entry. Use this to record changes in status, scores, completion dates, or other learning metrics. + # @param progress_id The ID of the progress entry + # @param [Hash] opts the optional parameters + # @option opts [PatchLmsProgressProgressIdRequestBody] :patch_lms_progress_progress_id_request_body PATCH /lms/progress/:progress_id Request body + # @return [PatchLmsProgressProgressIdPositiveResponse] + describe 'patch_lms_progress_progress_id test' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + # unit tests for post_force_sync + # Trigger sync + # Trigger a sync for a specific integration. <Warning>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).</Warning> + # @param x_integration_id ID of the integration you want to interact with. + # @param [Hash] opts the optional parameters + # @option opts [PostForceSyncRequestBody] :post_force_sync_request_body POST /force-sync Request body + # @return [PostForceSyncPositiveResponse] + describe 'post_force_sync test' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + # unit tests for post_integrations_integration_id_relink + # 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\" } ``` + # @param integration_id POST /integrations/:integration_id/relink Parameter + # @param [Hash] opts the optional parameters + # @option opts [PostIntegrationsIntegrationIdRelinkRequestBody] :post_integrations_integration_id_relink_request_body POST /integrations/:integration_id/relink Request body + # @return [PostIntegrationsIntegrationIdRelinkPositiveResponse] + describe 'post_integrations_integration_id_relink test' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + # unit tests for post_lms_content + # Add content to course + # Add content to course <Warning>**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.</Warning> 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. + # @param [Hash] opts the optional parameters + # @option opts [PostLmsContentRequestBody] :post_lms_content_request_body POST /lms/content Request body + # @return [PostLmsContentPositiveResponse] + describe 'post_lms_content test' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + # unit tests for post_lms_courses + # Create course + # Create course <Warning>**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.</Warning> Create a new course in the LMS with a title, description, and associated skills. Content items can be added separately using the content endpoints. + # @param [Hash] opts the optional parameters + # @option opts [PostLmsCoursesRequestBody] :post_lms_courses_request_body POST /lms/courses Request body + # @return [PostLmsCoursesPositiveResponse] + describe 'post_lms_courses test' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + # unit tests for post_lms_progress + # Create progress + # Create progress <Warning>**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.</Warning> Create a new progress entry for a user in a course. This records enrollment, completion, scores, and other learning metrics. + # @param [Hash] opts the optional parameters + # @option opts [PostLmsProgressRequestBody] :post_lms_progress_request_body POST /lms/progress Request body + # @return [PostLmsProgressPositiveResponse] + describe 'post_lms_progress test' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + # unit tests for post_passthrough_tool_api + # 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.| |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 `\\<soap:Body\\>` 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://\\<your-okta-domain\\>/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.| <Note>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.</Note> + # @param x_integration_id ID of the integration you want to interact with. + # @param tool The ID of the tool whose passthrough API you want to call (e.g., `personio`). + # @param api 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. + # @param [Hash] opts the optional parameters + # @option opts [PostPassthroughToolApiRequestBody] :post_passthrough_tool_api_request_body POST /passthrough/:tool/:api Request body + # @return [PostPassthroughToolApiPositiveResponse] + describe 'post_passthrough_tool_api test' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + # unit tests for put_integrations_integration_id_custom_fields_custom_field_id + # Put custom field mappings + # Updates the mapping of a given custom field. If the custom field is already mapped, it will be updated. + # @param integration_id The unique ID of the integration where the custom field mapping should be updated + # @param custom_field_id The unique ID of the custom field that should be updated + # @param [Hash] opts the optional parameters + # @option opts [PutIntegrationsIntegrationIdCustomFieldsCustomFieldIdRequestBody] :put_integrations_integration_id_custom_fields_custom_field_id_request_body PUT /integrations/:integration_id/custom-fields/:custom_field_id Request body + # @return [PutIntegrationsIntegrationIdCustomFieldsCustomFieldIdPositiveResponse] + describe 'put_integrations_integration_id_custom_fields_custom_field_id test' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/api/kombo_connect_api_spec.rb b/spec/api/kombo_connect_api_spec.rb new file mode 100644 index 0000000..9ca8165 --- /dev/null +++ b/spec/api/kombo_connect_api_spec.rb @@ -0,0 +1,71 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.13.0 + +=end + +require 'spec_helper' +require 'json' + +# Unit tests for Kombo::KomboConnectApi +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe 'KomboConnectApi' do + before do + # run before each test + @api_instance = Kombo::KomboConnectApi.new + end + + after do + # run after each test + end + + describe 'test an instance of KomboConnectApi' do + it 'should create an instance of KomboConnectApi' do + expect(@api_instance).to be_instance_of(Kombo::KomboConnectApi) + end + end + + # unit tests for get_connect_integration_by_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. + # @param token GET /connect/integration-by-token/:token Parameter + # @param [Hash] opts the optional parameters + # @return [GetConnectIntegrationByTokenTokenPositiveResponse] + describe 'get_connect_integration_by_token_token test' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + # unit tests for post_connect_activate_integration + # 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. <Warning>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.</Warning> ### Example Request Body ```json { \"token\": \"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJtZXNzYWdlIjoiVGhpcyBpcyBub3QgYW4gYWN0dWFsIHRva2VuLiJ9.JulqgOZBMKceI8vh9YLpVX51efND0ZyfUNHDXLrPz_4\" } ``` + # @param [Hash] opts the optional parameters + # @option opts [PostConnectActivateIntegrationRequestBody] :post_connect_activate_integration_request_body POST /connect/activate-integration Request body + # @return [PostConnectActivateIntegrationPositiveResponse] + describe 'post_connect_activate_integration test' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + # unit tests for post_connect_create_link + # 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\" } ``` + # @param [Hash] opts the optional parameters + # @option opts [PostConnectCreateLinkRequestBody] :post_connect_create_link_request_body POST /connect/create-link Request body + # @return [PostConnectCreateLinkPositiveResponse] + describe 'post_connect_create_link test' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/api/unified_ats_assessment_background_check_api_api_spec.rb b/spec/api/unified_ats_assessment_background_check_api_api_spec.rb new file mode 100644 index 0000000..95bcace --- /dev/null +++ b/spec/api/unified_ats_assessment_background_check_api_api_spec.rb @@ -0,0 +1,88 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.13.0 + +=end + +require 'spec_helper' +require 'json' + +# Unit tests for Kombo::UnifiedATSAssessmentBackgroundCheckAPIApi +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe 'UnifiedATSAssessmentBackgroundCheckAPIApi' do + before do + # run before each test + @api_instance = Kombo::UnifiedATSAssessmentBackgroundCheckAPIApi.new + end + + after do + # run after each test + end + + describe 'test an instance of UnifiedATSAssessmentBackgroundCheckAPIApi' do + it 'should create an instance of UnifiedATSAssessmentBackgroundCheckAPIApi' do + expect(@api_instance).to be_instance_of(Kombo::UnifiedATSAssessmentBackgroundCheckAPIApi) + end + end + + # unit tests for get_assessment_orders_open + # Get open orders + # Get all open assessment and background check orders of an integration. + # @param x_integration_id ID of the integration you want to interact with. + # @param [Hash] opts the optional parameters + # @option opts [String] :cursor An optional cursor string used for pagination. This can be retrieved from the `next` property of the previous page response. + # @option opts [Integer] :page_size The number of results to return per page. Maximum is 250. + # @return [GetAssessmentOrdersOpenPositiveResponse] + describe 'get_assessment_orders_open test' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + # unit tests for get_assessment_packages + # Get packages + # Get all available assessment and background check packages for an integration. This is mainly intended for debugging. As you always need to submit the full list of available packages when using [\"set packages\"](/assessment/v1/put-packages), there shouldn't ever be a need to call this endpoint in production. + # @param x_integration_id ID of the integration you want to interact with. + # @param [Hash] opts the optional parameters + # @return [GetAssessmentPackagesPositiveResponse] + describe 'get_assessment_packages test' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + # unit tests for put_assessment_orders_assessment_order_id_result + # Update order result + # Updates an assessment or a background check order result. ### Example Request Body ```json { \"status\": \"COMPLETED\", \"score\": 90, \"max_score\": 100, \"result_url\": \"https://example.com\", \"completed_at\": \"2023-04-04T00:00:00.000Z\", \"attributes\": [ { \"type\": \"TEXT\", \"label\": \"Role fit\", \"value\": \"Excellent\" }, { \"type\": \"SUB_RESULT\", \"id\": \"<YOUR_INTERNAL_ID_OF_THE_TEST>\", \"label\": \"Personality test\", \"score\": { \"value\": 97, \"max\": 100 }, \"status\": \"COMPLETED\" } ], \"attachments\": [ { \"name\": \"Assessment Report.pdf\", \"data\": \"SGkgdGhlcmUsIEtvbWJvIGlzIGN1cnJlbnRseSBoaXJpbmcgZW5naW5lZXJzIHRoYXQgbG92ZSB0byB3b3JrIG9uIGRldmVsb3BlciBwcm9kdWN0cy4=\", \"content_type\": \"application/pdf\" } ] } ``` + # @param x_integration_id ID of the integration you want to interact with. + # @param assessment_order_id PUT /assessment/orders/:assessment_order_id/result Parameter + # @param [Hash] opts the optional parameters + # @option opts [PutAssessmentOrdersAssessmentOrderIdResultRequestBody] :put_assessment_orders_assessment_order_id_result_request_body PUT /assessment/orders/:assessment_order_id/result Request body + # @return [PutAssessmentOrdersAssessmentOrderIdResultPositiveResponse] + describe 'put_assessment_orders_assessment_order_id_result test' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + # unit tests for put_assessment_packages + # Set packages + # Set packages Replaces the list of available assessment and or background check packages. Packages that have been previously submitted through this endpoint but aren't included again will be marked as deleted. ### Example Request Body ```json { \"packages\": [ { \"id\": \"1001\", \"type\": \"SKILLS_TEST\", \"name\": \"TypeScript\", \"description\": \"TypeScript coding skills assessments\" }, { \"id\": \"1002\", \"type\": \"VIDEO_INTERVIEW\", \"name\": \"Video Interview\", \"description\": \"Video interview to assess communication skills\" } ] } ``` + # @param x_integration_id ID of the integration you want to interact with. + # @param [Hash] opts the optional parameters + # @option opts [PutAssessmentPackagesRequestBody] :put_assessment_packages_request_body PUT /assessment/packages Request body + # @return [PutAssessmentPackagesPositiveResponse] + describe 'put_assessment_packages test' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/api/unified_atsapi_api_spec.rb b/spec/api/unified_atsapi_api_spec.rb new file mode 100644 index 0000000..255b640 --- /dev/null +++ b/spec/api/unified_atsapi_api_spec.rb @@ -0,0 +1,477 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.13.0 + +=end + +require 'spec_helper' +require 'json' + +# Unit tests for Kombo::UnifiedATSAPIApi +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe 'UnifiedATSAPIApi' do + before do + # run before each test + @api_instance = Kombo::UnifiedATSAPIApi.new + end + + after do + # run after each test + end + + describe 'test an instance of UnifiedATSAPIApi' do + it 'should create an instance of UnifiedATSAPIApi' do + expect(@api_instance).to be_instance_of(Kombo::UnifiedATSAPIApi) + end + end + + # unit tests for delete_ats_candidates_candidate_id_tags + # 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. <Note> This endpoint requires the permission **Manage tags** to be enabled in [your scope config](/scopes). </Note> ### Example Request Body ```json { \"tag\": { \"name\": \"Excellent Fit\" } } ``` + # @param x_integration_id ID of the integration you want to interact with. + # @param candidate_id The Kombo ID of the candidate you want to remove the tag from. + # @param [Hash] opts the optional parameters + # @option opts [DeleteAtsCandidatesCandidateIdTagsRequestBody] :delete_ats_candidates_candidate_id_tags_request_body DELETE /ats/candidates/:candidate_id/tags Request body + # @return [DeleteAtsCandidatesCandidateIdTagsPositiveResponse] + describe 'delete_ats_candidates_candidate_id_tags test' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + # unit tests for get_ats_actions_ats_add_application_attachment + # @param x_integration_id ID of the integration you want to interact with. + # @param [Hash] opts the optional parameters + # @return [GetAtsActionsAtsAddApplicationAttachmentPositiveResponse] + describe 'get_ats_actions_ats_add_application_attachment test' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + # unit tests for get_ats_actions_ats_add_candidate_attachment + # @param x_integration_id ID of the integration you want to interact with. + # @param [Hash] opts the optional parameters + # @return [GetAtsActionsAtsAddCandidateAttachmentPositiveResponse] + describe 'get_ats_actions_ats_add_candidate_attachment test' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + # unit tests for get_ats_actions_ats_create_application + # @param x_integration_id ID of the integration you want to interact with. + # @param [Hash] opts the optional parameters + # @return [GetAtsActionsAtsCreateApplicationPositiveResponse] + describe 'get_ats_actions_ats_create_application test' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + # unit tests for get_ats_actions_ats_create_candidate + # @param x_integration_id ID of the integration you want to interact with. + # @param [Hash] opts the optional parameters + # @return [GetAtsActionsAtsCreateCandidatePositiveResponse] + describe 'get_ats_actions_ats_create_candidate test' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + # unit tests for get_ats_application_stages + # Get application stages + # Get all application stages available in the ATS. <Warning> **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). </Warning> 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)` + # @param x_integration_id ID of the integration you want to interact with. + # @param [Hash] opts the optional parameters + # @option opts [String] :cursor An optional cursor string used for pagination. This can be retrieved from the `next` property of the previous page response. + # @option opts [Integer] :page_size The number of results to return per page. Maximum is 250. + # @option opts [Time] :updated_after 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). + # @option opts [GetAtsApplicationStagesParameterIncludeDeleted] :include_deleted By default, deleted entries are not returned. Use the `include_deleted` query param to include deleted entries too. + # @option opts [String] :ids Filter by a comma-separated list of IDs such as `222k7eCGyUdgt2JWZDNnkDs3,B5DVmypWENfU6eMe6gYDyJG3`. + # @option opts [String] :remote_ids Filter by a comma-separated list of remote IDs. + # @return [GetAtsApplicationStagesPositiveResponse] + describe 'get_ats_application_stages test' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + # unit tests for get_ats_applications + # 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)` + # @param x_integration_id ID of the integration you want to interact with. + # @param [Hash] opts the optional parameters + # @option opts [String] :cursor An optional cursor string used for pagination. This can be retrieved from the `next` property of the previous page response. + # @option opts [Integer] :page_size The number of results to return per page. Maximum is 250. + # @option opts [Time] :updated_after 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). + # @option opts [GetAtsApplicationsParameterIncludeDeleted] :include_deleted By default, deleted entries are not returned. Use the `include_deleted` query param to include deleted entries too. + # @option opts [String] :ids Filter by a comma-separated list of IDs such as `222k7eCGyUdgt2JWZDNnkDs3,B5DVmypWENfU6eMe6gYDyJG3`. + # @option opts [String] :remote_ids Filter by a comma-separated list of remote IDs. + # @option opts [GetAtsApplicationsParameterOutcome] :outcome **(⚠️ Deprecated - Use the `outcomes` filter instead.)** Filter applications by outcome. This allows you to get applications that are for example `PENDING`, `HIRED`, or `DECLINED`. + # @option opts [String] :outcomes 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. + # @option opts [String] :job_ids Filter by a comma-separated list of job IDs. We will only return applications that are related to _any_ of the jobs. + # @option opts [String] :job_remote_ids Filter by a comma-separated list of job remote IDs. We will only return applications that are related to _any_ of the jobs. + # @option opts [String] :current_stage_ids Filter by a comma-separated list of application stage IDs. We will only return applications that are currently in _any_ of the stages. + # @option opts [Time] :remote_created_after 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. + # @return [GetAtsApplicationsPositiveResponse] + describe 'get_ats_applications test' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + # unit tests for get_ats_applications_application_id_attachments + # 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. <Note> This endpoint requires the permission **Read document attachments** to be enabled in [your scope config](/scopes). </Note> + # @param x_integration_id ID of the integration you want to interact with. + # @param application_id The Kombo ID of the application you want to obtain attachments for. + # @param [Hash] opts the optional parameters + # @return [GetAtsApplicationsApplicationIdAttachmentsPositiveResponse] + describe 'get_ats_applications_application_id_attachments test' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + # unit tests for get_ats_candidates + # 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)` + # @param x_integration_id ID of the integration you want to interact with. + # @param [Hash] opts the optional parameters + # @option opts [String] :cursor An optional cursor string used for pagination. This can be retrieved from the `next` property of the previous page response. + # @option opts [Integer] :page_size The number of results to return per page. Maximum is 250. + # @option opts [Time] :updated_after 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). + # @option opts [GetAtsCandidatesParameterIncludeDeleted] :include_deleted By default, deleted entries are not returned. Use the `include_deleted` query param to include deleted entries too. + # @option opts [String] :ids Filter by a comma-separated list of IDs such as `222k7eCGyUdgt2JWZDNnkDs3,B5DVmypWENfU6eMe6gYDyJG3`. + # @option opts [String] :remote_ids Filter by a comma-separated list of remote IDs. + # @option opts [String] :email 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. + # @option opts [String] :job_ids Filter by a comma-separated list of job IDs. We will only return candidates that have applied to _any_ of the jobs. + # @option opts [String] :first_name 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. + # @option opts [String] :last_name 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. + # @return [GetAtsCandidatesPositiveResponse] + describe 'get_ats_candidates test' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + # unit tests for get_ats_candidates_candidate_id_attachments + # Get candidate attachments + # Get attachments from a candidate, including all attachments of all of their applications. <Note> This endpoint requires the permission **Read document attachments** to be enabled in [your scope config](/scopes). </Note> + # @param x_integration_id ID of the integration you want to interact with. + # @param candidate_id The Kombo ID of the candidate you want to obtain attachments for. + # @param [Hash] opts the optional parameters + # @return [GetAtsCandidatesCandidateIdAttachmentsPositiveResponse] + describe 'get_ats_candidates_candidate_id_attachments test' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + # unit tests for get_ats_interviews + # 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)` + # @param x_integration_id ID of the integration you want to interact with. + # @param [Hash] opts the optional parameters + # @option opts [String] :cursor An optional cursor string used for pagination. This can be retrieved from the `next` property of the previous page response. + # @option opts [Integer] :page_size The number of results to return per page. Maximum is 250. + # @option opts [Time] :updated_after 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). + # @option opts [GetAtsInterviewsParameterIncludeDeleted] :include_deleted By default, deleted entries are not returned. Use the `include_deleted` query param to include deleted entries too. + # @option opts [String] :ids Filter by a comma-separated list of IDs such as `222k7eCGyUdgt2JWZDNnkDs3,B5DVmypWENfU6eMe6gYDyJG3`. + # @option opts [String] :remote_ids Filter by a comma-separated list of remote IDs. + # @option opts [String] :job_ids Filter by a comma-separated list of job IDs. We will only return interviews for applications associated with any of these jobs. + # @return [GetAtsInterviewsPositiveResponse] + describe 'get_ats_interviews test' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + # unit tests for get_ats_jobs + # 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)` + # @param x_integration_id ID of the integration you want to interact with. + # @param [Hash] opts the optional parameters + # @option opts [String] :cursor An optional cursor string used for pagination. This can be retrieved from the `next` property of the previous page response. + # @option opts [Integer] :page_size The number of results to return per page. Maximum is 250. + # @option opts [Time] :updated_after 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). + # @option opts [GetAtsJobsParameterIncludeDeleted] :include_deleted By default, deleted entries are not returned. Use the `include_deleted` query param to include deleted entries too. + # @option opts [String] :ids Filter by a comma-separated list of IDs such as `222k7eCGyUdgt2JWZDNnkDs3,B5DVmypWENfU6eMe6gYDyJG3`. + # @option opts [String] :remote_ids Filter by a comma-separated list of remote IDs. + # @option opts [String] :job_codes Filter by a comma-separated list of job codes. + # @option opts [String] :post_url Filter by the `post_url` field. Can be used to find a job based on its public posting URL. + # @option opts [GetAtsJobsParameterStatus] :status **(⚠️ Deprecated - Use the `statuses` filter instead.)** Filter by the `status` field. Can be used to find a job based on its status. + # @option opts [String] :statuses Filter by a comma-separated list of `OPEN`, `CLOSED`, `DRAFT`, `ARCHIVED` Leave this blank to get results matching all values. + # @option opts [String] :employment_types Filter by a comma-separated list of `FULL_TIME`, `PART_TIME`, `CONTRACT`, `SEASONAL`, `INTERNSHIP` Leave this blank to get results matching all values. + # @option opts [String] :visibilities Filter by a comma-separated list of `PUBLIC`, `INTERNAL`, `UNLISTED`, `CONFIDENTIAL` Leave this blank to get results matching all values. + # @option opts [Time] :remote_created_after 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. + # @option opts [String] :name_contains Filter by the `name` field. Can be used to find a job by keywords present in the job name. + # @return [GetAtsJobsPositiveResponse] + describe 'get_ats_jobs test' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + # unit tests for get_ats_offers + # 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)` + # @param x_integration_id ID of the integration you want to interact with. + # @param [Hash] opts the optional parameters + # @option opts [String] :cursor An optional cursor string used for pagination. This can be retrieved from the `next` property of the previous page response. + # @option opts [Integer] :page_size The number of results to return per page. Maximum is 250. + # @option opts [Time] :updated_after 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). + # @option opts [GetAtsOffersParameterIncludeDeleted] :include_deleted By default, deleted entries are not returned. Use the `include_deleted` query param to include deleted entries too. + # @option opts [String] :ids Filter by a comma-separated list of IDs such as `222k7eCGyUdgt2JWZDNnkDs3,B5DVmypWENfU6eMe6gYDyJG3`. + # @option opts [String] :remote_ids Filter by a comma-separated list of remote IDs. + # @return [GetAtsOffersPositiveResponse] + describe 'get_ats_offers test' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + # unit tests for get_ats_rejection_reasons + # 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)` + # @param x_integration_id ID of the integration you want to interact with. + # @param [Hash] opts the optional parameters + # @option opts [String] :cursor An optional cursor string used for pagination. This can be retrieved from the `next` property of the previous page response. + # @option opts [Integer] :page_size The number of results to return per page. Maximum is 250. + # @option opts [Time] :updated_after 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). + # @option opts [GetAtsRejectionReasonsParameterIncludeDeleted] :include_deleted By default, deleted entries are not returned. Use the `include_deleted` query param to include deleted entries too. + # @option opts [String] :ids Filter by a comma-separated list of IDs such as `222k7eCGyUdgt2JWZDNnkDs3,B5DVmypWENfU6eMe6gYDyJG3`. + # @option opts [String] :remote_ids Filter by a comma-separated list of remote IDs. + # @return [GetAtsRejectionReasonsPositiveResponse] + describe 'get_ats_rejection_reasons test' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + # unit tests for get_ats_tags + # 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)` + # @param x_integration_id ID of the integration you want to interact with. + # @param [Hash] opts the optional parameters + # @option opts [String] :cursor An optional cursor string used for pagination. This can be retrieved from the `next` property of the previous page response. + # @option opts [Integer] :page_size The number of results to return per page. Maximum is 250. + # @option opts [Time] :updated_after 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). + # @option opts [GetAtsTagsParameterIncludeDeleted] :include_deleted By default, deleted entries are not returned. Use the `include_deleted` query param to include deleted entries too. + # @option opts [String] :ids Filter by a comma-separated list of IDs such as `222k7eCGyUdgt2JWZDNnkDs3,B5DVmypWENfU6eMe6gYDyJG3`. + # @option opts [String] :remote_ids Filter by a comma-separated list of remote IDs. + # @return [GetAtsTagsPositiveResponse] + describe 'get_ats_tags test' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + # unit tests for get_ats_users + # 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)` + # @param x_integration_id ID of the integration you want to interact with. + # @param [Hash] opts the optional parameters + # @option opts [String] :cursor An optional cursor string used for pagination. This can be retrieved from the `next` property of the previous page response. + # @option opts [Integer] :page_size The number of results to return per page. Maximum is 250. + # @option opts [Time] :updated_after 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). + # @option opts [GetAtsUsersParameterIncludeDeleted] :include_deleted By default, deleted entries are not returned. Use the `include_deleted` query param to include deleted entries too. + # @option opts [String] :ids Filter by a comma-separated list of IDs such as `222k7eCGyUdgt2JWZDNnkDs3,B5DVmypWENfU6eMe6gYDyJG3`. + # @option opts [String] :remote_ids Filter by a comma-separated list of remote IDs. + # @option opts [String] :emails 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. + # @return [GetAtsUsersPositiveResponse] + describe 'get_ats_users test' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + # unit tests for patch_ats_applications_application_id_interviews + # Update interview + # Update interview <Warning>**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.</Warning> + # @param x_integration_id ID of the integration you want to interact with. + # @param application_id The ID of the application + # @param [Hash] opts the optional parameters + # @option opts [PatchAtsApplicationsApplicationIdInterviewsRequestBody] :patch_ats_applications_application_id_interviews_request_body PATCH /ats/applications/:application_id/interviews Request body + # @return [PatchAtsApplicationsApplicationIdInterviewsPositiveResponse] + describe 'patch_ats_applications_application_id_interviews test' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + # unit tests for post_ats_applications_application_id_attachments + # Add attachment to application + # Uploads an attachment file for the specified applicant. <Warning> 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. </Warning> <Note> This endpoint requires the permission **Add attachments** to be enabled in [your scope config](/scopes). </Note> ### Example Request Body ```json { \"application_id\": \"GRKdd9dibYKKCrmGRSMJf3wu\", \"attachment\": { \"name\": \"Frank Doe CV.txt\", \"data\": \"SGkgdGhlcmUsIEtvbWJvIGlzIGN1cnJlbnRseSBoaXJpbmcgZW5naW5lZXJzIHRoYXQgbG92ZSB0byB3b3JrIG9uIGRldmVsb3BlciBwcm9kdWN0cy4=\", \"type\": \"CV\", \"content_type\": \"text/plain\" }, \"remote_fields\": {} } ``` + # @param x_integration_id ID of the integration you want to interact with. + # @param application_id POST /ats/applications/:application_id/attachments Parameter + # @param [Hash] opts the optional parameters + # @option opts [PostAtsApplicationsApplicationIdAttachmentsRequestBody] :post_ats_applications_application_id_attachments_request_body POST /ats/applications/:application_id/attachments Request body + # @return [PostAtsApplicationsApplicationIdAttachmentsPositiveResponse] + describe 'post_ats_applications_application_id_attachments test' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + # unit tests for post_ats_applications_application_id_interviews + # Create interview + # Create interview <Warning>**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.</Warning> + # @param x_integration_id ID of the integration you want to interact with. + # @param application_id The ID of the application + # @param [Hash] opts the optional parameters + # @option opts [PostAtsApplicationsApplicationIdInterviewsRequestBody] :post_ats_applications_application_id_interviews_request_body POST /ats/applications/:application_id/interviews Request body + # @return [PostAtsApplicationsApplicationIdInterviewsPositiveResponse] + describe 'post_ats_applications_application_id_interviews test' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + # unit tests for post_ats_applications_application_id_notes + # 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. <Note> This endpoint requires the permission **Add notes** to be enabled in [your scope config](/scopes). </Note> ### Example Request Body ```json { \"content\": \"A new message from the candidate is available in YourChat!\", \"content_type\": \"PLAIN_TEXT\", \"remote_fields\": {} } ``` + # @param x_integration_id ID of the integration you want to interact with. + # @param application_id The Kombo ID of the application you want to create the note for. + # @param [Hash] opts the optional parameters + # @option opts [PostAtsApplicationsApplicationIdNotesRequestBody] :post_ats_applications_application_id_notes_request_body POST /ats/applications/:application_id/notes Request body + # @return [PostAtsApplicationsApplicationIdNotesPositiveResponse] + describe 'post_ats_applications_application_id_notes test' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + # unit tests for post_ats_applications_application_id_reject + # 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). <Note> This endpoint requires the permission **Reject applications** to be enabled in [your scope config](/scopes). </Note> ### 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\": {} } ``` + # @param x_integration_id ID of the integration you want to interact with. + # @param application_id The Kombo ID of the application you want to reject. + # @param [Hash] opts the optional parameters + # @option opts [PostAtsApplicationsApplicationIdRejectRequestBody] :post_ats_applications_application_id_reject_request_body POST /ats/applications/:application_id/reject Request body + # @return [PostAtsApplicationsApplicationIdRejectPositiveResponse] + describe 'post_ats_applications_application_id_reject test' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + # unit tests for post_ats_applications_application_id_result_links + # 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. <Note> This endpoint requires the permission **Add result links** to be enabled in [your scope config](/scopes). </Note> ### 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\": {} } ``` + # @param x_integration_id ID of the integration you want to interact with. + # @param application_id The Kombo ID of the application you want to create the link for. + # @param [Hash] opts the optional parameters + # @option opts [PostAtsApplicationsApplicationIdResultLinksRequestBody] :post_ats_applications_application_id_result_links_request_body POST /ats/applications/:application_id/result-links Request body + # @return [PostAtsApplicationsApplicationIdResultLinksPositiveResponse] + describe 'post_ats_applications_application_id_result_links test' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + # unit tests for post_ats_candidates + # Create candidate + # Create a new candidate and application for the specified job. <Warning> **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. </Warning> <Note> This endpoint requires the permission **Create applications and candidates** to be enabled in [your scope config](/scopes). </Note> ### 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\": {} } ``` + # @param x_integration_id ID of the integration you want to interact with. + # @param [Hash] opts the optional parameters + # @option opts [PostAtsCandidatesRequestBody] :post_ats_candidates_request_body POST /ats/candidates Request body + # @return [PostAtsCandidatesPositiveResponse] + describe 'post_ats_candidates test' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + # unit tests for post_ats_candidates_candidate_id_attachments + # Add attachment to candidate + # Uploads an attachment file for the specified candidate. <Warning> **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) </Warning> <Note> This endpoint requires the permission **Add attachments** to be enabled in [your scope config](/scopes). </Note> ### Example Request Body ```json { \"candidate_id\": \"GRKdd9dibYKKCrmGRSMJf3wu\", \"attachment\": { \"name\": \"Frank Doe CV.txt\", \"data\": \"SGkgdGhlcmUsIEtvbWJvIGlzIGN1cnJlbnRseSBoaXJpbmcgZW5naW5lZXJzIHRoYXQgbG92ZSB0byB3b3JrIG9uIGRldmVsb3BlciBwcm9kdWN0cy4=\", \"type\": \"CV\", \"content_type\": \"text/plain\" } } ``` + # @param x_integration_id ID of the integration you want to interact with. + # @param candidate_id The Kombo ID of the candidate you want to add the attachment to. + # @param [Hash] opts the optional parameters + # @option opts [PostAtsCandidatesCandidateIdAttachmentsRequestBody] :post_ats_candidates_candidate_id_attachments_request_body POST /ats/candidates/:candidate_id/attachments Request body + # @return [PostAtsCandidatesCandidateIdAttachmentsPositiveResponse] + describe 'post_ats_candidates_candidate_id_attachments test' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + # unit tests for post_ats_candidates_candidate_id_result_links + # Add result link to candidate + # Add a result link to a candidate. <Warning> **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. </Warning> <Note> This endpoint requires the permission **Add result links** to be enabled in [your scope config](/scopes). </Note> ### 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\": {} } ``` + # @param x_integration_id ID of the integration you want to interact with. + # @param candidate_id The Kombo ID of the candidate you want to add the result link to. + # @param [Hash] opts the optional parameters + # @option opts [PostAtsCandidatesCandidateIdResultLinksRequestBody] :post_ats_candidates_candidate_id_result_links_request_body POST /ats/candidates/:candidate_id/result-links Request body + # @return [PostAtsCandidatesCandidateIdResultLinksPositiveResponse] + describe 'post_ats_candidates_candidate_id_result_links test' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + # unit tests for post_ats_candidates_candidate_id_tags + # 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. <Note> This endpoint requires the permission **Manage tags** to be enabled in [your scope config](/scopes). </Note> ### Example Request Body ```json { \"tag\": { \"name\": \"Excellent Fit\" } } ``` + # @param x_integration_id ID of the integration you want to interact with. + # @param candidate_id The Kombo ID of the candidate you want to add the tag to. + # @param [Hash] opts the optional parameters + # @option opts [PostAtsCandidatesCandidateIdTagsRequestBody] :post_ats_candidates_candidate_id_tags_request_body POST /ats/candidates/:candidate_id/tags Request body + # @return [PostAtsCandidatesCandidateIdTagsPositiveResponse] + describe 'post_ats_candidates_candidate_id_tags test' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + # unit tests for post_ats_import_tracked_application + # 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\" } } ``` + # @param x_integration_id ID of the integration you want to interact with. + # @param [Hash] opts the optional parameters + # @option opts [PostAtsImportTrackedApplicationRequestBody] :post_ats_import_tracked_application_request_body POST /ats/import-tracked-application Request body + # @return [PostAtsImportTrackedApplicationPositiveResponse] + describe 'post_ats_import_tracked_application test' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + # unit tests for post_ats_jobs_job_id_applications + # 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) <Note> This endpoint requires the permission **Create applications and candidates** to be enabled in [your scope config](/scopes). </Note> ### 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\": {} } ``` + # @param x_integration_id ID of the integration you want to interact with. + # @param job_id 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. + # @param [Hash] opts the optional parameters + # @option opts [PostAtsJobsJobIdApplicationsRequestBody] :post_ats_jobs_job_id_applications_request_body POST /ats/jobs/:job_id/applications Request body + # @return [PostAtsJobsJobIdApplicationsPositiveResponse] + describe 'post_ats_jobs_job_id_applications test' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + # unit tests for put_ats_applications_application_id_stage + # Move application to stage + # Moves an application to a specified stage. Use job-specific stages from GET /jobs, not the deprecated /application-stages endpoint. <Note> This endpoint requires the permission **Set application stage** to be enabled in [your scope config](/scopes). </Note> ### Example Request Body ```json { \"stage_id\": \"3PJ8PZhZZa1eEdd2DtPNtVup\" } ``` + # @param x_integration_id ID of the integration you want to interact with. + # @param application_id The Kombo ID of the application you want to move to a different stage. + # @param [Hash] opts the optional parameters + # @option opts [PutAtsApplicationsApplicationIdStageRequestBody] :put_ats_applications_application_id_stage_request_body PUT /ats/applications/:application_id/stage Request body + # @return [PutAtsApplicationsApplicationIdStagePositiveResponse] + describe 'put_ats_applications_application_id_stage test' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/api/unified_hrisapi_api_spec.rb b/spec/api/unified_hrisapi_api_spec.rb new file mode 100644 index 0000000..9981246 --- /dev/null +++ b/spec/api/unified_hrisapi_api_spec.rb @@ -0,0 +1,544 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.13.0 + +=end + +require 'spec_helper' +require 'json' + +# Unit tests for Kombo::UnifiedHRISAPIApi +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe 'UnifiedHRISAPIApi' do + before do + # run before each test + @api_instance = Kombo::UnifiedHRISAPIApi.new + end + + after do + # run after each test + end + + describe 'test an instance of UnifiedHRISAPIApi' do + it 'should create an instance of UnifiedHRISAPIApi' do + expect(@api_instance).to be_instance_of(Kombo::UnifiedHRISAPIApi) + end + end + + # unit tests for delete_hris_absences_absence_id + # Delete absence + # Delete this absence. <Note> This endpoint requires the permission **Manage absences** to be enabled in [your scope config](/scopes). </Note> ### Example Request Body ```json { \"absence_id\": \"wXJMxwDvPAjrJ4CyqdV9\" } ``` + # @param x_integration_id ID of the integration you want to interact with. + # @param absence_id The Kombo ID of the absence + # @param [Hash] opts the optional parameters + # @option opts [DeleteHrisAbsencesAbsenceIdRequestBody] :delete_hris_absences_absence_id_request_body DELETE /hris/absences/:absence_id Request body + # @return [DeleteHrisAbsencesAbsenceIdPositiveResponse] + describe 'delete_hris_absences_absence_id test' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + # unit tests for delete_hris_employee_skill_assignments_employee_skill_assignment_id + # Delete employee skill assignment + # Delete employee skill assignment <Warning>**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.</Warning> Remove a skill assignment from an employee. + # @param x_integration_id ID of the integration you want to interact with. + # @param employee_skill_assignment_id The ID of the employee skill assignment + # @param [Hash] opts the optional parameters + # @option opts [Object] :body DELETE /hris/employee-skill-assignments/:employee_skill_assignment_id Request body + # @return [DeleteHrisEmployeeSkillAssignmentsEmployeeSkillAssignmentIdPositiveResponse] + describe 'delete_hris_employee_skill_assignments_employee_skill_assignment_id test' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + # unit tests for delete_hris_skills_skill_id + # Delete skill + # Delete skill <Warning>**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.</Warning> Delete a skill from the HRIS system. + # @param x_integration_id ID of the integration you want to interact with. + # @param skill_id The ID of the skill + # @param [Hash] opts the optional parameters + # @option opts [Object] :body DELETE /hris/skills/:skill_id Request body + # @return [DeleteHrisSkillsSkillIdPositiveResponse] + describe 'delete_hris_skills_skill_id test' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + # unit tests for get_hris_absence_types + # Get absence types + # Retrieve all absence types. 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)` + # @param x_integration_id ID of the integration you want to interact with. + # @param [Hash] opts the optional parameters + # @option opts [String] :cursor An optional cursor string used for pagination. This can be retrieved from the `next` property of the previous page response. + # @option opts [Integer] :page_size The number of results to return per page. Maximum is 250. + # @option opts [Time] :updated_after 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). + # @option opts [GetHrisAbsenceTypesParameterIncludeDeleted] :include_deleted By default, deleted entries are not returned. Use the `include_deleted` query param to include deleted entries too. + # @option opts [String] :ids Filter by a comma-separated list of IDs such as `222k7eCGyUdgt2JWZDNnkDs3,B5DVmypWENfU6eMe6gYDyJG3`. + # @option opts [String] :remote_ids Filter by a comma-separated list of remote IDs. + # @return [GetHrisAbsenceTypesPositiveResponse] + describe 'get_hris_absence_types test' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + # unit tests for get_hris_absences + # Get absences + # Retrieve all absences. 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)` + # @param x_integration_id ID of the integration you want to interact with. + # @param [Hash] opts the optional parameters + # @option opts [String] :cursor An optional cursor string used for pagination. This can be retrieved from the `next` property of the previous page response. + # @option opts [Integer] :page_size The number of results to return per page. Maximum is 250. + # @option opts [Time] :updated_after 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). + # @option opts [GetHrisAbsencesParameterIncludeDeleted] :include_deleted By default, deleted entries are not returned. Use the `include_deleted` query param to include deleted entries too. + # @option opts [String] :ids Filter by a comma-separated list of IDs such as `222k7eCGyUdgt2JWZDNnkDs3,B5DVmypWENfU6eMe6gYDyJG3`. + # @option opts [String] :remote_ids Filter by a comma-separated list of remote IDs. + # @option opts [Time] :date_from 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. + # @option opts [Time] :date_until 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. + # @option opts [String] :type_ids Filter by a comma-separated list of absence type IDs. + # @option opts [String] :employee_id Filter by a specific employee using their ID. + # @option opts [Time] :time_from **(⚠️ Deprecated - Use the `date_from` filter instead.)** Filter for absences that either start after or start before and end after a certain time. + # @option opts [Time] :time_until **(⚠️ Deprecated - Use the `date_until` filter instead.)** Filter for absences that start before a certain time. + # @return [GetHrisAbsencesPositiveResponse] + describe 'get_hris_absences test' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + # unit tests for get_hris_employee_document_categories + # Get employee document categories + # Get employee document categories. 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)` + # @param x_integration_id ID of the integration you want to interact with. + # @param [Hash] opts the optional parameters + # @option opts [String] :cursor An optional cursor string used for pagination. This can be retrieved from the `next` property of the previous page response. + # @option opts [Integer] :page_size The number of results to return per page. Maximum is 250. + # @option opts [Time] :updated_after 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). + # @option opts [GetHrisEmployeeDocumentCategoriesParameterIncludeDeleted] :include_deleted By default, deleted entries are not returned. Use the `include_deleted` query param to include deleted entries too. + # @option opts [String] :ids Filter by a comma-separated list of IDs such as `222k7eCGyUdgt2JWZDNnkDs3,B5DVmypWENfU6eMe6gYDyJG3`. + # @option opts [String] :remote_ids Filter by a comma-separated list of remote IDs. + # @return [GetHrisEmployeeDocumentCategoriesPositiveResponse] + describe 'get_hris_employee_document_categories test' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + # unit tests for get_hris_employee_skill_assignments + # Get employee skill assignments + # Get employee skill assignments <Warning>**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.</Warning> Retrieve all employee skill assignments. These represent the skills that employees possess and their current proficiency levels. + # @param x_integration_id ID of the integration you want to interact with. + # @param [Hash] opts the optional parameters + # @option opts [String] :ids Filter by a comma-separated list of IDs such as `222k7eCGyUdgt2JWZDNnkDs3,B5DVmypWENfU6eMe6gYDyJG3`. + # @option opts [String] :remote_ids Filter by a comma-separated list of remote IDs. + # @option opts [String] :employee_ids Filter by a comma-separated list of employee IDs. + # @option opts [String] :skill_ids Filter by a comma-separated list of skill IDs. + # @return [GetHrisEmployeeSkillAssignmentsPositiveResponse] + describe 'get_hris_employee_skill_assignments test' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + # unit tests for get_hris_employees + # Get employees + # Retrieve all employees. <Note>Not interested in most fields? You can use our [our Scopes feature](/scopes) to customize what data points are synced.</Note> 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)` + # @param x_integration_id ID of the integration you want to interact with. + # @param [Hash] opts the optional parameters + # @option opts [String] :cursor An optional cursor string used for pagination. This can be retrieved from the `next` property of the previous page response. + # @option opts [Integer] :page_size The number of results to return per page. Maximum is 250. + # @option opts [Time] :updated_after 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). + # @option opts [GetHrisEmployeesParameterIncludeDeleted] :include_deleted By default, deleted entries are not returned. Use the `include_deleted` query param to include deleted entries too. + # @option opts [String] :ids Filter by a comma-separated list of IDs such as `222k7eCGyUdgt2JWZDNnkDs3,B5DVmypWENfU6eMe6gYDyJG3`. + # @option opts [String] :remote_ids Filter by a comma-separated list of remote IDs. + # @option opts [GetHrisEmployeesParameterEmploymentStatus] :employment_status **(⚠️ Deprecated - Use the `employment_statuses` filter instead.)** Filter by the `employment_status` field. + # @option opts [String] :employment_statuses Filter by a comma-separated list of `ACTIVE`, `PENDING`, `INACTIVE`, `LEAVE` * `ACTIVE`: the employee is **actively employed** * `PENDING`: the employee is **not actively employed yet** (but they signed their contract or are part of an onboarding process) * `INACTIVE`: a full-time employee is no longer employed, or, for a contract worker when their contract runs out * `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) Leave this blank to get results matching all values. + # @option opts [String] :group_ids Filter by a comma-separated list of group IDs. We will only return employees that are members of _any_ of the groups. + # @option opts [String] :legal_entity_ids Filter by a comma-separated list of legal entity IDs. We will only return employees that are members of _any_ of the legal entities. + # @option opts [String] :work_location_ids Filter by a comma-separated list of work location IDs. We will only return employees who are at _any_ of the work locations. + # @option opts [String] :work_emails 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. + # @option opts [String] :personal_emails 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. + # @option opts [String] :custom_fields 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. + # @return [GetHrisEmployeesPositiveResponse] + describe 'get_hris_employees test' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + # unit tests for get_hris_employees_form + # Get employee form + # Get the form for creating an employee. This form can be rendered dynamically on your frontend to allow your customers to create employees in their HRIS. Follow our [create employee guide here](/hris/features/create-employee) to learn how this form is generated and how you can use it. ### Example Form ```json { \"properties\": { \"firstName\": { \"type\": \"text\", \"label\": \"First Name\", \"required\": true, \"description\": \"Employee's first name\", \"unified_key\": \"first_name\", \"min_length\": 1, \"max_length\": 100 }, \"startDate\": { \"type\": \"date\", \"label\": \"Start Date\", \"required\": true, \"description\": \"Employee's start date\", \"unified_key\": \"start_date\" }, \"workLocation\": { \"type\": \"object\", \"label\": \"Work Location\", \"required\": false, \"description\": \"Employee's work location\", \"unified_key\": null, \"properties\": { \"site\": { \"type\": \"single_select\", \"label\": \"Site\", \"required\": true, \"description\": \"Employee's site\", \"unified_key\": null, \"options\": { \"type\": \"inline\", \"entries\": [ { \"label\": \"Site 1\", \"id\": \"FXrER44xubBqA9DLgZ3PFNNx\", \"unified_value\": \"1\", \"remote_id\": \"site_1\" }, { \"label\": \"Site 2\", \"id\": \"2rv75UKT2XBoQXsUb9agiTUm\", \"unified_value\": \"2\", \"remote_id\": \"site_2\" } ] } }, \"keyNumbers\": { \"type\": \"array\", \"label\": \"Key Numbers\", \"required\": false, \"description\": \"Employee's key numbers\", \"unified_key\": null, \"min_items\": 2, \"max_items\": 5, \"item_type\": { \"type\": \"number\", \"label\": \"Key Number\", \"required\": false, \"description\": \"The number of the keys which belong to the employee\", \"unified_key\": null, \"min\": 0, \"max\": 99 } } } } } } ``` + # @param x_integration_id ID of the integration you want to interact with. + # @param [Hash] opts the optional parameters + # @return [GetHrisEmployeesFormPositiveResponse] + describe 'get_hris_employees_form test' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + # unit tests for get_hris_employments + # Get employments + # Retrieve all employments. 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)` + # @param x_integration_id ID of the integration you want to interact with. + # @param [Hash] opts the optional parameters + # @option opts [String] :cursor An optional cursor string used for pagination. This can be retrieved from the `next` property of the previous page response. + # @option opts [Integer] :page_size The number of results to return per page. Maximum is 250. + # @option opts [Time] :updated_after 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). + # @option opts [GetHrisEmploymentsParameterIncludeDeleted] :include_deleted By default, deleted entries are not returned. Use the `include_deleted` query param to include deleted entries too. + # @option opts [String] :ids Filter by a comma-separated list of IDs such as `222k7eCGyUdgt2JWZDNnkDs3,B5DVmypWENfU6eMe6gYDyJG3`. + # @option opts [String] :remote_ids Filter by a comma-separated list of remote IDs. + # @return [GetHrisEmploymentsPositiveResponse] + describe 'get_hris_employments test' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + # unit tests for get_hris_groups + # Get groups + # Retrieve all \"groups\" (teams, departments, and cost centers). 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)` + # @param x_integration_id ID of the integration you want to interact with. + # @param [Hash] opts the optional parameters + # @option opts [String] :cursor An optional cursor string used for pagination. This can be retrieved from the `next` property of the previous page response. + # @option opts [Integer] :page_size The number of results to return per page. Maximum is 250. + # @option opts [Time] :updated_after 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). + # @option opts [GetHrisGroupsParameterIncludeDeleted] :include_deleted By default, deleted entries are not returned. Use the `include_deleted` query param to include deleted entries too. + # @option opts [String] :ids Filter by a comma-separated list of IDs such as `222k7eCGyUdgt2JWZDNnkDs3,B5DVmypWENfU6eMe6gYDyJG3`. + # @option opts [String] :remote_ids Filter by a comma-separated list of remote IDs. + # @option opts [String] :types Filter by a comma-separated list of group types: `DEPARTMENT`, `TEAM`, `COST_CENTER`, or `null` to filter groups without a type. Leave this blank to get results matching all values. + # @option opts [String] :name_contains Filter by the `name` field. Can be used to find a group by keywords present in the group name. + # @return [GetHrisGroupsPositiveResponse] + describe 'get_hris_groups test' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + # unit tests for get_hris_job_positions + # Get job positions + # Get job positions <Warning>**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.</Warning> Retrieve all job positions from the HRIS system. Job positions represent the organizational structure and include information about required skills, department, location, and reporting relationships. + # @param x_integration_id ID of the integration you want to interact with. + # @param [Hash] opts the optional parameters + # @option opts [String] :ids Filter by a comma-separated list of IDs such as `222k7eCGyUdgt2JWZDNnkDs3,B5DVmypWENfU6eMe6gYDyJG3`. + # @option opts [String] :remote_ids Filter by a comma-separated list of remote IDs. + # @return [GetHrisJobPositionsPositiveResponse] + describe 'get_hris_job_positions test' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + # unit tests for get_hris_legal_entities + # Get legal entities + # Retrieve all legal entites. 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)` + # @param x_integration_id ID of the integration you want to interact with. + # @param [Hash] opts the optional parameters + # @option opts [String] :cursor An optional cursor string used for pagination. This can be retrieved from the `next` property of the previous page response. + # @option opts [Integer] :page_size The number of results to return per page. Maximum is 250. + # @option opts [Time] :updated_after 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). + # @option opts [GetHrisLegalEntitiesParameterIncludeDeleted] :include_deleted By default, deleted entries are not returned. Use the `include_deleted` query param to include deleted entries too. + # @option opts [String] :ids Filter by a comma-separated list of IDs such as `222k7eCGyUdgt2JWZDNnkDs3,B5DVmypWENfU6eMe6gYDyJG3`. + # @option opts [String] :remote_ids Filter by a comma-separated list of remote IDs. + # @option opts [String] :name_contains Filter by the `name` field. Can be used to find a legal entity by keywords present in the legal entity name. + # @return [GetHrisLegalEntitiesPositiveResponse] + describe 'get_hris_legal_entities test' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + # unit tests for get_hris_locations + # Get work locations + # Retrieve all work locations. 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)` + # @param x_integration_id ID of the integration you want to interact with. + # @param [Hash] opts the optional parameters + # @option opts [String] :cursor An optional cursor string used for pagination. This can be retrieved from the `next` property of the previous page response. + # @option opts [Integer] :page_size The number of results to return per page. Maximum is 250. + # @option opts [Time] :updated_after 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). + # @option opts [GetHrisLocationsParameterIncludeDeleted] :include_deleted By default, deleted entries are not returned. Use the `include_deleted` query param to include deleted entries too. + # @option opts [String] :ids Filter by a comma-separated list of IDs such as `222k7eCGyUdgt2JWZDNnkDs3,B5DVmypWENfU6eMe6gYDyJG3`. + # @option opts [String] :remote_ids Filter by a comma-separated list of remote IDs. + # @option opts [String] :name_contains Filter by the `name` field. Can be used to find a location by keywords present in the location name. + # @return [GetHrisLocationsPositiveResponse] + describe 'get_hris_locations test' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + # unit tests for get_hris_performance_review_cycles + # Get performance review cycles + # Get performance review cycles Retrieve performance review cycles data from HRIS tools. <Warning>**Open Beta Feature:** This endpoint is currently in beta. Please reach out to our support team if you need assistance with implementation.</Warning> 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)` + # @param x_integration_id ID of the integration you want to interact with. + # @param [Hash] opts the optional parameters + # @option opts [String] :cursor An optional cursor string used for pagination. This can be retrieved from the `next` property of the previous page response. + # @option opts [Integer] :page_size The number of results to return per page. Maximum is 250. + # @option opts [Time] :updated_after 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). + # @option opts [GetHrisPerformanceReviewCyclesParameterIncludeDeleted] :include_deleted By default, deleted entries are not returned. Use the `include_deleted` query param to include deleted entries too. + # @option opts [String] :ids Filter by a comma-separated list of IDs such as `222k7eCGyUdgt2JWZDNnkDs3,B5DVmypWENfU6eMe6gYDyJG3`. + # @option opts [String] :remote_ids Filter by a comma-separated list of remote IDs. + # @return [GetHrisPerformanceReviewCyclesPositiveResponse] + describe 'get_hris_performance_review_cycles test' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + # unit tests for get_hris_performance_reviews + # Get performance reviews + # Get performance reviews Retrieve performance review data from HRIS tools. <Warning>**Open Beta Feature:** This endpoint is currently in beta. Please reach out to our support team if you need assistance with implementation.</Warning> 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)` + # @param x_integration_id ID of the integration you want to interact with. + # @param [Hash] opts the optional parameters + # @option opts [String] :cursor An optional cursor string used for pagination. This can be retrieved from the `next` property of the previous page response. + # @option opts [Integer] :page_size The number of results to return per page. Maximum is 250. + # @option opts [Time] :updated_after 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). + # @option opts [GetHrisPerformanceReviewsParameterIncludeDeleted] :include_deleted By default, deleted entries are not returned. Use the `include_deleted` query param to include deleted entries too. + # @option opts [String] :ids Filter by a comma-separated list of IDs such as `222k7eCGyUdgt2JWZDNnkDs3,B5DVmypWENfU6eMe6gYDyJG3`. + # @option opts [String] :remote_ids Filter by a comma-separated list of remote IDs. + # @option opts [String] :types Filter by a comma-separated list of `MANAGER`, `DIRECT_REPORT`, `PEER`, `SELF` Leave this blank to get results matching all values. + # @option opts [String] :review_cycle_ids Filter by a comma-separated list of review cycle IDs. + # @option opts [String] :reviewee_ids Filter by a comma-separated list of reviewee IDs. + # @return [GetHrisPerformanceReviewsPositiveResponse] + describe 'get_hris_performance_reviews test' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + # unit tests for get_hris_skills + # Get skills + # Get skills <Warning>**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.</Warning> Retrieve all skills available in the HRIS system. Skills are available on employees and job positions. + # @param x_integration_id ID of the integration you want to interact with. + # @param [Hash] opts the optional parameters + # @option opts [String] :ids Filter by a comma-separated list of IDs such as `222k7eCGyUdgt2JWZDNnkDs3,B5DVmypWENfU6eMe6gYDyJG3`. + # @option opts [String] :remote_ids Filter by a comma-separated list of remote IDs. + # @option opts [String] :name_contains Filter by the `name` field. Can be used to find a skills by keywords present in the skill name. + # @return [GetHrisSkillsPositiveResponse] + describe 'get_hris_skills test' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + # unit tests for get_hris_teams + # Get teams (deprecated) + # Get the teams. <Warning> **This endpoint is deprecated!** Please use [the `/groups` endpoint](/hris/v1/get-groups) instead. It returns the same data but the naming makes more sense as the model not only includes teams but also departments and cost centers.. </Warning> 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)` + # @param x_integration_id ID of the integration you want to interact with. + # @param [Hash] opts the optional parameters + # @option opts [String] :cursor An optional cursor string used for pagination. This can be retrieved from the `next` property of the previous page response. + # @option opts [Integer] :page_size The number of results to return per page. Maximum is 250. + # @option opts [Time] :updated_after 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). + # @option opts [GetHrisTeamsParameterIncludeDeleted] :include_deleted By default, deleted entries are not returned. Use the `include_deleted` query param to include deleted entries too. + # @option opts [String] :ids Filter by a comma-separated list of IDs such as `222k7eCGyUdgt2JWZDNnkDs3,B5DVmypWENfU6eMe6gYDyJG3`. + # @option opts [String] :remote_ids Filter by a comma-separated list of remote IDs. + # @return [GetHrisTeamsPositiveResponse] + describe 'get_hris_teams test' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + # unit tests for get_hris_time_off_balances + # Get time off balances + # Retrieve all time off balances. 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)` + # @param x_integration_id ID of the integration you want to interact with. + # @param [Hash] opts the optional parameters + # @option opts [String] :cursor An optional cursor string used for pagination. This can be retrieved from the `next` property of the previous page response. + # @option opts [Integer] :page_size The number of results to return per page. Maximum is 250. + # @option opts [Time] :updated_after 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). + # @option opts [GetHrisTimeOffBalancesParameterIncludeDeleted] :include_deleted By default, deleted entries are not returned. Use the `include_deleted` query param to include deleted entries too. + # @option opts [String] :ids Filter by a comma-separated list of IDs such as `222k7eCGyUdgt2JWZDNnkDs3,B5DVmypWENfU6eMe6gYDyJG3`. + # @option opts [String] :remote_ids Filter by a comma-separated list of remote IDs. + # @option opts [String] :employee_id Filter by a specific employee using their ID. + # @return [GetHrisTimeOffBalancesPositiveResponse] + describe 'get_hris_time_off_balances test' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + # unit tests for get_hris_timesheets + # Get timesheets + # Get timesheets Retrieve attendance data and timesheets from HRIS tools. <Warning>**Open Beta Feature:** This endpoint is currently in beta. Please reach out to our support team if you need assistance with implementation.</Warning> For a detailed explanation of the data model, validation rules, time zones, payable hours, approvals, and break patterns, see the [Time & Attendance guide](/hris/features/time-and-attendance). 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)` + # @param x_integration_id ID of the integration you want to interact with. + # @param [Hash] opts the optional parameters + # @option opts [String] :cursor An optional cursor string used for pagination. This can be retrieved from the `next` property of the previous page response. + # @option opts [Integer] :page_size The number of results to return per page. Maximum is 250. + # @option opts [Time] :updated_after 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). + # @option opts [GetHrisTimesheetsParameterIncludeDeleted] :include_deleted By default, deleted entries are not returned. Use the `include_deleted` query param to include deleted entries too. + # @option opts [String] :ids Filter by a comma-separated list of IDs such as `222k7eCGyUdgt2JWZDNnkDs3,B5DVmypWENfU6eMe6gYDyJG3`. + # @option opts [String] :remote_ids Filter by a comma-separated list of remote IDs. + # @option opts [String] :employee_id Returns timesheets for a specific employee. + # @option opts [Time] :started_before Return timesheets whose start time is before the given timestamp. + # @option opts [Time] :started_after Return timesheets whose start time is on or after the given timestamp. + # @option opts [Time] :ended_before Return timesheets whose end time is on or before the given timestamp. + # @option opts [Time] :ended_after Return timesheets whose end time is on or after the given timestamp. + # @return [GetHrisTimesheetsPositiveResponse] + describe 'get_hris_timesheets test' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + # unit tests for patch_hris_employee_skill_assignments_employee_skill_assignment_id + # Update employee skill assignment + # Update employee skill assignment <Warning>**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.</Warning> Update the skill level for an employee skill assignment. + # @param x_integration_id ID of the integration you want to interact with. + # @param employee_skill_assignment_id The ID of the employee skill assignment + # @param [Hash] opts the optional parameters + # @option opts [PatchHrisEmployeeSkillAssignmentsEmployeeSkillAssignmentIdRequestBody] :patch_hris_employee_skill_assignments_employee_skill_assignment_id_request_body PATCH /hris/employee-skill-assignments/:employee_skill_assignment_id Request body + # @return [PatchHrisEmployeeSkillAssignmentsEmployeeSkillAssignmentIdPositiveResponse] + describe 'patch_hris_employee_skill_assignments_employee_skill_assignment_id test' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + # unit tests for patch_hris_employees_employee_id + # Update employee + # Update an employee. <Note> This endpoint requires the permission **Create and manage employees** to be enabled in [your scope config](/scopes). </Note> ### Example Request Body ```json { \"employee_id\": \"BkgfzSr5muN9cUTMD4wDQFn4\", \"first_name\": \"John\", \"last_name\": \"Doe\", \"work_email\": \"john.doe@acme.com\", \"ssn\": \"555-32-6395\", \"tax_id\": \"12 345 678 901\", \"gender\": \"MALE\", \"marital_status\": \"MARRIED\", \"date_of_birth\": \"1986-01-01\", \"start_date\": \"2020-04-07\", \"termination_date\": \"2022-05-20\", \"job_title\": \"Integrations Team Lead\", \"nationality\": \"DE\", \"home_address\": { \"city\": \"Berlin\", \"country\": \"DE\", \"state\": \"Berlin\", \"street_1\": \"Sonnenallee 63\", \"zip_code\": \"12045\" } } ``` + # @param x_integration_id ID of the integration you want to interact with. + # @param employee_id 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`) + # @param [Hash] opts the optional parameters + # @option opts [PatchHrisEmployeesEmployeeIdRequestBody] :patch_hris_employees_employee_id_request_body PATCH /hris/employees/:employee_id Request body + # @return [PatchHrisEmployeesEmployeeIdPositiveResponse] + describe 'patch_hris_employees_employee_id test' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + # unit tests for patch_hris_skills_skill_id + # Update skill + # Update skill <Warning>**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.</Warning> Update an existing skill in the HRIS system. + # @param x_integration_id ID of the integration you want to interact with. + # @param skill_id The ID of the skill + # @param [Hash] opts the optional parameters + # @option opts [PatchHrisSkillsSkillIdRequestBody] :patch_hris_skills_skill_id_request_body PATCH /hris/skills/:skill_id Request body + # @return [PatchHrisSkillsSkillIdPositiveResponse] + describe 'patch_hris_skills_skill_id test' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + # unit tests for post_hris_absences + # Create absence + # Create a new absence. Check [this page](/hris/features/creating-absences) for a detailed guide. <Note> This endpoint requires the permission **Manage absences** to be enabled in [your scope config](/scopes). </Note> ### Example Request Body ```json { \"employee_id\": \"wXJMxwDvPAjrJ4CyqdV9\", \"absence_type_id\": \"3YKtQ7qedsrcCady1jSyAkY1\", \"start_date\": \"2019-09-17\", \"end_date\": \"2019-09-21\", \"start_time\": \"08:30:00\", \"end_time\": \"16:00:00\", \"start_half_day\": false, \"end_half_day\": false, \"employee_note\": \"Visiting the aliens\" } ``` + # @param x_integration_id ID of the integration you want to interact with. + # @param [Hash] opts the optional parameters + # @option opts [PostHrisAbsencesRequestBody] :post_hris_absences_request_body POST /hris/absences Request body + # @return [PostHrisAbsencesPositiveResponse] + describe 'post_hris_absences test' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + # unit tests for post_hris_employee_skill_assignments + # Create employee skill assignment + # Create employee skill assignment <Warning>**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.</Warning> Assign a skill to an employee with a specified skill level. + # @param x_integration_id ID of the integration you want to interact with. + # @param [Hash] opts the optional parameters + # @option opts [PostHrisEmployeeSkillAssignmentsRequestBody] :post_hris_employee_skill_assignments_request_body POST /hris/employee-skill-assignments Request body + # @return [PostHrisEmployeeSkillAssignmentsPositiveResponse] + describe 'post_hris_employee_skill_assignments test' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + # unit tests for post_hris_employees + # [DEPRECATED] Create employee + # Create a new employee. <Warning> We are deprecating this endpoint in favor of the new [create employee form](/hris/features/create-employee) endpoint. </Warning> <Note> This endpoint requires the permission **Create and manage employees** to be enabled in [your scope config](/scopes). </Note> ### Example Request Body ```json { \"first_name\": \"John\", \"last_name\": \"Doe\", \"work_email\": \"john.doe@acme.com\", \"gender\": \"MALE\", \"date_of_birth\": \"1986-01-01\", \"start_date\": \"2020-04-07\", \"job_title\": \"Integrations Team Lead\", \"home_address\": { \"city\": \"Berlin\", \"country\": \"DE\", \"state\": \"Berlin\", \"street_1\": \"Sonnenallee 63\", \"zip_code\": \"12045\" } } ``` + # @param x_integration_id ID of the integration you want to interact with. + # @param [Hash] opts the optional parameters + # @option opts [PostHrisEmployeesRequestBody] :post_hris_employees_request_body POST /hris/employees Request body + # @return [PostHrisEmployeesPositiveResponse] + describe 'post_hris_employees test' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + # unit tests for post_hris_employees_employee_id_documents + # Add document to employee + # Uploads an document file for the specified employee. <Note> This endpoint requires the permission **Manage documents** to be enabled in [your scope config](/scopes). </Note> ### Example Request Body ```json { \"category_id\": \"3Cjwu7nA7pH5cX5X1NAPmb7M\", \"document\": { \"name\": \"Frank Doe Employment Contract.txt\", \"data\": \"SGkgdGhlcmUsIEtvbWJvIGlzIGN1cnJlbnRseSBoaXJpbmcgZW5naW5lZXJzIHRoYXQgbG92ZSB0byB3b3JrIG9uIGRldmVsb3BlciBwcm9kdWN0cy4=\", \"content_type\": \"text/plain\" } } ``` + # @param x_integration_id ID of the integration you want to interact with. + # @param employee_id POST /hris/employees/:employee_id/documents Parameter + # @param [Hash] opts the optional parameters + # @option opts [PostHrisEmployeesEmployeeIdDocumentsRequestBody] :post_hris_employees_employee_id_documents_request_body POST /hris/employees/:employee_id/documents Request body + # @return [PostHrisEmployeesEmployeeIdDocumentsPositiveResponse] + describe 'post_hris_employees_employee_id_documents test' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + # unit tests for post_hris_employees_form + # Create employee with form + # Create an employee, based on the form schema. <Note> This endpoint requires the permission **Create and manage employees** to be enabled in [your scope config](/scopes). </Note> ### Example Request Body ```json { \"properties\": { \"firstName\": \"John\", \"startDate\": \"2025-01-01\", \"workLocation\": { \"site\": \"8e422bf8cav\", \"keyNumbers\": [ 142, 525, 63 ] } } } ``` + # @param x_integration_id ID of the integration you want to interact with. + # @param [Hash] opts the optional parameters + # @option opts [PostHrisEmployeesFormRequestBody] :post_hris_employees_form_request_body POST /hris/employees/form Request body + # @return [PostHrisEmployeesFormPositiveResponse] + describe 'post_hris_employees_form test' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + # unit tests for post_hris_provisioning_groups_group_id_diff + # Get provisioning diff + # Get the list of users to provision, deprovision, and optionally update based on the users you've already provisioned in your system. + # @param x_integration_id ID of the integration you want to interact with. + # @param group_id ID of the provisioning group (currently only `default` is allowed). + # @param [Hash] opts the optional parameters + # @option opts [PostHrisProvisioningGroupsGroupIdDiffRequestBody] :post_hris_provisioning_groups_group_id_diff_request_body POST /hris/provisioning-groups/:group_id/diff Request body + # @return [PostHrisProvisioningGroupsGroupIdDiffPositiveResponse] + describe 'post_hris_provisioning_groups_group_id_diff test' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + # unit tests for post_hris_provisioning_groups_group_id_setup_links + # Create provisioning setup link + # Create a new link that can be passed to the Kombo Connect SDK to open the provisioning setup UI. + # @param x_integration_id ID of the integration you want to interact with. + # @param group_id ID of the provisioning group (currently only `default` is allowed). + # @param [Hash] opts the optional parameters + # @option opts [PostHrisProvisioningGroupsGroupIdSetupLinksRequestBody] :post_hris_provisioning_groups_group_id_setup_links_request_body POST /hris/provisioning-groups/:group_id/setup-links Request body + # @return [PostHrisProvisioningGroupsGroupIdSetupLinksPositiveResponse] + describe 'post_hris_provisioning_groups_group_id_setup_links test' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + # unit tests for post_hris_skills + # Create skill + # Create skill <Warning>**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.</Warning> Create a new skill in the HRIS system with specified name and levels. Refer to our coverage grid for support of levels. + # @param x_integration_id ID of the integration you want to interact with. + # @param [Hash] opts the optional parameters + # @option opts [PostHrisSkillsRequestBody] :post_hris_skills_request_body POST /hris/skills Request body + # @return [PostHrisSkillsPositiveResponse] + describe 'post_hris_skills test' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/ai_apply_application_status_updated_webhook_payload_data_spec.rb b/spec/models/ai_apply_application_status_updated_webhook_payload_data_spec.rb new file mode 100644 index 0000000..6a27639 --- /dev/null +++ b/spec/models/ai_apply_application_status_updated_webhook_payload_data_spec.rb @@ -0,0 +1,64 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.13.0 + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Kombo::AiApplyApplicationStatusUpdatedWebhookPayloadData +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Kombo::AiApplyApplicationStatusUpdatedWebhookPayloadData do + let(:instance) { Kombo::AiApplyApplicationStatusUpdatedWebhookPayloadData.new } + + describe 'test an instance of AiApplyApplicationStatusUpdatedWebhookPayloadData' do + it 'should create an instance of AiApplyApplicationStatusUpdatedWebhookPayloadData' do + # uncomment below to test the instance creation + #expect(instance).to be_instance_of(Kombo::AiApplyApplicationStatusUpdatedWebhookPayloadData) + end + end + + describe 'test attribute "id"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "job_posting_id"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "status"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + # validator = Petstore::EnumTest::EnumAttributeValidator.new('String', ["PENDING", "SUBMITTED", "FAILED"]) + # validator.allowable_values.each do |value| + # expect { instance.status = value }.not_to raise_error + # end + end + end + + describe 'test attribute "created_at"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "updated_at"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/ai_apply_application_status_updated_webhook_payload_spec.rb b/spec/models/ai_apply_application_status_updated_webhook_payload_spec.rb new file mode 100644 index 0000000..4c78a29 --- /dev/null +++ b/spec/models/ai_apply_application_status_updated_webhook_payload_spec.rb @@ -0,0 +1,52 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.13.0 + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Kombo::AiApplyApplicationStatusUpdatedWebhookPayload +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Kombo::AiApplyApplicationStatusUpdatedWebhookPayload do + let(:instance) { Kombo::AiApplyApplicationStatusUpdatedWebhookPayload.new } + + describe 'test an instance of AiApplyApplicationStatusUpdatedWebhookPayload' do + it 'should create an instance of AiApplyApplicationStatusUpdatedWebhookPayload' do + # uncomment below to test the instance creation + #expect(instance).to be_instance_of(Kombo::AiApplyApplicationStatusUpdatedWebhookPayload) + end + end + + describe 'test attribute "id"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "type"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + # validator = Petstore::EnumTest::EnumAttributeValidator.new('String', ["ai-apply-application-status-updated"]) + # validator.allowable_values.each do |value| + # expect { instance.type = value }.not_to raise_error + # end + end + end + + describe 'test attribute "data"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/ai_apply_job_posting_status_updated_webhook_payload_data_career_site_spec.rb b/spec/models/ai_apply_job_posting_status_updated_webhook_payload_data_career_site_spec.rb new file mode 100644 index 0000000..645466c --- /dev/null +++ b/spec/models/ai_apply_job_posting_status_updated_webhook_payload_data_career_site_spec.rb @@ -0,0 +1,42 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.13.0 + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Kombo::AiApplyJobPostingStatusUpdatedWebhookPayloadDataCareerSite +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Kombo::AiApplyJobPostingStatusUpdatedWebhookPayloadDataCareerSite do + let(:instance) { Kombo::AiApplyJobPostingStatusUpdatedWebhookPayloadDataCareerSite.new } + + describe 'test an instance of AiApplyJobPostingStatusUpdatedWebhookPayloadDataCareerSite' do + it 'should create an instance of AiApplyJobPostingStatusUpdatedWebhookPayloadDataCareerSite' do + # uncomment below to test the instance creation + #expect(instance).to be_instance_of(Kombo::AiApplyJobPostingStatusUpdatedWebhookPayloadDataCareerSite) + end + end + + describe 'test attribute "id"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "label"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/ai_apply_job_posting_status_updated_webhook_payload_data_spec.rb b/spec/models/ai_apply_job_posting_status_updated_webhook_payload_data_spec.rb new file mode 100644 index 0000000..f70b10c --- /dev/null +++ b/spec/models/ai_apply_job_posting_status_updated_webhook_payload_data_spec.rb @@ -0,0 +1,92 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.13.0 + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Kombo::AiApplyJobPostingStatusUpdatedWebhookPayloadData +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Kombo::AiApplyJobPostingStatusUpdatedWebhookPayloadData do + let(:instance) { Kombo::AiApplyJobPostingStatusUpdatedWebhookPayloadData.new } + + describe 'test an instance of AiApplyJobPostingStatusUpdatedWebhookPayloadData' do + it 'should create an instance of AiApplyJobPostingStatusUpdatedWebhookPayloadData' do + # uncomment below to test the instance creation + #expect(instance).to be_instance_of(Kombo::AiApplyJobPostingStatusUpdatedWebhookPayloadData) + end + end + + describe 'test attribute "id"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "career_site"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "url"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "job_code"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "created_at"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "updated_at"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "archived_at"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "archived_reason"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + # validator = Petstore::EnumTest::EnumAttributeValidator.new('String', ["JOB_POSTING_TAKEN_OFFLINE", "MANUAL_ARCHIVE"]) + # validator.allowable_values.each do |value| + # expect { instance.archived_reason = value }.not_to raise_error + # end + end + end + + describe 'test attribute "availability"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + # validator = Petstore::EnumTest::EnumAttributeValidator.new('String', ["APPLYABLE", "PENDING", "ARCHIVED", "UNAVAILABLE"]) + # validator.allowable_values.each do |value| + # expect { instance.availability = value }.not_to raise_error + # end + end + end + +end diff --git a/spec/models/ai_apply_job_posting_status_updated_webhook_payload_spec.rb b/spec/models/ai_apply_job_posting_status_updated_webhook_payload_spec.rb new file mode 100644 index 0000000..b071a06 --- /dev/null +++ b/spec/models/ai_apply_job_posting_status_updated_webhook_payload_spec.rb @@ -0,0 +1,52 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.13.0 + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Kombo::AiApplyJobPostingStatusUpdatedWebhookPayload +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Kombo::AiApplyJobPostingStatusUpdatedWebhookPayload do + let(:instance) { Kombo::AiApplyJobPostingStatusUpdatedWebhookPayload.new } + + describe 'test an instance of AiApplyJobPostingStatusUpdatedWebhookPayload' do + it 'should create an instance of AiApplyJobPostingStatusUpdatedWebhookPayload' do + # uncomment below to test the instance creation + #expect(instance).to be_instance_of(Kombo::AiApplyJobPostingStatusUpdatedWebhookPayload) + end + end + + describe 'test attribute "id"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "type"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + # validator = Petstore::EnumTest::EnumAttributeValidator.new('String', ["ai-apply-job-posting-status-updated"]) + # validator.allowable_values.each do |value| + # expect { instance.type = value }.not_to raise_error + # end + end + end + + describe 'test attribute "data"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/assessment_order_received_webhook_payload_data_application_spec.rb b/spec/models/assessment_order_received_webhook_payload_data_application_spec.rb new file mode 100644 index 0000000..de65fd9 --- /dev/null +++ b/spec/models/assessment_order_received_webhook_payload_data_application_spec.rb @@ -0,0 +1,36 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.13.0 + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Kombo::AssessmentOrderReceivedWebhookPayloadDataApplication +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Kombo::AssessmentOrderReceivedWebhookPayloadDataApplication do + let(:instance) { Kombo::AssessmentOrderReceivedWebhookPayloadDataApplication.new } + + describe 'test an instance of AssessmentOrderReceivedWebhookPayloadDataApplication' do + it 'should create an instance of AssessmentOrderReceivedWebhookPayloadDataApplication' do + # uncomment below to test the instance creation + #expect(instance).to be_instance_of(Kombo::AssessmentOrderReceivedWebhookPayloadDataApplication) + end + end + + describe 'test attribute "remote_id"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/assessment_order_received_webhook_payload_data_candidate_spec.rb b/spec/models/assessment_order_received_webhook_payload_data_candidate_spec.rb new file mode 100644 index 0000000..a77c461 --- /dev/null +++ b/spec/models/assessment_order_received_webhook_payload_data_candidate_spec.rb @@ -0,0 +1,60 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.13.0 + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Kombo::AssessmentOrderReceivedWebhookPayloadDataCandidate +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Kombo::AssessmentOrderReceivedWebhookPayloadDataCandidate do + let(:instance) { Kombo::AssessmentOrderReceivedWebhookPayloadDataCandidate.new } + + describe 'test an instance of AssessmentOrderReceivedWebhookPayloadDataCandidate' do + it 'should create an instance of AssessmentOrderReceivedWebhookPayloadDataCandidate' do + # uncomment below to test the instance creation + #expect(instance).to be_instance_of(Kombo::AssessmentOrderReceivedWebhookPayloadDataCandidate) + end + end + + describe 'test attribute "email"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "first_name"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "last_name"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "phone"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "remote_id"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/assessment_order_received_webhook_payload_data_job_hiring_team_inner_spec.rb b/spec/models/assessment_order_received_webhook_payload_data_job_hiring_team_inner_spec.rb new file mode 100644 index 0000000..90a27af --- /dev/null +++ b/spec/models/assessment_order_received_webhook_payload_data_job_hiring_team_inner_spec.rb @@ -0,0 +1,64 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.13.0 + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Kombo::AssessmentOrderReceivedWebhookPayloadDataJobHiringTeamInner +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Kombo::AssessmentOrderReceivedWebhookPayloadDataJobHiringTeamInner do + let(:instance) { Kombo::AssessmentOrderReceivedWebhookPayloadDataJobHiringTeamInner.new } + + describe 'test an instance of AssessmentOrderReceivedWebhookPayloadDataJobHiringTeamInner' do + it 'should create an instance of AssessmentOrderReceivedWebhookPayloadDataJobHiringTeamInner' do + # uncomment below to test the instance creation + #expect(instance).to be_instance_of(Kombo::AssessmentOrderReceivedWebhookPayloadDataJobHiringTeamInner) + end + end + + describe 'test attribute "remote_id"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "email"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "first_name"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "last_name"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "hiring_team_roles"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + # validator = Petstore::EnumTest::EnumAttributeValidator.new('Array', ["RECRUITER", "HIRING_MANAGER"]) + # validator.allowable_values.each do |value| + # expect { instance.hiring_team_roles = value }.not_to raise_error + # end + end + end + +end diff --git a/spec/models/assessment_order_received_webhook_payload_data_job_location_spec.rb b/spec/models/assessment_order_received_webhook_payload_data_job_location_spec.rb new file mode 100644 index 0000000..ac5642e --- /dev/null +++ b/spec/models/assessment_order_received_webhook_payload_data_job_location_spec.rb @@ -0,0 +1,72 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.13.0 + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Kombo::AssessmentOrderReceivedWebhookPayloadDataJobLocation +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Kombo::AssessmentOrderReceivedWebhookPayloadDataJobLocation do + let(:instance) { Kombo::AssessmentOrderReceivedWebhookPayloadDataJobLocation.new } + + describe 'test an instance of AssessmentOrderReceivedWebhookPayloadDataJobLocation' do + it 'should create an instance of AssessmentOrderReceivedWebhookPayloadDataJobLocation' do + # uncomment below to test the instance creation + #expect(instance).to be_instance_of(Kombo::AssessmentOrderReceivedWebhookPayloadDataJobLocation) + end + end + + describe 'test attribute "city"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "country"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "raw"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "state"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "street_1"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "street_2"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "zip_code"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/assessment_order_received_webhook_payload_data_job_spec.rb b/spec/models/assessment_order_received_webhook_payload_data_job_spec.rb new file mode 100644 index 0000000..a0414b6 --- /dev/null +++ b/spec/models/assessment_order_received_webhook_payload_data_job_spec.rb @@ -0,0 +1,54 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.13.0 + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Kombo::AssessmentOrderReceivedWebhookPayloadDataJob +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Kombo::AssessmentOrderReceivedWebhookPayloadDataJob do + let(:instance) { Kombo::AssessmentOrderReceivedWebhookPayloadDataJob.new } + + describe 'test an instance of AssessmentOrderReceivedWebhookPayloadDataJob' do + it 'should create an instance of AssessmentOrderReceivedWebhookPayloadDataJob' do + # uncomment below to test the instance creation + #expect(instance).to be_instance_of(Kombo::AssessmentOrderReceivedWebhookPayloadDataJob) + end + end + + describe 'test attribute "remote_id"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "name"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "location"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "hiring_team"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/assessment_order_received_webhook_payload_data_spec.rb b/spec/models/assessment_order_received_webhook_payload_data_spec.rb new file mode 100644 index 0000000..984e2fe --- /dev/null +++ b/spec/models/assessment_order_received_webhook_payload_data_spec.rb @@ -0,0 +1,76 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.13.0 + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Kombo::AssessmentOrderReceivedWebhookPayloadData +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Kombo::AssessmentOrderReceivedWebhookPayloadData do + let(:instance) { Kombo::AssessmentOrderReceivedWebhookPayloadData.new } + + describe 'test an instance of AssessmentOrderReceivedWebhookPayloadData' do + it 'should create an instance of AssessmentOrderReceivedWebhookPayloadData' do + # uncomment below to test the instance creation + #expect(instance).to be_instance_of(Kombo::AssessmentOrderReceivedWebhookPayloadData) + end + end + + describe 'test attribute "id"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "package_id"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "status"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + # validator = Petstore::EnumTest::EnumAttributeValidator.new('String', ["OPEN", "COMPLETED", "CANCELLED", "REJECTED"]) + # validator.allowable_values.each do |value| + # expect { instance.status = value }.not_to raise_error + # end + end + end + + describe 'test attribute "integration_id"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "candidate"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "application"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "job"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/assessment_order_received_webhook_payload_spec.rb b/spec/models/assessment_order_received_webhook_payload_spec.rb new file mode 100644 index 0000000..41017c9 --- /dev/null +++ b/spec/models/assessment_order_received_webhook_payload_spec.rb @@ -0,0 +1,52 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.13.0 + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Kombo::AssessmentOrderReceivedWebhookPayload +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Kombo::AssessmentOrderReceivedWebhookPayload do + let(:instance) { Kombo::AssessmentOrderReceivedWebhookPayload.new } + + describe 'test an instance of AssessmentOrderReceivedWebhookPayload' do + it 'should create an instance of AssessmentOrderReceivedWebhookPayload' do + # uncomment below to test the instance creation + #expect(instance).to be_instance_of(Kombo::AssessmentOrderReceivedWebhookPayload) + end + end + + describe 'test attribute "id"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "type"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + # validator = Petstore::EnumTest::EnumAttributeValidator.new('String', ["assessment:order-received"]) + # validator.allowable_values.each do |value| + # expect { instance.type = value }.not_to raise_error + # end + end + end + + describe 'test attribute "data"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/connection_flow_failed_webhook_payload_data_end_user_spec.rb b/spec/models/connection_flow_failed_webhook_payload_data_end_user_spec.rb new file mode 100644 index 0000000..fcf9dd6 --- /dev/null +++ b/spec/models/connection_flow_failed_webhook_payload_data_end_user_spec.rb @@ -0,0 +1,48 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.13.0 + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Kombo::ConnectionFlowFailedWebhookPayloadDataEndUser +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Kombo::ConnectionFlowFailedWebhookPayloadDataEndUser do + let(:instance) { Kombo::ConnectionFlowFailedWebhookPayloadDataEndUser.new } + + describe 'test an instance of ConnectionFlowFailedWebhookPayloadDataEndUser' do + it 'should create an instance of ConnectionFlowFailedWebhookPayloadDataEndUser' do + # uncomment below to test the instance creation + #expect(instance).to be_instance_of(Kombo::ConnectionFlowFailedWebhookPayloadDataEndUser) + end + end + + describe 'test attribute "organization_name"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "creator_email"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "origin_id"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/connection_flow_failed_webhook_payload_data_spec.rb b/spec/models/connection_flow_failed_webhook_payload_data_spec.rb new file mode 100644 index 0000000..2a4cd6b --- /dev/null +++ b/spec/models/connection_flow_failed_webhook_payload_data_spec.rb @@ -0,0 +1,58 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.13.0 + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Kombo::ConnectionFlowFailedWebhookPayloadData +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Kombo::ConnectionFlowFailedWebhookPayloadData do + let(:instance) { Kombo::ConnectionFlowFailedWebhookPayloadData.new } + + describe 'test an instance of ConnectionFlowFailedWebhookPayloadData' do + it 'should create an instance of ConnectionFlowFailedWebhookPayloadData' do + # uncomment below to test the instance creation + #expect(instance).to be_instance_of(Kombo::ConnectionFlowFailedWebhookPayloadData) + end + end + + describe 'test attribute "integration_tool"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "integration_category"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + # validator = Petstore::EnumTest::EnumAttributeValidator.new('String', ["HRIS", "ATS", "ASSESSMENT"]) + # validator.allowable_values.each do |value| + # expect { instance.integration_category = value }.not_to raise_error + # end + end + end + + describe 'test attribute "end_user"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "log_url"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/connection_flow_failed_webhook_payload_spec.rb b/spec/models/connection_flow_failed_webhook_payload_spec.rb new file mode 100644 index 0000000..57acb6e --- /dev/null +++ b/spec/models/connection_flow_failed_webhook_payload_spec.rb @@ -0,0 +1,52 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.13.0 + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Kombo::ConnectionFlowFailedWebhookPayload +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Kombo::ConnectionFlowFailedWebhookPayload do + let(:instance) { Kombo::ConnectionFlowFailedWebhookPayload.new } + + describe 'test an instance of ConnectionFlowFailedWebhookPayload' do + it 'should create an instance of ConnectionFlowFailedWebhookPayload' do + # uncomment below to test the instance creation + #expect(instance).to be_instance_of(Kombo::ConnectionFlowFailedWebhookPayload) + end + end + + describe 'test attribute "id"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "type"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + # validator = Petstore::EnumTest::EnumAttributeValidator.new('String', ["connection-flow-failed"]) + # validator.allowable_values.each do |value| + # expect { instance.type = value }.not_to raise_error + # end + end + end + + describe 'test attribute "data"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/data_changed_webhook_payload_data_changed_models_inner_spec.rb b/spec/models/data_changed_webhook_payload_data_changed_models_inner_spec.rb new file mode 100644 index 0000000..8f8ea0a --- /dev/null +++ b/spec/models/data_changed_webhook_payload_data_changed_models_inner_spec.rb @@ -0,0 +1,40 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.13.0 + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Kombo::DataChangedWebhookPayloadDataChangedModelsInner +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Kombo::DataChangedWebhookPayloadDataChangedModelsInner do + let(:instance) { Kombo::DataChangedWebhookPayloadDataChangedModelsInner.new } + + describe 'test an instance of DataChangedWebhookPayloadDataChangedModelsInner' do + it 'should create an instance of DataChangedWebhookPayloadDataChangedModelsInner' do + # uncomment below to test the instance creation + #expect(instance).to be_instance_of(Kombo::DataChangedWebhookPayloadDataChangedModelsInner) + end + end + + describe 'test attribute "name"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + # validator = Petstore::EnumTest::EnumAttributeValidator.new('String', ["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"]) + # validator.allowable_values.each do |value| + # expect { instance.name = value }.not_to raise_error + # end + end + end + +end diff --git a/spec/models/data_changed_webhook_payload_data_spec.rb b/spec/models/data_changed_webhook_payload_data_spec.rb new file mode 100644 index 0000000..1a58077 --- /dev/null +++ b/spec/models/data_changed_webhook_payload_data_spec.rb @@ -0,0 +1,58 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.13.0 + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Kombo::DataChangedWebhookPayloadData +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Kombo::DataChangedWebhookPayloadData do + let(:instance) { Kombo::DataChangedWebhookPayloadData.new } + + describe 'test an instance of DataChangedWebhookPayloadData' do + it 'should create an instance of DataChangedWebhookPayloadData' do + # uncomment below to test the instance creation + #expect(instance).to be_instance_of(Kombo::DataChangedWebhookPayloadData) + end + end + + describe 'test attribute "integration_id"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "integration_tool"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "integration_category"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + # validator = Petstore::EnumTest::EnumAttributeValidator.new('String', ["HRIS", "ATS", "ASSESSMENT"]) + # validator.allowable_values.each do |value| + # expect { instance.integration_category = value }.not_to raise_error + # end + end + end + + describe 'test attribute "changed_models"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/data_changed_webhook_payload_spec.rb b/spec/models/data_changed_webhook_payload_spec.rb new file mode 100644 index 0000000..9511dcf --- /dev/null +++ b/spec/models/data_changed_webhook_payload_spec.rb @@ -0,0 +1,52 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.13.0 + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Kombo::DataChangedWebhookPayload +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Kombo::DataChangedWebhookPayload do + let(:instance) { Kombo::DataChangedWebhookPayload.new } + + describe 'test an instance of DataChangedWebhookPayload' do + it 'should create an instance of DataChangedWebhookPayload' do + # uncomment below to test the instance creation + #expect(instance).to be_instance_of(Kombo::DataChangedWebhookPayload) + end + end + + describe 'test attribute "id"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "type"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + # validator = Petstore::EnumTest::EnumAttributeValidator.new('String', ["data-changed"]) + # validator.allowable_values.each do |value| + # expect { instance.type = value }.not_to raise_error + # end + end + end + + describe 'test attribute "data"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/delete_ats_candidates_candidate_id_tags_positive_response_spec.rb b/spec/models/delete_ats_candidates_candidate_id_tags_positive_response_spec.rb new file mode 100644 index 0000000..d721b10 --- /dev/null +++ b/spec/models/delete_ats_candidates_candidate_id_tags_positive_response_spec.rb @@ -0,0 +1,52 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.13.0 + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Kombo::DeleteAtsCandidatesCandidateIdTagsPositiveResponse +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Kombo::DeleteAtsCandidatesCandidateIdTagsPositiveResponse do + let(:instance) { Kombo::DeleteAtsCandidatesCandidateIdTagsPositiveResponse.new } + + describe 'test an instance of DeleteAtsCandidatesCandidateIdTagsPositiveResponse' do + it 'should create an instance of DeleteAtsCandidatesCandidateIdTagsPositiveResponse' do + # uncomment below to test the instance creation + #expect(instance).to be_instance_of(Kombo::DeleteAtsCandidatesCandidateIdTagsPositiveResponse) + end + end + + describe 'test attribute "status"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + # validator = Petstore::EnumTest::EnumAttributeValidator.new('String', ["success"]) + # validator.allowable_values.each do |value| + # expect { instance.status = value }.not_to raise_error + # end + end + end + + describe 'test attribute "data"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "warnings"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/delete_ats_candidates_candidate_id_tags_request_body_spec.rb b/spec/models/delete_ats_candidates_candidate_id_tags_request_body_spec.rb new file mode 100644 index 0000000..9cb98d9 --- /dev/null +++ b/spec/models/delete_ats_candidates_candidate_id_tags_request_body_spec.rb @@ -0,0 +1,42 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.13.0 + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Kombo::DeleteAtsCandidatesCandidateIdTagsRequestBody +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Kombo::DeleteAtsCandidatesCandidateIdTagsRequestBody do + let(:instance) { Kombo::DeleteAtsCandidatesCandidateIdTagsRequestBody.new } + + describe 'test an instance of DeleteAtsCandidatesCandidateIdTagsRequestBody' do + it 'should create an instance of DeleteAtsCandidatesCandidateIdTagsRequestBody' do + # uncomment below to test the instance creation + #expect(instance).to be_instance_of(Kombo::DeleteAtsCandidatesCandidateIdTagsRequestBody) + end + end + + describe 'test attribute "tag"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "remote_fields"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/delete_ats_candidates_candidate_id_tags_request_body_tag_spec.rb b/spec/models/delete_ats_candidates_candidate_id_tags_request_body_tag_spec.rb new file mode 100644 index 0000000..a855be1 --- /dev/null +++ b/spec/models/delete_ats_candidates_candidate_id_tags_request_body_tag_spec.rb @@ -0,0 +1,36 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.13.0 + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Kombo::DeleteAtsCandidatesCandidateIdTagsRequestBodyTag +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Kombo::DeleteAtsCandidatesCandidateIdTagsRequestBodyTag do + let(:instance) { Kombo::DeleteAtsCandidatesCandidateIdTagsRequestBodyTag.new } + + describe 'test an instance of DeleteAtsCandidatesCandidateIdTagsRequestBodyTag' do + it 'should create an instance of DeleteAtsCandidatesCandidateIdTagsRequestBodyTag' do + # uncomment below to test the instance creation + #expect(instance).to be_instance_of(Kombo::DeleteAtsCandidatesCandidateIdTagsRequestBodyTag) + end + end + + describe 'test attribute "name"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/delete_hris_absences_absence_id_positive_response_spec.rb b/spec/models/delete_hris_absences_absence_id_positive_response_spec.rb new file mode 100644 index 0000000..72b3cf8 --- /dev/null +++ b/spec/models/delete_hris_absences_absence_id_positive_response_spec.rb @@ -0,0 +1,52 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.13.0 + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Kombo::DeleteHrisAbsencesAbsenceIdPositiveResponse +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Kombo::DeleteHrisAbsencesAbsenceIdPositiveResponse do + let(:instance) { Kombo::DeleteHrisAbsencesAbsenceIdPositiveResponse.new } + + describe 'test an instance of DeleteHrisAbsencesAbsenceIdPositiveResponse' do + it 'should create an instance of DeleteHrisAbsencesAbsenceIdPositiveResponse' do + # uncomment below to test the instance creation + #expect(instance).to be_instance_of(Kombo::DeleteHrisAbsencesAbsenceIdPositiveResponse) + end + end + + describe 'test attribute "status"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + # validator = Petstore::EnumTest::EnumAttributeValidator.new('String', ["success"]) + # validator.allowable_values.each do |value| + # expect { instance.status = value }.not_to raise_error + # end + end + end + + describe 'test attribute "data"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "warnings"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/delete_hris_absences_absence_id_request_body_remote_fields_adpworkforcenow_spec.rb b/spec/models/delete_hris_absences_absence_id_request_body_remote_fields_adpworkforcenow_spec.rb new file mode 100644 index 0000000..0da149b --- /dev/null +++ b/spec/models/delete_hris_absences_absence_id_request_body_remote_fields_adpworkforcenow_spec.rb @@ -0,0 +1,36 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.13.0 + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Kombo::DeleteHrisAbsencesAbsenceIdRequestBodyRemoteFieldsAdpworkforcenow +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Kombo::DeleteHrisAbsencesAbsenceIdRequestBodyRemoteFieldsAdpworkforcenow do + let(:instance) { Kombo::DeleteHrisAbsencesAbsenceIdRequestBodyRemoteFieldsAdpworkforcenow.new } + + describe 'test an instance of DeleteHrisAbsencesAbsenceIdRequestBodyRemoteFieldsAdpworkforcenow' do + it 'should create an instance of DeleteHrisAbsencesAbsenceIdRequestBodyRemoteFieldsAdpworkforcenow' do + # uncomment below to test the instance creation + #expect(instance).to be_instance_of(Kombo::DeleteHrisAbsencesAbsenceIdRequestBodyRemoteFieldsAdpworkforcenow) + end + end + + describe 'test attribute "employment_id"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/delete_hris_absences_absence_id_request_body_remote_fields_spec.rb b/spec/models/delete_hris_absences_absence_id_request_body_remote_fields_spec.rb new file mode 100644 index 0000000..2a35a9d --- /dev/null +++ b/spec/models/delete_hris_absences_absence_id_request_body_remote_fields_spec.rb @@ -0,0 +1,36 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.13.0 + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Kombo::DeleteHrisAbsencesAbsenceIdRequestBodyRemoteFields +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Kombo::DeleteHrisAbsencesAbsenceIdRequestBodyRemoteFields do + let(:instance) { Kombo::DeleteHrisAbsencesAbsenceIdRequestBodyRemoteFields.new } + + describe 'test an instance of DeleteHrisAbsencesAbsenceIdRequestBodyRemoteFields' do + it 'should create an instance of DeleteHrisAbsencesAbsenceIdRequestBodyRemoteFields' do + # uncomment below to test the instance creation + #expect(instance).to be_instance_of(Kombo::DeleteHrisAbsencesAbsenceIdRequestBodyRemoteFields) + end + end + + describe 'test attribute "adpworkforcenow"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/delete_hris_absences_absence_id_request_body_spec.rb b/spec/models/delete_hris_absences_absence_id_request_body_spec.rb new file mode 100644 index 0000000..c6122f0 --- /dev/null +++ b/spec/models/delete_hris_absences_absence_id_request_body_spec.rb @@ -0,0 +1,36 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.13.0 + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Kombo::DeleteHrisAbsencesAbsenceIdRequestBody +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Kombo::DeleteHrisAbsencesAbsenceIdRequestBody do + let(:instance) { Kombo::DeleteHrisAbsencesAbsenceIdRequestBody.new } + + describe 'test an instance of DeleteHrisAbsencesAbsenceIdRequestBody' do + it 'should create an instance of DeleteHrisAbsencesAbsenceIdRequestBody' do + # uncomment below to test the instance creation + #expect(instance).to be_instance_of(Kombo::DeleteHrisAbsencesAbsenceIdRequestBody) + end + end + + describe 'test attribute "remote_fields"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/delete_hris_employee_skill_assignments_employee_skill_assignment_id_positive_response_spec.rb b/spec/models/delete_hris_employee_skill_assignments_employee_skill_assignment_id_positive_response_spec.rb new file mode 100644 index 0000000..69dedc8 --- /dev/null +++ b/spec/models/delete_hris_employee_skill_assignments_employee_skill_assignment_id_positive_response_spec.rb @@ -0,0 +1,46 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.13.0 + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Kombo::DeleteHrisEmployeeSkillAssignmentsEmployeeSkillAssignmentIdPositiveResponse +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Kombo::DeleteHrisEmployeeSkillAssignmentsEmployeeSkillAssignmentIdPositiveResponse do + let(:instance) { Kombo::DeleteHrisEmployeeSkillAssignmentsEmployeeSkillAssignmentIdPositiveResponse.new } + + describe 'test an instance of DeleteHrisEmployeeSkillAssignmentsEmployeeSkillAssignmentIdPositiveResponse' do + it 'should create an instance of DeleteHrisEmployeeSkillAssignmentsEmployeeSkillAssignmentIdPositiveResponse' do + # uncomment below to test the instance creation + #expect(instance).to be_instance_of(Kombo::DeleteHrisEmployeeSkillAssignmentsEmployeeSkillAssignmentIdPositiveResponse) + end + end + + describe 'test attribute "status"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + # validator = Petstore::EnumTest::EnumAttributeValidator.new('String', ["success"]) + # validator.allowable_values.each do |value| + # expect { instance.status = value }.not_to raise_error + # end + end + end + + describe 'test attribute "data"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/delete_hris_skills_skill_id_positive_response_spec.rb b/spec/models/delete_hris_skills_skill_id_positive_response_spec.rb new file mode 100644 index 0000000..66c0b84 --- /dev/null +++ b/spec/models/delete_hris_skills_skill_id_positive_response_spec.rb @@ -0,0 +1,46 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.13.0 + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Kombo::DeleteHrisSkillsSkillIdPositiveResponse +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Kombo::DeleteHrisSkillsSkillIdPositiveResponse do + let(:instance) { Kombo::DeleteHrisSkillsSkillIdPositiveResponse.new } + + describe 'test an instance of DeleteHrisSkillsSkillIdPositiveResponse' do + it 'should create an instance of DeleteHrisSkillsSkillIdPositiveResponse' do + # uncomment below to test the instance creation + #expect(instance).to be_instance_of(Kombo::DeleteHrisSkillsSkillIdPositiveResponse) + end + end + + describe 'test attribute "status"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + # validator = Petstore::EnumTest::EnumAttributeValidator.new('String', ["success"]) + # validator.allowable_values.each do |value| + # expect { instance.status = value }.not_to raise_error + # end + end + end + + describe 'test attribute "data"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/delete_integrations_integration_id_positive_response_spec.rb b/spec/models/delete_integrations_integration_id_positive_response_spec.rb new file mode 100644 index 0000000..c3b7397 --- /dev/null +++ b/spec/models/delete_integrations_integration_id_positive_response_spec.rb @@ -0,0 +1,46 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.13.0 + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Kombo::DeleteIntegrationsIntegrationIdPositiveResponse +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Kombo::DeleteIntegrationsIntegrationIdPositiveResponse do + let(:instance) { Kombo::DeleteIntegrationsIntegrationIdPositiveResponse.new } + + describe 'test an instance of DeleteIntegrationsIntegrationIdPositiveResponse' do + it 'should create an instance of DeleteIntegrationsIntegrationIdPositiveResponse' do + # uncomment below to test the instance creation + #expect(instance).to be_instance_of(Kombo::DeleteIntegrationsIntegrationIdPositiveResponse) + end + end + + describe 'test attribute "status"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + # validator = Petstore::EnumTest::EnumAttributeValidator.new('String', ["success"]) + # validator.allowable_values.each do |value| + # expect { instance.status = value }.not_to raise_error + # end + end + end + + describe 'test attribute "data"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/get_ai_apply_applications_positive_response_data_results_inner_spec.rb b/spec/models/get_ai_apply_applications_positive_response_data_results_inner_spec.rb new file mode 100644 index 0000000..d652ad2 --- /dev/null +++ b/spec/models/get_ai_apply_applications_positive_response_data_results_inner_spec.rb @@ -0,0 +1,64 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.13.0 + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Kombo::GetAiApplyApplicationsPositiveResponseDataResultsInner +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Kombo::GetAiApplyApplicationsPositiveResponseDataResultsInner do + let(:instance) { Kombo::GetAiApplyApplicationsPositiveResponseDataResultsInner.new } + + describe 'test an instance of GetAiApplyApplicationsPositiveResponseDataResultsInner' do + it 'should create an instance of GetAiApplyApplicationsPositiveResponseDataResultsInner' do + # uncomment below to test the instance creation + #expect(instance).to be_instance_of(Kombo::GetAiApplyApplicationsPositiveResponseDataResultsInner) + end + end + + describe 'test attribute "id"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "job_posting_id"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "status"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + # validator = Petstore::EnumTest::EnumAttributeValidator.new('String', ["PENDING", "SUBMITTED", "FAILED"]) + # validator.allowable_values.each do |value| + # expect { instance.status = value }.not_to raise_error + # end + end + end + + describe 'test attribute "created_at"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "updated_at"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/get_ai_apply_applications_positive_response_data_spec.rb b/spec/models/get_ai_apply_applications_positive_response_data_spec.rb new file mode 100644 index 0000000..48d98bd --- /dev/null +++ b/spec/models/get_ai_apply_applications_positive_response_data_spec.rb @@ -0,0 +1,42 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.13.0 + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Kombo::GetAiApplyApplicationsPositiveResponseData +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Kombo::GetAiApplyApplicationsPositiveResponseData do + let(:instance) { Kombo::GetAiApplyApplicationsPositiveResponseData.new } + + describe 'test an instance of GetAiApplyApplicationsPositiveResponseData' do + it 'should create an instance of GetAiApplyApplicationsPositiveResponseData' do + # uncomment below to test the instance creation + #expect(instance).to be_instance_of(Kombo::GetAiApplyApplicationsPositiveResponseData) + end + end + + describe 'test attribute "results"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "_next"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/get_ai_apply_applications_positive_response_spec.rb b/spec/models/get_ai_apply_applications_positive_response_spec.rb new file mode 100644 index 0000000..0dab74b --- /dev/null +++ b/spec/models/get_ai_apply_applications_positive_response_spec.rb @@ -0,0 +1,46 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.13.0 + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Kombo::GetAiApplyApplicationsPositiveResponse +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Kombo::GetAiApplyApplicationsPositiveResponse do + let(:instance) { Kombo::GetAiApplyApplicationsPositiveResponse.new } + + describe 'test an instance of GetAiApplyApplicationsPositiveResponse' do + it 'should create an instance of GetAiApplyApplicationsPositiveResponse' do + # uncomment below to test the instance creation + #expect(instance).to be_instance_of(Kombo::GetAiApplyApplicationsPositiveResponse) + end + end + + describe 'test attribute "status"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + # validator = Petstore::EnumTest::EnumAttributeValidator.new('String', ["success"]) + # validator.allowable_values.each do |value| + # expect { instance.status = value }.not_to raise_error + # end + end + end + + describe 'test attribute "data"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/get_ai_apply_career_sites_positive_response_data_spec.rb b/spec/models/get_ai_apply_career_sites_positive_response_data_spec.rb new file mode 100644 index 0000000..0320b8d --- /dev/null +++ b/spec/models/get_ai_apply_career_sites_positive_response_data_spec.rb @@ -0,0 +1,42 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.13.0 + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Kombo::GetAiApplyCareerSitesPositiveResponseData +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Kombo::GetAiApplyCareerSitesPositiveResponseData do + let(:instance) { Kombo::GetAiApplyCareerSitesPositiveResponseData.new } + + describe 'test an instance of GetAiApplyCareerSitesPositiveResponseData' do + it 'should create an instance of GetAiApplyCareerSitesPositiveResponseData' do + # uncomment below to test the instance creation + #expect(instance).to be_instance_of(Kombo::GetAiApplyCareerSitesPositiveResponseData) + end + end + + describe 'test attribute "results"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "_next"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/get_ai_apply_career_sites_positive_response_spec.rb b/spec/models/get_ai_apply_career_sites_positive_response_spec.rb new file mode 100644 index 0000000..a2acb4f --- /dev/null +++ b/spec/models/get_ai_apply_career_sites_positive_response_spec.rb @@ -0,0 +1,46 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.13.0 + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Kombo::GetAiApplyCareerSitesPositiveResponse +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Kombo::GetAiApplyCareerSitesPositiveResponse do + let(:instance) { Kombo::GetAiApplyCareerSitesPositiveResponse.new } + + describe 'test an instance of GetAiApplyCareerSitesPositiveResponse' do + it 'should create an instance of GetAiApplyCareerSitesPositiveResponse' do + # uncomment below to test the instance creation + #expect(instance).to be_instance_of(Kombo::GetAiApplyCareerSitesPositiveResponse) + end + end + + describe 'test attribute "status"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + # validator = Petstore::EnumTest::EnumAttributeValidator.new('String', ["success"]) + # validator.allowable_values.each do |value| + # expect { instance.status = value }.not_to raise_error + # end + end + end + + describe 'test attribute "data"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/get_ai_apply_postings_positive_response_data_results_inner_career_site_spec.rb b/spec/models/get_ai_apply_postings_positive_response_data_results_inner_career_site_spec.rb new file mode 100644 index 0000000..dd0612b --- /dev/null +++ b/spec/models/get_ai_apply_postings_positive_response_data_results_inner_career_site_spec.rb @@ -0,0 +1,42 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.13.0 + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Kombo::GetAiApplyPostingsPositiveResponseDataResultsInnerCareerSite +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Kombo::GetAiApplyPostingsPositiveResponseDataResultsInnerCareerSite do + let(:instance) { Kombo::GetAiApplyPostingsPositiveResponseDataResultsInnerCareerSite.new } + + describe 'test an instance of GetAiApplyPostingsPositiveResponseDataResultsInnerCareerSite' do + it 'should create an instance of GetAiApplyPostingsPositiveResponseDataResultsInnerCareerSite' do + # uncomment below to test the instance creation + #expect(instance).to be_instance_of(Kombo::GetAiApplyPostingsPositiveResponseDataResultsInnerCareerSite) + end + end + + describe 'test attribute "id"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "label"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/get_ai_apply_postings_positive_response_data_results_inner_spec.rb b/spec/models/get_ai_apply_postings_positive_response_data_results_inner_spec.rb new file mode 100644 index 0000000..4fbe75e --- /dev/null +++ b/spec/models/get_ai_apply_postings_positive_response_data_results_inner_spec.rb @@ -0,0 +1,92 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.13.0 + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Kombo::GetAiApplyPostingsPositiveResponseDataResultsInner +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Kombo::GetAiApplyPostingsPositiveResponseDataResultsInner do + let(:instance) { Kombo::GetAiApplyPostingsPositiveResponseDataResultsInner.new } + + describe 'test an instance of GetAiApplyPostingsPositiveResponseDataResultsInner' do + it 'should create an instance of GetAiApplyPostingsPositiveResponseDataResultsInner' do + # uncomment below to test the instance creation + #expect(instance).to be_instance_of(Kombo::GetAiApplyPostingsPositiveResponseDataResultsInner) + end + end + + describe 'test attribute "id"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "career_site"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "url"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "job_code"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "created_at"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "updated_at"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "archived_at"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "archived_reason"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + # validator = Petstore::EnumTest::EnumAttributeValidator.new('String', ["JOB_POSTING_TAKEN_OFFLINE", "MANUAL_ARCHIVE"]) + # validator.allowable_values.each do |value| + # expect { instance.archived_reason = value }.not_to raise_error + # end + end + end + + describe 'test attribute "availability"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + # validator = Petstore::EnumTest::EnumAttributeValidator.new('String', ["APPLYABLE", "PENDING", "ARCHIVED", "UNAVAILABLE"]) + # validator.allowable_values.each do |value| + # expect { instance.availability = value }.not_to raise_error + # end + end + end + +end diff --git a/spec/models/get_ai_apply_postings_positive_response_data_spec.rb b/spec/models/get_ai_apply_postings_positive_response_data_spec.rb new file mode 100644 index 0000000..c402d92 --- /dev/null +++ b/spec/models/get_ai_apply_postings_positive_response_data_spec.rb @@ -0,0 +1,42 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.13.0 + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Kombo::GetAiApplyPostingsPositiveResponseData +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Kombo::GetAiApplyPostingsPositiveResponseData do + let(:instance) { Kombo::GetAiApplyPostingsPositiveResponseData.new } + + describe 'test an instance of GetAiApplyPostingsPositiveResponseData' do + it 'should create an instance of GetAiApplyPostingsPositiveResponseData' do + # uncomment below to test the instance creation + #expect(instance).to be_instance_of(Kombo::GetAiApplyPostingsPositiveResponseData) + end + end + + describe 'test attribute "results"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "_next"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/get_ai_apply_postings_positive_response_spec.rb b/spec/models/get_ai_apply_postings_positive_response_spec.rb new file mode 100644 index 0000000..20157c6 --- /dev/null +++ b/spec/models/get_ai_apply_postings_positive_response_spec.rb @@ -0,0 +1,46 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.13.0 + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Kombo::GetAiApplyPostingsPositiveResponse +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Kombo::GetAiApplyPostingsPositiveResponse do + let(:instance) { Kombo::GetAiApplyPostingsPositiveResponse.new } + + describe 'test an instance of GetAiApplyPostingsPositiveResponse' do + it 'should create an instance of GetAiApplyPostingsPositiveResponse' do + # uncomment below to test the instance creation + #expect(instance).to be_instance_of(Kombo::GetAiApplyPostingsPositiveResponse) + end + end + + describe 'test attribute "status"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + # validator = Petstore::EnumTest::EnumAttributeValidator.new('String', ["success"]) + # validator.allowable_values.each do |value| + # expect { instance.status = value }.not_to raise_error + # end + end + end + + describe 'test attribute "data"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/get_ai_apply_unified_api_jobs_positive_response_data_results_inner_employment_type_spec.rb b/spec/models/get_ai_apply_unified_api_jobs_positive_response_data_results_inner_employment_type_spec.rb new file mode 100644 index 0000000..d95b9b6 --- /dev/null +++ b/spec/models/get_ai_apply_unified_api_jobs_positive_response_data_results_inner_employment_type_spec.rb @@ -0,0 +1,21 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.13.0 + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Kombo::GetAiApplyUnifiedApiJobsPositiveResponseDataResultsInnerEmploymentType +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Kombo::GetAiApplyUnifiedApiJobsPositiveResponseDataResultsInnerEmploymentType do +end diff --git a/spec/models/get_ai_apply_unified_api_jobs_positive_response_data_results_inner_location_spec.rb b/spec/models/get_ai_apply_unified_api_jobs_positive_response_data_results_inner_location_spec.rb new file mode 100644 index 0000000..f30b2cb --- /dev/null +++ b/spec/models/get_ai_apply_unified_api_jobs_positive_response_data_results_inner_location_spec.rb @@ -0,0 +1,72 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.13.0 + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Kombo::GetAiApplyUnifiedApiJobsPositiveResponseDataResultsInnerLocation +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Kombo::GetAiApplyUnifiedApiJobsPositiveResponseDataResultsInnerLocation do + let(:instance) { Kombo::GetAiApplyUnifiedApiJobsPositiveResponseDataResultsInnerLocation.new } + + describe 'test an instance of GetAiApplyUnifiedApiJobsPositiveResponseDataResultsInnerLocation' do + it 'should create an instance of GetAiApplyUnifiedApiJobsPositiveResponseDataResultsInnerLocation' do + # uncomment below to test the instance creation + #expect(instance).to be_instance_of(Kombo::GetAiApplyUnifiedApiJobsPositiveResponseDataResultsInnerLocation) + end + end + + describe 'test attribute "city"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "country"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "raw"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "state"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "street_1"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "street_2"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "zip_code"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/get_ai_apply_unified_api_jobs_positive_response_data_results_inner_screening_questions_inner_precondition_options_spec.rb b/spec/models/get_ai_apply_unified_api_jobs_positive_response_data_results_inner_screening_questions_inner_precondition_options_spec.rb new file mode 100644 index 0000000..44d78a1 --- /dev/null +++ b/spec/models/get_ai_apply_unified_api_jobs_positive_response_data_results_inner_screening_questions_inner_precondition_options_spec.rb @@ -0,0 +1,21 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.13.0 + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Kombo::GetAiApplyUnifiedApiJobsPositiveResponseDataResultsInnerScreeningQuestionsInnerPreconditionOptions +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Kombo::GetAiApplyUnifiedApiJobsPositiveResponseDataResultsInnerScreeningQuestionsInnerPreconditionOptions do +end diff --git a/spec/models/get_ai_apply_unified_api_jobs_positive_response_data_results_inner_screening_questions_inner_spec.rb b/spec/models/get_ai_apply_unified_api_jobs_positive_response_data_results_inner_screening_questions_inner_spec.rb new file mode 100644 index 0000000..c9a864a --- /dev/null +++ b/spec/models/get_ai_apply_unified_api_jobs_positive_response_data_results_inner_screening_questions_inner_spec.rb @@ -0,0 +1,94 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.13.0 + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Kombo::GetAiApplyUnifiedApiJobsPositiveResponseDataResultsInnerScreeningQuestionsInner +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Kombo::GetAiApplyUnifiedApiJobsPositiveResponseDataResultsInnerScreeningQuestionsInner do + let(:instance) { Kombo::GetAiApplyUnifiedApiJobsPositiveResponseDataResultsInnerScreeningQuestionsInner.new } + + describe 'test an instance of GetAiApplyUnifiedApiJobsPositiveResponseDataResultsInnerScreeningQuestionsInner' do + it 'should create an instance of GetAiApplyUnifiedApiJobsPositiveResponseDataResultsInnerScreeningQuestionsInner' do + # uncomment below to test the instance creation + #expect(instance).to be_instance_of(Kombo::GetAiApplyUnifiedApiJobsPositiveResponseDataResultsInnerScreeningQuestionsInner) + end + end + + describe 'test attribute "id"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "remote_id"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "title"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "description"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "format"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "category"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + # validator = Petstore::EnumTest::EnumAttributeValidator.new('String', ["EEO"]) + # validator.allowable_values.each do |value| + # expect { instance.category = value }.not_to raise_error + # end + end + end + + describe 'test attribute "index"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "required"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "precondition_question_id"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "precondition_options"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/get_ai_apply_unified_api_jobs_positive_response_data_results_inner_spec.rb b/spec/models/get_ai_apply_unified_api_jobs_positive_response_data_results_inner_spec.rb new file mode 100644 index 0000000..0ca3e1f --- /dev/null +++ b/spec/models/get_ai_apply_unified_api_jobs_positive_response_data_results_inner_spec.rb @@ -0,0 +1,246 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.13.0 + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Kombo::GetAiApplyUnifiedApiJobsPositiveResponseDataResultsInner +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Kombo::GetAiApplyUnifiedApiJobsPositiveResponseDataResultsInner do + let(:instance) { Kombo::GetAiApplyUnifiedApiJobsPositiveResponseDataResultsInner.new } + + describe 'test an instance of GetAiApplyUnifiedApiJobsPositiveResponseDataResultsInner' do + it 'should create an instance of GetAiApplyUnifiedApiJobsPositiveResponseDataResultsInner' do + # uncomment below to test the instance creation + #expect(instance).to be_instance_of(Kombo::GetAiApplyUnifiedApiJobsPositiveResponseDataResultsInner) + end + end + + describe 'test attribute "id"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "remote_id"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "name"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "job_code"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "description"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "confidential"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "weekly_hours"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "category"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "department"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "post_url"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "experience_level"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "salary_amount"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "salary_amount_from"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "salary_amount_to"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "salary_currency"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "custom_fields"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "integration_fields"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "opened_at"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "closed_at"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "remote_created_at"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "remote_updated_at"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "contact_id"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "remote_data"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "changed_at"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "remote_deleted_at"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "remote_url"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "stages"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "screening_questions"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "job_postings"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "hiring_team"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "employment_type"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "status"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "visibility"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "remote_work_status"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "salary_period"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "location"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/get_ai_apply_unified_api_jobs_positive_response_data_spec.rb b/spec/models/get_ai_apply_unified_api_jobs_positive_response_data_spec.rb new file mode 100644 index 0000000..d1a7a86 --- /dev/null +++ b/spec/models/get_ai_apply_unified_api_jobs_positive_response_data_spec.rb @@ -0,0 +1,42 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.13.0 + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Kombo::GetAiApplyUnifiedApiJobsPositiveResponseData +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Kombo::GetAiApplyUnifiedApiJobsPositiveResponseData do + let(:instance) { Kombo::GetAiApplyUnifiedApiJobsPositiveResponseData.new } + + describe 'test an instance of GetAiApplyUnifiedApiJobsPositiveResponseData' do + it 'should create an instance of GetAiApplyUnifiedApiJobsPositiveResponseData' do + # uncomment below to test the instance creation + #expect(instance).to be_instance_of(Kombo::GetAiApplyUnifiedApiJobsPositiveResponseData) + end + end + + describe 'test attribute "results"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "_next"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/get_ai_apply_unified_api_jobs_positive_response_spec.rb b/spec/models/get_ai_apply_unified_api_jobs_positive_response_spec.rb new file mode 100644 index 0000000..893ad10 --- /dev/null +++ b/spec/models/get_ai_apply_unified_api_jobs_positive_response_spec.rb @@ -0,0 +1,46 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.13.0 + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Kombo::GetAiApplyUnifiedApiJobsPositiveResponse +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Kombo::GetAiApplyUnifiedApiJobsPositiveResponse do + let(:instance) { Kombo::GetAiApplyUnifiedApiJobsPositiveResponse.new } + + describe 'test an instance of GetAiApplyUnifiedApiJobsPositiveResponse' do + it 'should create an instance of GetAiApplyUnifiedApiJobsPositiveResponse' do + # uncomment below to test the instance creation + #expect(instance).to be_instance_of(Kombo::GetAiApplyUnifiedApiJobsPositiveResponse) + end + end + + describe 'test attribute "status"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + # validator = Petstore::EnumTest::EnumAttributeValidator.new('String', ["success"]) + # validator.allowable_values.each do |value| + # expect { instance.status = value }.not_to raise_error + # end + end + end + + describe 'test attribute "data"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/get_assessment_orders_open_positive_response_data_results_inner_application_spec.rb b/spec/models/get_assessment_orders_open_positive_response_data_results_inner_application_spec.rb new file mode 100644 index 0000000..2f8e631 --- /dev/null +++ b/spec/models/get_assessment_orders_open_positive_response_data_results_inner_application_spec.rb @@ -0,0 +1,36 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.13.0 + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Kombo::GetAssessmentOrdersOpenPositiveResponseDataResultsInnerApplication +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Kombo::GetAssessmentOrdersOpenPositiveResponseDataResultsInnerApplication do + let(:instance) { Kombo::GetAssessmentOrdersOpenPositiveResponseDataResultsInnerApplication.new } + + describe 'test an instance of GetAssessmentOrdersOpenPositiveResponseDataResultsInnerApplication' do + it 'should create an instance of GetAssessmentOrdersOpenPositiveResponseDataResultsInnerApplication' do + # uncomment below to test the instance creation + #expect(instance).to be_instance_of(Kombo::GetAssessmentOrdersOpenPositiveResponseDataResultsInnerApplication) + end + end + + describe 'test attribute "remote_id"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/get_assessment_orders_open_positive_response_data_results_inner_candidate_spec.rb b/spec/models/get_assessment_orders_open_positive_response_data_results_inner_candidate_spec.rb new file mode 100644 index 0000000..8099f1f --- /dev/null +++ b/spec/models/get_assessment_orders_open_positive_response_data_results_inner_candidate_spec.rb @@ -0,0 +1,60 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.13.0 + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Kombo::GetAssessmentOrdersOpenPositiveResponseDataResultsInnerCandidate +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Kombo::GetAssessmentOrdersOpenPositiveResponseDataResultsInnerCandidate do + let(:instance) { Kombo::GetAssessmentOrdersOpenPositiveResponseDataResultsInnerCandidate.new } + + describe 'test an instance of GetAssessmentOrdersOpenPositiveResponseDataResultsInnerCandidate' do + it 'should create an instance of GetAssessmentOrdersOpenPositiveResponseDataResultsInnerCandidate' do + # uncomment below to test the instance creation + #expect(instance).to be_instance_of(Kombo::GetAssessmentOrdersOpenPositiveResponseDataResultsInnerCandidate) + end + end + + describe 'test attribute "email"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "first_name"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "last_name"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "phone"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "remote_id"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/get_assessment_orders_open_positive_response_data_results_inner_job_hiring_team_inner_spec.rb b/spec/models/get_assessment_orders_open_positive_response_data_results_inner_job_hiring_team_inner_spec.rb new file mode 100644 index 0000000..8c5f78d --- /dev/null +++ b/spec/models/get_assessment_orders_open_positive_response_data_results_inner_job_hiring_team_inner_spec.rb @@ -0,0 +1,64 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.13.0 + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Kombo::GetAssessmentOrdersOpenPositiveResponseDataResultsInnerJobHiringTeamInner +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Kombo::GetAssessmentOrdersOpenPositiveResponseDataResultsInnerJobHiringTeamInner do + let(:instance) { Kombo::GetAssessmentOrdersOpenPositiveResponseDataResultsInnerJobHiringTeamInner.new } + + describe 'test an instance of GetAssessmentOrdersOpenPositiveResponseDataResultsInnerJobHiringTeamInner' do + it 'should create an instance of GetAssessmentOrdersOpenPositiveResponseDataResultsInnerJobHiringTeamInner' do + # uncomment below to test the instance creation + #expect(instance).to be_instance_of(Kombo::GetAssessmentOrdersOpenPositiveResponseDataResultsInnerJobHiringTeamInner) + end + end + + describe 'test attribute "remote_id"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "email"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "first_name"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "last_name"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "hiring_team_roles"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + # validator = Petstore::EnumTest::EnumAttributeValidator.new('Array', ["RECRUITER", "HIRING_MANAGER"]) + # validator.allowable_values.each do |value| + # expect { instance.hiring_team_roles = value }.not_to raise_error + # end + end + end + +end diff --git a/spec/models/get_assessment_orders_open_positive_response_data_results_inner_job_location_spec.rb b/spec/models/get_assessment_orders_open_positive_response_data_results_inner_job_location_spec.rb new file mode 100644 index 0000000..3108ab2 --- /dev/null +++ b/spec/models/get_assessment_orders_open_positive_response_data_results_inner_job_location_spec.rb @@ -0,0 +1,72 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.13.0 + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Kombo::GetAssessmentOrdersOpenPositiveResponseDataResultsInnerJobLocation +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Kombo::GetAssessmentOrdersOpenPositiveResponseDataResultsInnerJobLocation do + let(:instance) { Kombo::GetAssessmentOrdersOpenPositiveResponseDataResultsInnerJobLocation.new } + + describe 'test an instance of GetAssessmentOrdersOpenPositiveResponseDataResultsInnerJobLocation' do + it 'should create an instance of GetAssessmentOrdersOpenPositiveResponseDataResultsInnerJobLocation' do + # uncomment below to test the instance creation + #expect(instance).to be_instance_of(Kombo::GetAssessmentOrdersOpenPositiveResponseDataResultsInnerJobLocation) + end + end + + describe 'test attribute "city"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "country"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "raw"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "state"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "street_1"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "street_2"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "zip_code"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/get_assessment_orders_open_positive_response_data_results_inner_job_spec.rb b/spec/models/get_assessment_orders_open_positive_response_data_results_inner_job_spec.rb new file mode 100644 index 0000000..b45c5e8 --- /dev/null +++ b/spec/models/get_assessment_orders_open_positive_response_data_results_inner_job_spec.rb @@ -0,0 +1,54 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.13.0 + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Kombo::GetAssessmentOrdersOpenPositiveResponseDataResultsInnerJob +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Kombo::GetAssessmentOrdersOpenPositiveResponseDataResultsInnerJob do + let(:instance) { Kombo::GetAssessmentOrdersOpenPositiveResponseDataResultsInnerJob.new } + + describe 'test an instance of GetAssessmentOrdersOpenPositiveResponseDataResultsInnerJob' do + it 'should create an instance of GetAssessmentOrdersOpenPositiveResponseDataResultsInnerJob' do + # uncomment below to test the instance creation + #expect(instance).to be_instance_of(Kombo::GetAssessmentOrdersOpenPositiveResponseDataResultsInnerJob) + end + end + + describe 'test attribute "remote_id"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "name"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "location"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "hiring_team"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/get_assessment_orders_open_positive_response_data_results_inner_spec.rb b/spec/models/get_assessment_orders_open_positive_response_data_results_inner_spec.rb new file mode 100644 index 0000000..8cb7b3d --- /dev/null +++ b/spec/models/get_assessment_orders_open_positive_response_data_results_inner_spec.rb @@ -0,0 +1,60 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.13.0 + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Kombo::GetAssessmentOrdersOpenPositiveResponseDataResultsInner +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Kombo::GetAssessmentOrdersOpenPositiveResponseDataResultsInner do + let(:instance) { Kombo::GetAssessmentOrdersOpenPositiveResponseDataResultsInner.new } + + describe 'test an instance of GetAssessmentOrdersOpenPositiveResponseDataResultsInner' do + it 'should create an instance of GetAssessmentOrdersOpenPositiveResponseDataResultsInner' do + # uncomment below to test the instance creation + #expect(instance).to be_instance_of(Kombo::GetAssessmentOrdersOpenPositiveResponseDataResultsInner) + end + end + + describe 'test attribute "id"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "package_id"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "candidate"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "application"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "job"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/get_assessment_orders_open_positive_response_data_spec.rb b/spec/models/get_assessment_orders_open_positive_response_data_spec.rb new file mode 100644 index 0000000..fa98ca0 --- /dev/null +++ b/spec/models/get_assessment_orders_open_positive_response_data_spec.rb @@ -0,0 +1,42 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.13.0 + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Kombo::GetAssessmentOrdersOpenPositiveResponseData +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Kombo::GetAssessmentOrdersOpenPositiveResponseData do + let(:instance) { Kombo::GetAssessmentOrdersOpenPositiveResponseData.new } + + describe 'test an instance of GetAssessmentOrdersOpenPositiveResponseData' do + it 'should create an instance of GetAssessmentOrdersOpenPositiveResponseData' do + # uncomment below to test the instance creation + #expect(instance).to be_instance_of(Kombo::GetAssessmentOrdersOpenPositiveResponseData) + end + end + + describe 'test attribute "_next"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "results"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/get_assessment_orders_open_positive_response_spec.rb b/spec/models/get_assessment_orders_open_positive_response_spec.rb new file mode 100644 index 0000000..cbb80da --- /dev/null +++ b/spec/models/get_assessment_orders_open_positive_response_spec.rb @@ -0,0 +1,46 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.13.0 + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Kombo::GetAssessmentOrdersOpenPositiveResponse +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Kombo::GetAssessmentOrdersOpenPositiveResponse do + let(:instance) { Kombo::GetAssessmentOrdersOpenPositiveResponse.new } + + describe 'test an instance of GetAssessmentOrdersOpenPositiveResponse' do + it 'should create an instance of GetAssessmentOrdersOpenPositiveResponse' do + # uncomment below to test the instance creation + #expect(instance).to be_instance_of(Kombo::GetAssessmentOrdersOpenPositiveResponse) + end + end + + describe 'test attribute "status"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + # validator = Petstore::EnumTest::EnumAttributeValidator.new('String', ["success"]) + # validator.allowable_values.each do |value| + # expect { instance.status = value }.not_to raise_error + # end + end + end + + describe 'test attribute "data"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/get_assessment_packages_positive_response_data_packages_inner_spec.rb b/spec/models/get_assessment_packages_positive_response_data_packages_inner_spec.rb new file mode 100644 index 0000000..b589bd8 --- /dev/null +++ b/spec/models/get_assessment_packages_positive_response_data_packages_inner_spec.rb @@ -0,0 +1,64 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.13.0 + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Kombo::GetAssessmentPackagesPositiveResponseDataPackagesInner +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Kombo::GetAssessmentPackagesPositiveResponseDataPackagesInner do + let(:instance) { Kombo::GetAssessmentPackagesPositiveResponseDataPackagesInner.new } + + describe 'test an instance of GetAssessmentPackagesPositiveResponseDataPackagesInner' do + it 'should create an instance of GetAssessmentPackagesPositiveResponseDataPackagesInner' do + # uncomment below to test the instance creation + #expect(instance).to be_instance_of(Kombo::GetAssessmentPackagesPositiveResponseDataPackagesInner) + end + end + + describe 'test attribute "id"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "name"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "description"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "updated_at"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "type"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + # validator = Petstore::EnumTest::EnumAttributeValidator.new('String', ["BEHAVIORAL", "VIDEO_INTERVIEW", "SKILLS_TEST", "BACKGROUND_CHECK", "REFERENCE_CHECK"]) + # validator.allowable_values.each do |value| + # expect { instance.type = value }.not_to raise_error + # end + end + end + +end diff --git a/spec/models/get_assessment_packages_positive_response_data_spec.rb b/spec/models/get_assessment_packages_positive_response_data_spec.rb new file mode 100644 index 0000000..2ccb427 --- /dev/null +++ b/spec/models/get_assessment_packages_positive_response_data_spec.rb @@ -0,0 +1,36 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.13.0 + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Kombo::GetAssessmentPackagesPositiveResponseData +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Kombo::GetAssessmentPackagesPositiveResponseData do + let(:instance) { Kombo::GetAssessmentPackagesPositiveResponseData.new } + + describe 'test an instance of GetAssessmentPackagesPositiveResponseData' do + it 'should create an instance of GetAssessmentPackagesPositiveResponseData' do + # uncomment below to test the instance creation + #expect(instance).to be_instance_of(Kombo::GetAssessmentPackagesPositiveResponseData) + end + end + + describe 'test attribute "packages"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/get_assessment_packages_positive_response_spec.rb b/spec/models/get_assessment_packages_positive_response_spec.rb new file mode 100644 index 0000000..a0e0076 --- /dev/null +++ b/spec/models/get_assessment_packages_positive_response_spec.rb @@ -0,0 +1,46 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.13.0 + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Kombo::GetAssessmentPackagesPositiveResponse +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Kombo::GetAssessmentPackagesPositiveResponse do + let(:instance) { Kombo::GetAssessmentPackagesPositiveResponse.new } + + describe 'test an instance of GetAssessmentPackagesPositiveResponse' do + it 'should create an instance of GetAssessmentPackagesPositiveResponse' do + # uncomment below to test the instance creation + #expect(instance).to be_instance_of(Kombo::GetAssessmentPackagesPositiveResponse) + end + end + + describe 'test attribute "status"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + # validator = Petstore::EnumTest::EnumAttributeValidator.new('String', ["success"]) + # validator.allowable_values.each do |value| + # expect { instance.status = value }.not_to raise_error + # end + end + end + + describe 'test attribute "data"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/get_ats_actions_ats_add_application_attachment_positive_response_data_attachment_restrictions_spec.rb b/spec/models/get_ats_actions_ats_add_application_attachment_positive_response_data_attachment_restrictions_spec.rb new file mode 100644 index 0000000..92a19cf --- /dev/null +++ b/spec/models/get_ats_actions_ats_add_application_attachment_positive_response_data_attachment_restrictions_spec.rb @@ -0,0 +1,36 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.13.0 + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Kombo::GetAtsActionsAtsAddApplicationAttachmentPositiveResponseDataAttachmentRestrictions +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Kombo::GetAtsActionsAtsAddApplicationAttachmentPositiveResponseDataAttachmentRestrictions do + let(:instance) { Kombo::GetAtsActionsAtsAddApplicationAttachmentPositiveResponseDataAttachmentRestrictions.new } + + describe 'test an instance of GetAtsActionsAtsAddApplicationAttachmentPositiveResponseDataAttachmentRestrictions' do + it 'should create an instance of GetAtsActionsAtsAddApplicationAttachmentPositiveResponseDataAttachmentRestrictions' do + # uncomment below to test the instance creation + #expect(instance).to be_instance_of(Kombo::GetAtsActionsAtsAddApplicationAttachmentPositiveResponseDataAttachmentRestrictions) + end + end + + describe 'test attribute "types"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/get_ats_actions_ats_add_application_attachment_positive_response_data_attachment_restrictions_types_coverletter_spec.rb b/spec/models/get_ats_actions_ats_add_application_attachment_positive_response_data_attachment_restrictions_types_coverletter_spec.rb new file mode 100644 index 0000000..0c47d2f --- /dev/null +++ b/spec/models/get_ats_actions_ats_add_application_attachment_positive_response_data_attachment_restrictions_types_coverletter_spec.rb @@ -0,0 +1,21 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.13.0 + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Kombo::GetAtsActionsAtsAddApplicationAttachmentPositiveResponseDataAttachmentRestrictionsTypesCOVERLETTER +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Kombo::GetAtsActionsAtsAddApplicationAttachmentPositiveResponseDataAttachmentRestrictionsTypesCOVERLETTER do +end diff --git a/spec/models/get_ats_actions_ats_add_application_attachment_positive_response_data_attachment_restrictions_types_cv_any_of_spec.rb b/spec/models/get_ats_actions_ats_add_application_attachment_positive_response_data_attachment_restrictions_types_cv_any_of_spec.rb new file mode 100644 index 0000000..a8b712c --- /dev/null +++ b/spec/models/get_ats_actions_ats_add_application_attachment_positive_response_data_attachment_restrictions_types_cv_any_of_spec.rb @@ -0,0 +1,52 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.13.0 + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Kombo::GetAtsActionsAtsAddApplicationAttachmentPositiveResponseDataAttachmentRestrictionsTypesCVAnyOf +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Kombo::GetAtsActionsAtsAddApplicationAttachmentPositiveResponseDataAttachmentRestrictionsTypesCVAnyOf do + let(:instance) { Kombo::GetAtsActionsAtsAddApplicationAttachmentPositiveResponseDataAttachmentRestrictionsTypesCVAnyOf.new } + + describe 'test an instance of GetAtsActionsAtsAddApplicationAttachmentPositiveResponseDataAttachmentRestrictionsTypesCVAnyOf' do + it 'should create an instance of GetAtsActionsAtsAddApplicationAttachmentPositiveResponseDataAttachmentRestrictionsTypesCVAnyOf' do + # uncomment below to test the instance creation + #expect(instance).to be_instance_of(Kombo::GetAtsActionsAtsAddApplicationAttachmentPositiveResponseDataAttachmentRestrictionsTypesCVAnyOf) + end + end + + describe 'test attribute "is_supported"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + # validator = Petstore::EnumTest::EnumAttributeValidator.new('Boolean', ["true"]) + # validator.allowable_values.each do |value| + # expect { instance.is_supported = value }.not_to raise_error + # end + end + end + + describe 'test attribute "max_file_size_bytes"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "accepted_mime_types"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/get_ats_actions_ats_add_application_attachment_positive_response_data_attachment_restrictions_types_cv_spec.rb b/spec/models/get_ats_actions_ats_add_application_attachment_positive_response_data_attachment_restrictions_types_cv_spec.rb new file mode 100644 index 0000000..e76af95 --- /dev/null +++ b/spec/models/get_ats_actions_ats_add_application_attachment_positive_response_data_attachment_restrictions_types_cv_spec.rb @@ -0,0 +1,21 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.13.0 + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Kombo::GetAtsActionsAtsAddApplicationAttachmentPositiveResponseDataAttachmentRestrictionsTypesCV +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Kombo::GetAtsActionsAtsAddApplicationAttachmentPositiveResponseDataAttachmentRestrictionsTypesCV do +end diff --git a/spec/models/get_ats_actions_ats_add_application_attachment_positive_response_data_attachment_restrictions_types_other_spec.rb b/spec/models/get_ats_actions_ats_add_application_attachment_positive_response_data_attachment_restrictions_types_other_spec.rb new file mode 100644 index 0000000..1f11dc0 --- /dev/null +++ b/spec/models/get_ats_actions_ats_add_application_attachment_positive_response_data_attachment_restrictions_types_other_spec.rb @@ -0,0 +1,21 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.13.0 + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Kombo::GetAtsActionsAtsAddApplicationAttachmentPositiveResponseDataAttachmentRestrictionsTypesOTHER +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Kombo::GetAtsActionsAtsAddApplicationAttachmentPositiveResponseDataAttachmentRestrictionsTypesOTHER do +end diff --git a/spec/models/get_ats_actions_ats_add_application_attachment_positive_response_data_attachment_restrictions_types_spec.rb b/spec/models/get_ats_actions_ats_add_application_attachment_positive_response_data_attachment_restrictions_types_spec.rb new file mode 100644 index 0000000..2f9dbc2 --- /dev/null +++ b/spec/models/get_ats_actions_ats_add_application_attachment_positive_response_data_attachment_restrictions_types_spec.rb @@ -0,0 +1,48 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.13.0 + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Kombo::GetAtsActionsAtsAddApplicationAttachmentPositiveResponseDataAttachmentRestrictionsTypes +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Kombo::GetAtsActionsAtsAddApplicationAttachmentPositiveResponseDataAttachmentRestrictionsTypes do + let(:instance) { Kombo::GetAtsActionsAtsAddApplicationAttachmentPositiveResponseDataAttachmentRestrictionsTypes.new } + + describe 'test an instance of GetAtsActionsAtsAddApplicationAttachmentPositiveResponseDataAttachmentRestrictionsTypes' do + it 'should create an instance of GetAtsActionsAtsAddApplicationAttachmentPositiveResponseDataAttachmentRestrictionsTypes' do + # uncomment below to test the instance creation + #expect(instance).to be_instance_of(Kombo::GetAtsActionsAtsAddApplicationAttachmentPositiveResponseDataAttachmentRestrictionsTypes) + end + end + + describe 'test attribute "cv"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "cover_letter"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "other"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/get_ats_actions_ats_add_application_attachment_positive_response_data_spec.rb b/spec/models/get_ats_actions_ats_add_application_attachment_positive_response_data_spec.rb new file mode 100644 index 0000000..6582a5f --- /dev/null +++ b/spec/models/get_ats_actions_ats_add_application_attachment_positive_response_data_spec.rb @@ -0,0 +1,36 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.13.0 + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Kombo::GetAtsActionsAtsAddApplicationAttachmentPositiveResponseData +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Kombo::GetAtsActionsAtsAddApplicationAttachmentPositiveResponseData do + let(:instance) { Kombo::GetAtsActionsAtsAddApplicationAttachmentPositiveResponseData.new } + + describe 'test an instance of GetAtsActionsAtsAddApplicationAttachmentPositiveResponseData' do + it 'should create an instance of GetAtsActionsAtsAddApplicationAttachmentPositiveResponseData' do + # uncomment below to test the instance creation + #expect(instance).to be_instance_of(Kombo::GetAtsActionsAtsAddApplicationAttachmentPositiveResponseData) + end + end + + describe 'test attribute "attachment_restrictions"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/get_ats_actions_ats_add_application_attachment_positive_response_spec.rb b/spec/models/get_ats_actions_ats_add_application_attachment_positive_response_spec.rb new file mode 100644 index 0000000..611c53e --- /dev/null +++ b/spec/models/get_ats_actions_ats_add_application_attachment_positive_response_spec.rb @@ -0,0 +1,46 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.13.0 + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Kombo::GetAtsActionsAtsAddApplicationAttachmentPositiveResponse +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Kombo::GetAtsActionsAtsAddApplicationAttachmentPositiveResponse do + let(:instance) { Kombo::GetAtsActionsAtsAddApplicationAttachmentPositiveResponse.new } + + describe 'test an instance of GetAtsActionsAtsAddApplicationAttachmentPositiveResponse' do + it 'should create an instance of GetAtsActionsAtsAddApplicationAttachmentPositiveResponse' do + # uncomment below to test the instance creation + #expect(instance).to be_instance_of(Kombo::GetAtsActionsAtsAddApplicationAttachmentPositiveResponse) + end + end + + describe 'test attribute "status"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + # validator = Petstore::EnumTest::EnumAttributeValidator.new('String', ["success"]) + # validator.allowable_values.each do |value| + # expect { instance.status = value }.not_to raise_error + # end + end + end + + describe 'test attribute "data"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/get_ats_actions_ats_add_candidate_attachment_positive_response_spec.rb b/spec/models/get_ats_actions_ats_add_candidate_attachment_positive_response_spec.rb new file mode 100644 index 0000000..e8e1d1b --- /dev/null +++ b/spec/models/get_ats_actions_ats_add_candidate_attachment_positive_response_spec.rb @@ -0,0 +1,46 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.13.0 + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Kombo::GetAtsActionsAtsAddCandidateAttachmentPositiveResponse +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Kombo::GetAtsActionsAtsAddCandidateAttachmentPositiveResponse do + let(:instance) { Kombo::GetAtsActionsAtsAddCandidateAttachmentPositiveResponse.new } + + describe 'test an instance of GetAtsActionsAtsAddCandidateAttachmentPositiveResponse' do + it 'should create an instance of GetAtsActionsAtsAddCandidateAttachmentPositiveResponse' do + # uncomment below to test the instance creation + #expect(instance).to be_instance_of(Kombo::GetAtsActionsAtsAddCandidateAttachmentPositiveResponse) + end + end + + describe 'test attribute "status"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + # validator = Petstore::EnumTest::EnumAttributeValidator.new('String', ["success"]) + # validator.allowable_values.each do |value| + # expect { instance.status = value }.not_to raise_error + # end + end + end + + describe 'test attribute "data"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/get_ats_actions_ats_create_application_positive_response_spec.rb b/spec/models/get_ats_actions_ats_create_application_positive_response_spec.rb new file mode 100644 index 0000000..300c3d7 --- /dev/null +++ b/spec/models/get_ats_actions_ats_create_application_positive_response_spec.rb @@ -0,0 +1,46 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.13.0 + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Kombo::GetAtsActionsAtsCreateApplicationPositiveResponse +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Kombo::GetAtsActionsAtsCreateApplicationPositiveResponse do + let(:instance) { Kombo::GetAtsActionsAtsCreateApplicationPositiveResponse.new } + + describe 'test an instance of GetAtsActionsAtsCreateApplicationPositiveResponse' do + it 'should create an instance of GetAtsActionsAtsCreateApplicationPositiveResponse' do + # uncomment below to test the instance creation + #expect(instance).to be_instance_of(Kombo::GetAtsActionsAtsCreateApplicationPositiveResponse) + end + end + + describe 'test attribute "status"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + # validator = Petstore::EnumTest::EnumAttributeValidator.new('String', ["success"]) + # validator.allowable_values.each do |value| + # expect { instance.status = value }.not_to raise_error + # end + end + end + + describe 'test attribute "data"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/get_ats_actions_ats_create_candidate_positive_response_data_attachment_restrictions_spec.rb b/spec/models/get_ats_actions_ats_create_candidate_positive_response_data_attachment_restrictions_spec.rb new file mode 100644 index 0000000..c8a8081 --- /dev/null +++ b/spec/models/get_ats_actions_ats_create_candidate_positive_response_data_attachment_restrictions_spec.rb @@ -0,0 +1,42 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.13.0 + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Kombo::GetAtsActionsAtsCreateCandidatePositiveResponseDataAttachmentRestrictions +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Kombo::GetAtsActionsAtsCreateCandidatePositiveResponseDataAttachmentRestrictions do + let(:instance) { Kombo::GetAtsActionsAtsCreateCandidatePositiveResponseDataAttachmentRestrictions.new } + + describe 'test an instance of GetAtsActionsAtsCreateCandidatePositiveResponseDataAttachmentRestrictions' do + it 'should create an instance of GetAtsActionsAtsCreateCandidatePositiveResponseDataAttachmentRestrictions' do + # uncomment below to test the instance creation + #expect(instance).to be_instance_of(Kombo::GetAtsActionsAtsCreateCandidatePositiveResponseDataAttachmentRestrictions) + end + end + + describe 'test attribute "total_size_bytes"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "types"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/get_ats_actions_ats_create_candidate_positive_response_data_attachment_restrictions_types_coverletter_spec.rb b/spec/models/get_ats_actions_ats_create_candidate_positive_response_data_attachment_restrictions_types_coverletter_spec.rb new file mode 100644 index 0000000..7cee61b --- /dev/null +++ b/spec/models/get_ats_actions_ats_create_candidate_positive_response_data_attachment_restrictions_types_coverletter_spec.rb @@ -0,0 +1,21 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.13.0 + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Kombo::GetAtsActionsAtsCreateCandidatePositiveResponseDataAttachmentRestrictionsTypesCOVERLETTER +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Kombo::GetAtsActionsAtsCreateCandidatePositiveResponseDataAttachmentRestrictionsTypesCOVERLETTER do +end diff --git a/spec/models/get_ats_actions_ats_create_candidate_positive_response_data_attachment_restrictions_types_cv_any_of1_spec.rb b/spec/models/get_ats_actions_ats_create_candidate_positive_response_data_attachment_restrictions_types_cv_any_of1_spec.rb new file mode 100644 index 0000000..42c62d0 --- /dev/null +++ b/spec/models/get_ats_actions_ats_create_candidate_positive_response_data_attachment_restrictions_types_cv_any_of1_spec.rb @@ -0,0 +1,40 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.13.0 + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Kombo::GetAtsActionsAtsCreateCandidatePositiveResponseDataAttachmentRestrictionsTypesCVAnyOf1 +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Kombo::GetAtsActionsAtsCreateCandidatePositiveResponseDataAttachmentRestrictionsTypesCVAnyOf1 do + let(:instance) { Kombo::GetAtsActionsAtsCreateCandidatePositiveResponseDataAttachmentRestrictionsTypesCVAnyOf1.new } + + describe 'test an instance of GetAtsActionsAtsCreateCandidatePositiveResponseDataAttachmentRestrictionsTypesCVAnyOf1' do + it 'should create an instance of GetAtsActionsAtsCreateCandidatePositiveResponseDataAttachmentRestrictionsTypesCVAnyOf1' do + # uncomment below to test the instance creation + #expect(instance).to be_instance_of(Kombo::GetAtsActionsAtsCreateCandidatePositiveResponseDataAttachmentRestrictionsTypesCVAnyOf1) + end + end + + describe 'test attribute "is_supported"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + # validator = Petstore::EnumTest::EnumAttributeValidator.new('Boolean', ["false"]) + # validator.allowable_values.each do |value| + # expect { instance.is_supported = value }.not_to raise_error + # end + end + end + +end diff --git a/spec/models/get_ats_actions_ats_create_candidate_positive_response_data_attachment_restrictions_types_cv_any_of_spec.rb b/spec/models/get_ats_actions_ats_create_candidate_positive_response_data_attachment_restrictions_types_cv_any_of_spec.rb new file mode 100644 index 0000000..e1f5cae --- /dev/null +++ b/spec/models/get_ats_actions_ats_create_candidate_positive_response_data_attachment_restrictions_types_cv_any_of_spec.rb @@ -0,0 +1,64 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.13.0 + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Kombo::GetAtsActionsAtsCreateCandidatePositiveResponseDataAttachmentRestrictionsTypesCVAnyOf +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Kombo::GetAtsActionsAtsCreateCandidatePositiveResponseDataAttachmentRestrictionsTypesCVAnyOf do + let(:instance) { Kombo::GetAtsActionsAtsCreateCandidatePositiveResponseDataAttachmentRestrictionsTypesCVAnyOf.new } + + describe 'test an instance of GetAtsActionsAtsCreateCandidatePositiveResponseDataAttachmentRestrictionsTypesCVAnyOf' do + it 'should create an instance of GetAtsActionsAtsCreateCandidatePositiveResponseDataAttachmentRestrictionsTypesCVAnyOf' do + # uncomment below to test the instance creation + #expect(instance).to be_instance_of(Kombo::GetAtsActionsAtsCreateCandidatePositiveResponseDataAttachmentRestrictionsTypesCVAnyOf) + end + end + + describe 'test attribute "is_supported"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + # validator = Petstore::EnumTest::EnumAttributeValidator.new('Boolean', ["true"]) + # validator.allowable_values.each do |value| + # expect { instance.is_supported = value }.not_to raise_error + # end + end + end + + describe 'test attribute "min_amount"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "max_amount"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "max_file_size_bytes"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "accepted_mime_types"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/get_ats_actions_ats_create_candidate_positive_response_data_attachment_restrictions_types_cv_spec.rb b/spec/models/get_ats_actions_ats_create_candidate_positive_response_data_attachment_restrictions_types_cv_spec.rb new file mode 100644 index 0000000..2780a79 --- /dev/null +++ b/spec/models/get_ats_actions_ats_create_candidate_positive_response_data_attachment_restrictions_types_cv_spec.rb @@ -0,0 +1,21 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.13.0 + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Kombo::GetAtsActionsAtsCreateCandidatePositiveResponseDataAttachmentRestrictionsTypesCV +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Kombo::GetAtsActionsAtsCreateCandidatePositiveResponseDataAttachmentRestrictionsTypesCV do +end diff --git a/spec/models/get_ats_actions_ats_create_candidate_positive_response_data_attachment_restrictions_types_other_spec.rb b/spec/models/get_ats_actions_ats_create_candidate_positive_response_data_attachment_restrictions_types_other_spec.rb new file mode 100644 index 0000000..a9970d8 --- /dev/null +++ b/spec/models/get_ats_actions_ats_create_candidate_positive_response_data_attachment_restrictions_types_other_spec.rb @@ -0,0 +1,21 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.13.0 + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Kombo::GetAtsActionsAtsCreateCandidatePositiveResponseDataAttachmentRestrictionsTypesOTHER +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Kombo::GetAtsActionsAtsCreateCandidatePositiveResponseDataAttachmentRestrictionsTypesOTHER do +end diff --git a/spec/models/get_ats_actions_ats_create_candidate_positive_response_data_attachment_restrictions_types_spec.rb b/spec/models/get_ats_actions_ats_create_candidate_positive_response_data_attachment_restrictions_types_spec.rb new file mode 100644 index 0000000..d391721 --- /dev/null +++ b/spec/models/get_ats_actions_ats_create_candidate_positive_response_data_attachment_restrictions_types_spec.rb @@ -0,0 +1,48 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.13.0 + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Kombo::GetAtsActionsAtsCreateCandidatePositiveResponseDataAttachmentRestrictionsTypes +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Kombo::GetAtsActionsAtsCreateCandidatePositiveResponseDataAttachmentRestrictionsTypes do + let(:instance) { Kombo::GetAtsActionsAtsCreateCandidatePositiveResponseDataAttachmentRestrictionsTypes.new } + + describe 'test an instance of GetAtsActionsAtsCreateCandidatePositiveResponseDataAttachmentRestrictionsTypes' do + it 'should create an instance of GetAtsActionsAtsCreateCandidatePositiveResponseDataAttachmentRestrictionsTypes' do + # uncomment below to test the instance creation + #expect(instance).to be_instance_of(Kombo::GetAtsActionsAtsCreateCandidatePositiveResponseDataAttachmentRestrictionsTypes) + end + end + + describe 'test attribute "cv"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "cover_letter"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "other"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/get_ats_actions_ats_create_candidate_positive_response_data_spec.rb b/spec/models/get_ats_actions_ats_create_candidate_positive_response_data_spec.rb new file mode 100644 index 0000000..46eb436 --- /dev/null +++ b/spec/models/get_ats_actions_ats_create_candidate_positive_response_data_spec.rb @@ -0,0 +1,36 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.13.0 + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Kombo::GetAtsActionsAtsCreateCandidatePositiveResponseData +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Kombo::GetAtsActionsAtsCreateCandidatePositiveResponseData do + let(:instance) { Kombo::GetAtsActionsAtsCreateCandidatePositiveResponseData.new } + + describe 'test an instance of GetAtsActionsAtsCreateCandidatePositiveResponseData' do + it 'should create an instance of GetAtsActionsAtsCreateCandidatePositiveResponseData' do + # uncomment below to test the instance creation + #expect(instance).to be_instance_of(Kombo::GetAtsActionsAtsCreateCandidatePositiveResponseData) + end + end + + describe 'test attribute "attachment_restrictions"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/get_ats_actions_ats_create_candidate_positive_response_spec.rb b/spec/models/get_ats_actions_ats_create_candidate_positive_response_spec.rb new file mode 100644 index 0000000..7127fb3 --- /dev/null +++ b/spec/models/get_ats_actions_ats_create_candidate_positive_response_spec.rb @@ -0,0 +1,46 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.13.0 + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Kombo::GetAtsActionsAtsCreateCandidatePositiveResponse +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Kombo::GetAtsActionsAtsCreateCandidatePositiveResponse do + let(:instance) { Kombo::GetAtsActionsAtsCreateCandidatePositiveResponse.new } + + describe 'test an instance of GetAtsActionsAtsCreateCandidatePositiveResponse' do + it 'should create an instance of GetAtsActionsAtsCreateCandidatePositiveResponse' do + # uncomment below to test the instance creation + #expect(instance).to be_instance_of(Kombo::GetAtsActionsAtsCreateCandidatePositiveResponse) + end + end + + describe 'test attribute "status"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + # validator = Petstore::EnumTest::EnumAttributeValidator.new('String', ["success"]) + # validator.allowable_values.each do |value| + # expect { instance.status = value }.not_to raise_error + # end + end + end + + describe 'test attribute "data"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/get_ats_application_stages_parameter_include_deleted_spec.rb b/spec/models/get_ats_application_stages_parameter_include_deleted_spec.rb new file mode 100644 index 0000000..8970efd --- /dev/null +++ b/spec/models/get_ats_application_stages_parameter_include_deleted_spec.rb @@ -0,0 +1,30 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.13.0 + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Kombo::GetAtsApplicationStagesParameterIncludeDeleted +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Kombo::GetAtsApplicationStagesParameterIncludeDeleted do + let(:instance) { Kombo::GetAtsApplicationStagesParameterIncludeDeleted.new } + + describe 'test an instance of GetAtsApplicationStagesParameterIncludeDeleted' do + it 'should create an instance of GetAtsApplicationStagesParameterIncludeDeleted' do + # uncomment below to test the instance creation + #expect(instance).to be_instance_of(Kombo::GetAtsApplicationStagesParameterIncludeDeleted) + end + end + +end diff --git a/spec/models/get_ats_application_stages_positive_response_data_results_inner_spec.rb b/spec/models/get_ats_application_stages_positive_response_data_results_inner_spec.rb new file mode 100644 index 0000000..864cca2 --- /dev/null +++ b/spec/models/get_ats_application_stages_positive_response_data_results_inner_spec.rb @@ -0,0 +1,66 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.13.0 + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Kombo::GetAtsApplicationStagesPositiveResponseDataResultsInner +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Kombo::GetAtsApplicationStagesPositiveResponseDataResultsInner do + let(:instance) { Kombo::GetAtsApplicationStagesPositiveResponseDataResultsInner.new } + + describe 'test an instance of GetAtsApplicationStagesPositiveResponseDataResultsInner' do + it 'should create an instance of GetAtsApplicationStagesPositiveResponseDataResultsInner' do + # uncomment below to test the instance creation + #expect(instance).to be_instance_of(Kombo::GetAtsApplicationStagesPositiveResponseDataResultsInner) + end + end + + describe 'test attribute "id"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "remote_id"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "name"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "remote_data"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "changed_at"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "remote_deleted_at"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/get_ats_application_stages_positive_response_data_spec.rb b/spec/models/get_ats_application_stages_positive_response_data_spec.rb new file mode 100644 index 0000000..b48972d --- /dev/null +++ b/spec/models/get_ats_application_stages_positive_response_data_spec.rb @@ -0,0 +1,42 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.13.0 + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Kombo::GetAtsApplicationStagesPositiveResponseData +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Kombo::GetAtsApplicationStagesPositiveResponseData do + let(:instance) { Kombo::GetAtsApplicationStagesPositiveResponseData.new } + + describe 'test an instance of GetAtsApplicationStagesPositiveResponseData' do + it 'should create an instance of GetAtsApplicationStagesPositiveResponseData' do + # uncomment below to test the instance creation + #expect(instance).to be_instance_of(Kombo::GetAtsApplicationStagesPositiveResponseData) + end + end + + describe 'test attribute "_next"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "results"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/get_ats_application_stages_positive_response_spec.rb b/spec/models/get_ats_application_stages_positive_response_spec.rb new file mode 100644 index 0000000..69b7d28 --- /dev/null +++ b/spec/models/get_ats_application_stages_positive_response_spec.rb @@ -0,0 +1,46 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.13.0 + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Kombo::GetAtsApplicationStagesPositiveResponse +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Kombo::GetAtsApplicationStagesPositiveResponse do + let(:instance) { Kombo::GetAtsApplicationStagesPositiveResponse.new } + + describe 'test an instance of GetAtsApplicationStagesPositiveResponse' do + it 'should create an instance of GetAtsApplicationStagesPositiveResponse' do + # uncomment below to test the instance creation + #expect(instance).to be_instance_of(Kombo::GetAtsApplicationStagesPositiveResponse) + end + end + + describe 'test attribute "status"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + # validator = Petstore::EnumTest::EnumAttributeValidator.new('String', ["success"]) + # validator.allowable_values.each do |value| + # expect { instance.status = value }.not_to raise_error + # end + end + end + + describe 'test attribute "data"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/get_ats_applications_application_id_attachments_positive_response_data_results_inner_spec.rb b/spec/models/get_ats_applications_application_id_attachments_positive_response_data_results_inner_spec.rb new file mode 100644 index 0000000..5350f4f --- /dev/null +++ b/spec/models/get_ats_applications_application_id_attachments_positive_response_data_results_inner_spec.rb @@ -0,0 +1,82 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.13.0 + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Kombo::GetAtsApplicationsApplicationIdAttachmentsPositiveResponseDataResultsInner +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Kombo::GetAtsApplicationsApplicationIdAttachmentsPositiveResponseDataResultsInner do + let(:instance) { Kombo::GetAtsApplicationsApplicationIdAttachmentsPositiveResponseDataResultsInner.new } + + describe 'test an instance of GetAtsApplicationsApplicationIdAttachmentsPositiveResponseDataResultsInner' do + it 'should create an instance of GetAtsApplicationsApplicationIdAttachmentsPositiveResponseDataResultsInner' do + # uncomment below to test the instance creation + #expect(instance).to be_instance_of(Kombo::GetAtsApplicationsApplicationIdAttachmentsPositiveResponseDataResultsInner) + end + end + + describe 'test attribute "type"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + # validator = Petstore::EnumTest::EnumAttributeValidator.new('String', ["CV", "COVER_LETTER", "OTHER"]) + # validator.allowable_values.each do |value| + # expect { instance.type = value }.not_to raise_error + # end + end + end + + describe 'test attribute "id"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "remote_id"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "data_url"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "file_name"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "content_type"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "remote_created_at"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "remote_updated_at"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/get_ats_applications_application_id_attachments_positive_response_data_spec.rb b/spec/models/get_ats_applications_application_id_attachments_positive_response_data_spec.rb new file mode 100644 index 0000000..3ba9c7f --- /dev/null +++ b/spec/models/get_ats_applications_application_id_attachments_positive_response_data_spec.rb @@ -0,0 +1,36 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.13.0 + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Kombo::GetAtsApplicationsApplicationIdAttachmentsPositiveResponseData +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Kombo::GetAtsApplicationsApplicationIdAttachmentsPositiveResponseData do + let(:instance) { Kombo::GetAtsApplicationsApplicationIdAttachmentsPositiveResponseData.new } + + describe 'test an instance of GetAtsApplicationsApplicationIdAttachmentsPositiveResponseData' do + it 'should create an instance of GetAtsApplicationsApplicationIdAttachmentsPositiveResponseData' do + # uncomment below to test the instance creation + #expect(instance).to be_instance_of(Kombo::GetAtsApplicationsApplicationIdAttachmentsPositiveResponseData) + end + end + + describe 'test attribute "results"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/get_ats_applications_application_id_attachments_positive_response_spec.rb b/spec/models/get_ats_applications_application_id_attachments_positive_response_spec.rb new file mode 100644 index 0000000..9a49939 --- /dev/null +++ b/spec/models/get_ats_applications_application_id_attachments_positive_response_spec.rb @@ -0,0 +1,52 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.13.0 + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Kombo::GetAtsApplicationsApplicationIdAttachmentsPositiveResponse +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Kombo::GetAtsApplicationsApplicationIdAttachmentsPositiveResponse do + let(:instance) { Kombo::GetAtsApplicationsApplicationIdAttachmentsPositiveResponse.new } + + describe 'test an instance of GetAtsApplicationsApplicationIdAttachmentsPositiveResponse' do + it 'should create an instance of GetAtsApplicationsApplicationIdAttachmentsPositiveResponse' do + # uncomment below to test the instance creation + #expect(instance).to be_instance_of(Kombo::GetAtsApplicationsApplicationIdAttachmentsPositiveResponse) + end + end + + describe 'test attribute "status"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + # validator = Petstore::EnumTest::EnumAttributeValidator.new('String', ["success"]) + # validator.allowable_values.each do |value| + # expect { instance.status = value }.not_to raise_error + # end + end + end + + describe 'test attribute "data"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "warnings"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/get_ats_applications_parameter_include_deleted_spec.rb b/spec/models/get_ats_applications_parameter_include_deleted_spec.rb new file mode 100644 index 0000000..a74047d --- /dev/null +++ b/spec/models/get_ats_applications_parameter_include_deleted_spec.rb @@ -0,0 +1,30 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.13.0 + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Kombo::GetAtsApplicationsParameterIncludeDeleted +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Kombo::GetAtsApplicationsParameterIncludeDeleted do + let(:instance) { Kombo::GetAtsApplicationsParameterIncludeDeleted.new } + + describe 'test an instance of GetAtsApplicationsParameterIncludeDeleted' do + it 'should create an instance of GetAtsApplicationsParameterIncludeDeleted' do + # uncomment below to test the instance creation + #expect(instance).to be_instance_of(Kombo::GetAtsApplicationsParameterIncludeDeleted) + end + end + +end diff --git a/spec/models/get_ats_applications_parameter_outcome_spec.rb b/spec/models/get_ats_applications_parameter_outcome_spec.rb new file mode 100644 index 0000000..182dd29 --- /dev/null +++ b/spec/models/get_ats_applications_parameter_outcome_spec.rb @@ -0,0 +1,30 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.13.0 + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Kombo::GetAtsApplicationsParameterOutcome +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Kombo::GetAtsApplicationsParameterOutcome do + let(:instance) { Kombo::GetAtsApplicationsParameterOutcome.new } + + describe 'test an instance of GetAtsApplicationsParameterOutcome' do + it 'should create an instance of GetAtsApplicationsParameterOutcome' do + # uncomment below to test the instance creation + #expect(instance).to be_instance_of(Kombo::GetAtsApplicationsParameterOutcome) + end + end + +end diff --git a/spec/models/get_ats_applications_positive_response_data_results_inner_candidate_email_addresses_inner_spec.rb b/spec/models/get_ats_applications_positive_response_data_results_inner_candidate_email_addresses_inner_spec.rb new file mode 100644 index 0000000..6b0164f --- /dev/null +++ b/spec/models/get_ats_applications_positive_response_data_results_inner_candidate_email_addresses_inner_spec.rb @@ -0,0 +1,42 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.13.0 + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Kombo::GetAtsApplicationsPositiveResponseDataResultsInnerCandidateEmailAddressesInner +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Kombo::GetAtsApplicationsPositiveResponseDataResultsInnerCandidateEmailAddressesInner do + let(:instance) { Kombo::GetAtsApplicationsPositiveResponseDataResultsInnerCandidateEmailAddressesInner.new } + + describe 'test an instance of GetAtsApplicationsPositiveResponseDataResultsInnerCandidateEmailAddressesInner' do + it 'should create an instance of GetAtsApplicationsPositiveResponseDataResultsInnerCandidateEmailAddressesInner' do + # uncomment below to test the instance creation + #expect(instance).to be_instance_of(Kombo::GetAtsApplicationsPositiveResponseDataResultsInnerCandidateEmailAddressesInner) + end + end + + describe 'test attribute "email_address"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "type"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/get_ats_applications_positive_response_data_results_inner_candidate_phone_numbers_inner_spec.rb b/spec/models/get_ats_applications_positive_response_data_results_inner_candidate_phone_numbers_inner_spec.rb new file mode 100644 index 0000000..4d0c4c9 --- /dev/null +++ b/spec/models/get_ats_applications_positive_response_data_results_inner_candidate_phone_numbers_inner_spec.rb @@ -0,0 +1,42 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.13.0 + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Kombo::GetAtsApplicationsPositiveResponseDataResultsInnerCandidatePhoneNumbersInner +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Kombo::GetAtsApplicationsPositiveResponseDataResultsInnerCandidatePhoneNumbersInner do + let(:instance) { Kombo::GetAtsApplicationsPositiveResponseDataResultsInnerCandidatePhoneNumbersInner.new } + + describe 'test an instance of GetAtsApplicationsPositiveResponseDataResultsInnerCandidatePhoneNumbersInner' do + it 'should create an instance of GetAtsApplicationsPositiveResponseDataResultsInnerCandidatePhoneNumbersInner' do + # uncomment below to test the instance creation + #expect(instance).to be_instance_of(Kombo::GetAtsApplicationsPositiveResponseDataResultsInnerCandidatePhoneNumbersInner) + end + end + + describe 'test attribute "phone_number"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "type"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/get_ats_applications_positive_response_data_results_inner_candidate_social_media_inner_spec.rb b/spec/models/get_ats_applications_positive_response_data_results_inner_candidate_social_media_inner_spec.rb new file mode 100644 index 0000000..2f86581 --- /dev/null +++ b/spec/models/get_ats_applications_positive_response_data_results_inner_candidate_social_media_inner_spec.rb @@ -0,0 +1,48 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.13.0 + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Kombo::GetAtsApplicationsPositiveResponseDataResultsInnerCandidateSocialMediaInner +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Kombo::GetAtsApplicationsPositiveResponseDataResultsInnerCandidateSocialMediaInner do + let(:instance) { Kombo::GetAtsApplicationsPositiveResponseDataResultsInnerCandidateSocialMediaInner.new } + + describe 'test an instance of GetAtsApplicationsPositiveResponseDataResultsInnerCandidateSocialMediaInner' do + it 'should create an instance of GetAtsApplicationsPositiveResponseDataResultsInnerCandidateSocialMediaInner' do + # uncomment below to test the instance creation + #expect(instance).to be_instance_of(Kombo::GetAtsApplicationsPositiveResponseDataResultsInnerCandidateSocialMediaInner) + end + end + + describe 'test attribute "link"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "type"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "username"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/get_ats_applications_positive_response_data_results_inner_candidate_spec.rb b/spec/models/get_ats_applications_positive_response_data_results_inner_candidate_spec.rb new file mode 100644 index 0000000..0b13123 --- /dev/null +++ b/spec/models/get_ats_applications_positive_response_data_results_inner_candidate_spec.rb @@ -0,0 +1,90 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.13.0 + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Kombo::GetAtsApplicationsPositiveResponseDataResultsInnerCandidate +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Kombo::GetAtsApplicationsPositiveResponseDataResultsInnerCandidate do + let(:instance) { Kombo::GetAtsApplicationsPositiveResponseDataResultsInnerCandidate.new } + + describe 'test an instance of GetAtsApplicationsPositiveResponseDataResultsInnerCandidate' do + it 'should create an instance of GetAtsApplicationsPositiveResponseDataResultsInnerCandidate' do + # uncomment below to test the instance creation + #expect(instance).to be_instance_of(Kombo::GetAtsApplicationsPositiveResponseDataResultsInnerCandidate) + end + end + + describe 'test attribute "id"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "remote_id"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "first_name"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "last_name"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "email_addresses"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "phone_numbers"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "social_media"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "source"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "remote_url"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "tags"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/get_ats_applications_positive_response_data_results_inner_candidate_tags_inner_spec.rb b/spec/models/get_ats_applications_positive_response_data_results_inner_candidate_tags_inner_spec.rb new file mode 100644 index 0000000..e471697 --- /dev/null +++ b/spec/models/get_ats_applications_positive_response_data_results_inner_candidate_tags_inner_spec.rb @@ -0,0 +1,48 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.13.0 + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Kombo::GetAtsApplicationsPositiveResponseDataResultsInnerCandidateTagsInner +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Kombo::GetAtsApplicationsPositiveResponseDataResultsInnerCandidateTagsInner do + let(:instance) { Kombo::GetAtsApplicationsPositiveResponseDataResultsInnerCandidateTagsInner.new } + + describe 'test an instance of GetAtsApplicationsPositiveResponseDataResultsInnerCandidateTagsInner' do + it 'should create an instance of GetAtsApplicationsPositiveResponseDataResultsInnerCandidateTagsInner' do + # uncomment below to test the instance creation + #expect(instance).to be_instance_of(Kombo::GetAtsApplicationsPositiveResponseDataResultsInnerCandidateTagsInner) + end + end + + describe 'test attribute "id"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "remote_id"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "name"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/get_ats_applications_positive_response_data_results_inner_current_stage_spec.rb b/spec/models/get_ats_applications_positive_response_data_results_inner_current_stage_spec.rb new file mode 100644 index 0000000..b52ec00 --- /dev/null +++ b/spec/models/get_ats_applications_positive_response_data_results_inner_current_stage_spec.rb @@ -0,0 +1,54 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.13.0 + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Kombo::GetAtsApplicationsPositiveResponseDataResultsInnerCurrentStage +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Kombo::GetAtsApplicationsPositiveResponseDataResultsInnerCurrentStage do + let(:instance) { Kombo::GetAtsApplicationsPositiveResponseDataResultsInnerCurrentStage.new } + + describe 'test an instance of GetAtsApplicationsPositiveResponseDataResultsInnerCurrentStage' do + it 'should create an instance of GetAtsApplicationsPositiveResponseDataResultsInnerCurrentStage' do + # uncomment below to test the instance creation + #expect(instance).to be_instance_of(Kombo::GetAtsApplicationsPositiveResponseDataResultsInnerCurrentStage) + end + end + + describe 'test attribute "id"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "remote_id"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "name"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "index"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/get_ats_applications_positive_response_data_results_inner_interviews_inner_location_spec.rb b/spec/models/get_ats_applications_positive_response_data_results_inner_interviews_inner_location_spec.rb new file mode 100644 index 0000000..e8c5f01 --- /dev/null +++ b/spec/models/get_ats_applications_positive_response_data_results_inner_interviews_inner_location_spec.rb @@ -0,0 +1,72 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.13.0 + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Kombo::GetAtsApplicationsPositiveResponseDataResultsInnerInterviewsInnerLocation +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Kombo::GetAtsApplicationsPositiveResponseDataResultsInnerInterviewsInnerLocation do + let(:instance) { Kombo::GetAtsApplicationsPositiveResponseDataResultsInnerInterviewsInnerLocation.new } + + describe 'test an instance of GetAtsApplicationsPositiveResponseDataResultsInnerInterviewsInnerLocation' do + it 'should create an instance of GetAtsApplicationsPositiveResponseDataResultsInnerInterviewsInnerLocation' do + # uncomment below to test the instance creation + #expect(instance).to be_instance_of(Kombo::GetAtsApplicationsPositiveResponseDataResultsInnerInterviewsInnerLocation) + end + end + + describe 'test attribute "city"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "country"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "raw"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "state"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "street_1"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "street_2"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "zip_code"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/get_ats_applications_positive_response_data_results_inner_interviews_inner_spec.rb b/spec/models/get_ats_applications_positive_response_data_results_inner_interviews_inner_spec.rb new file mode 100644 index 0000000..daaba24 --- /dev/null +++ b/spec/models/get_ats_applications_positive_response_data_results_inner_interviews_inner_spec.rb @@ -0,0 +1,72 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.13.0 + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Kombo::GetAtsApplicationsPositiveResponseDataResultsInnerInterviewsInner +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Kombo::GetAtsApplicationsPositiveResponseDataResultsInnerInterviewsInner do + let(:instance) { Kombo::GetAtsApplicationsPositiveResponseDataResultsInnerInterviewsInner.new } + + describe 'test an instance of GetAtsApplicationsPositiveResponseDataResultsInnerInterviewsInner' do + it 'should create an instance of GetAtsApplicationsPositiveResponseDataResultsInnerInterviewsInner' do + # uncomment below to test the instance creation + #expect(instance).to be_instance_of(Kombo::GetAtsApplicationsPositiveResponseDataResultsInnerInterviewsInner) + end + end + + describe 'test attribute "id"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "remote_id"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "title"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "starting_at"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "ending_at"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "location"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "canceled"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/get_ats_applications_positive_response_data_results_inner_job_spec.rb b/spec/models/get_ats_applications_positive_response_data_results_inner_job_spec.rb new file mode 100644 index 0000000..e27a98c --- /dev/null +++ b/spec/models/get_ats_applications_positive_response_data_results_inner_job_spec.rb @@ -0,0 +1,48 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.13.0 + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Kombo::GetAtsApplicationsPositiveResponseDataResultsInnerJob +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Kombo::GetAtsApplicationsPositiveResponseDataResultsInnerJob do + let(:instance) { Kombo::GetAtsApplicationsPositiveResponseDataResultsInnerJob.new } + + describe 'test an instance of GetAtsApplicationsPositiveResponseDataResultsInnerJob' do + it 'should create an instance of GetAtsApplicationsPositiveResponseDataResultsInnerJob' do + # uncomment below to test the instance creation + #expect(instance).to be_instance_of(Kombo::GetAtsApplicationsPositiveResponseDataResultsInnerJob) + end + end + + describe 'test attribute "id"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "remote_id"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "name"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/get_ats_applications_positive_response_data_results_inner_offers_inner_spec.rb b/spec/models/get_ats_applications_positive_response_data_results_inner_offers_inner_spec.rb new file mode 100644 index 0000000..cfde096 --- /dev/null +++ b/spec/models/get_ats_applications_positive_response_data_results_inner_offers_inner_spec.rb @@ -0,0 +1,52 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.13.0 + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Kombo::GetAtsApplicationsPositiveResponseDataResultsInnerOffersInner +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Kombo::GetAtsApplicationsPositiveResponseDataResultsInnerOffersInner do + let(:instance) { Kombo::GetAtsApplicationsPositiveResponseDataResultsInnerOffersInner.new } + + describe 'test an instance of GetAtsApplicationsPositiveResponseDataResultsInnerOffersInner' do + it 'should create an instance of GetAtsApplicationsPositiveResponseDataResultsInnerOffersInner' do + # uncomment below to test the instance creation + #expect(instance).to be_instance_of(Kombo::GetAtsApplicationsPositiveResponseDataResultsInnerOffersInner) + end + end + + describe 'test attribute "id"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "remote_id"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "status"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + # validator = Petstore::EnumTest::EnumAttributeValidator.new('String', ["ACCEPTED", "DECLINED", "SENT", "APPROVED", "DRAFT", "ABANDONED"]) + # validator.allowable_values.each do |value| + # expect { instance.status = value }.not_to raise_error + # end + end + end + +end diff --git a/spec/models/get_ats_applications_positive_response_data_results_inner_screening_question_answers_inner_any_of1_answer_spec.rb b/spec/models/get_ats_applications_positive_response_data_results_inner_screening_question_answers_inner_any_of1_answer_spec.rb new file mode 100644 index 0000000..8265d40 --- /dev/null +++ b/spec/models/get_ats_applications_positive_response_data_results_inner_screening_question_answers_inner_any_of1_answer_spec.rb @@ -0,0 +1,36 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.13.0 + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Kombo::GetAtsApplicationsPositiveResponseDataResultsInnerScreeningQuestionAnswersInnerAnyOf1Answer +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Kombo::GetAtsApplicationsPositiveResponseDataResultsInnerScreeningQuestionAnswersInnerAnyOf1Answer do + let(:instance) { Kombo::GetAtsApplicationsPositiveResponseDataResultsInnerScreeningQuestionAnswersInnerAnyOf1Answer.new } + + describe 'test an instance of GetAtsApplicationsPositiveResponseDataResultsInnerScreeningQuestionAnswersInnerAnyOf1Answer' do + it 'should create an instance of GetAtsApplicationsPositiveResponseDataResultsInnerScreeningQuestionAnswersInnerAnyOf1Answer' do + # uncomment below to test the instance creation + #expect(instance).to be_instance_of(Kombo::GetAtsApplicationsPositiveResponseDataResultsInnerScreeningQuestionAnswersInnerAnyOf1Answer) + end + end + + describe 'test attribute "choice"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/get_ats_applications_positive_response_data_results_inner_screening_question_answers_inner_any_of1_question_spec.rb b/spec/models/get_ats_applications_positive_response_data_results_inner_screening_question_answers_inner_any_of1_question_spec.rb new file mode 100644 index 0000000..6978a73 --- /dev/null +++ b/spec/models/get_ats_applications_positive_response_data_results_inner_screening_question_answers_inner_any_of1_question_spec.rb @@ -0,0 +1,52 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.13.0 + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Kombo::GetAtsApplicationsPositiveResponseDataResultsInnerScreeningQuestionAnswersInnerAnyOf1Question +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Kombo::GetAtsApplicationsPositiveResponseDataResultsInnerScreeningQuestionAnswersInnerAnyOf1Question do + let(:instance) { Kombo::GetAtsApplicationsPositiveResponseDataResultsInnerScreeningQuestionAnswersInnerAnyOf1Question.new } + + describe 'test an instance of GetAtsApplicationsPositiveResponseDataResultsInnerScreeningQuestionAnswersInnerAnyOf1Question' do + it 'should create an instance of GetAtsApplicationsPositiveResponseDataResultsInnerScreeningQuestionAnswersInnerAnyOf1Question' do + # uncomment below to test the instance creation + #expect(instance).to be_instance_of(Kombo::GetAtsApplicationsPositiveResponseDataResultsInnerScreeningQuestionAnswersInnerAnyOf1Question) + end + end + + describe 'test attribute "remote_id"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "title"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "type"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + # validator = Petstore::EnumTest::EnumAttributeValidator.new('String', ["SINGLE_SELECT"]) + # validator.allowable_values.each do |value| + # expect { instance.type = value }.not_to raise_error + # end + end + end + +end diff --git a/spec/models/get_ats_applications_positive_response_data_results_inner_screening_question_answers_inner_any_of1_spec.rb b/spec/models/get_ats_applications_positive_response_data_results_inner_screening_question_answers_inner_any_of1_spec.rb new file mode 100644 index 0000000..775d80d --- /dev/null +++ b/spec/models/get_ats_applications_positive_response_data_results_inner_screening_question_answers_inner_any_of1_spec.rb @@ -0,0 +1,42 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.13.0 + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Kombo::GetAtsApplicationsPositiveResponseDataResultsInnerScreeningQuestionAnswersInnerAnyOf1 +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Kombo::GetAtsApplicationsPositiveResponseDataResultsInnerScreeningQuestionAnswersInnerAnyOf1 do + let(:instance) { Kombo::GetAtsApplicationsPositiveResponseDataResultsInnerScreeningQuestionAnswersInnerAnyOf1.new } + + describe 'test an instance of GetAtsApplicationsPositiveResponseDataResultsInnerScreeningQuestionAnswersInnerAnyOf1' do + it 'should create an instance of GetAtsApplicationsPositiveResponseDataResultsInnerScreeningQuestionAnswersInnerAnyOf1' do + # uncomment below to test the instance creation + #expect(instance).to be_instance_of(Kombo::GetAtsApplicationsPositiveResponseDataResultsInnerScreeningQuestionAnswersInnerAnyOf1) + end + end + + describe 'test attribute "answer"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "question"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/get_ats_applications_positive_response_data_results_inner_screening_question_answers_inner_any_of2_answer_spec.rb b/spec/models/get_ats_applications_positive_response_data_results_inner_screening_question_answers_inner_any_of2_answer_spec.rb new file mode 100644 index 0000000..78ecf5d --- /dev/null +++ b/spec/models/get_ats_applications_positive_response_data_results_inner_screening_question_answers_inner_any_of2_answer_spec.rb @@ -0,0 +1,36 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.13.0 + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Kombo::GetAtsApplicationsPositiveResponseDataResultsInnerScreeningQuestionAnswersInnerAnyOf2Answer +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Kombo::GetAtsApplicationsPositiveResponseDataResultsInnerScreeningQuestionAnswersInnerAnyOf2Answer do + let(:instance) { Kombo::GetAtsApplicationsPositiveResponseDataResultsInnerScreeningQuestionAnswersInnerAnyOf2Answer.new } + + describe 'test an instance of GetAtsApplicationsPositiveResponseDataResultsInnerScreeningQuestionAnswersInnerAnyOf2Answer' do + it 'should create an instance of GetAtsApplicationsPositiveResponseDataResultsInnerScreeningQuestionAnswersInnerAnyOf2Answer' do + # uncomment below to test the instance creation + #expect(instance).to be_instance_of(Kombo::GetAtsApplicationsPositiveResponseDataResultsInnerScreeningQuestionAnswersInnerAnyOf2Answer) + end + end + + describe 'test attribute "choices"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/get_ats_applications_positive_response_data_results_inner_screening_question_answers_inner_any_of2_question_spec.rb b/spec/models/get_ats_applications_positive_response_data_results_inner_screening_question_answers_inner_any_of2_question_spec.rb new file mode 100644 index 0000000..fb5d0a5 --- /dev/null +++ b/spec/models/get_ats_applications_positive_response_data_results_inner_screening_question_answers_inner_any_of2_question_spec.rb @@ -0,0 +1,52 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.13.0 + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Kombo::GetAtsApplicationsPositiveResponseDataResultsInnerScreeningQuestionAnswersInnerAnyOf2Question +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Kombo::GetAtsApplicationsPositiveResponseDataResultsInnerScreeningQuestionAnswersInnerAnyOf2Question do + let(:instance) { Kombo::GetAtsApplicationsPositiveResponseDataResultsInnerScreeningQuestionAnswersInnerAnyOf2Question.new } + + describe 'test an instance of GetAtsApplicationsPositiveResponseDataResultsInnerScreeningQuestionAnswersInnerAnyOf2Question' do + it 'should create an instance of GetAtsApplicationsPositiveResponseDataResultsInnerScreeningQuestionAnswersInnerAnyOf2Question' do + # uncomment below to test the instance creation + #expect(instance).to be_instance_of(Kombo::GetAtsApplicationsPositiveResponseDataResultsInnerScreeningQuestionAnswersInnerAnyOf2Question) + end + end + + describe 'test attribute "remote_id"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "title"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "type"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + # validator = Petstore::EnumTest::EnumAttributeValidator.new('String', ["MULTI_SELECT"]) + # validator.allowable_values.each do |value| + # expect { instance.type = value }.not_to raise_error + # end + end + end + +end diff --git a/spec/models/get_ats_applications_positive_response_data_results_inner_screening_question_answers_inner_any_of2_spec.rb b/spec/models/get_ats_applications_positive_response_data_results_inner_screening_question_answers_inner_any_of2_spec.rb new file mode 100644 index 0000000..4820a14 --- /dev/null +++ b/spec/models/get_ats_applications_positive_response_data_results_inner_screening_question_answers_inner_any_of2_spec.rb @@ -0,0 +1,42 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.13.0 + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Kombo::GetAtsApplicationsPositiveResponseDataResultsInnerScreeningQuestionAnswersInnerAnyOf2 +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Kombo::GetAtsApplicationsPositiveResponseDataResultsInnerScreeningQuestionAnswersInnerAnyOf2 do + let(:instance) { Kombo::GetAtsApplicationsPositiveResponseDataResultsInnerScreeningQuestionAnswersInnerAnyOf2.new } + + describe 'test an instance of GetAtsApplicationsPositiveResponseDataResultsInnerScreeningQuestionAnswersInnerAnyOf2' do + it 'should create an instance of GetAtsApplicationsPositiveResponseDataResultsInnerScreeningQuestionAnswersInnerAnyOf2' do + # uncomment below to test the instance creation + #expect(instance).to be_instance_of(Kombo::GetAtsApplicationsPositiveResponseDataResultsInnerScreeningQuestionAnswersInnerAnyOf2) + end + end + + describe 'test attribute "answer"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "question"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/get_ats_applications_positive_response_data_results_inner_screening_question_answers_inner_any_of3_answer_spec.rb b/spec/models/get_ats_applications_positive_response_data_results_inner_screening_question_answers_inner_any_of3_answer_spec.rb new file mode 100644 index 0000000..5055867 --- /dev/null +++ b/spec/models/get_ats_applications_positive_response_data_results_inner_screening_question_answers_inner_any_of3_answer_spec.rb @@ -0,0 +1,36 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.13.0 + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Kombo::GetAtsApplicationsPositiveResponseDataResultsInnerScreeningQuestionAnswersInnerAnyOf3Answer +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Kombo::GetAtsApplicationsPositiveResponseDataResultsInnerScreeningQuestionAnswersInnerAnyOf3Answer do + let(:instance) { Kombo::GetAtsApplicationsPositiveResponseDataResultsInnerScreeningQuestionAnswersInnerAnyOf3Answer.new } + + describe 'test an instance of GetAtsApplicationsPositiveResponseDataResultsInnerScreeningQuestionAnswersInnerAnyOf3Answer' do + it 'should create an instance of GetAtsApplicationsPositiveResponseDataResultsInnerScreeningQuestionAnswersInnerAnyOf3Answer' do + # uncomment below to test the instance creation + #expect(instance).to be_instance_of(Kombo::GetAtsApplicationsPositiveResponseDataResultsInnerScreeningQuestionAnswersInnerAnyOf3Answer) + end + end + + describe 'test attribute "checked"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/get_ats_applications_positive_response_data_results_inner_screening_question_answers_inner_any_of3_question_spec.rb b/spec/models/get_ats_applications_positive_response_data_results_inner_screening_question_answers_inner_any_of3_question_spec.rb new file mode 100644 index 0000000..ff434c7 --- /dev/null +++ b/spec/models/get_ats_applications_positive_response_data_results_inner_screening_question_answers_inner_any_of3_question_spec.rb @@ -0,0 +1,52 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.13.0 + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Kombo::GetAtsApplicationsPositiveResponseDataResultsInnerScreeningQuestionAnswersInnerAnyOf3Question +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Kombo::GetAtsApplicationsPositiveResponseDataResultsInnerScreeningQuestionAnswersInnerAnyOf3Question do + let(:instance) { Kombo::GetAtsApplicationsPositiveResponseDataResultsInnerScreeningQuestionAnswersInnerAnyOf3Question.new } + + describe 'test an instance of GetAtsApplicationsPositiveResponseDataResultsInnerScreeningQuestionAnswersInnerAnyOf3Question' do + it 'should create an instance of GetAtsApplicationsPositiveResponseDataResultsInnerScreeningQuestionAnswersInnerAnyOf3Question' do + # uncomment below to test the instance creation + #expect(instance).to be_instance_of(Kombo::GetAtsApplicationsPositiveResponseDataResultsInnerScreeningQuestionAnswersInnerAnyOf3Question) + end + end + + describe 'test attribute "remote_id"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "title"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "type"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + # validator = Petstore::EnumTest::EnumAttributeValidator.new('String', ["BOOLEAN"]) + # validator.allowable_values.each do |value| + # expect { instance.type = value }.not_to raise_error + # end + end + end + +end diff --git a/spec/models/get_ats_applications_positive_response_data_results_inner_screening_question_answers_inner_any_of3_spec.rb b/spec/models/get_ats_applications_positive_response_data_results_inner_screening_question_answers_inner_any_of3_spec.rb new file mode 100644 index 0000000..bd892e2 --- /dev/null +++ b/spec/models/get_ats_applications_positive_response_data_results_inner_screening_question_answers_inner_any_of3_spec.rb @@ -0,0 +1,42 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.13.0 + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Kombo::GetAtsApplicationsPositiveResponseDataResultsInnerScreeningQuestionAnswersInnerAnyOf3 +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Kombo::GetAtsApplicationsPositiveResponseDataResultsInnerScreeningQuestionAnswersInnerAnyOf3 do + let(:instance) { Kombo::GetAtsApplicationsPositiveResponseDataResultsInnerScreeningQuestionAnswersInnerAnyOf3.new } + + describe 'test an instance of GetAtsApplicationsPositiveResponseDataResultsInnerScreeningQuestionAnswersInnerAnyOf3' do + it 'should create an instance of GetAtsApplicationsPositiveResponseDataResultsInnerScreeningQuestionAnswersInnerAnyOf3' do + # uncomment below to test the instance creation + #expect(instance).to be_instance_of(Kombo::GetAtsApplicationsPositiveResponseDataResultsInnerScreeningQuestionAnswersInnerAnyOf3) + end + end + + describe 'test attribute "answer"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "question"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/get_ats_applications_positive_response_data_results_inner_screening_question_answers_inner_any_of4_answer_spec.rb b/spec/models/get_ats_applications_positive_response_data_results_inner_screening_question_answers_inner_any_of4_answer_spec.rb new file mode 100644 index 0000000..e9d40c6 --- /dev/null +++ b/spec/models/get_ats_applications_positive_response_data_results_inner_screening_question_answers_inner_any_of4_answer_spec.rb @@ -0,0 +1,36 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.13.0 + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Kombo::GetAtsApplicationsPositiveResponseDataResultsInnerScreeningQuestionAnswersInnerAnyOf4Answer +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Kombo::GetAtsApplicationsPositiveResponseDataResultsInnerScreeningQuestionAnswersInnerAnyOf4Answer do + let(:instance) { Kombo::GetAtsApplicationsPositiveResponseDataResultsInnerScreeningQuestionAnswersInnerAnyOf4Answer.new } + + describe 'test an instance of GetAtsApplicationsPositiveResponseDataResultsInnerScreeningQuestionAnswersInnerAnyOf4Answer' do + it 'should create an instance of GetAtsApplicationsPositiveResponseDataResultsInnerScreeningQuestionAnswersInnerAnyOf4Answer' do + # uncomment below to test the instance creation + #expect(instance).to be_instance_of(Kombo::GetAtsApplicationsPositiveResponseDataResultsInnerScreeningQuestionAnswersInnerAnyOf4Answer) + end + end + + describe 'test attribute "number"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/get_ats_applications_positive_response_data_results_inner_screening_question_answers_inner_any_of4_question_spec.rb b/spec/models/get_ats_applications_positive_response_data_results_inner_screening_question_answers_inner_any_of4_question_spec.rb new file mode 100644 index 0000000..b908be6 --- /dev/null +++ b/spec/models/get_ats_applications_positive_response_data_results_inner_screening_question_answers_inner_any_of4_question_spec.rb @@ -0,0 +1,52 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.13.0 + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Kombo::GetAtsApplicationsPositiveResponseDataResultsInnerScreeningQuestionAnswersInnerAnyOf4Question +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Kombo::GetAtsApplicationsPositiveResponseDataResultsInnerScreeningQuestionAnswersInnerAnyOf4Question do + let(:instance) { Kombo::GetAtsApplicationsPositiveResponseDataResultsInnerScreeningQuestionAnswersInnerAnyOf4Question.new } + + describe 'test an instance of GetAtsApplicationsPositiveResponseDataResultsInnerScreeningQuestionAnswersInnerAnyOf4Question' do + it 'should create an instance of GetAtsApplicationsPositiveResponseDataResultsInnerScreeningQuestionAnswersInnerAnyOf4Question' do + # uncomment below to test the instance creation + #expect(instance).to be_instance_of(Kombo::GetAtsApplicationsPositiveResponseDataResultsInnerScreeningQuestionAnswersInnerAnyOf4Question) + end + end + + describe 'test attribute "remote_id"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "title"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "type"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + # validator = Petstore::EnumTest::EnumAttributeValidator.new('String', ["NUMBER"]) + # validator.allowable_values.each do |value| + # expect { instance.type = value }.not_to raise_error + # end + end + end + +end diff --git a/spec/models/get_ats_applications_positive_response_data_results_inner_screening_question_answers_inner_any_of4_spec.rb b/spec/models/get_ats_applications_positive_response_data_results_inner_screening_question_answers_inner_any_of4_spec.rb new file mode 100644 index 0000000..f1debd1 --- /dev/null +++ b/spec/models/get_ats_applications_positive_response_data_results_inner_screening_question_answers_inner_any_of4_spec.rb @@ -0,0 +1,42 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.13.0 + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Kombo::GetAtsApplicationsPositiveResponseDataResultsInnerScreeningQuestionAnswersInnerAnyOf4 +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Kombo::GetAtsApplicationsPositiveResponseDataResultsInnerScreeningQuestionAnswersInnerAnyOf4 do + let(:instance) { Kombo::GetAtsApplicationsPositiveResponseDataResultsInnerScreeningQuestionAnswersInnerAnyOf4.new } + + describe 'test an instance of GetAtsApplicationsPositiveResponseDataResultsInnerScreeningQuestionAnswersInnerAnyOf4' do + it 'should create an instance of GetAtsApplicationsPositiveResponseDataResultsInnerScreeningQuestionAnswersInnerAnyOf4' do + # uncomment below to test the instance creation + #expect(instance).to be_instance_of(Kombo::GetAtsApplicationsPositiveResponseDataResultsInnerScreeningQuestionAnswersInnerAnyOf4) + end + end + + describe 'test attribute "answer"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "question"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/get_ats_applications_positive_response_data_results_inner_screening_question_answers_inner_any_of5_answer_spec.rb b/spec/models/get_ats_applications_positive_response_data_results_inner_screening_question_answers_inner_any_of5_answer_spec.rb new file mode 100644 index 0000000..58efc6b --- /dev/null +++ b/spec/models/get_ats_applications_positive_response_data_results_inner_screening_question_answers_inner_any_of5_answer_spec.rb @@ -0,0 +1,36 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.13.0 + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Kombo::GetAtsApplicationsPositiveResponseDataResultsInnerScreeningQuestionAnswersInnerAnyOf5Answer +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Kombo::GetAtsApplicationsPositiveResponseDataResultsInnerScreeningQuestionAnswersInnerAnyOf5Answer do + let(:instance) { Kombo::GetAtsApplicationsPositiveResponseDataResultsInnerScreeningQuestionAnswersInnerAnyOf5Answer.new } + + describe 'test an instance of GetAtsApplicationsPositiveResponseDataResultsInnerScreeningQuestionAnswersInnerAnyOf5Answer' do + it 'should create an instance of GetAtsApplicationsPositiveResponseDataResultsInnerScreeningQuestionAnswersInnerAnyOf5Answer' do + # uncomment below to test the instance creation + #expect(instance).to be_instance_of(Kombo::GetAtsApplicationsPositiveResponseDataResultsInnerScreeningQuestionAnswersInnerAnyOf5Answer) + end + end + + describe 'test attribute "date"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/get_ats_applications_positive_response_data_results_inner_screening_question_answers_inner_any_of5_question_spec.rb b/spec/models/get_ats_applications_positive_response_data_results_inner_screening_question_answers_inner_any_of5_question_spec.rb new file mode 100644 index 0000000..413232e --- /dev/null +++ b/spec/models/get_ats_applications_positive_response_data_results_inner_screening_question_answers_inner_any_of5_question_spec.rb @@ -0,0 +1,52 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.13.0 + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Kombo::GetAtsApplicationsPositiveResponseDataResultsInnerScreeningQuestionAnswersInnerAnyOf5Question +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Kombo::GetAtsApplicationsPositiveResponseDataResultsInnerScreeningQuestionAnswersInnerAnyOf5Question do + let(:instance) { Kombo::GetAtsApplicationsPositiveResponseDataResultsInnerScreeningQuestionAnswersInnerAnyOf5Question.new } + + describe 'test an instance of GetAtsApplicationsPositiveResponseDataResultsInnerScreeningQuestionAnswersInnerAnyOf5Question' do + it 'should create an instance of GetAtsApplicationsPositiveResponseDataResultsInnerScreeningQuestionAnswersInnerAnyOf5Question' do + # uncomment below to test the instance creation + #expect(instance).to be_instance_of(Kombo::GetAtsApplicationsPositiveResponseDataResultsInnerScreeningQuestionAnswersInnerAnyOf5Question) + end + end + + describe 'test attribute "remote_id"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "title"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "type"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + # validator = Petstore::EnumTest::EnumAttributeValidator.new('String', ["DATE"]) + # validator.allowable_values.each do |value| + # expect { instance.type = value }.not_to raise_error + # end + end + end + +end diff --git a/spec/models/get_ats_applications_positive_response_data_results_inner_screening_question_answers_inner_any_of5_spec.rb b/spec/models/get_ats_applications_positive_response_data_results_inner_screening_question_answers_inner_any_of5_spec.rb new file mode 100644 index 0000000..dec00bb --- /dev/null +++ b/spec/models/get_ats_applications_positive_response_data_results_inner_screening_question_answers_inner_any_of5_spec.rb @@ -0,0 +1,42 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.13.0 + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Kombo::GetAtsApplicationsPositiveResponseDataResultsInnerScreeningQuestionAnswersInnerAnyOf5 +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Kombo::GetAtsApplicationsPositiveResponseDataResultsInnerScreeningQuestionAnswersInnerAnyOf5 do + let(:instance) { Kombo::GetAtsApplicationsPositiveResponseDataResultsInnerScreeningQuestionAnswersInnerAnyOf5.new } + + describe 'test an instance of GetAtsApplicationsPositiveResponseDataResultsInnerScreeningQuestionAnswersInnerAnyOf5' do + it 'should create an instance of GetAtsApplicationsPositiveResponseDataResultsInnerScreeningQuestionAnswersInnerAnyOf5' do + # uncomment below to test the instance creation + #expect(instance).to be_instance_of(Kombo::GetAtsApplicationsPositiveResponseDataResultsInnerScreeningQuestionAnswersInnerAnyOf5) + end + end + + describe 'test attribute "answer"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "question"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/get_ats_applications_positive_response_data_results_inner_screening_question_answers_inner_any_of6_answer_spec.rb b/spec/models/get_ats_applications_positive_response_data_results_inner_screening_question_answers_inner_any_of6_answer_spec.rb new file mode 100644 index 0000000..95f5672 --- /dev/null +++ b/spec/models/get_ats_applications_positive_response_data_results_inner_screening_question_answers_inner_any_of6_answer_spec.rb @@ -0,0 +1,36 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.13.0 + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Kombo::GetAtsApplicationsPositiveResponseDataResultsInnerScreeningQuestionAnswersInnerAnyOf6Answer +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Kombo::GetAtsApplicationsPositiveResponseDataResultsInnerScreeningQuestionAnswersInnerAnyOf6Answer do + let(:instance) { Kombo::GetAtsApplicationsPositiveResponseDataResultsInnerScreeningQuestionAnswersInnerAnyOf6Answer.new } + + describe 'test an instance of GetAtsApplicationsPositiveResponseDataResultsInnerScreeningQuestionAnswersInnerAnyOf6Answer' do + it 'should create an instance of GetAtsApplicationsPositiveResponseDataResultsInnerScreeningQuestionAnswersInnerAnyOf6Answer' do + # uncomment below to test the instance creation + #expect(instance).to be_instance_of(Kombo::GetAtsApplicationsPositiveResponseDataResultsInnerScreeningQuestionAnswersInnerAnyOf6Answer) + end + end + + describe 'test attribute "raw"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/get_ats_applications_positive_response_data_results_inner_screening_question_answers_inner_any_of6_question_spec.rb b/spec/models/get_ats_applications_positive_response_data_results_inner_screening_question_answers_inner_any_of6_question_spec.rb new file mode 100644 index 0000000..e2fde0f --- /dev/null +++ b/spec/models/get_ats_applications_positive_response_data_results_inner_screening_question_answers_inner_any_of6_question_spec.rb @@ -0,0 +1,52 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.13.0 + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Kombo::GetAtsApplicationsPositiveResponseDataResultsInnerScreeningQuestionAnswersInnerAnyOf6Question +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Kombo::GetAtsApplicationsPositiveResponseDataResultsInnerScreeningQuestionAnswersInnerAnyOf6Question do + let(:instance) { Kombo::GetAtsApplicationsPositiveResponseDataResultsInnerScreeningQuestionAnswersInnerAnyOf6Question.new } + + describe 'test an instance of GetAtsApplicationsPositiveResponseDataResultsInnerScreeningQuestionAnswersInnerAnyOf6Question' do + it 'should create an instance of GetAtsApplicationsPositiveResponseDataResultsInnerScreeningQuestionAnswersInnerAnyOf6Question' do + # uncomment below to test the instance creation + #expect(instance).to be_instance_of(Kombo::GetAtsApplicationsPositiveResponseDataResultsInnerScreeningQuestionAnswersInnerAnyOf6Question) + end + end + + describe 'test attribute "remote_id"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "title"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "type"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + # validator = Petstore::EnumTest::EnumAttributeValidator.new('String', ["UNKNOWN"]) + # validator.allowable_values.each do |value| + # expect { instance.type = value }.not_to raise_error + # end + end + end + +end diff --git a/spec/models/get_ats_applications_positive_response_data_results_inner_screening_question_answers_inner_any_of6_spec.rb b/spec/models/get_ats_applications_positive_response_data_results_inner_screening_question_answers_inner_any_of6_spec.rb new file mode 100644 index 0000000..d6b1bf7 --- /dev/null +++ b/spec/models/get_ats_applications_positive_response_data_results_inner_screening_question_answers_inner_any_of6_spec.rb @@ -0,0 +1,42 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.13.0 + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Kombo::GetAtsApplicationsPositiveResponseDataResultsInnerScreeningQuestionAnswersInnerAnyOf6 +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Kombo::GetAtsApplicationsPositiveResponseDataResultsInnerScreeningQuestionAnswersInnerAnyOf6 do + let(:instance) { Kombo::GetAtsApplicationsPositiveResponseDataResultsInnerScreeningQuestionAnswersInnerAnyOf6.new } + + describe 'test an instance of GetAtsApplicationsPositiveResponseDataResultsInnerScreeningQuestionAnswersInnerAnyOf6' do + it 'should create an instance of GetAtsApplicationsPositiveResponseDataResultsInnerScreeningQuestionAnswersInnerAnyOf6' do + # uncomment below to test the instance creation + #expect(instance).to be_instance_of(Kombo::GetAtsApplicationsPositiveResponseDataResultsInnerScreeningQuestionAnswersInnerAnyOf6) + end + end + + describe 'test attribute "answer"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "question"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/get_ats_applications_positive_response_data_results_inner_screening_question_answers_inner_any_of_answer_spec.rb b/spec/models/get_ats_applications_positive_response_data_results_inner_screening_question_answers_inner_any_of_answer_spec.rb new file mode 100644 index 0000000..fe8012b --- /dev/null +++ b/spec/models/get_ats_applications_positive_response_data_results_inner_screening_question_answers_inner_any_of_answer_spec.rb @@ -0,0 +1,36 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.13.0 + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Kombo::GetAtsApplicationsPositiveResponseDataResultsInnerScreeningQuestionAnswersInnerAnyOfAnswer +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Kombo::GetAtsApplicationsPositiveResponseDataResultsInnerScreeningQuestionAnswersInnerAnyOfAnswer do + let(:instance) { Kombo::GetAtsApplicationsPositiveResponseDataResultsInnerScreeningQuestionAnswersInnerAnyOfAnswer.new } + + describe 'test an instance of GetAtsApplicationsPositiveResponseDataResultsInnerScreeningQuestionAnswersInnerAnyOfAnswer' do + it 'should create an instance of GetAtsApplicationsPositiveResponseDataResultsInnerScreeningQuestionAnswersInnerAnyOfAnswer' do + # uncomment below to test the instance creation + #expect(instance).to be_instance_of(Kombo::GetAtsApplicationsPositiveResponseDataResultsInnerScreeningQuestionAnswersInnerAnyOfAnswer) + end + end + + describe 'test attribute "content"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/get_ats_applications_positive_response_data_results_inner_screening_question_answers_inner_any_of_question_spec.rb b/spec/models/get_ats_applications_positive_response_data_results_inner_screening_question_answers_inner_any_of_question_spec.rb new file mode 100644 index 0000000..9a020ac --- /dev/null +++ b/spec/models/get_ats_applications_positive_response_data_results_inner_screening_question_answers_inner_any_of_question_spec.rb @@ -0,0 +1,52 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.13.0 + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Kombo::GetAtsApplicationsPositiveResponseDataResultsInnerScreeningQuestionAnswersInnerAnyOfQuestion +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Kombo::GetAtsApplicationsPositiveResponseDataResultsInnerScreeningQuestionAnswersInnerAnyOfQuestion do + let(:instance) { Kombo::GetAtsApplicationsPositiveResponseDataResultsInnerScreeningQuestionAnswersInnerAnyOfQuestion.new } + + describe 'test an instance of GetAtsApplicationsPositiveResponseDataResultsInnerScreeningQuestionAnswersInnerAnyOfQuestion' do + it 'should create an instance of GetAtsApplicationsPositiveResponseDataResultsInnerScreeningQuestionAnswersInnerAnyOfQuestion' do + # uncomment below to test the instance creation + #expect(instance).to be_instance_of(Kombo::GetAtsApplicationsPositiveResponseDataResultsInnerScreeningQuestionAnswersInnerAnyOfQuestion) + end + end + + describe 'test attribute "remote_id"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "title"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "type"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + # validator = Petstore::EnumTest::EnumAttributeValidator.new('String', ["TEXT"]) + # validator.allowable_values.each do |value| + # expect { instance.type = value }.not_to raise_error + # end + end + end + +end diff --git a/spec/models/get_ats_applications_positive_response_data_results_inner_screening_question_answers_inner_any_of_spec.rb b/spec/models/get_ats_applications_positive_response_data_results_inner_screening_question_answers_inner_any_of_spec.rb new file mode 100644 index 0000000..25e309c --- /dev/null +++ b/spec/models/get_ats_applications_positive_response_data_results_inner_screening_question_answers_inner_any_of_spec.rb @@ -0,0 +1,42 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.13.0 + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Kombo::GetAtsApplicationsPositiveResponseDataResultsInnerScreeningQuestionAnswersInnerAnyOf +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Kombo::GetAtsApplicationsPositiveResponseDataResultsInnerScreeningQuestionAnswersInnerAnyOf do + let(:instance) { Kombo::GetAtsApplicationsPositiveResponseDataResultsInnerScreeningQuestionAnswersInnerAnyOf.new } + + describe 'test an instance of GetAtsApplicationsPositiveResponseDataResultsInnerScreeningQuestionAnswersInnerAnyOf' do + it 'should create an instance of GetAtsApplicationsPositiveResponseDataResultsInnerScreeningQuestionAnswersInnerAnyOf' do + # uncomment below to test the instance creation + #expect(instance).to be_instance_of(Kombo::GetAtsApplicationsPositiveResponseDataResultsInnerScreeningQuestionAnswersInnerAnyOf) + end + end + + describe 'test attribute "answer"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "question"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/get_ats_applications_positive_response_data_results_inner_screening_question_answers_inner_spec.rb b/spec/models/get_ats_applications_positive_response_data_results_inner_screening_question_answers_inner_spec.rb new file mode 100644 index 0000000..a969005 --- /dev/null +++ b/spec/models/get_ats_applications_positive_response_data_results_inner_screening_question_answers_inner_spec.rb @@ -0,0 +1,21 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.13.0 + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Kombo::GetAtsApplicationsPositiveResponseDataResultsInnerScreeningQuestionAnswersInner +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Kombo::GetAtsApplicationsPositiveResponseDataResultsInnerScreeningQuestionAnswersInner do +end diff --git a/spec/models/get_ats_applications_positive_response_data_results_inner_spec.rb b/spec/models/get_ats_applications_positive_response_data_results_inner_spec.rb new file mode 100644 index 0000000..cbf7c36 --- /dev/null +++ b/spec/models/get_ats_applications_positive_response_data_results_inner_spec.rb @@ -0,0 +1,166 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.13.0 + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Kombo::GetAtsApplicationsPositiveResponseDataResultsInner +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Kombo::GetAtsApplicationsPositiveResponseDataResultsInner do + let(:instance) { Kombo::GetAtsApplicationsPositiveResponseDataResultsInner.new } + + describe 'test an instance of GetAtsApplicationsPositiveResponseDataResultsInner' do + it 'should create an instance of GetAtsApplicationsPositiveResponseDataResultsInner' do + # uncomment below to test the instance creation + #expect(instance).to be_instance_of(Kombo::GetAtsApplicationsPositiveResponseDataResultsInner) + end + end + + describe 'test attribute "id"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "remote_id"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "outcome"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + # validator = Petstore::EnumTest::EnumAttributeValidator.new('String', ["PENDING", "HIRED", "DECLINED"]) + # validator.allowable_values.each do |value| + # expect { instance.outcome = value }.not_to raise_error + # end + end + end + + describe 'test attribute "rejection_reason_name"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "rejected_at"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "current_stage_id"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "job_id"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "candidate_id"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "screening_question_answers"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "custom_fields"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "integration_fields"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "remote_url"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "changed_at"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "remote_deleted_at"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "remote_created_at"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "remote_updated_at"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "remote_data"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "candidate"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "current_stage"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "job"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "interviews"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "offers"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/get_ats_applications_positive_response_data_spec.rb b/spec/models/get_ats_applications_positive_response_data_spec.rb new file mode 100644 index 0000000..cc97050 --- /dev/null +++ b/spec/models/get_ats_applications_positive_response_data_spec.rb @@ -0,0 +1,42 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.13.0 + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Kombo::GetAtsApplicationsPositiveResponseData +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Kombo::GetAtsApplicationsPositiveResponseData do + let(:instance) { Kombo::GetAtsApplicationsPositiveResponseData.new } + + describe 'test an instance of GetAtsApplicationsPositiveResponseData' do + it 'should create an instance of GetAtsApplicationsPositiveResponseData' do + # uncomment below to test the instance creation + #expect(instance).to be_instance_of(Kombo::GetAtsApplicationsPositiveResponseData) + end + end + + describe 'test attribute "_next"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "results"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/get_ats_applications_positive_response_spec.rb b/spec/models/get_ats_applications_positive_response_spec.rb new file mode 100644 index 0000000..4cd7682 --- /dev/null +++ b/spec/models/get_ats_applications_positive_response_spec.rb @@ -0,0 +1,46 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.13.0 + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Kombo::GetAtsApplicationsPositiveResponse +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Kombo::GetAtsApplicationsPositiveResponse do + let(:instance) { Kombo::GetAtsApplicationsPositiveResponse.new } + + describe 'test an instance of GetAtsApplicationsPositiveResponse' do + it 'should create an instance of GetAtsApplicationsPositiveResponse' do + # uncomment below to test the instance creation + #expect(instance).to be_instance_of(Kombo::GetAtsApplicationsPositiveResponse) + end + end + + describe 'test attribute "status"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + # validator = Petstore::EnumTest::EnumAttributeValidator.new('String', ["success"]) + # validator.allowable_values.each do |value| + # expect { instance.status = value }.not_to raise_error + # end + end + end + + describe 'test attribute "data"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/get_ats_candidates_candidate_id_attachments_positive_response_data_results_inner_spec.rb b/spec/models/get_ats_candidates_candidate_id_attachments_positive_response_data_results_inner_spec.rb new file mode 100644 index 0000000..1c0680a --- /dev/null +++ b/spec/models/get_ats_candidates_candidate_id_attachments_positive_response_data_results_inner_spec.rb @@ -0,0 +1,94 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.13.0 + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Kombo::GetAtsCandidatesCandidateIdAttachmentsPositiveResponseDataResultsInner +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Kombo::GetAtsCandidatesCandidateIdAttachmentsPositiveResponseDataResultsInner do + let(:instance) { Kombo::GetAtsCandidatesCandidateIdAttachmentsPositiveResponseDataResultsInner.new } + + describe 'test an instance of GetAtsCandidatesCandidateIdAttachmentsPositiveResponseDataResultsInner' do + it 'should create an instance of GetAtsCandidatesCandidateIdAttachmentsPositiveResponseDataResultsInner' do + # uncomment below to test the instance creation + #expect(instance).to be_instance_of(Kombo::GetAtsCandidatesCandidateIdAttachmentsPositiveResponseDataResultsInner) + end + end + + describe 'test attribute "id"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "application_id"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "candidate_id"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "type"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + # validator = Petstore::EnumTest::EnumAttributeValidator.new('String', ["CV", "COVER_LETTER", "OTHER"]) + # validator.allowable_values.each do |value| + # expect { instance.type = value }.not_to raise_error + # end + end + end + + describe 'test attribute "remote_id"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "data_url"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "file_name"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "content_type"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "remote_created_at"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "remote_updated_at"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/get_ats_candidates_candidate_id_attachments_positive_response_data_spec.rb b/spec/models/get_ats_candidates_candidate_id_attachments_positive_response_data_spec.rb new file mode 100644 index 0000000..3f0e3a2 --- /dev/null +++ b/spec/models/get_ats_candidates_candidate_id_attachments_positive_response_data_spec.rb @@ -0,0 +1,36 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.13.0 + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Kombo::GetAtsCandidatesCandidateIdAttachmentsPositiveResponseData +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Kombo::GetAtsCandidatesCandidateIdAttachmentsPositiveResponseData do + let(:instance) { Kombo::GetAtsCandidatesCandidateIdAttachmentsPositiveResponseData.new } + + describe 'test an instance of GetAtsCandidatesCandidateIdAttachmentsPositiveResponseData' do + it 'should create an instance of GetAtsCandidatesCandidateIdAttachmentsPositiveResponseData' do + # uncomment below to test the instance creation + #expect(instance).to be_instance_of(Kombo::GetAtsCandidatesCandidateIdAttachmentsPositiveResponseData) + end + end + + describe 'test attribute "results"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/get_ats_candidates_candidate_id_attachments_positive_response_spec.rb b/spec/models/get_ats_candidates_candidate_id_attachments_positive_response_spec.rb new file mode 100644 index 0000000..a5a57a7 --- /dev/null +++ b/spec/models/get_ats_candidates_candidate_id_attachments_positive_response_spec.rb @@ -0,0 +1,52 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.13.0 + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Kombo::GetAtsCandidatesCandidateIdAttachmentsPositiveResponse +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Kombo::GetAtsCandidatesCandidateIdAttachmentsPositiveResponse do + let(:instance) { Kombo::GetAtsCandidatesCandidateIdAttachmentsPositiveResponse.new } + + describe 'test an instance of GetAtsCandidatesCandidateIdAttachmentsPositiveResponse' do + it 'should create an instance of GetAtsCandidatesCandidateIdAttachmentsPositiveResponse' do + # uncomment below to test the instance creation + #expect(instance).to be_instance_of(Kombo::GetAtsCandidatesCandidateIdAttachmentsPositiveResponse) + end + end + + describe 'test attribute "status"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + # validator = Petstore::EnumTest::EnumAttributeValidator.new('String', ["success"]) + # validator.allowable_values.each do |value| + # expect { instance.status = value }.not_to raise_error + # end + end + end + + describe 'test attribute "data"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "warnings"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/get_ats_candidates_parameter_include_deleted_spec.rb b/spec/models/get_ats_candidates_parameter_include_deleted_spec.rb new file mode 100644 index 0000000..a750604 --- /dev/null +++ b/spec/models/get_ats_candidates_parameter_include_deleted_spec.rb @@ -0,0 +1,30 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.13.0 + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Kombo::GetAtsCandidatesParameterIncludeDeleted +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Kombo::GetAtsCandidatesParameterIncludeDeleted do + let(:instance) { Kombo::GetAtsCandidatesParameterIncludeDeleted.new } + + describe 'test an instance of GetAtsCandidatesParameterIncludeDeleted' do + it 'should create an instance of GetAtsCandidatesParameterIncludeDeleted' do + # uncomment below to test the instance creation + #expect(instance).to be_instance_of(Kombo::GetAtsCandidatesParameterIncludeDeleted) + end + end + +end diff --git a/spec/models/get_ats_candidates_positive_response_data_results_inner_applications_inner_spec.rb b/spec/models/get_ats_candidates_positive_response_data_results_inner_applications_inner_spec.rb new file mode 100644 index 0000000..462c03b --- /dev/null +++ b/spec/models/get_ats_candidates_positive_response_data_results_inner_applications_inner_spec.rb @@ -0,0 +1,100 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.13.0 + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Kombo::GetAtsCandidatesPositiveResponseDataResultsInnerApplicationsInner +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Kombo::GetAtsCandidatesPositiveResponseDataResultsInnerApplicationsInner do + let(:instance) { Kombo::GetAtsCandidatesPositiveResponseDataResultsInnerApplicationsInner.new } + + describe 'test an instance of GetAtsCandidatesPositiveResponseDataResultsInnerApplicationsInner' do + it 'should create an instance of GetAtsCandidatesPositiveResponseDataResultsInnerApplicationsInner' do + # uncomment below to test the instance creation + #expect(instance).to be_instance_of(Kombo::GetAtsCandidatesPositiveResponseDataResultsInnerApplicationsInner) + end + end + + describe 'test attribute "id"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "remote_id"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "outcome"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + # validator = Petstore::EnumTest::EnumAttributeValidator.new('String', ["PENDING", "HIRED", "DECLINED"]) + # validator.allowable_values.each do |value| + # expect { instance.outcome = value }.not_to raise_error + # end + end + end + + describe 'test attribute "rejection_reason_name"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "rejected_at"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "remote_url"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "changed_at"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "remote_created_at"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "remote_updated_at"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "current_stage"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "job"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/get_ats_candidates_positive_response_data_results_inner_location_spec.rb b/spec/models/get_ats_candidates_positive_response_data_results_inner_location_spec.rb new file mode 100644 index 0000000..995b622 --- /dev/null +++ b/spec/models/get_ats_candidates_positive_response_data_results_inner_location_spec.rb @@ -0,0 +1,72 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.13.0 + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Kombo::GetAtsCandidatesPositiveResponseDataResultsInnerLocation +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Kombo::GetAtsCandidatesPositiveResponseDataResultsInnerLocation do + let(:instance) { Kombo::GetAtsCandidatesPositiveResponseDataResultsInnerLocation.new } + + describe 'test an instance of GetAtsCandidatesPositiveResponseDataResultsInnerLocation' do + it 'should create an instance of GetAtsCandidatesPositiveResponseDataResultsInnerLocation' do + # uncomment below to test the instance creation + #expect(instance).to be_instance_of(Kombo::GetAtsCandidatesPositiveResponseDataResultsInnerLocation) + end + end + + describe 'test attribute "city"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "country"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "raw"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "state"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "street_1"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "street_2"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "zip_code"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/get_ats_candidates_positive_response_data_results_inner_spec.rb b/spec/models/get_ats_candidates_positive_response_data_results_inner_spec.rb new file mode 100644 index 0000000..05028da --- /dev/null +++ b/spec/models/get_ats_candidates_positive_response_data_results_inner_spec.rb @@ -0,0 +1,162 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.13.0 + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Kombo::GetAtsCandidatesPositiveResponseDataResultsInner +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Kombo::GetAtsCandidatesPositiveResponseDataResultsInner do + let(:instance) { Kombo::GetAtsCandidatesPositiveResponseDataResultsInner.new } + + describe 'test an instance of GetAtsCandidatesPositiveResponseDataResultsInner' do + it 'should create an instance of GetAtsCandidatesPositiveResponseDataResultsInner' do + # uncomment below to test the instance creation + #expect(instance).to be_instance_of(Kombo::GetAtsCandidatesPositiveResponseDataResultsInner) + end + end + + describe 'test attribute "id"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "remote_id"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "first_name"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "last_name"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "company"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "title"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "confidential"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "source"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "phone_numbers"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "email_addresses"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "social_media"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "location"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "custom_fields"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "integration_fields"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "remote_url"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "remote_created_at"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "remote_updated_at"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "remote_data"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "changed_at"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "remote_deleted_at"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "applications"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "tags"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/get_ats_candidates_positive_response_data_spec.rb b/spec/models/get_ats_candidates_positive_response_data_spec.rb new file mode 100644 index 0000000..ca1f95d --- /dev/null +++ b/spec/models/get_ats_candidates_positive_response_data_spec.rb @@ -0,0 +1,42 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.13.0 + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Kombo::GetAtsCandidatesPositiveResponseData +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Kombo::GetAtsCandidatesPositiveResponseData do + let(:instance) { Kombo::GetAtsCandidatesPositiveResponseData.new } + + describe 'test an instance of GetAtsCandidatesPositiveResponseData' do + it 'should create an instance of GetAtsCandidatesPositiveResponseData' do + # uncomment below to test the instance creation + #expect(instance).to be_instance_of(Kombo::GetAtsCandidatesPositiveResponseData) + end + end + + describe 'test attribute "_next"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "results"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/get_ats_candidates_positive_response_spec.rb b/spec/models/get_ats_candidates_positive_response_spec.rb new file mode 100644 index 0000000..9afa43d --- /dev/null +++ b/spec/models/get_ats_candidates_positive_response_spec.rb @@ -0,0 +1,46 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.13.0 + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Kombo::GetAtsCandidatesPositiveResponse +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Kombo::GetAtsCandidatesPositiveResponse do + let(:instance) { Kombo::GetAtsCandidatesPositiveResponse.new } + + describe 'test an instance of GetAtsCandidatesPositiveResponse' do + it 'should create an instance of GetAtsCandidatesPositiveResponse' do + # uncomment below to test the instance creation + #expect(instance).to be_instance_of(Kombo::GetAtsCandidatesPositiveResponse) + end + end + + describe 'test attribute "status"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + # validator = Petstore::EnumTest::EnumAttributeValidator.new('String', ["success"]) + # validator.allowable_values.each do |value| + # expect { instance.status = value }.not_to raise_error + # end + end + end + + describe 'test attribute "data"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/get_ats_interviews_parameter_include_deleted_spec.rb b/spec/models/get_ats_interviews_parameter_include_deleted_spec.rb new file mode 100644 index 0000000..e75f68d --- /dev/null +++ b/spec/models/get_ats_interviews_parameter_include_deleted_spec.rb @@ -0,0 +1,30 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.13.0 + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Kombo::GetAtsInterviewsParameterIncludeDeleted +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Kombo::GetAtsInterviewsParameterIncludeDeleted do + let(:instance) { Kombo::GetAtsInterviewsParameterIncludeDeleted.new } + + describe 'test an instance of GetAtsInterviewsParameterIncludeDeleted' do + it 'should create an instance of GetAtsInterviewsParameterIncludeDeleted' do + # uncomment below to test the instance creation + #expect(instance).to be_instance_of(Kombo::GetAtsInterviewsParameterIncludeDeleted) + end + end + +end diff --git a/spec/models/get_ats_interviews_positive_response_data_results_inner_application_spec.rb b/spec/models/get_ats_interviews_positive_response_data_results_inner_application_spec.rb new file mode 100644 index 0000000..caeddb4 --- /dev/null +++ b/spec/models/get_ats_interviews_positive_response_data_results_inner_application_spec.rb @@ -0,0 +1,70 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.13.0 + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Kombo::GetAtsInterviewsPositiveResponseDataResultsInnerApplication +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Kombo::GetAtsInterviewsPositiveResponseDataResultsInnerApplication do + let(:instance) { Kombo::GetAtsInterviewsPositiveResponseDataResultsInnerApplication.new } + + describe 'test an instance of GetAtsInterviewsPositiveResponseDataResultsInnerApplication' do + it 'should create an instance of GetAtsInterviewsPositiveResponseDataResultsInnerApplication' do + # uncomment below to test the instance creation + #expect(instance).to be_instance_of(Kombo::GetAtsInterviewsPositiveResponseDataResultsInnerApplication) + end + end + + describe 'test attribute "id"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "remote_id"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "outcome"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + # validator = Petstore::EnumTest::EnumAttributeValidator.new('String', ["PENDING", "HIRED", "DECLINED"]) + # validator.allowable_values.each do |value| + # expect { instance.outcome = value }.not_to raise_error + # end + end + end + + describe 'test attribute "rejection_reason_name"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "candidate"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "job"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/get_ats_interviews_positive_response_data_results_inner_spec.rb b/spec/models/get_ats_interviews_positive_response_data_results_inner_spec.rb new file mode 100644 index 0000000..b3f76a6 --- /dev/null +++ b/spec/models/get_ats_interviews_positive_response_data_results_inner_spec.rb @@ -0,0 +1,126 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.13.0 + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Kombo::GetAtsInterviewsPositiveResponseDataResultsInner +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Kombo::GetAtsInterviewsPositiveResponseDataResultsInner do + let(:instance) { Kombo::GetAtsInterviewsPositiveResponseDataResultsInner.new } + + describe 'test an instance of GetAtsInterviewsPositiveResponseDataResultsInner' do + it 'should create an instance of GetAtsInterviewsPositiveResponseDataResultsInner' do + # uncomment below to test the instance creation + #expect(instance).to be_instance_of(Kombo::GetAtsInterviewsPositiveResponseDataResultsInner) + end + end + + describe 'test attribute "id"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "remote_id"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "title"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "starting_at"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "ending_at"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "location"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "application_id"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "stage_id"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "canceled"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "remote_created_at"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "remote_updated_at"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "remote_data"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "changed_at"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "remote_deleted_at"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "users"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "application"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/get_ats_interviews_positive_response_data_results_inner_users_inner_spec.rb b/spec/models/get_ats_interviews_positive_response_data_results_inner_users_inner_spec.rb new file mode 100644 index 0000000..6ca8a02 --- /dev/null +++ b/spec/models/get_ats_interviews_positive_response_data_results_inner_users_inner_spec.rb @@ -0,0 +1,60 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.13.0 + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Kombo::GetAtsInterviewsPositiveResponseDataResultsInnerUsersInner +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Kombo::GetAtsInterviewsPositiveResponseDataResultsInnerUsersInner do + let(:instance) { Kombo::GetAtsInterviewsPositiveResponseDataResultsInnerUsersInner.new } + + describe 'test an instance of GetAtsInterviewsPositiveResponseDataResultsInnerUsersInner' do + it 'should create an instance of GetAtsInterviewsPositiveResponseDataResultsInnerUsersInner' do + # uncomment below to test the instance creation + #expect(instance).to be_instance_of(Kombo::GetAtsInterviewsPositiveResponseDataResultsInnerUsersInner) + end + end + + describe 'test attribute "id"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "remote_id"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "first_name"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "last_name"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "email"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/get_ats_interviews_positive_response_data_spec.rb b/spec/models/get_ats_interviews_positive_response_data_spec.rb new file mode 100644 index 0000000..6a8f082 --- /dev/null +++ b/spec/models/get_ats_interviews_positive_response_data_spec.rb @@ -0,0 +1,42 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.13.0 + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Kombo::GetAtsInterviewsPositiveResponseData +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Kombo::GetAtsInterviewsPositiveResponseData do + let(:instance) { Kombo::GetAtsInterviewsPositiveResponseData.new } + + describe 'test an instance of GetAtsInterviewsPositiveResponseData' do + it 'should create an instance of GetAtsInterviewsPositiveResponseData' do + # uncomment below to test the instance creation + #expect(instance).to be_instance_of(Kombo::GetAtsInterviewsPositiveResponseData) + end + end + + describe 'test attribute "_next"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "results"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/get_ats_interviews_positive_response_spec.rb b/spec/models/get_ats_interviews_positive_response_spec.rb new file mode 100644 index 0000000..42e3676 --- /dev/null +++ b/spec/models/get_ats_interviews_positive_response_spec.rb @@ -0,0 +1,46 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.13.0 + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Kombo::GetAtsInterviewsPositiveResponse +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Kombo::GetAtsInterviewsPositiveResponse do + let(:instance) { Kombo::GetAtsInterviewsPositiveResponse.new } + + describe 'test an instance of GetAtsInterviewsPositiveResponse' do + it 'should create an instance of GetAtsInterviewsPositiveResponse' do + # uncomment below to test the instance creation + #expect(instance).to be_instance_of(Kombo::GetAtsInterviewsPositiveResponse) + end + end + + describe 'test attribute "status"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + # validator = Petstore::EnumTest::EnumAttributeValidator.new('String', ["success"]) + # validator.allowable_values.each do |value| + # expect { instance.status = value }.not_to raise_error + # end + end + end + + describe 'test attribute "data"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/get_ats_jobs_parameter_include_deleted_spec.rb b/spec/models/get_ats_jobs_parameter_include_deleted_spec.rb new file mode 100644 index 0000000..ed401dd --- /dev/null +++ b/spec/models/get_ats_jobs_parameter_include_deleted_spec.rb @@ -0,0 +1,30 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.13.0 + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Kombo::GetAtsJobsParameterIncludeDeleted +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Kombo::GetAtsJobsParameterIncludeDeleted do + let(:instance) { Kombo::GetAtsJobsParameterIncludeDeleted.new } + + describe 'test an instance of GetAtsJobsParameterIncludeDeleted' do + it 'should create an instance of GetAtsJobsParameterIncludeDeleted' do + # uncomment below to test the instance creation + #expect(instance).to be_instance_of(Kombo::GetAtsJobsParameterIncludeDeleted) + end + end + +end diff --git a/spec/models/get_ats_jobs_parameter_status_spec.rb b/spec/models/get_ats_jobs_parameter_status_spec.rb new file mode 100644 index 0000000..383e97e --- /dev/null +++ b/spec/models/get_ats_jobs_parameter_status_spec.rb @@ -0,0 +1,30 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.13.0 + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Kombo::GetAtsJobsParameterStatus +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Kombo::GetAtsJobsParameterStatus do + let(:instance) { Kombo::GetAtsJobsParameterStatus.new } + + describe 'test an instance of GetAtsJobsParameterStatus' do + it 'should create an instance of GetAtsJobsParameterStatus' do + # uncomment below to test the instance creation + #expect(instance).to be_instance_of(Kombo::GetAtsJobsParameterStatus) + end + end + +end diff --git a/spec/models/get_ats_jobs_positive_response_data_results_inner_employment_type_spec.rb b/spec/models/get_ats_jobs_positive_response_data_results_inner_employment_type_spec.rb new file mode 100644 index 0000000..3eecfdd --- /dev/null +++ b/spec/models/get_ats_jobs_positive_response_data_results_inner_employment_type_spec.rb @@ -0,0 +1,21 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.13.0 + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Kombo::GetAtsJobsPositiveResponseDataResultsInnerEmploymentType +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Kombo::GetAtsJobsPositiveResponseDataResultsInnerEmploymentType do +end diff --git a/spec/models/get_ats_jobs_positive_response_data_results_inner_hiring_team_inner_spec.rb b/spec/models/get_ats_jobs_positive_response_data_results_inner_hiring_team_inner_spec.rb new file mode 100644 index 0000000..00a54a5 --- /dev/null +++ b/spec/models/get_ats_jobs_positive_response_data_results_inner_hiring_team_inner_spec.rb @@ -0,0 +1,70 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.13.0 + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Kombo::GetAtsJobsPositiveResponseDataResultsInnerHiringTeamInner +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Kombo::GetAtsJobsPositiveResponseDataResultsInnerHiringTeamInner do + let(:instance) { Kombo::GetAtsJobsPositiveResponseDataResultsInnerHiringTeamInner.new } + + describe 'test an instance of GetAtsJobsPositiveResponseDataResultsInnerHiringTeamInner' do + it 'should create an instance of GetAtsJobsPositiveResponseDataResultsInnerHiringTeamInner' do + # uncomment below to test the instance creation + #expect(instance).to be_instance_of(Kombo::GetAtsJobsPositiveResponseDataResultsInnerHiringTeamInner) + end + end + + describe 'test attribute "id"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "remote_id"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "first_name"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "last_name"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "email"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "hiring_team_roles"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + # validator = Petstore::EnumTest::EnumAttributeValidator.new('Array', ["RECRUITER", "HIRING_MANAGER"]) + # validator.allowable_values.each do |value| + # expect { instance.hiring_team_roles = value }.not_to raise_error + # end + end + end + +end diff --git a/spec/models/get_ats_jobs_positive_response_data_results_inner_job_postings_inner_spec.rb b/spec/models/get_ats_jobs_positive_response_data_results_inner_job_postings_inner_spec.rb new file mode 100644 index 0000000..f47658f --- /dev/null +++ b/spec/models/get_ats_jobs_positive_response_data_results_inner_job_postings_inner_spec.rb @@ -0,0 +1,86 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.13.0 + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Kombo::GetAtsJobsPositiveResponseDataResultsInnerJobPostingsInner +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Kombo::GetAtsJobsPositiveResponseDataResultsInnerJobPostingsInner do + let(:instance) { Kombo::GetAtsJobsPositiveResponseDataResultsInnerJobPostingsInner.new } + + describe 'test an instance of GetAtsJobsPositiveResponseDataResultsInnerJobPostingsInner' do + it 'should create an instance of GetAtsJobsPositiveResponseDataResultsInnerJobPostingsInner' do + # uncomment below to test the instance creation + #expect(instance).to be_instance_of(Kombo::GetAtsJobsPositiveResponseDataResultsInnerJobPostingsInner) + end + end + + describe 'test attribute "id"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "remote_id"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "title"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "description_html"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "status"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + # validator = Petstore::EnumTest::EnumAttributeValidator.new('String', ["ACTIVE", "INACTIVE", "DRAFT"]) + # validator.allowable_values.each do |value| + # expect { instance.status = value }.not_to raise_error + # end + end + end + + describe 'test attribute "visibility"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + # validator = Petstore::EnumTest::EnumAttributeValidator.new('String', ["PUBLIC", "INTERNAL", "UNLISTED"]) + # validator.allowable_values.each do |value| + # expect { instance.visibility = value }.not_to raise_error + # end + end + end + + describe 'test attribute "url"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "remote_data"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/get_ats_jobs_positive_response_data_results_inner_location_spec.rb b/spec/models/get_ats_jobs_positive_response_data_results_inner_location_spec.rb new file mode 100644 index 0000000..0559929 --- /dev/null +++ b/spec/models/get_ats_jobs_positive_response_data_results_inner_location_spec.rb @@ -0,0 +1,72 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.13.0 + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Kombo::GetAtsJobsPositiveResponseDataResultsInnerLocation +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Kombo::GetAtsJobsPositiveResponseDataResultsInnerLocation do + let(:instance) { Kombo::GetAtsJobsPositiveResponseDataResultsInnerLocation.new } + + describe 'test an instance of GetAtsJobsPositiveResponseDataResultsInnerLocation' do + it 'should create an instance of GetAtsJobsPositiveResponseDataResultsInnerLocation' do + # uncomment below to test the instance creation + #expect(instance).to be_instance_of(Kombo::GetAtsJobsPositiveResponseDataResultsInnerLocation) + end + end + + describe 'test attribute "city"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "country"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "raw"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "state"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "street_1"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "street_2"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "zip_code"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/get_ats_jobs_positive_response_data_results_inner_remote_work_status_spec.rb b/spec/models/get_ats_jobs_positive_response_data_results_inner_remote_work_status_spec.rb new file mode 100644 index 0000000..2b87b81 --- /dev/null +++ b/spec/models/get_ats_jobs_positive_response_data_results_inner_remote_work_status_spec.rb @@ -0,0 +1,21 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.13.0 + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Kombo::GetAtsJobsPositiveResponseDataResultsInnerRemoteWorkStatus +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Kombo::GetAtsJobsPositiveResponseDataResultsInnerRemoteWorkStatus do +end diff --git a/spec/models/get_ats_jobs_positive_response_data_results_inner_salary_period_spec.rb b/spec/models/get_ats_jobs_positive_response_data_results_inner_salary_period_spec.rb new file mode 100644 index 0000000..d42e24b --- /dev/null +++ b/spec/models/get_ats_jobs_positive_response_data_results_inner_salary_period_spec.rb @@ -0,0 +1,21 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.13.0 + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Kombo::GetAtsJobsPositiveResponseDataResultsInnerSalaryPeriod +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Kombo::GetAtsJobsPositiveResponseDataResultsInnerSalaryPeriod do +end diff --git a/spec/models/get_ats_jobs_positive_response_data_results_inner_screening_questions_inner_format_any_of1_spec.rb b/spec/models/get_ats_jobs_positive_response_data_results_inner_screening_questions_inner_format_any_of1_spec.rb new file mode 100644 index 0000000..cc2d96a --- /dev/null +++ b/spec/models/get_ats_jobs_positive_response_data_results_inner_screening_questions_inner_format_any_of1_spec.rb @@ -0,0 +1,62 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.13.0 + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Kombo::GetAtsJobsPositiveResponseDataResultsInnerScreeningQuestionsInnerFormatAnyOf1 +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Kombo::GetAtsJobsPositiveResponseDataResultsInnerScreeningQuestionsInnerFormatAnyOf1 do + let(:instance) { Kombo::GetAtsJobsPositiveResponseDataResultsInnerScreeningQuestionsInnerFormatAnyOf1.new } + + describe 'test an instance of GetAtsJobsPositiveResponseDataResultsInnerScreeningQuestionsInnerFormatAnyOf1' do + it 'should create an instance of GetAtsJobsPositiveResponseDataResultsInnerScreeningQuestionsInnerFormatAnyOf1' do + # uncomment below to test the instance creation + #expect(instance).to be_instance_of(Kombo::GetAtsJobsPositiveResponseDataResultsInnerScreeningQuestionsInnerFormatAnyOf1) + end + end + + describe 'test attribute "display_type"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + # validator = Petstore::EnumTest::EnumAttributeValidator.new('String', ["SLIDER", "FIELD"]) + # validator.allowable_values.each do |value| + # expect { instance.display_type = value }.not_to raise_error + # end + end + end + + describe 'test attribute "max"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "min"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "type"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + # validator = Petstore::EnumTest::EnumAttributeValidator.new('String', ["NUMBER"]) + # validator.allowable_values.each do |value| + # expect { instance.type = value }.not_to raise_error + # end + end + end + +end diff --git a/spec/models/get_ats_jobs_positive_response_data_results_inner_screening_questions_inner_format_any_of2_spec.rb b/spec/models/get_ats_jobs_positive_response_data_results_inner_screening_questions_inner_format_any_of2_spec.rb new file mode 100644 index 0000000..e0ac93a --- /dev/null +++ b/spec/models/get_ats_jobs_positive_response_data_results_inner_screening_questions_inner_format_any_of2_spec.rb @@ -0,0 +1,52 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.13.0 + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Kombo::GetAtsJobsPositiveResponseDataResultsInnerScreeningQuestionsInnerFormatAnyOf2 +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Kombo::GetAtsJobsPositiveResponseDataResultsInnerScreeningQuestionsInnerFormatAnyOf2 do + let(:instance) { Kombo::GetAtsJobsPositiveResponseDataResultsInnerScreeningQuestionsInnerFormatAnyOf2.new } + + describe 'test an instance of GetAtsJobsPositiveResponseDataResultsInnerScreeningQuestionsInnerFormatAnyOf2' do + it 'should create an instance of GetAtsJobsPositiveResponseDataResultsInnerScreeningQuestionsInnerFormatAnyOf2' do + # uncomment below to test the instance creation + #expect(instance).to be_instance_of(Kombo::GetAtsJobsPositiveResponseDataResultsInnerScreeningQuestionsInnerFormatAnyOf2) + end + end + + describe 'test attribute "accepted_mime_types"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "max_file_size_bytes"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "type"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + # validator = Petstore::EnumTest::EnumAttributeValidator.new('String', ["FILE"]) + # validator.allowable_values.each do |value| + # expect { instance.type = value }.not_to raise_error + # end + end + end + +end diff --git a/spec/models/get_ats_jobs_positive_response_data_results_inner_screening_questions_inner_format_any_of3_options_inner_spec.rb b/spec/models/get_ats_jobs_positive_response_data_results_inner_screening_questions_inner_format_any_of3_options_inner_spec.rb new file mode 100644 index 0000000..dd5979c --- /dev/null +++ b/spec/models/get_ats_jobs_positive_response_data_results_inner_screening_questions_inner_format_any_of3_options_inner_spec.rb @@ -0,0 +1,48 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.13.0 + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Kombo::GetAtsJobsPositiveResponseDataResultsInnerScreeningQuestionsInnerFormatAnyOf3OptionsInner +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Kombo::GetAtsJobsPositiveResponseDataResultsInnerScreeningQuestionsInnerFormatAnyOf3OptionsInner do + let(:instance) { Kombo::GetAtsJobsPositiveResponseDataResultsInnerScreeningQuestionsInnerFormatAnyOf3OptionsInner.new } + + describe 'test an instance of GetAtsJobsPositiveResponseDataResultsInnerScreeningQuestionsInnerFormatAnyOf3OptionsInner' do + it 'should create an instance of GetAtsJobsPositiveResponseDataResultsInnerScreeningQuestionsInnerFormatAnyOf3OptionsInner' do + # uncomment below to test the instance creation + #expect(instance).to be_instance_of(Kombo::GetAtsJobsPositiveResponseDataResultsInnerScreeningQuestionsInnerFormatAnyOf3OptionsInner) + end + end + + describe 'test attribute "id"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "remote_id"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "name"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/get_ats_jobs_positive_response_data_results_inner_screening_questions_inner_format_any_of3_spec.rb b/spec/models/get_ats_jobs_positive_response_data_results_inner_screening_questions_inner_format_any_of3_spec.rb new file mode 100644 index 0000000..6f511b9 --- /dev/null +++ b/spec/models/get_ats_jobs_positive_response_data_results_inner_screening_questions_inner_format_any_of3_spec.rb @@ -0,0 +1,56 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.13.0 + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Kombo::GetAtsJobsPositiveResponseDataResultsInnerScreeningQuestionsInnerFormatAnyOf3 +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Kombo::GetAtsJobsPositiveResponseDataResultsInnerScreeningQuestionsInnerFormatAnyOf3 do + let(:instance) { Kombo::GetAtsJobsPositiveResponseDataResultsInnerScreeningQuestionsInnerFormatAnyOf3.new } + + describe 'test an instance of GetAtsJobsPositiveResponseDataResultsInnerScreeningQuestionsInnerFormatAnyOf3' do + it 'should create an instance of GetAtsJobsPositiveResponseDataResultsInnerScreeningQuestionsInnerFormatAnyOf3' do + # uncomment below to test the instance creation + #expect(instance).to be_instance_of(Kombo::GetAtsJobsPositiveResponseDataResultsInnerScreeningQuestionsInnerFormatAnyOf3) + end + end + + describe 'test attribute "display_type"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + # validator = Petstore::EnumTest::EnumAttributeValidator.new('String', ["DROPDOWN", "RADIO"]) + # validator.allowable_values.each do |value| + # expect { instance.display_type = value }.not_to raise_error + # end + end + end + + describe 'test attribute "options"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "type"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + # validator = Petstore::EnumTest::EnumAttributeValidator.new('String', ["SINGLE_SELECT"]) + # validator.allowable_values.each do |value| + # expect { instance.type = value }.not_to raise_error + # end + end + end + +end diff --git a/spec/models/get_ats_jobs_positive_response_data_results_inner_screening_questions_inner_format_any_of4_spec.rb b/spec/models/get_ats_jobs_positive_response_data_results_inner_screening_questions_inner_format_any_of4_spec.rb new file mode 100644 index 0000000..df329cf --- /dev/null +++ b/spec/models/get_ats_jobs_positive_response_data_results_inner_screening_questions_inner_format_any_of4_spec.rb @@ -0,0 +1,40 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.13.0 + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Kombo::GetAtsJobsPositiveResponseDataResultsInnerScreeningQuestionsInnerFormatAnyOf4 +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Kombo::GetAtsJobsPositiveResponseDataResultsInnerScreeningQuestionsInnerFormatAnyOf4 do + let(:instance) { Kombo::GetAtsJobsPositiveResponseDataResultsInnerScreeningQuestionsInnerFormatAnyOf4.new } + + describe 'test an instance of GetAtsJobsPositiveResponseDataResultsInnerScreeningQuestionsInnerFormatAnyOf4' do + it 'should create an instance of GetAtsJobsPositiveResponseDataResultsInnerScreeningQuestionsInnerFormatAnyOf4' do + # uncomment below to test the instance creation + #expect(instance).to be_instance_of(Kombo::GetAtsJobsPositiveResponseDataResultsInnerScreeningQuestionsInnerFormatAnyOf4) + end + end + + describe 'test attribute "type"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + # validator = Petstore::EnumTest::EnumAttributeValidator.new('String', ["BOOLEAN"]) + # validator.allowable_values.each do |value| + # expect { instance.type = value }.not_to raise_error + # end + end + end + +end diff --git a/spec/models/get_ats_jobs_positive_response_data_results_inner_screening_questions_inner_format_any_of5_spec.rb b/spec/models/get_ats_jobs_positive_response_data_results_inner_screening_questions_inner_format_any_of5_spec.rb new file mode 100644 index 0000000..22e6e97 --- /dev/null +++ b/spec/models/get_ats_jobs_positive_response_data_results_inner_screening_questions_inner_format_any_of5_spec.rb @@ -0,0 +1,40 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.13.0 + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Kombo::GetAtsJobsPositiveResponseDataResultsInnerScreeningQuestionsInnerFormatAnyOf5 +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Kombo::GetAtsJobsPositiveResponseDataResultsInnerScreeningQuestionsInnerFormatAnyOf5 do + let(:instance) { Kombo::GetAtsJobsPositiveResponseDataResultsInnerScreeningQuestionsInnerFormatAnyOf5.new } + + describe 'test an instance of GetAtsJobsPositiveResponseDataResultsInnerScreeningQuestionsInnerFormatAnyOf5' do + it 'should create an instance of GetAtsJobsPositiveResponseDataResultsInnerScreeningQuestionsInnerFormatAnyOf5' do + # uncomment below to test the instance creation + #expect(instance).to be_instance_of(Kombo::GetAtsJobsPositiveResponseDataResultsInnerScreeningQuestionsInnerFormatAnyOf5) + end + end + + describe 'test attribute "type"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + # validator = Petstore::EnumTest::EnumAttributeValidator.new('String', ["DATE"]) + # validator.allowable_values.each do |value| + # expect { instance.type = value }.not_to raise_error + # end + end + end + +end diff --git a/spec/models/get_ats_jobs_positive_response_data_results_inner_screening_questions_inner_format_any_of6_spec.rb b/spec/models/get_ats_jobs_positive_response_data_results_inner_screening_questions_inner_format_any_of6_spec.rb new file mode 100644 index 0000000..85291c5 --- /dev/null +++ b/spec/models/get_ats_jobs_positive_response_data_results_inner_screening_questions_inner_format_any_of6_spec.rb @@ -0,0 +1,46 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.13.0 + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Kombo::GetAtsJobsPositiveResponseDataResultsInnerScreeningQuestionsInnerFormatAnyOf6 +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Kombo::GetAtsJobsPositiveResponseDataResultsInnerScreeningQuestionsInnerFormatAnyOf6 do + let(:instance) { Kombo::GetAtsJobsPositiveResponseDataResultsInnerScreeningQuestionsInnerFormatAnyOf6.new } + + describe 'test an instance of GetAtsJobsPositiveResponseDataResultsInnerScreeningQuestionsInnerFormatAnyOf6' do + it 'should create an instance of GetAtsJobsPositiveResponseDataResultsInnerScreeningQuestionsInnerFormatAnyOf6' do + # uncomment below to test the instance creation + #expect(instance).to be_instance_of(Kombo::GetAtsJobsPositiveResponseDataResultsInnerScreeningQuestionsInnerFormatAnyOf6) + end + end + + describe 'test attribute "options"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "type"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + # validator = Petstore::EnumTest::EnumAttributeValidator.new('String', ["MULTI_SELECT"]) + # validator.allowable_values.each do |value| + # expect { instance.type = value }.not_to raise_error + # end + end + end + +end diff --git a/spec/models/get_ats_jobs_positive_response_data_results_inner_screening_questions_inner_format_any_of7_spec.rb b/spec/models/get_ats_jobs_positive_response_data_results_inner_screening_questions_inner_format_any_of7_spec.rb new file mode 100644 index 0000000..329bbb9 --- /dev/null +++ b/spec/models/get_ats_jobs_positive_response_data_results_inner_screening_questions_inner_format_any_of7_spec.rb @@ -0,0 +1,40 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.13.0 + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Kombo::GetAtsJobsPositiveResponseDataResultsInnerScreeningQuestionsInnerFormatAnyOf7 +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Kombo::GetAtsJobsPositiveResponseDataResultsInnerScreeningQuestionsInnerFormatAnyOf7 do + let(:instance) { Kombo::GetAtsJobsPositiveResponseDataResultsInnerScreeningQuestionsInnerFormatAnyOf7.new } + + describe 'test an instance of GetAtsJobsPositiveResponseDataResultsInnerScreeningQuestionsInnerFormatAnyOf7' do + it 'should create an instance of GetAtsJobsPositiveResponseDataResultsInnerScreeningQuestionsInnerFormatAnyOf7' do + # uncomment below to test the instance creation + #expect(instance).to be_instance_of(Kombo::GetAtsJobsPositiveResponseDataResultsInnerScreeningQuestionsInnerFormatAnyOf7) + end + end + + describe 'test attribute "type"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + # validator = Petstore::EnumTest::EnumAttributeValidator.new('String', ["INFORMATION"]) + # validator.allowable_values.each do |value| + # expect { instance.type = value }.not_to raise_error + # end + end + end + +end diff --git a/spec/models/get_ats_jobs_positive_response_data_results_inner_screening_questions_inner_format_any_of8_spec.rb b/spec/models/get_ats_jobs_positive_response_data_results_inner_screening_questions_inner_format_any_of8_spec.rb new file mode 100644 index 0000000..54a463a --- /dev/null +++ b/spec/models/get_ats_jobs_positive_response_data_results_inner_screening_questions_inner_format_any_of8_spec.rb @@ -0,0 +1,46 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.13.0 + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Kombo::GetAtsJobsPositiveResponseDataResultsInnerScreeningQuestionsInnerFormatAnyOf8 +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Kombo::GetAtsJobsPositiveResponseDataResultsInnerScreeningQuestionsInnerFormatAnyOf8 do + let(:instance) { Kombo::GetAtsJobsPositiveResponseDataResultsInnerScreeningQuestionsInnerFormatAnyOf8.new } + + describe 'test an instance of GetAtsJobsPositiveResponseDataResultsInnerScreeningQuestionsInnerFormatAnyOf8' do + it 'should create an instance of GetAtsJobsPositiveResponseDataResultsInnerScreeningQuestionsInnerFormatAnyOf8' do + # uncomment below to test the instance creation + #expect(instance).to be_instance_of(Kombo::GetAtsJobsPositiveResponseDataResultsInnerScreeningQuestionsInnerFormatAnyOf8) + end + end + + describe 'test attribute "raw_question"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "type"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + # validator = Petstore::EnumTest::EnumAttributeValidator.new('String', ["UNKNOWN"]) + # validator.allowable_values.each do |value| + # expect { instance.type = value }.not_to raise_error + # end + end + end + +end diff --git a/spec/models/get_ats_jobs_positive_response_data_results_inner_screening_questions_inner_format_any_of_spec.rb b/spec/models/get_ats_jobs_positive_response_data_results_inner_screening_questions_inner_format_any_of_spec.rb new file mode 100644 index 0000000..8de7108 --- /dev/null +++ b/spec/models/get_ats_jobs_positive_response_data_results_inner_screening_questions_inner_format_any_of_spec.rb @@ -0,0 +1,56 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.13.0 + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Kombo::GetAtsJobsPositiveResponseDataResultsInnerScreeningQuestionsInnerFormatAnyOf +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Kombo::GetAtsJobsPositiveResponseDataResultsInnerScreeningQuestionsInnerFormatAnyOf do + let(:instance) { Kombo::GetAtsJobsPositiveResponseDataResultsInnerScreeningQuestionsInnerFormatAnyOf.new } + + describe 'test an instance of GetAtsJobsPositiveResponseDataResultsInnerScreeningQuestionsInnerFormatAnyOf' do + it 'should create an instance of GetAtsJobsPositiveResponseDataResultsInnerScreeningQuestionsInnerFormatAnyOf' do + # uncomment below to test the instance creation + #expect(instance).to be_instance_of(Kombo::GetAtsJobsPositiveResponseDataResultsInnerScreeningQuestionsInnerFormatAnyOf) + end + end + + describe 'test attribute "display_type"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + # validator = Petstore::EnumTest::EnumAttributeValidator.new('String', ["SINGLE_LINE", "MULTI_LINE", "EMAIL", "URL"]) + # validator.allowable_values.each do |value| + # expect { instance.display_type = value }.not_to raise_error + # end + end + end + + describe 'test attribute "max_length"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "type"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + # validator = Petstore::EnumTest::EnumAttributeValidator.new('String', ["TEXT"]) + # validator.allowable_values.each do |value| + # expect { instance.type = value }.not_to raise_error + # end + end + end + +end diff --git a/spec/models/get_ats_jobs_positive_response_data_results_inner_screening_questions_inner_format_spec.rb b/spec/models/get_ats_jobs_positive_response_data_results_inner_screening_questions_inner_format_spec.rb new file mode 100644 index 0000000..5ddf79b --- /dev/null +++ b/spec/models/get_ats_jobs_positive_response_data_results_inner_screening_questions_inner_format_spec.rb @@ -0,0 +1,21 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.13.0 + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Kombo::GetAtsJobsPositiveResponseDataResultsInnerScreeningQuestionsInnerFormat +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Kombo::GetAtsJobsPositiveResponseDataResultsInnerScreeningQuestionsInnerFormat do +end diff --git a/spec/models/get_ats_jobs_positive_response_data_results_inner_screening_questions_inner_precondition_options_spec.rb b/spec/models/get_ats_jobs_positive_response_data_results_inner_screening_questions_inner_precondition_options_spec.rb new file mode 100644 index 0000000..49a135d --- /dev/null +++ b/spec/models/get_ats_jobs_positive_response_data_results_inner_screening_questions_inner_precondition_options_spec.rb @@ -0,0 +1,21 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.13.0 + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Kombo::GetAtsJobsPositiveResponseDataResultsInnerScreeningQuestionsInnerPreconditionOptions +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Kombo::GetAtsJobsPositiveResponseDataResultsInnerScreeningQuestionsInnerPreconditionOptions do +end diff --git a/spec/models/get_ats_jobs_positive_response_data_results_inner_screening_questions_inner_spec.rb b/spec/models/get_ats_jobs_positive_response_data_results_inner_screening_questions_inner_spec.rb new file mode 100644 index 0000000..89b7cb1 --- /dev/null +++ b/spec/models/get_ats_jobs_positive_response_data_results_inner_screening_questions_inner_spec.rb @@ -0,0 +1,94 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.13.0 + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Kombo::GetAtsJobsPositiveResponseDataResultsInnerScreeningQuestionsInner +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Kombo::GetAtsJobsPositiveResponseDataResultsInnerScreeningQuestionsInner do + let(:instance) { Kombo::GetAtsJobsPositiveResponseDataResultsInnerScreeningQuestionsInner.new } + + describe 'test an instance of GetAtsJobsPositiveResponseDataResultsInnerScreeningQuestionsInner' do + it 'should create an instance of GetAtsJobsPositiveResponseDataResultsInnerScreeningQuestionsInner' do + # uncomment below to test the instance creation + #expect(instance).to be_instance_of(Kombo::GetAtsJobsPositiveResponseDataResultsInnerScreeningQuestionsInner) + end + end + + describe 'test attribute "id"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "remote_id"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "title"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "description"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "format"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "category"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + # validator = Petstore::EnumTest::EnumAttributeValidator.new('String', ["EEO", "DEMOGRAPHIC"]) + # validator.allowable_values.each do |value| + # expect { instance.category = value }.not_to raise_error + # end + end + end + + describe 'test attribute "index"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "required"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "precondition_question_id"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "precondition_options"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/get_ats_jobs_positive_response_data_results_inner_spec.rb b/spec/models/get_ats_jobs_positive_response_data_results_inner_spec.rb new file mode 100644 index 0000000..2802453 --- /dev/null +++ b/spec/models/get_ats_jobs_positive_response_data_results_inner_spec.rb @@ -0,0 +1,246 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.13.0 + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Kombo::GetAtsJobsPositiveResponseDataResultsInner +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Kombo::GetAtsJobsPositiveResponseDataResultsInner do + let(:instance) { Kombo::GetAtsJobsPositiveResponseDataResultsInner.new } + + describe 'test an instance of GetAtsJobsPositiveResponseDataResultsInner' do + it 'should create an instance of GetAtsJobsPositiveResponseDataResultsInner' do + # uncomment below to test the instance creation + #expect(instance).to be_instance_of(Kombo::GetAtsJobsPositiveResponseDataResultsInner) + end + end + + describe 'test attribute "id"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "remote_id"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "name"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "job_code"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "description"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "confidential"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "weekly_hours"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "employment_type"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "status"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "visibility"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "category"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "department"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "post_url"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "experience_level"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "remote_work_status"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "salary_amount"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "salary_amount_from"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "salary_amount_to"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "salary_currency"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "salary_period"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "location"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "custom_fields"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "integration_fields"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "remote_url"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "opened_at"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "closed_at"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "remote_created_at"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "remote_updated_at"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "contact_id"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "remote_data"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "changed_at"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "remote_deleted_at"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "stages"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "screening_questions"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "job_postings"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "hiring_team"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/get_ats_jobs_positive_response_data_results_inner_stages_inner_spec.rb b/spec/models/get_ats_jobs_positive_response_data_results_inner_stages_inner_spec.rb new file mode 100644 index 0000000..e88f80e --- /dev/null +++ b/spec/models/get_ats_jobs_positive_response_data_results_inner_stages_inner_spec.rb @@ -0,0 +1,60 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.13.0 + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Kombo::GetAtsJobsPositiveResponseDataResultsInnerStagesInner +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Kombo::GetAtsJobsPositiveResponseDataResultsInnerStagesInner do + let(:instance) { Kombo::GetAtsJobsPositiveResponseDataResultsInnerStagesInner.new } + + describe 'test an instance of GetAtsJobsPositiveResponseDataResultsInnerStagesInner' do + it 'should create an instance of GetAtsJobsPositiveResponseDataResultsInnerStagesInner' do + # uncomment below to test the instance creation + #expect(instance).to be_instance_of(Kombo::GetAtsJobsPositiveResponseDataResultsInnerStagesInner) + end + end + + describe 'test attribute "id"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "remote_id"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "name"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "remote_data"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "index"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/get_ats_jobs_positive_response_data_results_inner_status_spec.rb b/spec/models/get_ats_jobs_positive_response_data_results_inner_status_spec.rb new file mode 100644 index 0000000..659a81a --- /dev/null +++ b/spec/models/get_ats_jobs_positive_response_data_results_inner_status_spec.rb @@ -0,0 +1,21 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.13.0 + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Kombo::GetAtsJobsPositiveResponseDataResultsInnerStatus +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Kombo::GetAtsJobsPositiveResponseDataResultsInnerStatus do +end diff --git a/spec/models/get_ats_jobs_positive_response_data_results_inner_visibility_spec.rb b/spec/models/get_ats_jobs_positive_response_data_results_inner_visibility_spec.rb new file mode 100644 index 0000000..dd34dbb --- /dev/null +++ b/spec/models/get_ats_jobs_positive_response_data_results_inner_visibility_spec.rb @@ -0,0 +1,21 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.13.0 + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Kombo::GetAtsJobsPositiveResponseDataResultsInnerVisibility +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Kombo::GetAtsJobsPositiveResponseDataResultsInnerVisibility do +end diff --git a/spec/models/get_ats_jobs_positive_response_data_spec.rb b/spec/models/get_ats_jobs_positive_response_data_spec.rb new file mode 100644 index 0000000..6f6fd94 --- /dev/null +++ b/spec/models/get_ats_jobs_positive_response_data_spec.rb @@ -0,0 +1,42 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.13.0 + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Kombo::GetAtsJobsPositiveResponseData +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Kombo::GetAtsJobsPositiveResponseData do + let(:instance) { Kombo::GetAtsJobsPositiveResponseData.new } + + describe 'test an instance of GetAtsJobsPositiveResponseData' do + it 'should create an instance of GetAtsJobsPositiveResponseData' do + # uncomment below to test the instance creation + #expect(instance).to be_instance_of(Kombo::GetAtsJobsPositiveResponseData) + end + end + + describe 'test attribute "_next"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "results"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/get_ats_jobs_positive_response_spec.rb b/spec/models/get_ats_jobs_positive_response_spec.rb new file mode 100644 index 0000000..283c66c --- /dev/null +++ b/spec/models/get_ats_jobs_positive_response_spec.rb @@ -0,0 +1,46 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.13.0 + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Kombo::GetAtsJobsPositiveResponse +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Kombo::GetAtsJobsPositiveResponse do + let(:instance) { Kombo::GetAtsJobsPositiveResponse.new } + + describe 'test an instance of GetAtsJobsPositiveResponse' do + it 'should create an instance of GetAtsJobsPositiveResponse' do + # uncomment below to test the instance creation + #expect(instance).to be_instance_of(Kombo::GetAtsJobsPositiveResponse) + end + end + + describe 'test attribute "status"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + # validator = Petstore::EnumTest::EnumAttributeValidator.new('String', ["success"]) + # validator.allowable_values.each do |value| + # expect { instance.status = value }.not_to raise_error + # end + end + end + + describe 'test attribute "data"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/get_ats_offers_parameter_include_deleted_spec.rb b/spec/models/get_ats_offers_parameter_include_deleted_spec.rb new file mode 100644 index 0000000..69ac420 --- /dev/null +++ b/spec/models/get_ats_offers_parameter_include_deleted_spec.rb @@ -0,0 +1,30 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.13.0 + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Kombo::GetAtsOffersParameterIncludeDeleted +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Kombo::GetAtsOffersParameterIncludeDeleted do + let(:instance) { Kombo::GetAtsOffersParameterIncludeDeleted.new } + + describe 'test an instance of GetAtsOffersParameterIncludeDeleted' do + it 'should create an instance of GetAtsOffersParameterIncludeDeleted' do + # uncomment below to test the instance creation + #expect(instance).to be_instance_of(Kombo::GetAtsOffersParameterIncludeDeleted) + end + end + +end diff --git a/spec/models/get_ats_offers_positive_response_data_results_inner_application_candidate_spec.rb b/spec/models/get_ats_offers_positive_response_data_results_inner_application_candidate_spec.rb new file mode 100644 index 0000000..d7b8b5b --- /dev/null +++ b/spec/models/get_ats_offers_positive_response_data_results_inner_application_candidate_spec.rb @@ -0,0 +1,60 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.13.0 + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Kombo::GetAtsOffersPositiveResponseDataResultsInnerApplicationCandidate +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Kombo::GetAtsOffersPositiveResponseDataResultsInnerApplicationCandidate do + let(:instance) { Kombo::GetAtsOffersPositiveResponseDataResultsInnerApplicationCandidate.new } + + describe 'test an instance of GetAtsOffersPositiveResponseDataResultsInnerApplicationCandidate' do + it 'should create an instance of GetAtsOffersPositiveResponseDataResultsInnerApplicationCandidate' do + # uncomment below to test the instance creation + #expect(instance).to be_instance_of(Kombo::GetAtsOffersPositiveResponseDataResultsInnerApplicationCandidate) + end + end + + describe 'test attribute "id"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "remote_id"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "first_name"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "last_name"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "email_addresses"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/get_ats_offers_positive_response_data_results_inner_application_spec.rb b/spec/models/get_ats_offers_positive_response_data_results_inner_application_spec.rb new file mode 100644 index 0000000..9cde313 --- /dev/null +++ b/spec/models/get_ats_offers_positive_response_data_results_inner_application_spec.rb @@ -0,0 +1,42 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.13.0 + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Kombo::GetAtsOffersPositiveResponseDataResultsInnerApplication +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Kombo::GetAtsOffersPositiveResponseDataResultsInnerApplication do + let(:instance) { Kombo::GetAtsOffersPositiveResponseDataResultsInnerApplication.new } + + describe 'test an instance of GetAtsOffersPositiveResponseDataResultsInnerApplication' do + it 'should create an instance of GetAtsOffersPositiveResponseDataResultsInnerApplication' do + # uncomment below to test the instance creation + #expect(instance).to be_instance_of(Kombo::GetAtsOffersPositiveResponseDataResultsInnerApplication) + end + end + + describe 'test attribute "candidate"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "job"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/get_ats_offers_positive_response_data_results_inner_spec.rb b/spec/models/get_ats_offers_positive_response_data_results_inner_spec.rb new file mode 100644 index 0000000..2801404 --- /dev/null +++ b/spec/models/get_ats_offers_positive_response_data_results_inner_spec.rb @@ -0,0 +1,112 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.13.0 + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Kombo::GetAtsOffersPositiveResponseDataResultsInner +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Kombo::GetAtsOffersPositiveResponseDataResultsInner do + let(:instance) { Kombo::GetAtsOffersPositiveResponseDataResultsInner.new } + + describe 'test an instance of GetAtsOffersPositiveResponseDataResultsInner' do + it 'should create an instance of GetAtsOffersPositiveResponseDataResultsInner' do + # uncomment below to test the instance creation + #expect(instance).to be_instance_of(Kombo::GetAtsOffersPositiveResponseDataResultsInner) + end + end + + describe 'test attribute "id"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "remote_id"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "status"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + # validator = Petstore::EnumTest::EnumAttributeValidator.new('String', ["ACCEPTED", "DECLINED", "SENT", "APPROVED", "DRAFT", "ABANDONED"]) + # validator.allowable_values.each do |value| + # expect { instance.status = value }.not_to raise_error + # end + end + end + + describe 'test attribute "employment_start_date"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "application_id"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "custom_fields"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "integration_fields"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "changed_at"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "remote_deleted_at"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "remote_created_at"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "remote_updated_at"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "remote_data"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "application"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/get_ats_offers_positive_response_data_spec.rb b/spec/models/get_ats_offers_positive_response_data_spec.rb new file mode 100644 index 0000000..69ab7e2 --- /dev/null +++ b/spec/models/get_ats_offers_positive_response_data_spec.rb @@ -0,0 +1,42 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.13.0 + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Kombo::GetAtsOffersPositiveResponseData +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Kombo::GetAtsOffersPositiveResponseData do + let(:instance) { Kombo::GetAtsOffersPositiveResponseData.new } + + describe 'test an instance of GetAtsOffersPositiveResponseData' do + it 'should create an instance of GetAtsOffersPositiveResponseData' do + # uncomment below to test the instance creation + #expect(instance).to be_instance_of(Kombo::GetAtsOffersPositiveResponseData) + end + end + + describe 'test attribute "_next"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "results"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/get_ats_offers_positive_response_spec.rb b/spec/models/get_ats_offers_positive_response_spec.rb new file mode 100644 index 0000000..9d8518b --- /dev/null +++ b/spec/models/get_ats_offers_positive_response_spec.rb @@ -0,0 +1,46 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.13.0 + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Kombo::GetAtsOffersPositiveResponse +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Kombo::GetAtsOffersPositiveResponse do + let(:instance) { Kombo::GetAtsOffersPositiveResponse.new } + + describe 'test an instance of GetAtsOffersPositiveResponse' do + it 'should create an instance of GetAtsOffersPositiveResponse' do + # uncomment below to test the instance creation + #expect(instance).to be_instance_of(Kombo::GetAtsOffersPositiveResponse) + end + end + + describe 'test attribute "status"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + # validator = Petstore::EnumTest::EnumAttributeValidator.new('String', ["success"]) + # validator.allowable_values.each do |value| + # expect { instance.status = value }.not_to raise_error + # end + end + end + + describe 'test attribute "data"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/get_ats_rejection_reasons_parameter_include_deleted_spec.rb b/spec/models/get_ats_rejection_reasons_parameter_include_deleted_spec.rb new file mode 100644 index 0000000..73394d8 --- /dev/null +++ b/spec/models/get_ats_rejection_reasons_parameter_include_deleted_spec.rb @@ -0,0 +1,30 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.13.0 + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Kombo::GetAtsRejectionReasonsParameterIncludeDeleted +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Kombo::GetAtsRejectionReasonsParameterIncludeDeleted do + let(:instance) { Kombo::GetAtsRejectionReasonsParameterIncludeDeleted.new } + + describe 'test an instance of GetAtsRejectionReasonsParameterIncludeDeleted' do + it 'should create an instance of GetAtsRejectionReasonsParameterIncludeDeleted' do + # uncomment below to test the instance creation + #expect(instance).to be_instance_of(Kombo::GetAtsRejectionReasonsParameterIncludeDeleted) + end + end + +end diff --git a/spec/models/get_ats_rejection_reasons_positive_response_data_results_inner_spec.rb b/spec/models/get_ats_rejection_reasons_positive_response_data_results_inner_spec.rb new file mode 100644 index 0000000..64f328f --- /dev/null +++ b/spec/models/get_ats_rejection_reasons_positive_response_data_results_inner_spec.rb @@ -0,0 +1,66 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.13.0 + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Kombo::GetAtsRejectionReasonsPositiveResponseDataResultsInner +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Kombo::GetAtsRejectionReasonsPositiveResponseDataResultsInner do + let(:instance) { Kombo::GetAtsRejectionReasonsPositiveResponseDataResultsInner.new } + + describe 'test an instance of GetAtsRejectionReasonsPositiveResponseDataResultsInner' do + it 'should create an instance of GetAtsRejectionReasonsPositiveResponseDataResultsInner' do + # uncomment below to test the instance creation + #expect(instance).to be_instance_of(Kombo::GetAtsRejectionReasonsPositiveResponseDataResultsInner) + end + end + + describe 'test attribute "id"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "remote_id"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "name"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "changed_at"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "remote_deleted_at"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "remote_data"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/get_ats_rejection_reasons_positive_response_data_spec.rb b/spec/models/get_ats_rejection_reasons_positive_response_data_spec.rb new file mode 100644 index 0000000..86a2ff4 --- /dev/null +++ b/spec/models/get_ats_rejection_reasons_positive_response_data_spec.rb @@ -0,0 +1,42 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.13.0 + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Kombo::GetAtsRejectionReasonsPositiveResponseData +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Kombo::GetAtsRejectionReasonsPositiveResponseData do + let(:instance) { Kombo::GetAtsRejectionReasonsPositiveResponseData.new } + + describe 'test an instance of GetAtsRejectionReasonsPositiveResponseData' do + it 'should create an instance of GetAtsRejectionReasonsPositiveResponseData' do + # uncomment below to test the instance creation + #expect(instance).to be_instance_of(Kombo::GetAtsRejectionReasonsPositiveResponseData) + end + end + + describe 'test attribute "_next"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "results"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/get_ats_rejection_reasons_positive_response_spec.rb b/spec/models/get_ats_rejection_reasons_positive_response_spec.rb new file mode 100644 index 0000000..bb118a0 --- /dev/null +++ b/spec/models/get_ats_rejection_reasons_positive_response_spec.rb @@ -0,0 +1,46 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.13.0 + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Kombo::GetAtsRejectionReasonsPositiveResponse +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Kombo::GetAtsRejectionReasonsPositiveResponse do + let(:instance) { Kombo::GetAtsRejectionReasonsPositiveResponse.new } + + describe 'test an instance of GetAtsRejectionReasonsPositiveResponse' do + it 'should create an instance of GetAtsRejectionReasonsPositiveResponse' do + # uncomment below to test the instance creation + #expect(instance).to be_instance_of(Kombo::GetAtsRejectionReasonsPositiveResponse) + end + end + + describe 'test attribute "status"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + # validator = Petstore::EnumTest::EnumAttributeValidator.new('String', ["success"]) + # validator.allowable_values.each do |value| + # expect { instance.status = value }.not_to raise_error + # end + end + end + + describe 'test attribute "data"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/get_ats_tags_parameter_include_deleted_spec.rb b/spec/models/get_ats_tags_parameter_include_deleted_spec.rb new file mode 100644 index 0000000..2c9dc74 --- /dev/null +++ b/spec/models/get_ats_tags_parameter_include_deleted_spec.rb @@ -0,0 +1,30 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.13.0 + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Kombo::GetAtsTagsParameterIncludeDeleted +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Kombo::GetAtsTagsParameterIncludeDeleted do + let(:instance) { Kombo::GetAtsTagsParameterIncludeDeleted.new } + + describe 'test an instance of GetAtsTagsParameterIncludeDeleted' do + it 'should create an instance of GetAtsTagsParameterIncludeDeleted' do + # uncomment below to test the instance creation + #expect(instance).to be_instance_of(Kombo::GetAtsTagsParameterIncludeDeleted) + end + end + +end diff --git a/spec/models/get_ats_tags_positive_response_data_results_inner_spec.rb b/spec/models/get_ats_tags_positive_response_data_results_inner_spec.rb new file mode 100644 index 0000000..3960298 --- /dev/null +++ b/spec/models/get_ats_tags_positive_response_data_results_inner_spec.rb @@ -0,0 +1,66 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.13.0 + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Kombo::GetAtsTagsPositiveResponseDataResultsInner +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Kombo::GetAtsTagsPositiveResponseDataResultsInner do + let(:instance) { Kombo::GetAtsTagsPositiveResponseDataResultsInner.new } + + describe 'test an instance of GetAtsTagsPositiveResponseDataResultsInner' do + it 'should create an instance of GetAtsTagsPositiveResponseDataResultsInner' do + # uncomment below to test the instance creation + #expect(instance).to be_instance_of(Kombo::GetAtsTagsPositiveResponseDataResultsInner) + end + end + + describe 'test attribute "id"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "remote_id"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "name"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "remote_data"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "changed_at"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "remote_deleted_at"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/get_ats_tags_positive_response_data_spec.rb b/spec/models/get_ats_tags_positive_response_data_spec.rb new file mode 100644 index 0000000..7674d92 --- /dev/null +++ b/spec/models/get_ats_tags_positive_response_data_spec.rb @@ -0,0 +1,42 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.13.0 + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Kombo::GetAtsTagsPositiveResponseData +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Kombo::GetAtsTagsPositiveResponseData do + let(:instance) { Kombo::GetAtsTagsPositiveResponseData.new } + + describe 'test an instance of GetAtsTagsPositiveResponseData' do + it 'should create an instance of GetAtsTagsPositiveResponseData' do + # uncomment below to test the instance creation + #expect(instance).to be_instance_of(Kombo::GetAtsTagsPositiveResponseData) + end + end + + describe 'test attribute "_next"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "results"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/get_ats_tags_positive_response_spec.rb b/spec/models/get_ats_tags_positive_response_spec.rb new file mode 100644 index 0000000..7043c35 --- /dev/null +++ b/spec/models/get_ats_tags_positive_response_spec.rb @@ -0,0 +1,46 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.13.0 + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Kombo::GetAtsTagsPositiveResponse +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Kombo::GetAtsTagsPositiveResponse do + let(:instance) { Kombo::GetAtsTagsPositiveResponse.new } + + describe 'test an instance of GetAtsTagsPositiveResponse' do + it 'should create an instance of GetAtsTagsPositiveResponse' do + # uncomment below to test the instance creation + #expect(instance).to be_instance_of(Kombo::GetAtsTagsPositiveResponse) + end + end + + describe 'test attribute "status"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + # validator = Petstore::EnumTest::EnumAttributeValidator.new('String', ["success"]) + # validator.allowable_values.each do |value| + # expect { instance.status = value }.not_to raise_error + # end + end + end + + describe 'test attribute "data"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/get_ats_users_parameter_include_deleted_spec.rb b/spec/models/get_ats_users_parameter_include_deleted_spec.rb new file mode 100644 index 0000000..3b3254a --- /dev/null +++ b/spec/models/get_ats_users_parameter_include_deleted_spec.rb @@ -0,0 +1,30 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.13.0 + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Kombo::GetAtsUsersParameterIncludeDeleted +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Kombo::GetAtsUsersParameterIncludeDeleted do + let(:instance) { Kombo::GetAtsUsersParameterIncludeDeleted.new } + + describe 'test an instance of GetAtsUsersParameterIncludeDeleted' do + it 'should create an instance of GetAtsUsersParameterIncludeDeleted' do + # uncomment below to test the instance creation + #expect(instance).to be_instance_of(Kombo::GetAtsUsersParameterIncludeDeleted) + end + end + +end diff --git a/spec/models/get_ats_users_positive_response_data_results_inner_spec.rb b/spec/models/get_ats_users_positive_response_data_results_inner_spec.rb new file mode 100644 index 0000000..1ccae24 --- /dev/null +++ b/spec/models/get_ats_users_positive_response_data_results_inner_spec.rb @@ -0,0 +1,88 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.13.0 + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Kombo::GetAtsUsersPositiveResponseDataResultsInner +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Kombo::GetAtsUsersPositiveResponseDataResultsInner do + let(:instance) { Kombo::GetAtsUsersPositiveResponseDataResultsInner.new } + + describe 'test an instance of GetAtsUsersPositiveResponseDataResultsInner' do + it 'should create an instance of GetAtsUsersPositiveResponseDataResultsInner' do + # uncomment below to test the instance creation + #expect(instance).to be_instance_of(Kombo::GetAtsUsersPositiveResponseDataResultsInner) + end + end + + describe 'test attribute "id"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "remote_id"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "first_name"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "last_name"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "email"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "status"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + # validator = Petstore::EnumTest::EnumAttributeValidator.new('String', ["ACTIVE", "INACTIVE"]) + # validator.allowable_values.each do |value| + # expect { instance.status = value }.not_to raise_error + # end + end + end + + describe 'test attribute "remote_data"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "changed_at"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "remote_deleted_at"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/get_ats_users_positive_response_data_spec.rb b/spec/models/get_ats_users_positive_response_data_spec.rb new file mode 100644 index 0000000..79a7a46 --- /dev/null +++ b/spec/models/get_ats_users_positive_response_data_spec.rb @@ -0,0 +1,42 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.13.0 + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Kombo::GetAtsUsersPositiveResponseData +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Kombo::GetAtsUsersPositiveResponseData do + let(:instance) { Kombo::GetAtsUsersPositiveResponseData.new } + + describe 'test an instance of GetAtsUsersPositiveResponseData' do + it 'should create an instance of GetAtsUsersPositiveResponseData' do + # uncomment below to test the instance creation + #expect(instance).to be_instance_of(Kombo::GetAtsUsersPositiveResponseData) + end + end + + describe 'test attribute "_next"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "results"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/get_ats_users_positive_response_spec.rb b/spec/models/get_ats_users_positive_response_spec.rb new file mode 100644 index 0000000..ef0ee2e --- /dev/null +++ b/spec/models/get_ats_users_positive_response_spec.rb @@ -0,0 +1,46 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.13.0 + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Kombo::GetAtsUsersPositiveResponse +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Kombo::GetAtsUsersPositiveResponse do + let(:instance) { Kombo::GetAtsUsersPositiveResponse.new } + + describe 'test an instance of GetAtsUsersPositiveResponse' do + it 'should create an instance of GetAtsUsersPositiveResponse' do + # uncomment below to test the instance creation + #expect(instance).to be_instance_of(Kombo::GetAtsUsersPositiveResponse) + end + end + + describe 'test attribute "status"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + # validator = Petstore::EnumTest::EnumAttributeValidator.new('String', ["success"]) + # validator.allowable_values.each do |value| + # expect { instance.status = value }.not_to raise_error + # end + end + end + + describe 'test attribute "data"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/get_check_api_key_positive_response_data_spec.rb b/spec/models/get_check_api_key_positive_response_data_spec.rb new file mode 100644 index 0000000..e529d69 --- /dev/null +++ b/spec/models/get_check_api_key_positive_response_data_spec.rb @@ -0,0 +1,42 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.13.0 + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Kombo::GetCheckApiKeyPositiveResponseData +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Kombo::GetCheckApiKeyPositiveResponseData do + let(:instance) { Kombo::GetCheckApiKeyPositiveResponseData.new } + + describe 'test an instance of GetCheckApiKeyPositiveResponseData' do + it 'should create an instance of GetCheckApiKeyPositiveResponseData' do + # uncomment below to test the instance creation + #expect(instance).to be_instance_of(Kombo::GetCheckApiKeyPositiveResponseData) + end + end + + describe 'test attribute "environment_id"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "customer_id"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/get_check_api_key_positive_response_spec.rb b/spec/models/get_check_api_key_positive_response_spec.rb new file mode 100644 index 0000000..ed061d6 --- /dev/null +++ b/spec/models/get_check_api_key_positive_response_spec.rb @@ -0,0 +1,46 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.13.0 + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Kombo::GetCheckApiKeyPositiveResponse +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Kombo::GetCheckApiKeyPositiveResponse do + let(:instance) { Kombo::GetCheckApiKeyPositiveResponse.new } + + describe 'test an instance of GetCheckApiKeyPositiveResponse' do + it 'should create an instance of GetCheckApiKeyPositiveResponse' do + # uncomment below to test the instance creation + #expect(instance).to be_instance_of(Kombo::GetCheckApiKeyPositiveResponse) + end + end + + describe 'test attribute "status"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + # validator = Petstore::EnumTest::EnumAttributeValidator.new('String', ["success"]) + # validator.allowable_values.each do |value| + # expect { instance.status = value }.not_to raise_error + # end + end + end + + describe 'test attribute "data"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/get_connect_integration_by_token_token_positive_response_data_spec.rb b/spec/models/get_connect_integration_by_token_token_positive_response_data_spec.rb new file mode 100644 index 0000000..dfa4aba --- /dev/null +++ b/spec/models/get_connect_integration_by_token_token_positive_response_data_spec.rb @@ -0,0 +1,70 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.13.0 + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Kombo::GetConnectIntegrationByTokenTokenPositiveResponseData +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Kombo::GetConnectIntegrationByTokenTokenPositiveResponseData do + let(:instance) { Kombo::GetConnectIntegrationByTokenTokenPositiveResponseData.new } + + describe 'test an instance of GetConnectIntegrationByTokenTokenPositiveResponseData' do + it 'should create an instance of GetConnectIntegrationByTokenTokenPositiveResponseData' do + # uncomment below to test the instance creation + #expect(instance).to be_instance_of(Kombo::GetConnectIntegrationByTokenTokenPositiveResponseData) + end + end + + describe 'test attribute "tool"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "id"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "end_user_origin_id"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "end_user_organization_name"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "end_user_email"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "setup_status"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + # validator = Petstore::EnumTest::EnumAttributeValidator.new('String', ["INCOMPLETE", "FINAL_SYNC_PENDING", "COMPLETED"]) + # validator.allowable_values.each do |value| + # expect { instance.setup_status = value }.not_to raise_error + # end + end + end + +end diff --git a/spec/models/get_connect_integration_by_token_token_positive_response_spec.rb b/spec/models/get_connect_integration_by_token_token_positive_response_spec.rb new file mode 100644 index 0000000..cc367fc --- /dev/null +++ b/spec/models/get_connect_integration_by_token_token_positive_response_spec.rb @@ -0,0 +1,46 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.13.0 + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Kombo::GetConnectIntegrationByTokenTokenPositiveResponse +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Kombo::GetConnectIntegrationByTokenTokenPositiveResponse do + let(:instance) { Kombo::GetConnectIntegrationByTokenTokenPositiveResponse.new } + + describe 'test an instance of GetConnectIntegrationByTokenTokenPositiveResponse' do + it 'should create an instance of GetConnectIntegrationByTokenTokenPositiveResponse' do + # uncomment below to test the instance creation + #expect(instance).to be_instance_of(Kombo::GetConnectIntegrationByTokenTokenPositiveResponse) + end + end + + describe 'test attribute "status"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + # validator = Petstore::EnumTest::EnumAttributeValidator.new('String', ["success"]) + # validator.allowable_values.each do |value| + # expect { instance.status = value }.not_to raise_error + # end + end + end + + describe 'test attribute "data"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/get_custom_datev_available_documents_positive_response_data_results_inner_available_for_employees_inner_spec.rb b/spec/models/get_custom_datev_available_documents_positive_response_data_results_inner_available_for_employees_inner_spec.rb new file mode 100644 index 0000000..a782a23 --- /dev/null +++ b/spec/models/get_custom_datev_available_documents_positive_response_data_results_inner_available_for_employees_inner_spec.rb @@ -0,0 +1,42 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.13.0 + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Kombo::GetCustomDatevAvailableDocumentsPositiveResponseDataResultsInnerAvailableForEmployeesInner +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Kombo::GetCustomDatevAvailableDocumentsPositiveResponseDataResultsInnerAvailableForEmployeesInner do + let(:instance) { Kombo::GetCustomDatevAvailableDocumentsPositiveResponseDataResultsInnerAvailableForEmployeesInner.new } + + describe 'test an instance of GetCustomDatevAvailableDocumentsPositiveResponseDataResultsInnerAvailableForEmployeesInner' do + it 'should create an instance of GetCustomDatevAvailableDocumentsPositiveResponseDataResultsInnerAvailableForEmployeesInner' do + # uncomment below to test the instance creation + #expect(instance).to be_instance_of(Kombo::GetCustomDatevAvailableDocumentsPositiveResponseDataResultsInnerAvailableForEmployeesInner) + end + end + + describe 'test attribute "id"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "remote_id"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/get_custom_datev_available_documents_positive_response_data_results_inner_spec.rb b/spec/models/get_custom_datev_available_documents_positive_response_data_results_inner_spec.rb new file mode 100644 index 0000000..78b59b3 --- /dev/null +++ b/spec/models/get_custom_datev_available_documents_positive_response_data_results_inner_spec.rb @@ -0,0 +1,48 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.13.0 + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Kombo::GetCustomDatevAvailableDocumentsPositiveResponseDataResultsInner +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Kombo::GetCustomDatevAvailableDocumentsPositiveResponseDataResultsInner do + let(:instance) { Kombo::GetCustomDatevAvailableDocumentsPositiveResponseDataResultsInner.new } + + describe 'test an instance of GetCustomDatevAvailableDocumentsPositiveResponseDataResultsInner' do + it 'should create an instance of GetCustomDatevAvailableDocumentsPositiveResponseDataResultsInner' do + # uncomment below to test the instance creation + #expect(instance).to be_instance_of(Kombo::GetCustomDatevAvailableDocumentsPositiveResponseDataResultsInner) + end + end + + describe 'test attribute "document_type"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "available_for_employees"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "is_company_document"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/get_custom_datev_available_documents_positive_response_data_spec.rb b/spec/models/get_custom_datev_available_documents_positive_response_data_spec.rb new file mode 100644 index 0000000..05f8616 --- /dev/null +++ b/spec/models/get_custom_datev_available_documents_positive_response_data_spec.rb @@ -0,0 +1,36 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.13.0 + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Kombo::GetCustomDatevAvailableDocumentsPositiveResponseData +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Kombo::GetCustomDatevAvailableDocumentsPositiveResponseData do + let(:instance) { Kombo::GetCustomDatevAvailableDocumentsPositiveResponseData.new } + + describe 'test an instance of GetCustomDatevAvailableDocumentsPositiveResponseData' do + it 'should create an instance of GetCustomDatevAvailableDocumentsPositiveResponseData' do + # uncomment below to test the instance creation + #expect(instance).to be_instance_of(Kombo::GetCustomDatevAvailableDocumentsPositiveResponseData) + end + end + + describe 'test attribute "results"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/get_custom_datev_available_documents_positive_response_spec.rb b/spec/models/get_custom_datev_available_documents_positive_response_spec.rb new file mode 100644 index 0000000..4d7fc70 --- /dev/null +++ b/spec/models/get_custom_datev_available_documents_positive_response_spec.rb @@ -0,0 +1,52 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.13.0 + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Kombo::GetCustomDatevAvailableDocumentsPositiveResponse +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Kombo::GetCustomDatevAvailableDocumentsPositiveResponse do + let(:instance) { Kombo::GetCustomDatevAvailableDocumentsPositiveResponse.new } + + describe 'test an instance of GetCustomDatevAvailableDocumentsPositiveResponse' do + it 'should create an instance of GetCustomDatevAvailableDocumentsPositiveResponse' do + # uncomment below to test the instance creation + #expect(instance).to be_instance_of(Kombo::GetCustomDatevAvailableDocumentsPositiveResponse) + end + end + + describe 'test attribute "status"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + # validator = Petstore::EnumTest::EnumAttributeValidator.new('String', ["success"]) + # validator.allowable_values.each do |value| + # expect { instance.status = value }.not_to raise_error + # end + end + end + + describe 'test attribute "data"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "warnings"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/get_custom_datev_check_document_permission_positive_response_data_any_of1_spec.rb b/spec/models/get_custom_datev_check_document_permission_positive_response_data_any_of1_spec.rb new file mode 100644 index 0000000..f5c4b06 --- /dev/null +++ b/spec/models/get_custom_datev_check_document_permission_positive_response_data_any_of1_spec.rb @@ -0,0 +1,42 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.13.0 + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Kombo::GetCustomDatevCheckDocumentPermissionPositiveResponseDataAnyOf1 +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Kombo::GetCustomDatevCheckDocumentPermissionPositiveResponseDataAnyOf1 do + let(:instance) { Kombo::GetCustomDatevCheckDocumentPermissionPositiveResponseDataAnyOf1.new } + + describe 'test an instance of GetCustomDatevCheckDocumentPermissionPositiveResponseDataAnyOf1' do + it 'should create an instance of GetCustomDatevCheckDocumentPermissionPositiveResponseDataAnyOf1' do + # uncomment below to test the instance creation + #expect(instance).to be_instance_of(Kombo::GetCustomDatevCheckDocumentPermissionPositiveResponseDataAnyOf1) + end + end + + describe 'test attribute "ready"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "error"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/get_custom_datev_check_document_permission_positive_response_data_any_of_spec.rb b/spec/models/get_custom_datev_check_document_permission_positive_response_data_any_of_spec.rb new file mode 100644 index 0000000..53f59d4 --- /dev/null +++ b/spec/models/get_custom_datev_check_document_permission_positive_response_data_any_of_spec.rb @@ -0,0 +1,42 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.13.0 + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Kombo::GetCustomDatevCheckDocumentPermissionPositiveResponseDataAnyOf +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Kombo::GetCustomDatevCheckDocumentPermissionPositiveResponseDataAnyOf do + let(:instance) { Kombo::GetCustomDatevCheckDocumentPermissionPositiveResponseDataAnyOf.new } + + describe 'test an instance of GetCustomDatevCheckDocumentPermissionPositiveResponseDataAnyOf' do + it 'should create an instance of GetCustomDatevCheckDocumentPermissionPositiveResponseDataAnyOf' do + # uncomment below to test the instance creation + #expect(instance).to be_instance_of(Kombo::GetCustomDatevCheckDocumentPermissionPositiveResponseDataAnyOf) + end + end + + describe 'test attribute "ready"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "documents_granted"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/get_custom_datev_check_document_permission_positive_response_data_spec.rb b/spec/models/get_custom_datev_check_document_permission_positive_response_data_spec.rb new file mode 100644 index 0000000..cc1d34a --- /dev/null +++ b/spec/models/get_custom_datev_check_document_permission_positive_response_data_spec.rb @@ -0,0 +1,21 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.13.0 + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Kombo::GetCustomDatevCheckDocumentPermissionPositiveResponseData +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Kombo::GetCustomDatevCheckDocumentPermissionPositiveResponseData do +end diff --git a/spec/models/get_custom_datev_check_document_permission_positive_response_spec.rb b/spec/models/get_custom_datev_check_document_permission_positive_response_spec.rb new file mode 100644 index 0000000..46b08de --- /dev/null +++ b/spec/models/get_custom_datev_check_document_permission_positive_response_spec.rb @@ -0,0 +1,52 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.13.0 + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Kombo::GetCustomDatevCheckDocumentPermissionPositiveResponse +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Kombo::GetCustomDatevCheckDocumentPermissionPositiveResponse do + let(:instance) { Kombo::GetCustomDatevCheckDocumentPermissionPositiveResponse.new } + + describe 'test an instance of GetCustomDatevCheckDocumentPermissionPositiveResponse' do + it 'should create an instance of GetCustomDatevCheckDocumentPermissionPositiveResponse' do + # uncomment below to test the instance creation + #expect(instance).to be_instance_of(Kombo::GetCustomDatevCheckDocumentPermissionPositiveResponse) + end + end + + describe 'test attribute "status"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + # validator = Petstore::EnumTest::EnumAttributeValidator.new('String', ["success"]) + # validator.allowable_values.each do |value| + # expect { instance.status = value }.not_to raise_error + # end + end + end + + describe 'test attribute "data"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "warnings"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/get_custom_datev_check_eau_permission_positive_response_data_spec.rb b/spec/models/get_custom_datev_check_eau_permission_positive_response_data_spec.rb new file mode 100644 index 0000000..4036472 --- /dev/null +++ b/spec/models/get_custom_datev_check_eau_permission_positive_response_data_spec.rb @@ -0,0 +1,42 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.13.0 + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Kombo::GetCustomDatevCheckEauPermissionPositiveResponseData +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Kombo::GetCustomDatevCheckEauPermissionPositiveResponseData do + let(:instance) { Kombo::GetCustomDatevCheckEauPermissionPositiveResponseData.new } + + describe 'test an instance of GetCustomDatevCheckEauPermissionPositiveResponseData' do + it 'should create an instance of GetCustomDatevCheckEauPermissionPositiveResponseData' do + # uncomment below to test the instance creation + #expect(instance).to be_instance_of(Kombo::GetCustomDatevCheckEauPermissionPositiveResponseData) + end + end + + describe 'test attribute "ready"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "error"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/get_custom_datev_check_eau_permission_positive_response_spec.rb b/spec/models/get_custom_datev_check_eau_permission_positive_response_spec.rb new file mode 100644 index 0000000..a06767d --- /dev/null +++ b/spec/models/get_custom_datev_check_eau_permission_positive_response_spec.rb @@ -0,0 +1,52 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.13.0 + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Kombo::GetCustomDatevCheckEauPermissionPositiveResponse +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Kombo::GetCustomDatevCheckEauPermissionPositiveResponse do + let(:instance) { Kombo::GetCustomDatevCheckEauPermissionPositiveResponse.new } + + describe 'test an instance of GetCustomDatevCheckEauPermissionPositiveResponse' do + it 'should create an instance of GetCustomDatevCheckEauPermissionPositiveResponse' do + # uncomment below to test the instance creation + #expect(instance).to be_instance_of(Kombo::GetCustomDatevCheckEauPermissionPositiveResponse) + end + end + + describe 'test attribute "status"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + # validator = Petstore::EnumTest::EnumAttributeValidator.new('String', ["success"]) + # validator.allowable_values.each do |value| + # expect { instance.status = value }.not_to raise_error + # end + end + end + + describe 'test attribute "data"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "warnings"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/get_custom_datev_check_write_permission_positive_response_spec.rb b/spec/models/get_custom_datev_check_write_permission_positive_response_spec.rb new file mode 100644 index 0000000..bfe5162 --- /dev/null +++ b/spec/models/get_custom_datev_check_write_permission_positive_response_spec.rb @@ -0,0 +1,52 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.13.0 + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Kombo::GetCustomDatevCheckWritePermissionPositiveResponse +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Kombo::GetCustomDatevCheckWritePermissionPositiveResponse do + let(:instance) { Kombo::GetCustomDatevCheckWritePermissionPositiveResponse.new } + + describe 'test an instance of GetCustomDatevCheckWritePermissionPositiveResponse' do + it 'should create an instance of GetCustomDatevCheckWritePermissionPositiveResponse' do + # uncomment below to test the instance creation + #expect(instance).to be_instance_of(Kombo::GetCustomDatevCheckWritePermissionPositiveResponse) + end + end + + describe 'test attribute "status"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + # validator = Petstore::EnumTest::EnumAttributeValidator.new('String', ["success"]) + # validator.allowable_values.each do |value| + # expect { instance.status = value }.not_to raise_error + # end + end + end + + describe 'test attribute "data"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "warnings"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/get_custom_datev_data_pushes_positive_response_data_data_pushes_inner_spec.rb b/spec/models/get_custom_datev_data_pushes_positive_response_data_data_pushes_inner_spec.rb new file mode 100644 index 0000000..4fa039e --- /dev/null +++ b/spec/models/get_custom_datev_data_pushes_positive_response_data_data_pushes_inner_spec.rb @@ -0,0 +1,58 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.13.0 + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Kombo::GetCustomDatevDataPushesPositiveResponseDataDataPushesInner +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Kombo::GetCustomDatevDataPushesPositiveResponseDataDataPushesInner do + let(:instance) { Kombo::GetCustomDatevDataPushesPositiveResponseDataDataPushesInner.new } + + describe 'test an instance of GetCustomDatevDataPushesPositiveResponseDataDataPushesInner' do + it 'should create an instance of GetCustomDatevDataPushesPositiveResponseDataDataPushesInner' do + # uncomment below to test the instance creation + #expect(instance).to be_instance_of(Kombo::GetCustomDatevDataPushesPositiveResponseDataDataPushesInner) + end + end + + describe 'test attribute "id"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "type"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + # validator = Petstore::EnumTest::EnumAttributeValidator.new('String', ["GENERAL", "PAYROLL"]) + # validator.allowable_values.each do |value| + # expect { instance.type = value }.not_to raise_error + # end + end + end + + describe 'test attribute "created_at"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "upload_jobs"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/get_custom_datev_data_pushes_positive_response_data_data_pushes_inner_upload_jobs_inner_spec.rb b/spec/models/get_custom_datev_data_pushes_positive_response_data_data_pushes_inner_upload_jobs_inner_spec.rb new file mode 100644 index 0000000..a167ede --- /dev/null +++ b/spec/models/get_custom_datev_data_pushes_positive_response_data_data_pushes_inner_upload_jobs_inner_spec.rb @@ -0,0 +1,58 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.13.0 + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Kombo::GetCustomDatevDataPushesPositiveResponseDataDataPushesInnerUploadJobsInner +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Kombo::GetCustomDatevDataPushesPositiveResponseDataDataPushesInnerUploadJobsInner do + let(:instance) { Kombo::GetCustomDatevDataPushesPositiveResponseDataDataPushesInnerUploadJobsInner.new } + + describe 'test an instance of GetCustomDatevDataPushesPositiveResponseDataDataPushesInnerUploadJobsInner' do + it 'should create an instance of GetCustomDatevDataPushesPositiveResponseDataDataPushesInnerUploadJobsInner' do + # uncomment below to test the instance creation + #expect(instance).to be_instance_of(Kombo::GetCustomDatevDataPushesPositiveResponseDataDataPushesInnerUploadJobsInner) + end + end + + describe 'test attribute "id"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "file_name"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "state"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + # validator = Petstore::EnumTest::EnumAttributeValidator.new('String', ["FAILED", "UPLOADED", "IMPORTED", "CORRUPTED", "DELETED", "AUTO_DELETED"]) + # validator.allowable_values.each do |value| + # expect { instance.state = value }.not_to raise_error + # end + end + end + + describe 'test attribute "file"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/get_custom_datev_data_pushes_positive_response_data_spec.rb b/spec/models/get_custom_datev_data_pushes_positive_response_data_spec.rb new file mode 100644 index 0000000..e9dc20a --- /dev/null +++ b/spec/models/get_custom_datev_data_pushes_positive_response_data_spec.rb @@ -0,0 +1,36 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.13.0 + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Kombo::GetCustomDatevDataPushesPositiveResponseData +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Kombo::GetCustomDatevDataPushesPositiveResponseData do + let(:instance) { Kombo::GetCustomDatevDataPushesPositiveResponseData.new } + + describe 'test an instance of GetCustomDatevDataPushesPositiveResponseData' do + it 'should create an instance of GetCustomDatevDataPushesPositiveResponseData' do + # uncomment below to test the instance creation + #expect(instance).to be_instance_of(Kombo::GetCustomDatevDataPushesPositiveResponseData) + end + end + + describe 'test attribute "data_pushes"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/get_custom_datev_data_pushes_positive_response_spec.rb b/spec/models/get_custom_datev_data_pushes_positive_response_spec.rb new file mode 100644 index 0000000..32492e5 --- /dev/null +++ b/spec/models/get_custom_datev_data_pushes_positive_response_spec.rb @@ -0,0 +1,46 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.13.0 + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Kombo::GetCustomDatevDataPushesPositiveResponse +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Kombo::GetCustomDatevDataPushesPositiveResponse do + let(:instance) { Kombo::GetCustomDatevDataPushesPositiveResponse.new } + + describe 'test an instance of GetCustomDatevDataPushesPositiveResponse' do + it 'should create an instance of GetCustomDatevDataPushesPositiveResponse' do + # uncomment below to test the instance creation + #expect(instance).to be_instance_of(Kombo::GetCustomDatevDataPushesPositiveResponse) + end + end + + describe 'test attribute "status"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + # validator = Petstore::EnumTest::EnumAttributeValidator.new('String', ["success"]) + # validator.allowable_values.each do |value| + # expect { instance.status = value }.not_to raise_error + # end + end + end + + describe 'test attribute "data"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/get_custom_datev_eau_requests_eau_id_positive_response_data_raw_feedbacks_from_health_insurance_inner_contact_person_spec.rb b/spec/models/get_custom_datev_eau_requests_eau_id_positive_response_data_raw_feedbacks_from_health_insurance_inner_contact_person_spec.rb new file mode 100644 index 0000000..25da68c --- /dev/null +++ b/spec/models/get_custom_datev_eau_requests_eau_id_positive_response_data_raw_feedbacks_from_health_insurance_inner_contact_person_spec.rb @@ -0,0 +1,106 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.13.0 + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Kombo::GetCustomDatevEauRequestsEauIdPositiveResponseDataRawFeedbacksFromHealthInsuranceInnerContactPerson +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Kombo::GetCustomDatevEauRequestsEauIdPositiveResponseDataRawFeedbacksFromHealthInsuranceInnerContactPerson do + let(:instance) { Kombo::GetCustomDatevEauRequestsEauIdPositiveResponseDataRawFeedbacksFromHealthInsuranceInnerContactPerson.new } + + describe 'test an instance of GetCustomDatevEauRequestsEauIdPositiveResponseDataRawFeedbacksFromHealthInsuranceInnerContactPerson' do + it 'should create an instance of GetCustomDatevEauRequestsEauIdPositiveResponseDataRawFeedbacksFromHealthInsuranceInnerContactPerson' do + # uncomment below to test the instance creation + #expect(instance).to be_instance_of(Kombo::GetCustomDatevEauRequestsEauIdPositiveResponseDataRawFeedbacksFromHealthInsuranceInnerContactPerson) + end + end + + describe 'test attribute "gender_contact_person"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + # validator = Petstore::EnumTest::EnumAttributeValidator.new('String', ["M", "F", "X", "D"]) + # validator.allowable_values.each do |value| + # expect { instance.gender_contact_person = value }.not_to raise_error + # end + end + end + + describe 'test attribute "name"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "telephone"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "fax"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "email"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "name1_health_insurance"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "name2_health_insurance"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "name3_health_insurance"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "postal_code"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "city"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "street"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "house_number"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/get_custom_datev_eau_requests_eau_id_positive_response_data_raw_feedbacks_from_health_insurance_inner_error_block_list_inner_spec.rb b/spec/models/get_custom_datev_eau_requests_eau_id_positive_response_data_raw_feedbacks_from_health_insurance_inner_error_block_list_inner_spec.rb new file mode 100644 index 0000000..cc52392 --- /dev/null +++ b/spec/models/get_custom_datev_eau_requests_eau_id_positive_response_data_raw_feedbacks_from_health_insurance_inner_error_block_list_inner_spec.rb @@ -0,0 +1,54 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.13.0 + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Kombo::GetCustomDatevEauRequestsEauIdPositiveResponseDataRawFeedbacksFromHealthInsuranceInnerErrorBlockListInner +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Kombo::GetCustomDatevEauRequestsEauIdPositiveResponseDataRawFeedbacksFromHealthInsuranceInnerErrorBlockListInner do + let(:instance) { Kombo::GetCustomDatevEauRequestsEauIdPositiveResponseDataRawFeedbacksFromHealthInsuranceInnerErrorBlockListInner.new } + + describe 'test an instance of GetCustomDatevEauRequestsEauIdPositiveResponseDataRawFeedbacksFromHealthInsuranceInnerErrorBlockListInner' do + it 'should create an instance of GetCustomDatevEauRequestsEauIdPositiveResponseDataRawFeedbacksFromHealthInsuranceInnerErrorBlockListInner' do + # uncomment below to test the instance creation + #expect(instance).to be_instance_of(Kombo::GetCustomDatevEauRequestsEauIdPositiveResponseDataRawFeedbacksFromHealthInsuranceInnerErrorBlockListInner) + end + end + + describe 'test attribute "origin"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "error_number"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "error_text"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "error_value"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/get_custom_datev_eau_requests_eau_id_positive_response_data_raw_feedbacks_from_health_insurance_inner_incapacity_for_work_spec.rb b/spec/models/get_custom_datev_eau_requests_eau_id_positive_response_data_raw_feedbacks_from_health_insurance_inner_incapacity_for_work_spec.rb new file mode 100644 index 0000000..fee1842 --- /dev/null +++ b/spec/models/get_custom_datev_eau_requests_eau_id_positive_response_data_raw_feedbacks_from_health_insurance_inner_incapacity_for_work_spec.rb @@ -0,0 +1,108 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.13.0 + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Kombo::GetCustomDatevEauRequestsEauIdPositiveResponseDataRawFeedbacksFromHealthInsuranceInnerIncapacityForWork +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Kombo::GetCustomDatevEauRequestsEauIdPositiveResponseDataRawFeedbacksFromHealthInsuranceInnerIncapacityForWork do + let(:instance) { Kombo::GetCustomDatevEauRequestsEauIdPositiveResponseDataRawFeedbacksFromHealthInsuranceInnerIncapacityForWork.new } + + describe 'test an instance of GetCustomDatevEauRequestsEauIdPositiveResponseDataRawFeedbacksFromHealthInsuranceInnerIncapacityForWork' do + it 'should create an instance of GetCustomDatevEauRequestsEauIdPositiveResponseDataRawFeedbacksFromHealthInsuranceInnerIncapacityForWork' do + # uncomment below to test the instance creation + #expect(instance).to be_instance_of(Kombo::GetCustomDatevEauRequestsEauIdPositiveResponseDataRawFeedbacksFromHealthInsuranceInnerIncapacityForWork) + end + end + + describe 'test attribute "start_work_incapacity_employer"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "start_work_incapacity_au"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "end_work_incapacity_au"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "actual_end_work_incapacity_au"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "date_of_diagnosis"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "flag_current_work_incapacity"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "accident_at_work"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "assignment_accident_insurance_doctor"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "other_accident"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "start_hospitalisation"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "end_hospitalisation"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "initial_certificate"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "automatic_feedback_until"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/get_custom_datev_eau_requests_eau_id_positive_response_data_raw_feedbacks_from_health_insurance_inner_spec.rb b/spec/models/get_custom_datev_eau_requests_eau_id_positive_response_data_raw_feedbacks_from_health_insurance_inner_spec.rb new file mode 100644 index 0000000..4770438 --- /dev/null +++ b/spec/models/get_custom_datev_eau_requests_eau_id_positive_response_data_raw_feedbacks_from_health_insurance_inner_spec.rb @@ -0,0 +1,54 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.13.0 + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Kombo::GetCustomDatevEauRequestsEauIdPositiveResponseDataRawFeedbacksFromHealthInsuranceInner +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Kombo::GetCustomDatevEauRequestsEauIdPositiveResponseDataRawFeedbacksFromHealthInsuranceInner do + let(:instance) { Kombo::GetCustomDatevEauRequestsEauIdPositiveResponseDataRawFeedbacksFromHealthInsuranceInner.new } + + describe 'test an instance of GetCustomDatevEauRequestsEauIdPositiveResponseDataRawFeedbacksFromHealthInsuranceInner' do + it 'should create an instance of GetCustomDatevEauRequestsEauIdPositiveResponseDataRawFeedbacksFromHealthInsuranceInner' do + # uncomment below to test the instance creation + #expect(instance).to be_instance_of(Kombo::GetCustomDatevEauRequestsEauIdPositiveResponseDataRawFeedbacksFromHealthInsuranceInner) + end + end + + describe 'test attribute "guid"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "contact_person"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "incapacity_for_work"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "error_block_list"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/get_custom_datev_eau_requests_eau_id_positive_response_data_raw_spec.rb b/spec/models/get_custom_datev_eau_requests_eau_id_positive_response_data_raw_spec.rb new file mode 100644 index 0000000..988eaf5 --- /dev/null +++ b/spec/models/get_custom_datev_eau_requests_eau_id_positive_response_data_raw_spec.rb @@ -0,0 +1,54 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.13.0 + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Kombo::GetCustomDatevEauRequestsEauIdPositiveResponseDataRaw +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Kombo::GetCustomDatevEauRequestsEauIdPositiveResponseDataRaw do + let(:instance) { Kombo::GetCustomDatevEauRequestsEauIdPositiveResponseDataRaw.new } + + describe 'test an instance of GetCustomDatevEauRequestsEauIdPositiveResponseDataRaw' do + it 'should create an instance of GetCustomDatevEauRequestsEauIdPositiveResponseDataRaw' do + # uncomment below to test the instance creation + #expect(instance).to be_instance_of(Kombo::GetCustomDatevEauRequestsEauIdPositiveResponseDataRaw) + end + end + + describe 'test attribute "source"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "start_work_incapacity"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "collaboration_identifier"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "feedbacks_from_health_insurance"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/get_custom_datev_eau_requests_eau_id_positive_response_data_spec.rb b/spec/models/get_custom_datev_eau_requests_eau_id_positive_response_data_spec.rb new file mode 100644 index 0000000..218af01 --- /dev/null +++ b/spec/models/get_custom_datev_eau_requests_eau_id_positive_response_data_spec.rb @@ -0,0 +1,36 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.13.0 + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Kombo::GetCustomDatevEauRequestsEauIdPositiveResponseData +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Kombo::GetCustomDatevEauRequestsEauIdPositiveResponseData do + let(:instance) { Kombo::GetCustomDatevEauRequestsEauIdPositiveResponseData.new } + + describe 'test an instance of GetCustomDatevEauRequestsEauIdPositiveResponseData' do + it 'should create an instance of GetCustomDatevEauRequestsEauIdPositiveResponseData' do + # uncomment below to test the instance creation + #expect(instance).to be_instance_of(Kombo::GetCustomDatevEauRequestsEauIdPositiveResponseData) + end + end + + describe 'test attribute "raw"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/get_custom_datev_eau_requests_eau_id_positive_response_spec.rb b/spec/models/get_custom_datev_eau_requests_eau_id_positive_response_spec.rb new file mode 100644 index 0000000..e6c9cec --- /dev/null +++ b/spec/models/get_custom_datev_eau_requests_eau_id_positive_response_spec.rb @@ -0,0 +1,52 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.13.0 + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Kombo::GetCustomDatevEauRequestsEauIdPositiveResponse +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Kombo::GetCustomDatevEauRequestsEauIdPositiveResponse do + let(:instance) { Kombo::GetCustomDatevEauRequestsEauIdPositiveResponse.new } + + describe 'test an instance of GetCustomDatevEauRequestsEauIdPositiveResponse' do + it 'should create an instance of GetCustomDatevEauRequestsEauIdPositiveResponse' do + # uncomment below to test the instance creation + #expect(instance).to be_instance_of(Kombo::GetCustomDatevEauRequestsEauIdPositiveResponse) + end + end + + describe 'test attribute "status"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + # validator = Petstore::EnumTest::EnumAttributeValidator.new('String', ["success"]) + # validator.allowable_values.each do |value| + # expect { instance.status = value }.not_to raise_error + # end + end + end + + describe 'test attribute "data"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "warnings"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/get_custom_datev_system_information_positive_response_data_spec.rb b/spec/models/get_custom_datev_system_information_positive_response_data_spec.rb new file mode 100644 index 0000000..f9a597f --- /dev/null +++ b/spec/models/get_custom_datev_system_information_positive_response_data_spec.rb @@ -0,0 +1,52 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.13.0 + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Kombo::GetCustomDatevSystemInformationPositiveResponseData +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Kombo::GetCustomDatevSystemInformationPositiveResponseData do + let(:instance) { Kombo::GetCustomDatevSystemInformationPositiveResponseData.new } + + describe 'test an instance of GetCustomDatevSystemInformationPositiveResponseData' do + it 'should create an instance of GetCustomDatevSystemInformationPositiveResponseData' do + # uncomment below to test the instance creation + #expect(instance).to be_instance_of(Kombo::GetCustomDatevSystemInformationPositiveResponseData) + end + end + + describe 'test attribute "consultant_number"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "client_number"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "target_system"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + # validator = Petstore::EnumTest::EnumAttributeValidator.new('String', ["LODAS", "LuG"]) + # validator.allowable_values.each do |value| + # expect { instance.target_system = value }.not_to raise_error + # end + end + end + +end diff --git a/spec/models/get_custom_datev_system_information_positive_response_spec.rb b/spec/models/get_custom_datev_system_information_positive_response_spec.rb new file mode 100644 index 0000000..44c7e7c --- /dev/null +++ b/spec/models/get_custom_datev_system_information_positive_response_spec.rb @@ -0,0 +1,46 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.13.0 + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Kombo::GetCustomDatevSystemInformationPositiveResponse +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Kombo::GetCustomDatevSystemInformationPositiveResponse do + let(:instance) { Kombo::GetCustomDatevSystemInformationPositiveResponse.new } + + describe 'test an instance of GetCustomDatevSystemInformationPositiveResponse' do + it 'should create an instance of GetCustomDatevSystemInformationPositiveResponse' do + # uncomment below to test the instance creation + #expect(instance).to be_instance_of(Kombo::GetCustomDatevSystemInformationPositiveResponse) + end + end + + describe 'test attribute "status"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + # validator = Petstore::EnumTest::EnumAttributeValidator.new('String', ["success"]) + # validator.allowable_values.each do |value| + # expect { instance.status = value }.not_to raise_error + # end + end + end + + describe 'test attribute "data"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/get_hris_absence_types_parameter_include_deleted_spec.rb b/spec/models/get_hris_absence_types_parameter_include_deleted_spec.rb new file mode 100644 index 0000000..2b5c906 --- /dev/null +++ b/spec/models/get_hris_absence_types_parameter_include_deleted_spec.rb @@ -0,0 +1,30 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.13.0 + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Kombo::GetHrisAbsenceTypesParameterIncludeDeleted +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Kombo::GetHrisAbsenceTypesParameterIncludeDeleted do + let(:instance) { Kombo::GetHrisAbsenceTypesParameterIncludeDeleted.new } + + describe 'test an instance of GetHrisAbsenceTypesParameterIncludeDeleted' do + it 'should create an instance of GetHrisAbsenceTypesParameterIncludeDeleted' do + # uncomment below to test the instance creation + #expect(instance).to be_instance_of(Kombo::GetHrisAbsenceTypesParameterIncludeDeleted) + end + end + +end diff --git a/spec/models/get_hris_absence_types_positive_response_data_results_inner_spec.rb b/spec/models/get_hris_absence_types_positive_response_data_results_inner_spec.rb new file mode 100644 index 0000000..dc9446e --- /dev/null +++ b/spec/models/get_hris_absence_types_positive_response_data_results_inner_spec.rb @@ -0,0 +1,88 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.13.0 + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Kombo::GetHrisAbsenceTypesPositiveResponseDataResultsInner +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Kombo::GetHrisAbsenceTypesPositiveResponseDataResultsInner do + let(:instance) { Kombo::GetHrisAbsenceTypesPositiveResponseDataResultsInner.new } + + describe 'test an instance of GetHrisAbsenceTypesPositiveResponseDataResultsInner' do + it 'should create an instance of GetHrisAbsenceTypesPositiveResponseDataResultsInner' do + # uncomment below to test the instance creation + #expect(instance).to be_instance_of(Kombo::GetHrisAbsenceTypesPositiveResponseDataResultsInner) + end + end + + describe 'test attribute "id"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "remote_id"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "name"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "unit"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + # validator = Petstore::EnumTest::EnumAttributeValidator.new('String', ["HOURS", "DAYS"]) + # validator.allowable_values.each do |value| + # expect { instance.unit = value }.not_to raise_error + # end + end + end + + describe 'test attribute "half_days_supported"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "exact_times_supported"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "remote_data"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "changed_at"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "remote_deleted_at"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/get_hris_absence_types_positive_response_data_spec.rb b/spec/models/get_hris_absence_types_positive_response_data_spec.rb new file mode 100644 index 0000000..80a9569 --- /dev/null +++ b/spec/models/get_hris_absence_types_positive_response_data_spec.rb @@ -0,0 +1,42 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.13.0 + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Kombo::GetHrisAbsenceTypesPositiveResponseData +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Kombo::GetHrisAbsenceTypesPositiveResponseData do + let(:instance) { Kombo::GetHrisAbsenceTypesPositiveResponseData.new } + + describe 'test an instance of GetHrisAbsenceTypesPositiveResponseData' do + it 'should create an instance of GetHrisAbsenceTypesPositiveResponseData' do + # uncomment below to test the instance creation + #expect(instance).to be_instance_of(Kombo::GetHrisAbsenceTypesPositiveResponseData) + end + end + + describe 'test attribute "_next"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "results"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/get_hris_absence_types_positive_response_spec.rb b/spec/models/get_hris_absence_types_positive_response_spec.rb new file mode 100644 index 0000000..a29cb8f --- /dev/null +++ b/spec/models/get_hris_absence_types_positive_response_spec.rb @@ -0,0 +1,46 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.13.0 + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Kombo::GetHrisAbsenceTypesPositiveResponse +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Kombo::GetHrisAbsenceTypesPositiveResponse do + let(:instance) { Kombo::GetHrisAbsenceTypesPositiveResponse.new } + + describe 'test an instance of GetHrisAbsenceTypesPositiveResponse' do + it 'should create an instance of GetHrisAbsenceTypesPositiveResponse' do + # uncomment below to test the instance creation + #expect(instance).to be_instance_of(Kombo::GetHrisAbsenceTypesPositiveResponse) + end + end + + describe 'test attribute "status"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + # validator = Petstore::EnumTest::EnumAttributeValidator.new('String', ["success"]) + # validator.allowable_values.each do |value| + # expect { instance.status = value }.not_to raise_error + # end + end + end + + describe 'test attribute "data"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/get_hris_absences_parameter_include_deleted_spec.rb b/spec/models/get_hris_absences_parameter_include_deleted_spec.rb new file mode 100644 index 0000000..6fe2aef --- /dev/null +++ b/spec/models/get_hris_absences_parameter_include_deleted_spec.rb @@ -0,0 +1,30 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.13.0 + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Kombo::GetHrisAbsencesParameterIncludeDeleted +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Kombo::GetHrisAbsencesParameterIncludeDeleted do + let(:instance) { Kombo::GetHrisAbsencesParameterIncludeDeleted.new } + + describe 'test an instance of GetHrisAbsencesParameterIncludeDeleted' do + it 'should create an instance of GetHrisAbsencesParameterIncludeDeleted' do + # uncomment below to test the instance creation + #expect(instance).to be_instance_of(Kombo::GetHrisAbsencesParameterIncludeDeleted) + end + end + +end diff --git a/spec/models/get_hris_absences_positive_response_data_results_inner_spec.rb b/spec/models/get_hris_absences_positive_response_data_results_inner_spec.rb new file mode 100644 index 0000000..c1f789a --- /dev/null +++ b/spec/models/get_hris_absences_positive_response_data_results_inner_spec.rb @@ -0,0 +1,148 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.13.0 + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Kombo::GetHrisAbsencesPositiveResponseDataResultsInner +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Kombo::GetHrisAbsencesPositiveResponseDataResultsInner do + let(:instance) { Kombo::GetHrisAbsencesPositiveResponseDataResultsInner.new } + + describe 'test an instance of GetHrisAbsencesPositiveResponseDataResultsInner' do + it 'should create an instance of GetHrisAbsencesPositiveResponseDataResultsInner' do + # uncomment below to test the instance creation + #expect(instance).to be_instance_of(Kombo::GetHrisAbsencesPositiveResponseDataResultsInner) + end + end + + describe 'test attribute "id"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "remote_id"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "employee_id"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "approver_id"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "start_date"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "end_date"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "start_half_day"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "end_half_day"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "start_time"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "end_time"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "amount"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "unit"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + # validator = Petstore::EnumTest::EnumAttributeValidator.new('String', ["HOURS", "DAYS"]) + # validator.allowable_values.each do |value| + # expect { instance.unit = value }.not_to raise_error + # end + end + end + + describe 'test attribute "status"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "employee_note"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "type_id"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "changed_at"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "remote_deleted_at"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "remote_data"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "type"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/get_hris_absences_positive_response_data_results_inner_status_spec.rb b/spec/models/get_hris_absences_positive_response_data_results_inner_status_spec.rb new file mode 100644 index 0000000..30d7888 --- /dev/null +++ b/spec/models/get_hris_absences_positive_response_data_results_inner_status_spec.rb @@ -0,0 +1,21 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.13.0 + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Kombo::GetHrisAbsencesPositiveResponseDataResultsInnerStatus +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Kombo::GetHrisAbsencesPositiveResponseDataResultsInnerStatus do +end diff --git a/spec/models/get_hris_absences_positive_response_data_spec.rb b/spec/models/get_hris_absences_positive_response_data_spec.rb new file mode 100644 index 0000000..2a5efd0 --- /dev/null +++ b/spec/models/get_hris_absences_positive_response_data_spec.rb @@ -0,0 +1,42 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.13.0 + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Kombo::GetHrisAbsencesPositiveResponseData +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Kombo::GetHrisAbsencesPositiveResponseData do + let(:instance) { Kombo::GetHrisAbsencesPositiveResponseData.new } + + describe 'test an instance of GetHrisAbsencesPositiveResponseData' do + it 'should create an instance of GetHrisAbsencesPositiveResponseData' do + # uncomment below to test the instance creation + #expect(instance).to be_instance_of(Kombo::GetHrisAbsencesPositiveResponseData) + end + end + + describe 'test attribute "_next"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "results"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/get_hris_absences_positive_response_spec.rb b/spec/models/get_hris_absences_positive_response_spec.rb new file mode 100644 index 0000000..6b8765e --- /dev/null +++ b/spec/models/get_hris_absences_positive_response_spec.rb @@ -0,0 +1,46 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.13.0 + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Kombo::GetHrisAbsencesPositiveResponse +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Kombo::GetHrisAbsencesPositiveResponse do + let(:instance) { Kombo::GetHrisAbsencesPositiveResponse.new } + + describe 'test an instance of GetHrisAbsencesPositiveResponse' do + it 'should create an instance of GetHrisAbsencesPositiveResponse' do + # uncomment below to test the instance creation + #expect(instance).to be_instance_of(Kombo::GetHrisAbsencesPositiveResponse) + end + end + + describe 'test attribute "status"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + # validator = Petstore::EnumTest::EnumAttributeValidator.new('String', ["success"]) + # validator.allowable_values.each do |value| + # expect { instance.status = value }.not_to raise_error + # end + end + end + + describe 'test attribute "data"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/get_hris_employee_document_categories_parameter_include_deleted_spec.rb b/spec/models/get_hris_employee_document_categories_parameter_include_deleted_spec.rb new file mode 100644 index 0000000..f9ac204 --- /dev/null +++ b/spec/models/get_hris_employee_document_categories_parameter_include_deleted_spec.rb @@ -0,0 +1,30 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.13.0 + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Kombo::GetHrisEmployeeDocumentCategoriesParameterIncludeDeleted +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Kombo::GetHrisEmployeeDocumentCategoriesParameterIncludeDeleted do + let(:instance) { Kombo::GetHrisEmployeeDocumentCategoriesParameterIncludeDeleted.new } + + describe 'test an instance of GetHrisEmployeeDocumentCategoriesParameterIncludeDeleted' do + it 'should create an instance of GetHrisEmployeeDocumentCategoriesParameterIncludeDeleted' do + # uncomment below to test the instance creation + #expect(instance).to be_instance_of(Kombo::GetHrisEmployeeDocumentCategoriesParameterIncludeDeleted) + end + end + +end diff --git a/spec/models/get_hris_employee_document_categories_positive_response_data_results_inner_spec.rb b/spec/models/get_hris_employee_document_categories_positive_response_data_results_inner_spec.rb new file mode 100644 index 0000000..adf5a0c --- /dev/null +++ b/spec/models/get_hris_employee_document_categories_positive_response_data_results_inner_spec.rb @@ -0,0 +1,66 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.13.0 + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Kombo::GetHrisEmployeeDocumentCategoriesPositiveResponseDataResultsInner +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Kombo::GetHrisEmployeeDocumentCategoriesPositiveResponseDataResultsInner do + let(:instance) { Kombo::GetHrisEmployeeDocumentCategoriesPositiveResponseDataResultsInner.new } + + describe 'test an instance of GetHrisEmployeeDocumentCategoriesPositiveResponseDataResultsInner' do + it 'should create an instance of GetHrisEmployeeDocumentCategoriesPositiveResponseDataResultsInner' do + # uncomment below to test the instance creation + #expect(instance).to be_instance_of(Kombo::GetHrisEmployeeDocumentCategoriesPositiveResponseDataResultsInner) + end + end + + describe 'test attribute "id"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "remote_id"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "name"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "remote_data"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "changed_at"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "remote_deleted_at"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/get_hris_employee_document_categories_positive_response_data_spec.rb b/spec/models/get_hris_employee_document_categories_positive_response_data_spec.rb new file mode 100644 index 0000000..00e8e78 --- /dev/null +++ b/spec/models/get_hris_employee_document_categories_positive_response_data_spec.rb @@ -0,0 +1,42 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.13.0 + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Kombo::GetHrisEmployeeDocumentCategoriesPositiveResponseData +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Kombo::GetHrisEmployeeDocumentCategoriesPositiveResponseData do + let(:instance) { Kombo::GetHrisEmployeeDocumentCategoriesPositiveResponseData.new } + + describe 'test an instance of GetHrisEmployeeDocumentCategoriesPositiveResponseData' do + it 'should create an instance of GetHrisEmployeeDocumentCategoriesPositiveResponseData' do + # uncomment below to test the instance creation + #expect(instance).to be_instance_of(Kombo::GetHrisEmployeeDocumentCategoriesPositiveResponseData) + end + end + + describe 'test attribute "_next"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "results"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/get_hris_employee_document_categories_positive_response_spec.rb b/spec/models/get_hris_employee_document_categories_positive_response_spec.rb new file mode 100644 index 0000000..7380ccf --- /dev/null +++ b/spec/models/get_hris_employee_document_categories_positive_response_spec.rb @@ -0,0 +1,46 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.13.0 + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Kombo::GetHrisEmployeeDocumentCategoriesPositiveResponse +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Kombo::GetHrisEmployeeDocumentCategoriesPositiveResponse do + let(:instance) { Kombo::GetHrisEmployeeDocumentCategoriesPositiveResponse.new } + + describe 'test an instance of GetHrisEmployeeDocumentCategoriesPositiveResponse' do + it 'should create an instance of GetHrisEmployeeDocumentCategoriesPositiveResponse' do + # uncomment below to test the instance creation + #expect(instance).to be_instance_of(Kombo::GetHrisEmployeeDocumentCategoriesPositiveResponse) + end + end + + describe 'test attribute "status"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + # validator = Petstore::EnumTest::EnumAttributeValidator.new('String', ["success"]) + # validator.allowable_values.each do |value| + # expect { instance.status = value }.not_to raise_error + # end + end + end + + describe 'test attribute "data"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/get_hris_employee_skill_assignments_positive_response_data_results_inner_spec.rb b/spec/models/get_hris_employee_skill_assignments_positive_response_data_results_inner_spec.rb new file mode 100644 index 0000000..e02564f --- /dev/null +++ b/spec/models/get_hris_employee_skill_assignments_positive_response_data_results_inner_spec.rb @@ -0,0 +1,54 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.13.0 + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Kombo::GetHrisEmployeeSkillAssignmentsPositiveResponseDataResultsInner +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Kombo::GetHrisEmployeeSkillAssignmentsPositiveResponseDataResultsInner do + let(:instance) { Kombo::GetHrisEmployeeSkillAssignmentsPositiveResponseDataResultsInner.new } + + describe 'test an instance of GetHrisEmployeeSkillAssignmentsPositiveResponseDataResultsInner' do + it 'should create an instance of GetHrisEmployeeSkillAssignmentsPositiveResponseDataResultsInner' do + # uncomment below to test the instance creation + #expect(instance).to be_instance_of(Kombo::GetHrisEmployeeSkillAssignmentsPositiveResponseDataResultsInner) + end + end + + describe 'test attribute "id"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "employee_id"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "skill_id"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "current_level"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/get_hris_employee_skill_assignments_positive_response_data_spec.rb b/spec/models/get_hris_employee_skill_assignments_positive_response_data_spec.rb new file mode 100644 index 0000000..952b42a --- /dev/null +++ b/spec/models/get_hris_employee_skill_assignments_positive_response_data_spec.rb @@ -0,0 +1,42 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.13.0 + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Kombo::GetHrisEmployeeSkillAssignmentsPositiveResponseData +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Kombo::GetHrisEmployeeSkillAssignmentsPositiveResponseData do + let(:instance) { Kombo::GetHrisEmployeeSkillAssignmentsPositiveResponseData.new } + + describe 'test an instance of GetHrisEmployeeSkillAssignmentsPositiveResponseData' do + it 'should create an instance of GetHrisEmployeeSkillAssignmentsPositiveResponseData' do + # uncomment below to test the instance creation + #expect(instance).to be_instance_of(Kombo::GetHrisEmployeeSkillAssignmentsPositiveResponseData) + end + end + + describe 'test attribute "_next"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "results"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/get_hris_employee_skill_assignments_positive_response_spec.rb b/spec/models/get_hris_employee_skill_assignments_positive_response_spec.rb new file mode 100644 index 0000000..d849652 --- /dev/null +++ b/spec/models/get_hris_employee_skill_assignments_positive_response_spec.rb @@ -0,0 +1,46 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.13.0 + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Kombo::GetHrisEmployeeSkillAssignmentsPositiveResponse +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Kombo::GetHrisEmployeeSkillAssignmentsPositiveResponse do + let(:instance) { Kombo::GetHrisEmployeeSkillAssignmentsPositiveResponse.new } + + describe 'test an instance of GetHrisEmployeeSkillAssignmentsPositiveResponse' do + it 'should create an instance of GetHrisEmployeeSkillAssignmentsPositiveResponse' do + # uncomment below to test the instance creation + #expect(instance).to be_instance_of(Kombo::GetHrisEmployeeSkillAssignmentsPositiveResponse) + end + end + + describe 'test attribute "status"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + # validator = Petstore::EnumTest::EnumAttributeValidator.new('String', ["success"]) + # validator.allowable_values.each do |value| + # expect { instance.status = value }.not_to raise_error + # end + end + end + + describe 'test attribute "data"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/get_hris_employees_form_positive_response_data_spec.rb b/spec/models/get_hris_employees_form_positive_response_data_spec.rb new file mode 100644 index 0000000..b85781c --- /dev/null +++ b/spec/models/get_hris_employees_form_positive_response_data_spec.rb @@ -0,0 +1,36 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.13.0 + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Kombo::GetHrisEmployeesFormPositiveResponseData +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Kombo::GetHrisEmployeesFormPositiveResponseData do + let(:instance) { Kombo::GetHrisEmployeesFormPositiveResponseData.new } + + describe 'test an instance of GetHrisEmployeesFormPositiveResponseData' do + it 'should create an instance of GetHrisEmployeesFormPositiveResponseData' do + # uncomment below to test the instance creation + #expect(instance).to be_instance_of(Kombo::GetHrisEmployeesFormPositiveResponseData) + end + end + + describe 'test attribute "properties"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/get_hris_employees_form_positive_response_spec.rb b/spec/models/get_hris_employees_form_positive_response_spec.rb new file mode 100644 index 0000000..8acd648 --- /dev/null +++ b/spec/models/get_hris_employees_form_positive_response_spec.rb @@ -0,0 +1,52 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.13.0 + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Kombo::GetHrisEmployeesFormPositiveResponse +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Kombo::GetHrisEmployeesFormPositiveResponse do + let(:instance) { Kombo::GetHrisEmployeesFormPositiveResponse.new } + + describe 'test an instance of GetHrisEmployeesFormPositiveResponse' do + it 'should create an instance of GetHrisEmployeesFormPositiveResponse' do + # uncomment below to test the instance creation + #expect(instance).to be_instance_of(Kombo::GetHrisEmployeesFormPositiveResponse) + end + end + + describe 'test attribute "status"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + # validator = Petstore::EnumTest::EnumAttributeValidator.new('String', ["success"]) + # validator.allowable_values.each do |value| + # expect { instance.status = value }.not_to raise_error + # end + end + end + + describe 'test attribute "data"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "warnings"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/get_hris_employees_parameter_employment_status_spec.rb b/spec/models/get_hris_employees_parameter_employment_status_spec.rb new file mode 100644 index 0000000..78f3c82 --- /dev/null +++ b/spec/models/get_hris_employees_parameter_employment_status_spec.rb @@ -0,0 +1,30 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.13.0 + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Kombo::GetHrisEmployeesParameterEmploymentStatus +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Kombo::GetHrisEmployeesParameterEmploymentStatus do + let(:instance) { Kombo::GetHrisEmployeesParameterEmploymentStatus.new } + + describe 'test an instance of GetHrisEmployeesParameterEmploymentStatus' do + it 'should create an instance of GetHrisEmployeesParameterEmploymentStatus' do + # uncomment below to test the instance creation + #expect(instance).to be_instance_of(Kombo::GetHrisEmployeesParameterEmploymentStatus) + end + end + +end diff --git a/spec/models/get_hris_employees_parameter_include_deleted_spec.rb b/spec/models/get_hris_employees_parameter_include_deleted_spec.rb new file mode 100644 index 0000000..decd187 --- /dev/null +++ b/spec/models/get_hris_employees_parameter_include_deleted_spec.rb @@ -0,0 +1,30 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.13.0 + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Kombo::GetHrisEmployeesParameterIncludeDeleted +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Kombo::GetHrisEmployeesParameterIncludeDeleted do + let(:instance) { Kombo::GetHrisEmployeesParameterIncludeDeleted.new } + + describe 'test an instance of GetHrisEmployeesParameterIncludeDeleted' do + it 'should create an instance of GetHrisEmployeesParameterIncludeDeleted' do + # uncomment below to test the instance creation + #expect(instance).to be_instance_of(Kombo::GetHrisEmployeesParameterIncludeDeleted) + end + end + +end diff --git a/spec/models/get_hris_employees_positive_response_data_results_inner_bank_accounts_inner_domestic_bank_routing_spec.rb b/spec/models/get_hris_employees_positive_response_data_results_inner_bank_accounts_inner_domestic_bank_routing_spec.rb new file mode 100644 index 0000000..2ed9339 --- /dev/null +++ b/spec/models/get_hris_employees_positive_response_data_results_inner_bank_accounts_inner_domestic_bank_routing_spec.rb @@ -0,0 +1,46 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.13.0 + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Kombo::GetHrisEmployeesPositiveResponseDataResultsInnerBankAccountsInnerDomesticBankRouting +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Kombo::GetHrisEmployeesPositiveResponseDataResultsInnerBankAccountsInnerDomesticBankRouting do + let(:instance) { Kombo::GetHrisEmployeesPositiveResponseDataResultsInnerBankAccountsInnerDomesticBankRouting.new } + + describe 'test an instance of GetHrisEmployeesPositiveResponseDataResultsInnerBankAccountsInnerDomesticBankRouting' do + it 'should create an instance of GetHrisEmployeesPositiveResponseDataResultsInnerBankAccountsInnerDomesticBankRouting' do + # uncomment below to test the instance creation + #expect(instance).to be_instance_of(Kombo::GetHrisEmployeesPositiveResponseDataResultsInnerBankAccountsInnerDomesticBankRouting) + end + end + + describe 'test attribute "number"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "type"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + # validator = Petstore::EnumTest::EnumAttributeValidator.new('String', ["GB_SORT_CODE", "DE_BANKLEITZAHL", "US_ABA_ROUTING_TRANSIT_NUMBER", "CA_ROUTING_NUMBER", "AU_BSB_CODE", "FR_RIB"]) + # validator.allowable_values.each do |value| + # expect { instance.type = value }.not_to raise_error + # end + end + end + +end diff --git a/spec/models/get_hris_employees_positive_response_data_results_inner_bank_accounts_inner_spec.rb b/spec/models/get_hris_employees_positive_response_data_results_inner_bank_accounts_inner_spec.rb new file mode 100644 index 0000000..73ca9cc --- /dev/null +++ b/spec/models/get_hris_employees_positive_response_data_results_inner_bank_accounts_inner_spec.rb @@ -0,0 +1,66 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.13.0 + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Kombo::GetHrisEmployeesPositiveResponseDataResultsInnerBankAccountsInner +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Kombo::GetHrisEmployeesPositiveResponseDataResultsInnerBankAccountsInner do + let(:instance) { Kombo::GetHrisEmployeesPositiveResponseDataResultsInnerBankAccountsInner.new } + + describe 'test an instance of GetHrisEmployeesPositiveResponseDataResultsInnerBankAccountsInner' do + it 'should create an instance of GetHrisEmployeesPositiveResponseDataResultsInnerBankAccountsInner' do + # uncomment below to test the instance creation + #expect(instance).to be_instance_of(Kombo::GetHrisEmployeesPositiveResponseDataResultsInnerBankAccountsInner) + end + end + + describe 'test attribute "iban"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "bic"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "account_number"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "holder_name"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "bank_name"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "domestic_bank_routing"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/get_hris_employees_positive_response_data_results_inner_employment_status_spec.rb b/spec/models/get_hris_employees_positive_response_data_results_inner_employment_status_spec.rb new file mode 100644 index 0000000..b3b00cb --- /dev/null +++ b/spec/models/get_hris_employees_positive_response_data_results_inner_employment_status_spec.rb @@ -0,0 +1,21 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.13.0 + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Kombo::GetHrisEmployeesPositiveResponseDataResultsInnerEmploymentStatus +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Kombo::GetHrisEmployeesPositiveResponseDataResultsInnerEmploymentStatus do +end diff --git a/spec/models/get_hris_employees_positive_response_data_results_inner_employment_type_spec.rb b/spec/models/get_hris_employees_positive_response_data_results_inner_employment_type_spec.rb new file mode 100644 index 0000000..8eac72c --- /dev/null +++ b/spec/models/get_hris_employees_positive_response_data_results_inner_employment_type_spec.rb @@ -0,0 +1,21 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.13.0 + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Kombo::GetHrisEmployeesPositiveResponseDataResultsInnerEmploymentType +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Kombo::GetHrisEmployeesPositiveResponseDataResultsInnerEmploymentType do +end diff --git a/spec/models/get_hris_employees_positive_response_data_results_inner_employments_inner_pay_frequency_spec.rb b/spec/models/get_hris_employees_positive_response_data_results_inner_employments_inner_pay_frequency_spec.rb new file mode 100644 index 0000000..f8345c6 --- /dev/null +++ b/spec/models/get_hris_employees_positive_response_data_results_inner_employments_inner_pay_frequency_spec.rb @@ -0,0 +1,21 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.13.0 + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Kombo::GetHrisEmployeesPositiveResponseDataResultsInnerEmploymentsInnerPayFrequency +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Kombo::GetHrisEmployeesPositiveResponseDataResultsInnerEmploymentsInnerPayFrequency do +end diff --git a/spec/models/get_hris_employees_positive_response_data_results_inner_employments_inner_pay_period_spec.rb b/spec/models/get_hris_employees_positive_response_data_results_inner_employments_inner_pay_period_spec.rb new file mode 100644 index 0000000..f80ba49 --- /dev/null +++ b/spec/models/get_hris_employees_positive_response_data_results_inner_employments_inner_pay_period_spec.rb @@ -0,0 +1,21 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.13.0 + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Kombo::GetHrisEmployeesPositiveResponseDataResultsInnerEmploymentsInnerPayPeriod +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Kombo::GetHrisEmployeesPositiveResponseDataResultsInnerEmploymentsInnerPayPeriod do +end diff --git a/spec/models/get_hris_employees_positive_response_data_results_inner_employments_inner_spec.rb b/spec/models/get_hris_employees_positive_response_data_results_inner_employments_inner_spec.rb new file mode 100644 index 0000000..ca41317 --- /dev/null +++ b/spec/models/get_hris_employees_positive_response_data_results_inner_employments_inner_spec.rb @@ -0,0 +1,120 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.13.0 + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Kombo::GetHrisEmployeesPositiveResponseDataResultsInnerEmploymentsInner +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Kombo::GetHrisEmployeesPositiveResponseDataResultsInnerEmploymentsInner do + let(:instance) { Kombo::GetHrisEmployeesPositiveResponseDataResultsInnerEmploymentsInner.new } + + describe 'test an instance of GetHrisEmployeesPositiveResponseDataResultsInnerEmploymentsInner' do + it 'should create an instance of GetHrisEmployeesPositiveResponseDataResultsInnerEmploymentsInner' do + # uncomment below to test the instance creation + #expect(instance).to be_instance_of(Kombo::GetHrisEmployeesPositiveResponseDataResultsInnerEmploymentsInner) + end + end + + describe 'test attribute "id"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "remote_id"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "employee_id"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "job_title"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "pay_rate"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "pay_period"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "pay_frequency"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "employment_type"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "pay_currency"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "effective_date"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "changed_at"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "remote_deleted_at"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "remote_data"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "custom_fields"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "integration_fields"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/get_hris_employees_positive_response_data_results_inner_ethnicity_spec.rb b/spec/models/get_hris_employees_positive_response_data_results_inner_ethnicity_spec.rb new file mode 100644 index 0000000..608f14e --- /dev/null +++ b/spec/models/get_hris_employees_positive_response_data_results_inner_ethnicity_spec.rb @@ -0,0 +1,21 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.13.0 + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Kombo::GetHrisEmployeesPositiveResponseDataResultsInnerEthnicity +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Kombo::GetHrisEmployeesPositiveResponseDataResultsInnerEthnicity do +end diff --git a/spec/models/get_hris_employees_positive_response_data_results_inner_gender_spec.rb b/spec/models/get_hris_employees_positive_response_data_results_inner_gender_spec.rb new file mode 100644 index 0000000..a9426f0 --- /dev/null +++ b/spec/models/get_hris_employees_positive_response_data_results_inner_gender_spec.rb @@ -0,0 +1,21 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.13.0 + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Kombo::GetHrisEmployeesPositiveResponseDataResultsInnerGender +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Kombo::GetHrisEmployeesPositiveResponseDataResultsInnerGender do +end diff --git a/spec/models/get_hris_employees_positive_response_data_results_inner_groups_inner_spec.rb b/spec/models/get_hris_employees_positive_response_data_results_inner_groups_inner_spec.rb new file mode 100644 index 0000000..1ce1979 --- /dev/null +++ b/spec/models/get_hris_employees_positive_response_data_results_inner_groups_inner_spec.rb @@ -0,0 +1,58 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.13.0 + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Kombo::GetHrisEmployeesPositiveResponseDataResultsInnerGroupsInner +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Kombo::GetHrisEmployeesPositiveResponseDataResultsInnerGroupsInner do + let(:instance) { Kombo::GetHrisEmployeesPositiveResponseDataResultsInnerGroupsInner.new } + + describe 'test an instance of GetHrisEmployeesPositiveResponseDataResultsInnerGroupsInner' do + it 'should create an instance of GetHrisEmployeesPositiveResponseDataResultsInnerGroupsInner' do + # uncomment below to test the instance creation + #expect(instance).to be_instance_of(Kombo::GetHrisEmployeesPositiveResponseDataResultsInnerGroupsInner) + end + end + + describe 'test attribute "id"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "remote_id"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "name"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "type"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + # validator = Petstore::EnumTest::EnumAttributeValidator.new('String', ["DEPARTMENT", "TEAM", "COST_CENTER"]) + # validator.allowable_values.each do |value| + # expect { instance.type = value }.not_to raise_error + # end + end + end + +end diff --git a/spec/models/get_hris_employees_positive_response_data_results_inner_home_address_spec.rb b/spec/models/get_hris_employees_positive_response_data_results_inner_home_address_spec.rb new file mode 100644 index 0000000..9c80ebf --- /dev/null +++ b/spec/models/get_hris_employees_positive_response_data_results_inner_home_address_spec.rb @@ -0,0 +1,72 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.13.0 + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Kombo::GetHrisEmployeesPositiveResponseDataResultsInnerHomeAddress +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Kombo::GetHrisEmployeesPositiveResponseDataResultsInnerHomeAddress do + let(:instance) { Kombo::GetHrisEmployeesPositiveResponseDataResultsInnerHomeAddress.new } + + describe 'test an instance of GetHrisEmployeesPositiveResponseDataResultsInnerHomeAddress' do + it 'should create an instance of GetHrisEmployeesPositiveResponseDataResultsInnerHomeAddress' do + # uncomment below to test the instance creation + #expect(instance).to be_instance_of(Kombo::GetHrisEmployeesPositiveResponseDataResultsInnerHomeAddress) + end + end + + describe 'test attribute "city"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "country"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "raw"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "state"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "street_1"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "street_2"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "zip_code"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/get_hris_employees_positive_response_data_results_inner_integration_fields_inner_spec.rb b/spec/models/get_hris_employees_positive_response_data_results_inner_integration_fields_inner_spec.rb new file mode 100644 index 0000000..6661502 --- /dev/null +++ b/spec/models/get_hris_employees_positive_response_data_results_inner_integration_fields_inner_spec.rb @@ -0,0 +1,64 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.13.0 + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Kombo::GetHrisEmployeesPositiveResponseDataResultsInnerIntegrationFieldsInner +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Kombo::GetHrisEmployeesPositiveResponseDataResultsInnerIntegrationFieldsInner do + let(:instance) { Kombo::GetHrisEmployeesPositiveResponseDataResultsInnerIntegrationFieldsInner.new } + + describe 'test an instance of GetHrisEmployeesPositiveResponseDataResultsInnerIntegrationFieldsInner' do + it 'should create an instance of GetHrisEmployeesPositiveResponseDataResultsInnerIntegrationFieldsInner' do + # uncomment below to test the instance creation + #expect(instance).to be_instance_of(Kombo::GetHrisEmployeesPositiveResponseDataResultsInnerIntegrationFieldsInner) + end + end + + describe 'test attribute "id"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "key"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "type"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + # validator = Petstore::EnumTest::EnumAttributeValidator.new('String', ["DEFAULT", "CUSTOM"]) + # validator.allowable_values.each do |value| + # expect { instance.type = value }.not_to raise_error + # end + end + end + + describe 'test attribute "value"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "label"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/get_hris_employees_positive_response_data_results_inner_legal_entity_address_spec.rb b/spec/models/get_hris_employees_positive_response_data_results_inner_legal_entity_address_spec.rb new file mode 100644 index 0000000..65bddf9 --- /dev/null +++ b/spec/models/get_hris_employees_positive_response_data_results_inner_legal_entity_address_spec.rb @@ -0,0 +1,72 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.13.0 + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Kombo::GetHrisEmployeesPositiveResponseDataResultsInnerLegalEntityAddress +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Kombo::GetHrisEmployeesPositiveResponseDataResultsInnerLegalEntityAddress do + let(:instance) { Kombo::GetHrisEmployeesPositiveResponseDataResultsInnerLegalEntityAddress.new } + + describe 'test an instance of GetHrisEmployeesPositiveResponseDataResultsInnerLegalEntityAddress' do + it 'should create an instance of GetHrisEmployeesPositiveResponseDataResultsInnerLegalEntityAddress' do + # uncomment below to test the instance creation + #expect(instance).to be_instance_of(Kombo::GetHrisEmployeesPositiveResponseDataResultsInnerLegalEntityAddress) + end + end + + describe 'test attribute "city"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "country"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "raw"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "state"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "street_1"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "street_2"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "zip_code"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/get_hris_employees_positive_response_data_results_inner_legal_entity_spec.rb b/spec/models/get_hris_employees_positive_response_data_results_inner_legal_entity_spec.rb new file mode 100644 index 0000000..7c2ae17 --- /dev/null +++ b/spec/models/get_hris_employees_positive_response_data_results_inner_legal_entity_spec.rb @@ -0,0 +1,54 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.13.0 + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Kombo::GetHrisEmployeesPositiveResponseDataResultsInnerLegalEntity +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Kombo::GetHrisEmployeesPositiveResponseDataResultsInnerLegalEntity do + let(:instance) { Kombo::GetHrisEmployeesPositiveResponseDataResultsInnerLegalEntity.new } + + describe 'test an instance of GetHrisEmployeesPositiveResponseDataResultsInnerLegalEntity' do + it 'should create an instance of GetHrisEmployeesPositiveResponseDataResultsInnerLegalEntity' do + # uncomment below to test the instance creation + #expect(instance).to be_instance_of(Kombo::GetHrisEmployeesPositiveResponseDataResultsInnerLegalEntity) + end + end + + describe 'test attribute "id"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "remote_id"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "name"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "address"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/get_hris_employees_positive_response_data_results_inner_manager_spec.rb b/spec/models/get_hris_employees_positive_response_data_results_inner_manager_spec.rb new file mode 100644 index 0000000..475ac2d --- /dev/null +++ b/spec/models/get_hris_employees_positive_response_data_results_inner_manager_spec.rb @@ -0,0 +1,84 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.13.0 + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Kombo::GetHrisEmployeesPositiveResponseDataResultsInnerManager +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Kombo::GetHrisEmployeesPositiveResponseDataResultsInnerManager do + let(:instance) { Kombo::GetHrisEmployeesPositiveResponseDataResultsInnerManager.new } + + describe 'test an instance of GetHrisEmployeesPositiveResponseDataResultsInnerManager' do + it 'should create an instance of GetHrisEmployeesPositiveResponseDataResultsInnerManager' do + # uncomment below to test the instance creation + #expect(instance).to be_instance_of(Kombo::GetHrisEmployeesPositiveResponseDataResultsInnerManager) + end + end + + describe 'test attribute "first_name"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "last_name"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "display_full_name"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "id"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "employee_number"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "work_email"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "remote_id"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "employment_status"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "termination_date"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/get_hris_employees_positive_response_data_results_inner_marital_status_spec.rb b/spec/models/get_hris_employees_positive_response_data_results_inner_marital_status_spec.rb new file mode 100644 index 0000000..f325a60 --- /dev/null +++ b/spec/models/get_hris_employees_positive_response_data_results_inner_marital_status_spec.rb @@ -0,0 +1,21 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.13.0 + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Kombo::GetHrisEmployeesPositiveResponseDataResultsInnerMaritalStatus +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Kombo::GetHrisEmployeesPositiveResponseDataResultsInnerMaritalStatus do +end diff --git a/spec/models/get_hris_employees_positive_response_data_results_inner_spec.rb b/spec/models/get_hris_employees_positive_response_data_results_inner_spec.rb new file mode 100644 index 0000000..564c6f6 --- /dev/null +++ b/spec/models/get_hris_employees_positive_response_data_results_inner_spec.rb @@ -0,0 +1,276 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.13.0 + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Kombo::GetHrisEmployeesPositiveResponseDataResultsInner +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Kombo::GetHrisEmployeesPositiveResponseDataResultsInner do + let(:instance) { Kombo::GetHrisEmployeesPositiveResponseDataResultsInner.new } + + describe 'test an instance of GetHrisEmployeesPositiveResponseDataResultsInner' do + it 'should create an instance of GetHrisEmployeesPositiveResponseDataResultsInner' do + # uncomment below to test the instance creation + #expect(instance).to be_instance_of(Kombo::GetHrisEmployeesPositiveResponseDataResultsInner) + end + end + + describe 'test attribute "id"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "remote_id"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "employee_number"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "first_name"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "last_name"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "nationality"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "display_full_name"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "job_title"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "work_email"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "personal_email"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "mobile_phone_number"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "ssn"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "tax_id"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "gender"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "ethnicity"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "marital_status"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "employment_status"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "employment_type"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "weekly_hours"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "avatar"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "work_location_id"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "legal_entity_id"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "manager_id"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "home_address"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "bank_accounts"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "date_of_birth"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "start_date"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "termination_date"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "remote_created_at"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "changed_at"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "remote_deleted_at"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "custom_fields"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "integration_fields"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "remote_data"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "employments"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "time_off_balances"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "manager"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "groups"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "legal_entity"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "teams"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "work_location"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/get_hris_employees_positive_response_data_results_inner_time_off_balances_inner_spec.rb b/spec/models/get_hris_employees_positive_response_data_results_inner_time_off_balances_inner_spec.rb new file mode 100644 index 0000000..8b866c4 --- /dev/null +++ b/spec/models/get_hris_employees_positive_response_data_results_inner_time_off_balances_inner_spec.rb @@ -0,0 +1,104 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.13.0 + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Kombo::GetHrisEmployeesPositiveResponseDataResultsInnerTimeOffBalancesInner +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Kombo::GetHrisEmployeesPositiveResponseDataResultsInnerTimeOffBalancesInner do + let(:instance) { Kombo::GetHrisEmployeesPositiveResponseDataResultsInnerTimeOffBalancesInner.new } + + describe 'test an instance of GetHrisEmployeesPositiveResponseDataResultsInnerTimeOffBalancesInner' do + it 'should create an instance of GetHrisEmployeesPositiveResponseDataResultsInnerTimeOffBalancesInner' do + # uncomment below to test the instance creation + #expect(instance).to be_instance_of(Kombo::GetHrisEmployeesPositiveResponseDataResultsInnerTimeOffBalancesInner) + end + end + + describe 'test attribute "id"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "remote_id"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "employee_id"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "type_id"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "balance"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "balance_unit"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + # validator = Petstore::EnumTest::EnumAttributeValidator.new('String', ["HOURS", "DAYS"]) + # validator.allowable_values.each do |value| + # expect { instance.balance_unit = value }.not_to raise_error + # end + end + end + + describe 'test attribute "changed_at"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "remote_deleted_at"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "used"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "used_unit"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + # validator = Petstore::EnumTest::EnumAttributeValidator.new('String', ["HOURS", "DAYS"]) + # validator.allowable_values.each do |value| + # expect { instance.used_unit = value }.not_to raise_error + # end + end + end + + describe 'test attribute "remote_data"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/get_hris_employees_positive_response_data_results_inner_work_location_address_spec.rb b/spec/models/get_hris_employees_positive_response_data_results_inner_work_location_address_spec.rb new file mode 100644 index 0000000..0564fbc --- /dev/null +++ b/spec/models/get_hris_employees_positive_response_data_results_inner_work_location_address_spec.rb @@ -0,0 +1,72 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.13.0 + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Kombo::GetHrisEmployeesPositiveResponseDataResultsInnerWorkLocationAddress +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Kombo::GetHrisEmployeesPositiveResponseDataResultsInnerWorkLocationAddress do + let(:instance) { Kombo::GetHrisEmployeesPositiveResponseDataResultsInnerWorkLocationAddress.new } + + describe 'test an instance of GetHrisEmployeesPositiveResponseDataResultsInnerWorkLocationAddress' do + it 'should create an instance of GetHrisEmployeesPositiveResponseDataResultsInnerWorkLocationAddress' do + # uncomment below to test the instance creation + #expect(instance).to be_instance_of(Kombo::GetHrisEmployeesPositiveResponseDataResultsInnerWorkLocationAddress) + end + end + + describe 'test attribute "city"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "country"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "raw"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "state"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "street_1"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "street_2"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "zip_code"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/get_hris_employees_positive_response_data_results_inner_work_location_spec.rb b/spec/models/get_hris_employees_positive_response_data_results_inner_work_location_spec.rb new file mode 100644 index 0000000..d0eff27 --- /dev/null +++ b/spec/models/get_hris_employees_positive_response_data_results_inner_work_location_spec.rb @@ -0,0 +1,78 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.13.0 + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Kombo::GetHrisEmployeesPositiveResponseDataResultsInnerWorkLocation +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Kombo::GetHrisEmployeesPositiveResponseDataResultsInnerWorkLocation do + let(:instance) { Kombo::GetHrisEmployeesPositiveResponseDataResultsInnerWorkLocation.new } + + describe 'test an instance of GetHrisEmployeesPositiveResponseDataResultsInnerWorkLocation' do + it 'should create an instance of GetHrisEmployeesPositiveResponseDataResultsInnerWorkLocation' do + # uncomment below to test the instance creation + #expect(instance).to be_instance_of(Kombo::GetHrisEmployeesPositiveResponseDataResultsInnerWorkLocation) + end + end + + describe 'test attribute "id"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "remote_id"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "name"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "address"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "type"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "changed_at"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "remote_deleted_at"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "remote_data"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/get_hris_employees_positive_response_data_spec.rb b/spec/models/get_hris_employees_positive_response_data_spec.rb new file mode 100644 index 0000000..d1b0ef1 --- /dev/null +++ b/spec/models/get_hris_employees_positive_response_data_spec.rb @@ -0,0 +1,42 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.13.0 + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Kombo::GetHrisEmployeesPositiveResponseData +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Kombo::GetHrisEmployeesPositiveResponseData do + let(:instance) { Kombo::GetHrisEmployeesPositiveResponseData.new } + + describe 'test an instance of GetHrisEmployeesPositiveResponseData' do + it 'should create an instance of GetHrisEmployeesPositiveResponseData' do + # uncomment below to test the instance creation + #expect(instance).to be_instance_of(Kombo::GetHrisEmployeesPositiveResponseData) + end + end + + describe 'test attribute "_next"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "results"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/get_hris_employees_positive_response_spec.rb b/spec/models/get_hris_employees_positive_response_spec.rb new file mode 100644 index 0000000..500f8f1 --- /dev/null +++ b/spec/models/get_hris_employees_positive_response_spec.rb @@ -0,0 +1,46 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.13.0 + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Kombo::GetHrisEmployeesPositiveResponse +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Kombo::GetHrisEmployeesPositiveResponse do + let(:instance) { Kombo::GetHrisEmployeesPositiveResponse.new } + + describe 'test an instance of GetHrisEmployeesPositiveResponse' do + it 'should create an instance of GetHrisEmployeesPositiveResponse' do + # uncomment below to test the instance creation + #expect(instance).to be_instance_of(Kombo::GetHrisEmployeesPositiveResponse) + end + end + + describe 'test attribute "status"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + # validator = Petstore::EnumTest::EnumAttributeValidator.new('String', ["success"]) + # validator.allowable_values.each do |value| + # expect { instance.status = value }.not_to raise_error + # end + end + end + + describe 'test attribute "data"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/get_hris_employments_parameter_include_deleted_spec.rb b/spec/models/get_hris_employments_parameter_include_deleted_spec.rb new file mode 100644 index 0000000..5d719d6 --- /dev/null +++ b/spec/models/get_hris_employments_parameter_include_deleted_spec.rb @@ -0,0 +1,30 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.13.0 + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Kombo::GetHrisEmploymentsParameterIncludeDeleted +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Kombo::GetHrisEmploymentsParameterIncludeDeleted do + let(:instance) { Kombo::GetHrisEmploymentsParameterIncludeDeleted.new } + + describe 'test an instance of GetHrisEmploymentsParameterIncludeDeleted' do + it 'should create an instance of GetHrisEmploymentsParameterIncludeDeleted' do + # uncomment below to test the instance creation + #expect(instance).to be_instance_of(Kombo::GetHrisEmploymentsParameterIncludeDeleted) + end + end + +end diff --git a/spec/models/get_hris_employments_positive_response_data_spec.rb b/spec/models/get_hris_employments_positive_response_data_spec.rb new file mode 100644 index 0000000..5c1cd7e --- /dev/null +++ b/spec/models/get_hris_employments_positive_response_data_spec.rb @@ -0,0 +1,42 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.13.0 + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Kombo::GetHrisEmploymentsPositiveResponseData +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Kombo::GetHrisEmploymentsPositiveResponseData do + let(:instance) { Kombo::GetHrisEmploymentsPositiveResponseData.new } + + describe 'test an instance of GetHrisEmploymentsPositiveResponseData' do + it 'should create an instance of GetHrisEmploymentsPositiveResponseData' do + # uncomment below to test the instance creation + #expect(instance).to be_instance_of(Kombo::GetHrisEmploymentsPositiveResponseData) + end + end + + describe 'test attribute "_next"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "results"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/get_hris_employments_positive_response_spec.rb b/spec/models/get_hris_employments_positive_response_spec.rb new file mode 100644 index 0000000..ebe3442 --- /dev/null +++ b/spec/models/get_hris_employments_positive_response_spec.rb @@ -0,0 +1,46 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.13.0 + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Kombo::GetHrisEmploymentsPositiveResponse +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Kombo::GetHrisEmploymentsPositiveResponse do + let(:instance) { Kombo::GetHrisEmploymentsPositiveResponse.new } + + describe 'test an instance of GetHrisEmploymentsPositiveResponse' do + it 'should create an instance of GetHrisEmploymentsPositiveResponse' do + # uncomment below to test the instance creation + #expect(instance).to be_instance_of(Kombo::GetHrisEmploymentsPositiveResponse) + end + end + + describe 'test attribute "status"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + # validator = Petstore::EnumTest::EnumAttributeValidator.new('String', ["success"]) + # validator.allowable_values.each do |value| + # expect { instance.status = value }.not_to raise_error + # end + end + end + + describe 'test attribute "data"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/get_hris_groups_parameter_include_deleted_spec.rb b/spec/models/get_hris_groups_parameter_include_deleted_spec.rb new file mode 100644 index 0000000..9b95548 --- /dev/null +++ b/spec/models/get_hris_groups_parameter_include_deleted_spec.rb @@ -0,0 +1,30 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.13.0 + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Kombo::GetHrisGroupsParameterIncludeDeleted +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Kombo::GetHrisGroupsParameterIncludeDeleted do + let(:instance) { Kombo::GetHrisGroupsParameterIncludeDeleted.new } + + describe 'test an instance of GetHrisGroupsParameterIncludeDeleted' do + it 'should create an instance of GetHrisGroupsParameterIncludeDeleted' do + # uncomment below to test the instance creation + #expect(instance).to be_instance_of(Kombo::GetHrisGroupsParameterIncludeDeleted) + end + end + +end diff --git a/spec/models/get_hris_groups_positive_response_spec.rb b/spec/models/get_hris_groups_positive_response_spec.rb new file mode 100644 index 0000000..af6204c --- /dev/null +++ b/spec/models/get_hris_groups_positive_response_spec.rb @@ -0,0 +1,46 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.13.0 + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Kombo::GetHrisGroupsPositiveResponse +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Kombo::GetHrisGroupsPositiveResponse do + let(:instance) { Kombo::GetHrisGroupsPositiveResponse.new } + + describe 'test an instance of GetHrisGroupsPositiveResponse' do + it 'should create an instance of GetHrisGroupsPositiveResponse' do + # uncomment below to test the instance creation + #expect(instance).to be_instance_of(Kombo::GetHrisGroupsPositiveResponse) + end + end + + describe 'test attribute "status"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + # validator = Petstore::EnumTest::EnumAttributeValidator.new('String', ["success"]) + # validator.allowable_values.each do |value| + # expect { instance.status = value }.not_to raise_error + # end + end + end + + describe 'test attribute "data"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/get_hris_job_positions_positive_response_data_results_inner_skills_inner_spec.rb b/spec/models/get_hris_job_positions_positive_response_data_results_inner_skills_inner_spec.rb new file mode 100644 index 0000000..ba4444a --- /dev/null +++ b/spec/models/get_hris_job_positions_positive_response_data_results_inner_skills_inner_spec.rb @@ -0,0 +1,60 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.13.0 + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Kombo::GetHrisJobPositionsPositiveResponseDataResultsInnerSkillsInner +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Kombo::GetHrisJobPositionsPositiveResponseDataResultsInnerSkillsInner do + let(:instance) { Kombo::GetHrisJobPositionsPositiveResponseDataResultsInnerSkillsInner.new } + + describe 'test an instance of GetHrisJobPositionsPositiveResponseDataResultsInnerSkillsInner' do + it 'should create an instance of GetHrisJobPositionsPositiveResponseDataResultsInnerSkillsInner' do + # uncomment below to test the instance creation + #expect(instance).to be_instance_of(Kombo::GetHrisJobPositionsPositiveResponseDataResultsInnerSkillsInner) + end + end + + describe 'test attribute "id"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "remote_id"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "name"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "required"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "required_level"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/get_hris_job_positions_positive_response_data_results_inner_spec.rb b/spec/models/get_hris_job_positions_positive_response_data_results_inner_spec.rb new file mode 100644 index 0000000..4eed360 --- /dev/null +++ b/spec/models/get_hris_job_positions_positive_response_data_results_inner_spec.rb @@ -0,0 +1,108 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.13.0 + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Kombo::GetHrisJobPositionsPositiveResponseDataResultsInner +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Kombo::GetHrisJobPositionsPositiveResponseDataResultsInner do + let(:instance) { Kombo::GetHrisJobPositionsPositiveResponseDataResultsInner.new } + + describe 'test an instance of GetHrisJobPositionsPositiveResponseDataResultsInner' do + it 'should create an instance of GetHrisJobPositionsPositiveResponseDataResultsInner' do + # uncomment below to test the instance creation + #expect(instance).to be_instance_of(Kombo::GetHrisJobPositionsPositiveResponseDataResultsInner) + end + end + + describe 'test attribute "id"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "remote_id"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "name"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "description"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "legal_entity_id"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "location_id"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "department_id"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "group_ids"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "parent_position_id"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "skills"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "remote_data"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "changed_at"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "remote_deleted_at"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/get_hris_job_positions_positive_response_data_spec.rb b/spec/models/get_hris_job_positions_positive_response_data_spec.rb new file mode 100644 index 0000000..e738cec --- /dev/null +++ b/spec/models/get_hris_job_positions_positive_response_data_spec.rb @@ -0,0 +1,42 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.13.0 + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Kombo::GetHrisJobPositionsPositiveResponseData +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Kombo::GetHrisJobPositionsPositiveResponseData do + let(:instance) { Kombo::GetHrisJobPositionsPositiveResponseData.new } + + describe 'test an instance of GetHrisJobPositionsPositiveResponseData' do + it 'should create an instance of GetHrisJobPositionsPositiveResponseData' do + # uncomment below to test the instance creation + #expect(instance).to be_instance_of(Kombo::GetHrisJobPositionsPositiveResponseData) + end + end + + describe 'test attribute "_next"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "results"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/get_hris_job_positions_positive_response_spec.rb b/spec/models/get_hris_job_positions_positive_response_spec.rb new file mode 100644 index 0000000..eb65ad2 --- /dev/null +++ b/spec/models/get_hris_job_positions_positive_response_spec.rb @@ -0,0 +1,46 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.13.0 + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Kombo::GetHrisJobPositionsPositiveResponse +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Kombo::GetHrisJobPositionsPositiveResponse do + let(:instance) { Kombo::GetHrisJobPositionsPositiveResponse.new } + + describe 'test an instance of GetHrisJobPositionsPositiveResponse' do + it 'should create an instance of GetHrisJobPositionsPositiveResponse' do + # uncomment below to test the instance creation + #expect(instance).to be_instance_of(Kombo::GetHrisJobPositionsPositiveResponse) + end + end + + describe 'test attribute "status"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + # validator = Petstore::EnumTest::EnumAttributeValidator.new('String', ["success"]) + # validator.allowable_values.each do |value| + # expect { instance.status = value }.not_to raise_error + # end + end + end + + describe 'test attribute "data"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/get_hris_legal_entities_parameter_include_deleted_spec.rb b/spec/models/get_hris_legal_entities_parameter_include_deleted_spec.rb new file mode 100644 index 0000000..80bc83e --- /dev/null +++ b/spec/models/get_hris_legal_entities_parameter_include_deleted_spec.rb @@ -0,0 +1,30 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.13.0 + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Kombo::GetHrisLegalEntitiesParameterIncludeDeleted +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Kombo::GetHrisLegalEntitiesParameterIncludeDeleted do + let(:instance) { Kombo::GetHrisLegalEntitiesParameterIncludeDeleted.new } + + describe 'test an instance of GetHrisLegalEntitiesParameterIncludeDeleted' do + it 'should create an instance of GetHrisLegalEntitiesParameterIncludeDeleted' do + # uncomment below to test the instance creation + #expect(instance).to be_instance_of(Kombo::GetHrisLegalEntitiesParameterIncludeDeleted) + end + end + +end diff --git a/spec/models/get_hris_legal_entities_positive_response_data_results_inner_spec.rb b/spec/models/get_hris_legal_entities_positive_response_data_results_inner_spec.rb new file mode 100644 index 0000000..77aa1fb --- /dev/null +++ b/spec/models/get_hris_legal_entities_positive_response_data_results_inner_spec.rb @@ -0,0 +1,72 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.13.0 + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Kombo::GetHrisLegalEntitiesPositiveResponseDataResultsInner +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Kombo::GetHrisLegalEntitiesPositiveResponseDataResultsInner do + let(:instance) { Kombo::GetHrisLegalEntitiesPositiveResponseDataResultsInner.new } + + describe 'test an instance of GetHrisLegalEntitiesPositiveResponseDataResultsInner' do + it 'should create an instance of GetHrisLegalEntitiesPositiveResponseDataResultsInner' do + # uncomment below to test the instance creation + #expect(instance).to be_instance_of(Kombo::GetHrisLegalEntitiesPositiveResponseDataResultsInner) + end + end + + describe 'test attribute "id"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "remote_id"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "name"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "address"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "changed_at"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "remote_deleted_at"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "remote_data"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/get_hris_legal_entities_positive_response_data_spec.rb b/spec/models/get_hris_legal_entities_positive_response_data_spec.rb new file mode 100644 index 0000000..51b5d16 --- /dev/null +++ b/spec/models/get_hris_legal_entities_positive_response_data_spec.rb @@ -0,0 +1,42 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.13.0 + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Kombo::GetHrisLegalEntitiesPositiveResponseData +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Kombo::GetHrisLegalEntitiesPositiveResponseData do + let(:instance) { Kombo::GetHrisLegalEntitiesPositiveResponseData.new } + + describe 'test an instance of GetHrisLegalEntitiesPositiveResponseData' do + it 'should create an instance of GetHrisLegalEntitiesPositiveResponseData' do + # uncomment below to test the instance creation + #expect(instance).to be_instance_of(Kombo::GetHrisLegalEntitiesPositiveResponseData) + end + end + + describe 'test attribute "_next"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "results"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/get_hris_legal_entities_positive_response_spec.rb b/spec/models/get_hris_legal_entities_positive_response_spec.rb new file mode 100644 index 0000000..b7aba04 --- /dev/null +++ b/spec/models/get_hris_legal_entities_positive_response_spec.rb @@ -0,0 +1,46 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.13.0 + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Kombo::GetHrisLegalEntitiesPositiveResponse +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Kombo::GetHrisLegalEntitiesPositiveResponse do + let(:instance) { Kombo::GetHrisLegalEntitiesPositiveResponse.new } + + describe 'test an instance of GetHrisLegalEntitiesPositiveResponse' do + it 'should create an instance of GetHrisLegalEntitiesPositiveResponse' do + # uncomment below to test the instance creation + #expect(instance).to be_instance_of(Kombo::GetHrisLegalEntitiesPositiveResponse) + end + end + + describe 'test attribute "status"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + # validator = Petstore::EnumTest::EnumAttributeValidator.new('String', ["success"]) + # validator.allowable_values.each do |value| + # expect { instance.status = value }.not_to raise_error + # end + end + end + + describe 'test attribute "data"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/get_hris_locations_parameter_include_deleted_spec.rb b/spec/models/get_hris_locations_parameter_include_deleted_spec.rb new file mode 100644 index 0000000..36b8f63 --- /dev/null +++ b/spec/models/get_hris_locations_parameter_include_deleted_spec.rb @@ -0,0 +1,30 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.13.0 + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Kombo::GetHrisLocationsParameterIncludeDeleted +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Kombo::GetHrisLocationsParameterIncludeDeleted do + let(:instance) { Kombo::GetHrisLocationsParameterIncludeDeleted.new } + + describe 'test an instance of GetHrisLocationsParameterIncludeDeleted' do + it 'should create an instance of GetHrisLocationsParameterIncludeDeleted' do + # uncomment below to test the instance creation + #expect(instance).to be_instance_of(Kombo::GetHrisLocationsParameterIncludeDeleted) + end + end + +end diff --git a/spec/models/get_hris_locations_positive_response_data_spec.rb b/spec/models/get_hris_locations_positive_response_data_spec.rb new file mode 100644 index 0000000..7df631f --- /dev/null +++ b/spec/models/get_hris_locations_positive_response_data_spec.rb @@ -0,0 +1,42 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.13.0 + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Kombo::GetHrisLocationsPositiveResponseData +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Kombo::GetHrisLocationsPositiveResponseData do + let(:instance) { Kombo::GetHrisLocationsPositiveResponseData.new } + + describe 'test an instance of GetHrisLocationsPositiveResponseData' do + it 'should create an instance of GetHrisLocationsPositiveResponseData' do + # uncomment below to test the instance creation + #expect(instance).to be_instance_of(Kombo::GetHrisLocationsPositiveResponseData) + end + end + + describe 'test attribute "_next"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "results"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/get_hris_locations_positive_response_spec.rb b/spec/models/get_hris_locations_positive_response_spec.rb new file mode 100644 index 0000000..8a0bf2d --- /dev/null +++ b/spec/models/get_hris_locations_positive_response_spec.rb @@ -0,0 +1,46 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.13.0 + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Kombo::GetHrisLocationsPositiveResponse +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Kombo::GetHrisLocationsPositiveResponse do + let(:instance) { Kombo::GetHrisLocationsPositiveResponse.new } + + describe 'test an instance of GetHrisLocationsPositiveResponse' do + it 'should create an instance of GetHrisLocationsPositiveResponse' do + # uncomment below to test the instance creation + #expect(instance).to be_instance_of(Kombo::GetHrisLocationsPositiveResponse) + end + end + + describe 'test attribute "status"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + # validator = Petstore::EnumTest::EnumAttributeValidator.new('String', ["success"]) + # validator.allowable_values.each do |value| + # expect { instance.status = value }.not_to raise_error + # end + end + end + + describe 'test attribute "data"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/get_hris_performance_review_cycles_parameter_include_deleted_spec.rb b/spec/models/get_hris_performance_review_cycles_parameter_include_deleted_spec.rb new file mode 100644 index 0000000..18f68d4 --- /dev/null +++ b/spec/models/get_hris_performance_review_cycles_parameter_include_deleted_spec.rb @@ -0,0 +1,30 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.13.0 + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Kombo::GetHrisPerformanceReviewCyclesParameterIncludeDeleted +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Kombo::GetHrisPerformanceReviewCyclesParameterIncludeDeleted do + let(:instance) { Kombo::GetHrisPerformanceReviewCyclesParameterIncludeDeleted.new } + + describe 'test an instance of GetHrisPerformanceReviewCyclesParameterIncludeDeleted' do + it 'should create an instance of GetHrisPerformanceReviewCyclesParameterIncludeDeleted' do + # uncomment below to test the instance creation + #expect(instance).to be_instance_of(Kombo::GetHrisPerformanceReviewCyclesParameterIncludeDeleted) + end + end + +end diff --git a/spec/models/get_hris_performance_review_cycles_positive_response_data_results_inner_spec.rb b/spec/models/get_hris_performance_review_cycles_positive_response_data_results_inner_spec.rb new file mode 100644 index 0000000..b43bc93 --- /dev/null +++ b/spec/models/get_hris_performance_review_cycles_positive_response_data_results_inner_spec.rb @@ -0,0 +1,72 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.13.0 + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Kombo::GetHrisPerformanceReviewCyclesPositiveResponseDataResultsInner +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Kombo::GetHrisPerformanceReviewCyclesPositiveResponseDataResultsInner do + let(:instance) { Kombo::GetHrisPerformanceReviewCyclesPositiveResponseDataResultsInner.new } + + describe 'test an instance of GetHrisPerformanceReviewCyclesPositiveResponseDataResultsInner' do + it 'should create an instance of GetHrisPerformanceReviewCyclesPositiveResponseDataResultsInner' do + # uncomment below to test the instance creation + #expect(instance).to be_instance_of(Kombo::GetHrisPerformanceReviewCyclesPositiveResponseDataResultsInner) + end + end + + describe 'test attribute "id"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "remote_id"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "name"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "review_period_start_date"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "changed_at"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "remote_deleted_at"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "remote_data"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/get_hris_performance_review_cycles_positive_response_data_spec.rb b/spec/models/get_hris_performance_review_cycles_positive_response_data_spec.rb new file mode 100644 index 0000000..2da63e5 --- /dev/null +++ b/spec/models/get_hris_performance_review_cycles_positive_response_data_spec.rb @@ -0,0 +1,42 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.13.0 + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Kombo::GetHrisPerformanceReviewCyclesPositiveResponseData +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Kombo::GetHrisPerformanceReviewCyclesPositiveResponseData do + let(:instance) { Kombo::GetHrisPerformanceReviewCyclesPositiveResponseData.new } + + describe 'test an instance of GetHrisPerformanceReviewCyclesPositiveResponseData' do + it 'should create an instance of GetHrisPerformanceReviewCyclesPositiveResponseData' do + # uncomment below to test the instance creation + #expect(instance).to be_instance_of(Kombo::GetHrisPerformanceReviewCyclesPositiveResponseData) + end + end + + describe 'test attribute "_next"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "results"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/get_hris_performance_review_cycles_positive_response_spec.rb b/spec/models/get_hris_performance_review_cycles_positive_response_spec.rb new file mode 100644 index 0000000..295cc30 --- /dev/null +++ b/spec/models/get_hris_performance_review_cycles_positive_response_spec.rb @@ -0,0 +1,46 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.13.0 + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Kombo::GetHrisPerformanceReviewCyclesPositiveResponse +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Kombo::GetHrisPerformanceReviewCyclesPositiveResponse do + let(:instance) { Kombo::GetHrisPerformanceReviewCyclesPositiveResponse.new } + + describe 'test an instance of GetHrisPerformanceReviewCyclesPositiveResponse' do + it 'should create an instance of GetHrisPerformanceReviewCyclesPositiveResponse' do + # uncomment below to test the instance creation + #expect(instance).to be_instance_of(Kombo::GetHrisPerformanceReviewCyclesPositiveResponse) + end + end + + describe 'test attribute "status"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + # validator = Petstore::EnumTest::EnumAttributeValidator.new('String', ["success"]) + # validator.allowable_values.each do |value| + # expect { instance.status = value }.not_to raise_error + # end + end + end + + describe 'test attribute "data"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/get_hris_performance_reviews_parameter_include_deleted_spec.rb b/spec/models/get_hris_performance_reviews_parameter_include_deleted_spec.rb new file mode 100644 index 0000000..4d5c656 --- /dev/null +++ b/spec/models/get_hris_performance_reviews_parameter_include_deleted_spec.rb @@ -0,0 +1,30 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.13.0 + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Kombo::GetHrisPerformanceReviewsParameterIncludeDeleted +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Kombo::GetHrisPerformanceReviewsParameterIncludeDeleted do + let(:instance) { Kombo::GetHrisPerformanceReviewsParameterIncludeDeleted.new } + + describe 'test an instance of GetHrisPerformanceReviewsParameterIncludeDeleted' do + it 'should create an instance of GetHrisPerformanceReviewsParameterIncludeDeleted' do + # uncomment below to test the instance creation + #expect(instance).to be_instance_of(Kombo::GetHrisPerformanceReviewsParameterIncludeDeleted) + end + end + +end diff --git a/spec/models/get_hris_performance_reviews_positive_response_data_results_inner_reviewee_spec.rb b/spec/models/get_hris_performance_reviews_positive_response_data_results_inner_reviewee_spec.rb new file mode 100644 index 0000000..100e625 --- /dev/null +++ b/spec/models/get_hris_performance_reviews_positive_response_data_results_inner_reviewee_spec.rb @@ -0,0 +1,72 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.13.0 + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Kombo::GetHrisPerformanceReviewsPositiveResponseDataResultsInnerReviewee +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Kombo::GetHrisPerformanceReviewsPositiveResponseDataResultsInnerReviewee do + let(:instance) { Kombo::GetHrisPerformanceReviewsPositiveResponseDataResultsInnerReviewee.new } + + describe 'test an instance of GetHrisPerformanceReviewsPositiveResponseDataResultsInnerReviewee' do + it 'should create an instance of GetHrisPerformanceReviewsPositiveResponseDataResultsInnerReviewee' do + # uncomment below to test the instance creation + #expect(instance).to be_instance_of(Kombo::GetHrisPerformanceReviewsPositiveResponseDataResultsInnerReviewee) + end + end + + describe 'test attribute "id"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "remote_id"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "first_name"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "last_name"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "display_full_name"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "work_email"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "remote_deleted_at"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/get_hris_performance_reviews_positive_response_data_results_inner_reviewer_spec.rb b/spec/models/get_hris_performance_reviews_positive_response_data_results_inner_reviewer_spec.rb new file mode 100644 index 0000000..b257bb8 --- /dev/null +++ b/spec/models/get_hris_performance_reviews_positive_response_data_results_inner_reviewer_spec.rb @@ -0,0 +1,72 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.13.0 + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Kombo::GetHrisPerformanceReviewsPositiveResponseDataResultsInnerReviewer +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Kombo::GetHrisPerformanceReviewsPositiveResponseDataResultsInnerReviewer do + let(:instance) { Kombo::GetHrisPerformanceReviewsPositiveResponseDataResultsInnerReviewer.new } + + describe 'test an instance of GetHrisPerformanceReviewsPositiveResponseDataResultsInnerReviewer' do + it 'should create an instance of GetHrisPerformanceReviewsPositiveResponseDataResultsInnerReviewer' do + # uncomment below to test the instance creation + #expect(instance).to be_instance_of(Kombo::GetHrisPerformanceReviewsPositiveResponseDataResultsInnerReviewer) + end + end + + describe 'test attribute "id"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "remote_id"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "first_name"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "last_name"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "display_full_name"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "work_email"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "remote_deleted_at"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/get_hris_performance_reviews_positive_response_data_results_inner_spec.rb b/spec/models/get_hris_performance_reviews_positive_response_data_results_inner_spec.rb new file mode 100644 index 0000000..be09200 --- /dev/null +++ b/spec/models/get_hris_performance_reviews_positive_response_data_results_inner_spec.rb @@ -0,0 +1,100 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.13.0 + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Kombo::GetHrisPerformanceReviewsPositiveResponseDataResultsInner +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Kombo::GetHrisPerformanceReviewsPositiveResponseDataResultsInner do + let(:instance) { Kombo::GetHrisPerformanceReviewsPositiveResponseDataResultsInner.new } + + describe 'test an instance of GetHrisPerformanceReviewsPositiveResponseDataResultsInner' do + it 'should create an instance of GetHrisPerformanceReviewsPositiveResponseDataResultsInner' do + # uncomment below to test the instance creation + #expect(instance).to be_instance_of(Kombo::GetHrisPerformanceReviewsPositiveResponseDataResultsInner) + end + end + + describe 'test attribute "id"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "remote_id"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "type"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + # validator = Petstore::EnumTest::EnumAttributeValidator.new('String', ["MANAGER", "DIRECT_REPORT", "PEER", "SELF"]) + # validator.allowable_values.each do |value| + # expect { instance.type = value }.not_to raise_error + # end + end + end + + describe 'test attribute "summary_comment"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "summary_rating"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "changed_at"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "remote_deleted_at"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "remote_data"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "reviewee"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "reviewer"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "review_cycle"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/get_hris_performance_reviews_positive_response_data_results_inner_summary_rating_any_of1_spec.rb b/spec/models/get_hris_performance_reviews_positive_response_data_results_inner_summary_rating_any_of1_spec.rb new file mode 100644 index 0000000..862eb07 --- /dev/null +++ b/spec/models/get_hris_performance_reviews_positive_response_data_results_inner_summary_rating_any_of1_spec.rb @@ -0,0 +1,52 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.13.0 + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Kombo::GetHrisPerformanceReviewsPositiveResponseDataResultsInnerSummaryRatingAnyOf1 +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Kombo::GetHrisPerformanceReviewsPositiveResponseDataResultsInnerSummaryRatingAnyOf1 do + let(:instance) { Kombo::GetHrisPerformanceReviewsPositiveResponseDataResultsInnerSummaryRatingAnyOf1.new } + + describe 'test an instance of GetHrisPerformanceReviewsPositiveResponseDataResultsInnerSummaryRatingAnyOf1' do + it 'should create an instance of GetHrisPerformanceReviewsPositiveResponseDataResultsInnerSummaryRatingAnyOf1' do + # uncomment below to test the instance creation + #expect(instance).to be_instance_of(Kombo::GetHrisPerformanceReviewsPositiveResponseDataResultsInnerSummaryRatingAnyOf1) + end + end + + describe 'test attribute "type"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + # validator = Petstore::EnumTest::EnumAttributeValidator.new('String', ["SINGLE_SELECT"]) + # validator.allowable_values.each do |value| + # expect { instance.type = value }.not_to raise_error + # end + end + end + + describe 'test attribute "ordered_options"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "value"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/get_hris_performance_reviews_positive_response_data_results_inner_summary_rating_any_of_spec.rb b/spec/models/get_hris_performance_reviews_positive_response_data_results_inner_summary_rating_any_of_spec.rb new file mode 100644 index 0000000..b9e137e --- /dev/null +++ b/spec/models/get_hris_performance_reviews_positive_response_data_results_inner_summary_rating_any_of_spec.rb @@ -0,0 +1,58 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.13.0 + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Kombo::GetHrisPerformanceReviewsPositiveResponseDataResultsInnerSummaryRatingAnyOf +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Kombo::GetHrisPerformanceReviewsPositiveResponseDataResultsInnerSummaryRatingAnyOf do + let(:instance) { Kombo::GetHrisPerformanceReviewsPositiveResponseDataResultsInnerSummaryRatingAnyOf.new } + + describe 'test an instance of GetHrisPerformanceReviewsPositiveResponseDataResultsInnerSummaryRatingAnyOf' do + it 'should create an instance of GetHrisPerformanceReviewsPositiveResponseDataResultsInnerSummaryRatingAnyOf' do + # uncomment below to test the instance creation + #expect(instance).to be_instance_of(Kombo::GetHrisPerformanceReviewsPositiveResponseDataResultsInnerSummaryRatingAnyOf) + end + end + + describe 'test attribute "type"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + # validator = Petstore::EnumTest::EnumAttributeValidator.new('String', ["NUMERIC"]) + # validator.allowable_values.each do |value| + # expect { instance.type = value }.not_to raise_error + # end + end + end + + describe 'test attribute "min"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "max"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "value"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/get_hris_performance_reviews_positive_response_data_results_inner_summary_rating_spec.rb b/spec/models/get_hris_performance_reviews_positive_response_data_results_inner_summary_rating_spec.rb new file mode 100644 index 0000000..c7e73dc --- /dev/null +++ b/spec/models/get_hris_performance_reviews_positive_response_data_results_inner_summary_rating_spec.rb @@ -0,0 +1,21 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.13.0 + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Kombo::GetHrisPerformanceReviewsPositiveResponseDataResultsInnerSummaryRating +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Kombo::GetHrisPerformanceReviewsPositiveResponseDataResultsInnerSummaryRating do +end diff --git a/spec/models/get_hris_performance_reviews_positive_response_data_spec.rb b/spec/models/get_hris_performance_reviews_positive_response_data_spec.rb new file mode 100644 index 0000000..c1f07ad --- /dev/null +++ b/spec/models/get_hris_performance_reviews_positive_response_data_spec.rb @@ -0,0 +1,42 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.13.0 + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Kombo::GetHrisPerformanceReviewsPositiveResponseData +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Kombo::GetHrisPerformanceReviewsPositiveResponseData do + let(:instance) { Kombo::GetHrisPerformanceReviewsPositiveResponseData.new } + + describe 'test an instance of GetHrisPerformanceReviewsPositiveResponseData' do + it 'should create an instance of GetHrisPerformanceReviewsPositiveResponseData' do + # uncomment below to test the instance creation + #expect(instance).to be_instance_of(Kombo::GetHrisPerformanceReviewsPositiveResponseData) + end + end + + describe 'test attribute "_next"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "results"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/get_hris_performance_reviews_positive_response_spec.rb b/spec/models/get_hris_performance_reviews_positive_response_spec.rb new file mode 100644 index 0000000..37a1ef1 --- /dev/null +++ b/spec/models/get_hris_performance_reviews_positive_response_spec.rb @@ -0,0 +1,46 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.13.0 + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Kombo::GetHrisPerformanceReviewsPositiveResponse +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Kombo::GetHrisPerformanceReviewsPositiveResponse do + let(:instance) { Kombo::GetHrisPerformanceReviewsPositiveResponse.new } + + describe 'test an instance of GetHrisPerformanceReviewsPositiveResponse' do + it 'should create an instance of GetHrisPerformanceReviewsPositiveResponse' do + # uncomment below to test the instance creation + #expect(instance).to be_instance_of(Kombo::GetHrisPerformanceReviewsPositiveResponse) + end + end + + describe 'test attribute "status"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + # validator = Petstore::EnumTest::EnumAttributeValidator.new('String', ["success"]) + # validator.allowable_values.each do |value| + # expect { instance.status = value }.not_to raise_error + # end + end + end + + describe 'test attribute "data"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/get_hris_skills_positive_response_data_results_inner_spec.rb b/spec/models/get_hris_skills_positive_response_data_results_inner_spec.rb new file mode 100644 index 0000000..797849a --- /dev/null +++ b/spec/models/get_hris_skills_positive_response_data_results_inner_spec.rb @@ -0,0 +1,78 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.13.0 + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Kombo::GetHrisSkillsPositiveResponseDataResultsInner +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Kombo::GetHrisSkillsPositiveResponseDataResultsInner do + let(:instance) { Kombo::GetHrisSkillsPositiveResponseDataResultsInner.new } + + describe 'test an instance of GetHrisSkillsPositiveResponseDataResultsInner' do + it 'should create an instance of GetHrisSkillsPositiveResponseDataResultsInner' do + # uncomment below to test the instance creation + #expect(instance).to be_instance_of(Kombo::GetHrisSkillsPositiveResponseDataResultsInner) + end + end + + describe 'test attribute "id"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "remote_id"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "name"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "description"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "ordered_levels"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "changed_at"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "remote_deleted_at"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "remote_data"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/get_hris_skills_positive_response_data_spec.rb b/spec/models/get_hris_skills_positive_response_data_spec.rb new file mode 100644 index 0000000..272bfc2 --- /dev/null +++ b/spec/models/get_hris_skills_positive_response_data_spec.rb @@ -0,0 +1,42 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.13.0 + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Kombo::GetHrisSkillsPositiveResponseData +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Kombo::GetHrisSkillsPositiveResponseData do + let(:instance) { Kombo::GetHrisSkillsPositiveResponseData.new } + + describe 'test an instance of GetHrisSkillsPositiveResponseData' do + it 'should create an instance of GetHrisSkillsPositiveResponseData' do + # uncomment below to test the instance creation + #expect(instance).to be_instance_of(Kombo::GetHrisSkillsPositiveResponseData) + end + end + + describe 'test attribute "_next"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "results"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/get_hris_skills_positive_response_spec.rb b/spec/models/get_hris_skills_positive_response_spec.rb new file mode 100644 index 0000000..40ee25c --- /dev/null +++ b/spec/models/get_hris_skills_positive_response_spec.rb @@ -0,0 +1,46 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.13.0 + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Kombo::GetHrisSkillsPositiveResponse +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Kombo::GetHrisSkillsPositiveResponse do + let(:instance) { Kombo::GetHrisSkillsPositiveResponse.new } + + describe 'test an instance of GetHrisSkillsPositiveResponse' do + it 'should create an instance of GetHrisSkillsPositiveResponse' do + # uncomment below to test the instance creation + #expect(instance).to be_instance_of(Kombo::GetHrisSkillsPositiveResponse) + end + end + + describe 'test attribute "status"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + # validator = Petstore::EnumTest::EnumAttributeValidator.new('String', ["success"]) + # validator.allowable_values.each do |value| + # expect { instance.status = value }.not_to raise_error + # end + end + end + + describe 'test attribute "data"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/get_hris_teams_parameter_include_deleted_spec.rb b/spec/models/get_hris_teams_parameter_include_deleted_spec.rb new file mode 100644 index 0000000..f4af583 --- /dev/null +++ b/spec/models/get_hris_teams_parameter_include_deleted_spec.rb @@ -0,0 +1,30 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.13.0 + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Kombo::GetHrisTeamsParameterIncludeDeleted +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Kombo::GetHrisTeamsParameterIncludeDeleted do + let(:instance) { Kombo::GetHrisTeamsParameterIncludeDeleted.new } + + describe 'test an instance of GetHrisTeamsParameterIncludeDeleted' do + it 'should create an instance of GetHrisTeamsParameterIncludeDeleted' do + # uncomment below to test the instance creation + #expect(instance).to be_instance_of(Kombo::GetHrisTeamsParameterIncludeDeleted) + end + end + +end diff --git a/spec/models/get_hris_teams_positive_response_data_results_inner_spec.rb b/spec/models/get_hris_teams_positive_response_data_results_inner_spec.rb new file mode 100644 index 0000000..31b9ad5 --- /dev/null +++ b/spec/models/get_hris_teams_positive_response_data_results_inner_spec.rb @@ -0,0 +1,82 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.13.0 + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Kombo::GetHrisTeamsPositiveResponseDataResultsInner +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Kombo::GetHrisTeamsPositiveResponseDataResultsInner do + let(:instance) { Kombo::GetHrisTeamsPositiveResponseDataResultsInner.new } + + describe 'test an instance of GetHrisTeamsPositiveResponseDataResultsInner' do + it 'should create an instance of GetHrisTeamsPositiveResponseDataResultsInner' do + # uncomment below to test the instance creation + #expect(instance).to be_instance_of(Kombo::GetHrisTeamsPositiveResponseDataResultsInner) + end + end + + describe 'test attribute "id"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "remote_id"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "name"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "changed_at"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "remote_deleted_at"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "type"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + # validator = Petstore::EnumTest::EnumAttributeValidator.new('String', ["DEPARTMENT", "TEAM", "COST_CENTER"]) + # validator.allowable_values.each do |value| + # expect { instance.type = value }.not_to raise_error + # end + end + end + + describe 'test attribute "parent_id"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "remote_data"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/get_hris_teams_positive_response_data_spec.rb b/spec/models/get_hris_teams_positive_response_data_spec.rb new file mode 100644 index 0000000..de414e4 --- /dev/null +++ b/spec/models/get_hris_teams_positive_response_data_spec.rb @@ -0,0 +1,42 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.13.0 + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Kombo::GetHrisTeamsPositiveResponseData +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Kombo::GetHrisTeamsPositiveResponseData do + let(:instance) { Kombo::GetHrisTeamsPositiveResponseData.new } + + describe 'test an instance of GetHrisTeamsPositiveResponseData' do + it 'should create an instance of GetHrisTeamsPositiveResponseData' do + # uncomment below to test the instance creation + #expect(instance).to be_instance_of(Kombo::GetHrisTeamsPositiveResponseData) + end + end + + describe 'test attribute "_next"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "results"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/get_hris_teams_positive_response_spec.rb b/spec/models/get_hris_teams_positive_response_spec.rb new file mode 100644 index 0000000..0d154b1 --- /dev/null +++ b/spec/models/get_hris_teams_positive_response_spec.rb @@ -0,0 +1,46 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.13.0 + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Kombo::GetHrisTeamsPositiveResponse +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Kombo::GetHrisTeamsPositiveResponse do + let(:instance) { Kombo::GetHrisTeamsPositiveResponse.new } + + describe 'test an instance of GetHrisTeamsPositiveResponse' do + it 'should create an instance of GetHrisTeamsPositiveResponse' do + # uncomment below to test the instance creation + #expect(instance).to be_instance_of(Kombo::GetHrisTeamsPositiveResponse) + end + end + + describe 'test attribute "status"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + # validator = Petstore::EnumTest::EnumAttributeValidator.new('String', ["success"]) + # validator.allowable_values.each do |value| + # expect { instance.status = value }.not_to raise_error + # end + end + end + + describe 'test attribute "data"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/get_hris_time_off_balances_parameter_include_deleted_spec.rb b/spec/models/get_hris_time_off_balances_parameter_include_deleted_spec.rb new file mode 100644 index 0000000..87ea597 --- /dev/null +++ b/spec/models/get_hris_time_off_balances_parameter_include_deleted_spec.rb @@ -0,0 +1,30 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.13.0 + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Kombo::GetHrisTimeOffBalancesParameterIncludeDeleted +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Kombo::GetHrisTimeOffBalancesParameterIncludeDeleted do + let(:instance) { Kombo::GetHrisTimeOffBalancesParameterIncludeDeleted.new } + + describe 'test an instance of GetHrisTimeOffBalancesParameterIncludeDeleted' do + it 'should create an instance of GetHrisTimeOffBalancesParameterIncludeDeleted' do + # uncomment below to test the instance creation + #expect(instance).to be_instance_of(Kombo::GetHrisTimeOffBalancesParameterIncludeDeleted) + end + end + +end diff --git a/spec/models/get_hris_time_off_balances_positive_response_data_results_inner_spec.rb b/spec/models/get_hris_time_off_balances_positive_response_data_results_inner_spec.rb new file mode 100644 index 0000000..1b89d32 --- /dev/null +++ b/spec/models/get_hris_time_off_balances_positive_response_data_results_inner_spec.rb @@ -0,0 +1,110 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.13.0 + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Kombo::GetHrisTimeOffBalancesPositiveResponseDataResultsInner +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Kombo::GetHrisTimeOffBalancesPositiveResponseDataResultsInner do + let(:instance) { Kombo::GetHrisTimeOffBalancesPositiveResponseDataResultsInner.new } + + describe 'test an instance of GetHrisTimeOffBalancesPositiveResponseDataResultsInner' do + it 'should create an instance of GetHrisTimeOffBalancesPositiveResponseDataResultsInner' do + # uncomment below to test the instance creation + #expect(instance).to be_instance_of(Kombo::GetHrisTimeOffBalancesPositiveResponseDataResultsInner) + end + end + + describe 'test attribute "id"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "remote_id"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "employee_id"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "type_id"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "balance"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "balance_unit"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + # validator = Petstore::EnumTest::EnumAttributeValidator.new('String', ["HOURS", "DAYS"]) + # validator.allowable_values.each do |value| + # expect { instance.balance_unit = value }.not_to raise_error + # end + end + end + + describe 'test attribute "changed_at"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "remote_deleted_at"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "used"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "used_unit"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + # validator = Petstore::EnumTest::EnumAttributeValidator.new('String', ["HOURS", "DAYS"]) + # validator.allowable_values.each do |value| + # expect { instance.used_unit = value }.not_to raise_error + # end + end + end + + describe 'test attribute "remote_data"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "type"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/get_hris_time_off_balances_positive_response_data_spec.rb b/spec/models/get_hris_time_off_balances_positive_response_data_spec.rb new file mode 100644 index 0000000..764e1ca --- /dev/null +++ b/spec/models/get_hris_time_off_balances_positive_response_data_spec.rb @@ -0,0 +1,42 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.13.0 + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Kombo::GetHrisTimeOffBalancesPositiveResponseData +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Kombo::GetHrisTimeOffBalancesPositiveResponseData do + let(:instance) { Kombo::GetHrisTimeOffBalancesPositiveResponseData.new } + + describe 'test an instance of GetHrisTimeOffBalancesPositiveResponseData' do + it 'should create an instance of GetHrisTimeOffBalancesPositiveResponseData' do + # uncomment below to test the instance creation + #expect(instance).to be_instance_of(Kombo::GetHrisTimeOffBalancesPositiveResponseData) + end + end + + describe 'test attribute "_next"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "results"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/get_hris_time_off_balances_positive_response_spec.rb b/spec/models/get_hris_time_off_balances_positive_response_spec.rb new file mode 100644 index 0000000..d4d3ce0 --- /dev/null +++ b/spec/models/get_hris_time_off_balances_positive_response_spec.rb @@ -0,0 +1,46 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.13.0 + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Kombo::GetHrisTimeOffBalancesPositiveResponse +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Kombo::GetHrisTimeOffBalancesPositiveResponse do + let(:instance) { Kombo::GetHrisTimeOffBalancesPositiveResponse.new } + + describe 'test an instance of GetHrisTimeOffBalancesPositiveResponse' do + it 'should create an instance of GetHrisTimeOffBalancesPositiveResponse' do + # uncomment below to test the instance creation + #expect(instance).to be_instance_of(Kombo::GetHrisTimeOffBalancesPositiveResponse) + end + end + + describe 'test attribute "status"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + # validator = Petstore::EnumTest::EnumAttributeValidator.new('String', ["success"]) + # validator.allowable_values.each do |value| + # expect { instance.status = value }.not_to raise_error + # end + end + end + + describe 'test attribute "data"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/get_hris_timesheets_parameter_include_deleted_spec.rb b/spec/models/get_hris_timesheets_parameter_include_deleted_spec.rb new file mode 100644 index 0000000..0046767 --- /dev/null +++ b/spec/models/get_hris_timesheets_parameter_include_deleted_spec.rb @@ -0,0 +1,30 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.13.0 + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Kombo::GetHrisTimesheetsParameterIncludeDeleted +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Kombo::GetHrisTimesheetsParameterIncludeDeleted do + let(:instance) { Kombo::GetHrisTimesheetsParameterIncludeDeleted.new } + + describe 'test an instance of GetHrisTimesheetsParameterIncludeDeleted' do + it 'should create an instance of GetHrisTimesheetsParameterIncludeDeleted' do + # uncomment below to test the instance creation + #expect(instance).to be_instance_of(Kombo::GetHrisTimesheetsParameterIncludeDeleted) + end + end + +end diff --git a/spec/models/get_hris_timesheets_positive_response_data_results_inner_breaks_inner_ended_at_spec.rb b/spec/models/get_hris_timesheets_positive_response_data_results_inner_breaks_inner_ended_at_spec.rb new file mode 100644 index 0000000..c953497 --- /dev/null +++ b/spec/models/get_hris_timesheets_positive_response_data_results_inner_breaks_inner_ended_at_spec.rb @@ -0,0 +1,21 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.13.0 + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Kombo::GetHrisTimesheetsPositiveResponseDataResultsInnerBreaksInnerEndedAt +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Kombo::GetHrisTimesheetsPositiveResponseDataResultsInnerBreaksInnerEndedAt do +end diff --git a/spec/models/get_hris_timesheets_positive_response_data_results_inner_breaks_inner_spec.rb b/spec/models/get_hris_timesheets_positive_response_data_results_inner_breaks_inner_spec.rb new file mode 100644 index 0000000..0238670 --- /dev/null +++ b/spec/models/get_hris_timesheets_positive_response_data_results_inner_breaks_inner_spec.rb @@ -0,0 +1,48 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.13.0 + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Kombo::GetHrisTimesheetsPositiveResponseDataResultsInnerBreaksInner +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Kombo::GetHrisTimesheetsPositiveResponseDataResultsInnerBreaksInner do + let(:instance) { Kombo::GetHrisTimesheetsPositiveResponseDataResultsInnerBreaksInner.new } + + describe 'test an instance of GetHrisTimesheetsPositiveResponseDataResultsInnerBreaksInner' do + it 'should create an instance of GetHrisTimesheetsPositiveResponseDataResultsInnerBreaksInner' do + # uncomment below to test the instance creation + #expect(instance).to be_instance_of(Kombo::GetHrisTimesheetsPositiveResponseDataResultsInnerBreaksInner) + end + end + + describe 'test attribute "ended_at"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "paid"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "started_at"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/get_hris_timesheets_positive_response_data_results_inner_breaks_inner_started_at_spec.rb b/spec/models/get_hris_timesheets_positive_response_data_results_inner_breaks_inner_started_at_spec.rb new file mode 100644 index 0000000..02ea495 --- /dev/null +++ b/spec/models/get_hris_timesheets_positive_response_data_results_inner_breaks_inner_started_at_spec.rb @@ -0,0 +1,21 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.13.0 + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Kombo::GetHrisTimesheetsPositiveResponseDataResultsInnerBreaksInnerStartedAt +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Kombo::GetHrisTimesheetsPositiveResponseDataResultsInnerBreaksInnerStartedAt do +end diff --git a/spec/models/get_hris_timesheets_positive_response_data_results_inner_spec.rb b/spec/models/get_hris_timesheets_positive_response_data_results_inner_spec.rb new file mode 100644 index 0000000..da58680 --- /dev/null +++ b/spec/models/get_hris_timesheets_positive_response_data_results_inner_spec.rb @@ -0,0 +1,132 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.13.0 + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Kombo::GetHrisTimesheetsPositiveResponseDataResultsInner +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Kombo::GetHrisTimesheetsPositiveResponseDataResultsInner do + let(:instance) { Kombo::GetHrisTimesheetsPositiveResponseDataResultsInner.new } + + describe 'test an instance of GetHrisTimesheetsPositiveResponseDataResultsInner' do + it 'should create an instance of GetHrisTimesheetsPositiveResponseDataResultsInner' do + # uncomment below to test the instance creation + #expect(instance).to be_instance_of(Kombo::GetHrisTimesheetsPositiveResponseDataResultsInner) + end + end + + describe 'test attribute "id"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "remote_id"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "employee_id"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "started_at"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "ended_at"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "timezone"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "payable_hours"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "unpaid_break_minutes"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "breaks"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "approval_status"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "approved_at"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "comment"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "custom_fields"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "integration_fields"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "changed_at"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "remote_deleted_at"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "remote_data"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/get_hris_timesheets_positive_response_data_spec.rb b/spec/models/get_hris_timesheets_positive_response_data_spec.rb new file mode 100644 index 0000000..24a06aa --- /dev/null +++ b/spec/models/get_hris_timesheets_positive_response_data_spec.rb @@ -0,0 +1,42 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.13.0 + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Kombo::GetHrisTimesheetsPositiveResponseData +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Kombo::GetHrisTimesheetsPositiveResponseData do + let(:instance) { Kombo::GetHrisTimesheetsPositiveResponseData.new } + + describe 'test an instance of GetHrisTimesheetsPositiveResponseData' do + it 'should create an instance of GetHrisTimesheetsPositiveResponseData' do + # uncomment below to test the instance creation + #expect(instance).to be_instance_of(Kombo::GetHrisTimesheetsPositiveResponseData) + end + end + + describe 'test attribute "_next"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "results"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/get_hris_timesheets_positive_response_spec.rb b/spec/models/get_hris_timesheets_positive_response_spec.rb new file mode 100644 index 0000000..598e22e --- /dev/null +++ b/spec/models/get_hris_timesheets_positive_response_spec.rb @@ -0,0 +1,46 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.13.0 + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Kombo::GetHrisTimesheetsPositiveResponse +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Kombo::GetHrisTimesheetsPositiveResponse do + let(:instance) { Kombo::GetHrisTimesheetsPositiveResponse.new } + + describe 'test an instance of GetHrisTimesheetsPositiveResponse' do + it 'should create an instance of GetHrisTimesheetsPositiveResponse' do + # uncomment below to test the instance creation + #expect(instance).to be_instance_of(Kombo::GetHrisTimesheetsPositiveResponse) + end + end + + describe 'test attribute "status"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + # validator = Petstore::EnumTest::EnumAttributeValidator.new('String', ["success"]) + # validator.allowable_values.each do |value| + # expect { instance.status = value }.not_to raise_error + # end + end + end + + describe 'test attribute "data"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/get_integrations_integration_id_custom_fields_positive_response_data_results_inner_integration_field_spec.rb b/spec/models/get_integrations_integration_id_custom_fields_positive_response_data_results_inner_integration_field_spec.rb new file mode 100644 index 0000000..dd42658 --- /dev/null +++ b/spec/models/get_integrations_integration_id_custom_fields_positive_response_data_results_inner_integration_field_spec.rb @@ -0,0 +1,58 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.13.0 + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Kombo::GetIntegrationsIntegrationIdCustomFieldsPositiveResponseDataResultsInnerIntegrationField +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Kombo::GetIntegrationsIntegrationIdCustomFieldsPositiveResponseDataResultsInnerIntegrationField do + let(:instance) { Kombo::GetIntegrationsIntegrationIdCustomFieldsPositiveResponseDataResultsInnerIntegrationField.new } + + describe 'test an instance of GetIntegrationsIntegrationIdCustomFieldsPositiveResponseDataResultsInnerIntegrationField' do + it 'should create an instance of GetIntegrationsIntegrationIdCustomFieldsPositiveResponseDataResultsInnerIntegrationField' do + # uncomment below to test the instance creation + #expect(instance).to be_instance_of(Kombo::GetIntegrationsIntegrationIdCustomFieldsPositiveResponseDataResultsInnerIntegrationField) + end + end + + describe 'test attribute "id"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "key"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "type"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + # validator = Petstore::EnumTest::EnumAttributeValidator.new('String', ["DEFAULT", "CUSTOM"]) + # validator.allowable_values.each do |value| + # expect { instance.type = value }.not_to raise_error + # end + end + end + + describe 'test attribute "label"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/get_integrations_integration_id_custom_fields_positive_response_data_results_inner_spec.rb b/spec/models/get_integrations_integration_id_custom_fields_positive_response_data_results_inner_spec.rb new file mode 100644 index 0000000..5f9c8a7 --- /dev/null +++ b/spec/models/get_integrations_integration_id_custom_fields_positive_response_data_results_inner_spec.rb @@ -0,0 +1,66 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.13.0 + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Kombo::GetIntegrationsIntegrationIdCustomFieldsPositiveResponseDataResultsInner +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Kombo::GetIntegrationsIntegrationIdCustomFieldsPositiveResponseDataResultsInner do + let(:instance) { Kombo::GetIntegrationsIntegrationIdCustomFieldsPositiveResponseDataResultsInner.new } + + describe 'test an instance of GetIntegrationsIntegrationIdCustomFieldsPositiveResponseDataResultsInner' do + it 'should create an instance of GetIntegrationsIntegrationIdCustomFieldsPositiveResponseDataResultsInner' do + # uncomment below to test the instance creation + #expect(instance).to be_instance_of(Kombo::GetIntegrationsIntegrationIdCustomFieldsPositiveResponseDataResultsInner) + end + end + + describe 'test attribute "id"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "key"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "integration_field"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "model"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "label"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "description"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/get_integrations_integration_id_custom_fields_positive_response_data_spec.rb b/spec/models/get_integrations_integration_id_custom_fields_positive_response_data_spec.rb new file mode 100644 index 0000000..84e8416 --- /dev/null +++ b/spec/models/get_integrations_integration_id_custom_fields_positive_response_data_spec.rb @@ -0,0 +1,48 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.13.0 + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Kombo::GetIntegrationsIntegrationIdCustomFieldsPositiveResponseData +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Kombo::GetIntegrationsIntegrationIdCustomFieldsPositiveResponseData do + let(:instance) { Kombo::GetIntegrationsIntegrationIdCustomFieldsPositiveResponseData.new } + + describe 'test an instance of GetIntegrationsIntegrationIdCustomFieldsPositiveResponseData' do + it 'should create an instance of GetIntegrationsIntegrationIdCustomFieldsPositiveResponseData' do + # uncomment below to test the instance creation + #expect(instance).to be_instance_of(Kombo::GetIntegrationsIntegrationIdCustomFieldsPositiveResponseData) + end + end + + describe 'test attribute "results"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "next_cursor"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "_next"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/get_integrations_integration_id_custom_fields_positive_response_spec.rb b/spec/models/get_integrations_integration_id_custom_fields_positive_response_spec.rb new file mode 100644 index 0000000..3e0a21b --- /dev/null +++ b/spec/models/get_integrations_integration_id_custom_fields_positive_response_spec.rb @@ -0,0 +1,46 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.13.0 + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Kombo::GetIntegrationsIntegrationIdCustomFieldsPositiveResponse +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Kombo::GetIntegrationsIntegrationIdCustomFieldsPositiveResponse do + let(:instance) { Kombo::GetIntegrationsIntegrationIdCustomFieldsPositiveResponse.new } + + describe 'test an instance of GetIntegrationsIntegrationIdCustomFieldsPositiveResponse' do + it 'should create an instance of GetIntegrationsIntegrationIdCustomFieldsPositiveResponse' do + # uncomment below to test the instance creation + #expect(instance).to be_instance_of(Kombo::GetIntegrationsIntegrationIdCustomFieldsPositiveResponse) + end + end + + describe 'test attribute "status"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + # validator = Petstore::EnumTest::EnumAttributeValidator.new('String', ["success"]) + # validator.allowable_values.each do |value| + # expect { instance.status = value }.not_to raise_error + # end + end + end + + describe 'test attribute "data"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/get_integrations_integration_id_integration_fields_positive_response_data_results_inner_spec.rb b/spec/models/get_integrations_integration_id_integration_fields_positive_response_data_results_inner_spec.rb new file mode 100644 index 0000000..bb8a7a7 --- /dev/null +++ b/spec/models/get_integrations_integration_id_integration_fields_positive_response_data_results_inner_spec.rb @@ -0,0 +1,80 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.13.0 + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Kombo::GetIntegrationsIntegrationIdIntegrationFieldsPositiveResponseDataResultsInner +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Kombo::GetIntegrationsIntegrationIdIntegrationFieldsPositiveResponseDataResultsInner do + let(:instance) { Kombo::GetIntegrationsIntegrationIdIntegrationFieldsPositiveResponseDataResultsInner.new } + + describe 'test an instance of GetIntegrationsIntegrationIdIntegrationFieldsPositiveResponseDataResultsInner' do + it 'should create an instance of GetIntegrationsIntegrationIdIntegrationFieldsPositiveResponseDataResultsInner' do + # uncomment below to test the instance creation + #expect(instance).to be_instance_of(Kombo::GetIntegrationsIntegrationIdIntegrationFieldsPositiveResponseDataResultsInner) + end + end + + describe 'test attribute "id"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "key"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "model"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "type"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + # validator = Petstore::EnumTest::EnumAttributeValidator.new('String', ["DEFAULT", "CUSTOM"]) + # validator.allowable_values.each do |value| + # expect { instance.type = value }.not_to raise_error + # end + end + end + + describe 'test attribute "label"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "is_passthrough_enabled"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "is_writable"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + # validator = Petstore::EnumTest::EnumAttributeValidator.new('Boolean', ["false"]) + # validator.allowable_values.each do |value| + # expect { instance.is_writable = value }.not_to raise_error + # end + end + end + +end diff --git a/spec/models/get_integrations_integration_id_integration_fields_positive_response_data_spec.rb b/spec/models/get_integrations_integration_id_integration_fields_positive_response_data_spec.rb new file mode 100644 index 0000000..19546b9 --- /dev/null +++ b/spec/models/get_integrations_integration_id_integration_fields_positive_response_data_spec.rb @@ -0,0 +1,48 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.13.0 + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Kombo::GetIntegrationsIntegrationIdIntegrationFieldsPositiveResponseData +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Kombo::GetIntegrationsIntegrationIdIntegrationFieldsPositiveResponseData do + let(:instance) { Kombo::GetIntegrationsIntegrationIdIntegrationFieldsPositiveResponseData.new } + + describe 'test an instance of GetIntegrationsIntegrationIdIntegrationFieldsPositiveResponseData' do + it 'should create an instance of GetIntegrationsIntegrationIdIntegrationFieldsPositiveResponseData' do + # uncomment below to test the instance creation + #expect(instance).to be_instance_of(Kombo::GetIntegrationsIntegrationIdIntegrationFieldsPositiveResponseData) + end + end + + describe 'test attribute "results"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "next_cursor"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "_next"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/get_integrations_integration_id_integration_fields_positive_response_spec.rb b/spec/models/get_integrations_integration_id_integration_fields_positive_response_spec.rb new file mode 100644 index 0000000..852ed7c --- /dev/null +++ b/spec/models/get_integrations_integration_id_integration_fields_positive_response_spec.rb @@ -0,0 +1,46 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.13.0 + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Kombo::GetIntegrationsIntegrationIdIntegrationFieldsPositiveResponse +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Kombo::GetIntegrationsIntegrationIdIntegrationFieldsPositiveResponse do + let(:instance) { Kombo::GetIntegrationsIntegrationIdIntegrationFieldsPositiveResponse.new } + + describe 'test an instance of GetIntegrationsIntegrationIdIntegrationFieldsPositiveResponse' do + it 'should create an instance of GetIntegrationsIntegrationIdIntegrationFieldsPositiveResponse' do + # uncomment below to test the instance creation + #expect(instance).to be_instance_of(Kombo::GetIntegrationsIntegrationIdIntegrationFieldsPositiveResponse) + end + end + + describe 'test attribute "status"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + # validator = Petstore::EnumTest::EnumAttributeValidator.new('String', ["success"]) + # validator.allowable_values.each do |value| + # expect { instance.status = value }.not_to raise_error + # end + end + end + + describe 'test attribute "data"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/get_integrations_integration_id_positive_response_data_end_user_spec.rb b/spec/models/get_integrations_integration_id_positive_response_data_end_user_spec.rb new file mode 100644 index 0000000..4392406 --- /dev/null +++ b/spec/models/get_integrations_integration_id_positive_response_data_end_user_spec.rb @@ -0,0 +1,48 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.13.0 + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Kombo::GetIntegrationsIntegrationIdPositiveResponseDataEndUser +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Kombo::GetIntegrationsIntegrationIdPositiveResponseDataEndUser do + let(:instance) { Kombo::GetIntegrationsIntegrationIdPositiveResponseDataEndUser.new } + + describe 'test an instance of GetIntegrationsIntegrationIdPositiveResponseDataEndUser' do + it 'should create an instance of GetIntegrationsIntegrationIdPositiveResponseDataEndUser' do + # uncomment below to test the instance creation + #expect(instance).to be_instance_of(Kombo::GetIntegrationsIntegrationIdPositiveResponseDataEndUser) + end + end + + describe 'test attribute "organization_name"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "creator_email"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "origin_id"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/get_integrations_integration_id_positive_response_data_read_models_inner_fields_inner_spec.rb b/spec/models/get_integrations_integration_id_positive_response_data_read_models_inner_fields_inner_spec.rb new file mode 100644 index 0000000..541331f --- /dev/null +++ b/spec/models/get_integrations_integration_id_positive_response_data_read_models_inner_fields_inner_spec.rb @@ -0,0 +1,68 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.13.0 + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Kombo::GetIntegrationsIntegrationIdPositiveResponseDataReadModelsInnerFieldsInner +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Kombo::GetIntegrationsIntegrationIdPositiveResponseDataReadModelsInnerFieldsInner do + let(:instance) { Kombo::GetIntegrationsIntegrationIdPositiveResponseDataReadModelsInnerFieldsInner.new } + + describe 'test an instance of GetIntegrationsIntegrationIdPositiveResponseDataReadModelsInnerFieldsInner' do + it 'should create an instance of GetIntegrationsIntegrationIdPositiveResponseDataReadModelsInnerFieldsInner' do + # uncomment below to test the instance creation + #expect(instance).to be_instance_of(Kombo::GetIntegrationsIntegrationIdPositiveResponseDataReadModelsInnerFieldsInner) + end + end + + describe 'test attribute "id"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "is_available"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "coverage_status"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + # validator = Petstore::EnumTest::EnumAttributeValidator.new('String', ["SUPPORTED", "UNSUPPORTED", "NOT_IMPLEMENTED", "UNKNOWN"]) + # validator.allowable_values.each do |value| + # expect { instance.coverage_status = value }.not_to raise_error + # end + end + end + + describe 'test attribute "scope_config_setting"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + # validator = Petstore::EnumTest::EnumAttributeValidator.new('String', ["ENABLED", "DISABLED", "OPTIONAL"]) + # validator.allowable_values.each do |value| + # expect { instance.scope_config_setting = value }.not_to raise_error + # end + end + end + + describe 'test attribute "opted_out_by_customer"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/get_integrations_integration_id_positive_response_data_read_models_inner_spec.rb b/spec/models/get_integrations_integration_id_positive_response_data_read_models_inner_spec.rb new file mode 100644 index 0000000..fefc1f5 --- /dev/null +++ b/spec/models/get_integrations_integration_id_positive_response_data_read_models_inner_spec.rb @@ -0,0 +1,80 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.13.0 + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Kombo::GetIntegrationsIntegrationIdPositiveResponseDataReadModelsInner +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Kombo::GetIntegrationsIntegrationIdPositiveResponseDataReadModelsInner do + let(:instance) { Kombo::GetIntegrationsIntegrationIdPositiveResponseDataReadModelsInner.new } + + describe 'test an instance of GetIntegrationsIntegrationIdPositiveResponseDataReadModelsInner' do + it 'should create an instance of GetIntegrationsIntegrationIdPositiveResponseDataReadModelsInner' do + # uncomment below to test the instance creation + #expect(instance).to be_instance_of(Kombo::GetIntegrationsIntegrationIdPositiveResponseDataReadModelsInner) + end + end + + describe 'test attribute "id"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "label"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "is_available"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "coverage_status"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + # validator = Petstore::EnumTest::EnumAttributeValidator.new('String', ["SUPPORTED", "UNSUPPORTED", "NOT_IMPLEMENTED", "UNKNOWN"]) + # validator.allowable_values.each do |value| + # expect { instance.coverage_status = value }.not_to raise_error + # end + end + end + + describe 'test attribute "scope_config_setting"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + # validator = Petstore::EnumTest::EnumAttributeValidator.new('String', ["ENABLED", "DISABLED", "OPTIONAL"]) + # validator.allowable_values.each do |value| + # expect { instance.scope_config_setting = value }.not_to raise_error + # end + end + end + + describe 'test attribute "opted_out_by_customer"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "fields"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/get_integrations_integration_id_positive_response_data_scope_config_spec.rb b/spec/models/get_integrations_integration_id_positive_response_data_scope_config_spec.rb new file mode 100644 index 0000000..16d1a2d --- /dev/null +++ b/spec/models/get_integrations_integration_id_positive_response_data_scope_config_spec.rb @@ -0,0 +1,42 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.13.0 + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Kombo::GetIntegrationsIntegrationIdPositiveResponseDataScopeConfig +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Kombo::GetIntegrationsIntegrationIdPositiveResponseDataScopeConfig do + let(:instance) { Kombo::GetIntegrationsIntegrationIdPositiveResponseDataScopeConfig.new } + + describe 'test an instance of GetIntegrationsIntegrationIdPositiveResponseDataScopeConfig' do + it 'should create an instance of GetIntegrationsIntegrationIdPositiveResponseDataScopeConfig' do + # uncomment below to test the instance creation + #expect(instance).to be_instance_of(Kombo::GetIntegrationsIntegrationIdPositiveResponseDataScopeConfig) + end + end + + describe 'test attribute "id"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "name"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/get_integrations_integration_id_positive_response_data_spec.rb b/spec/models/get_integrations_integration_id_positive_response_data_spec.rb new file mode 100644 index 0000000..ecb08ef --- /dev/null +++ b/spec/models/get_integrations_integration_id_positive_response_data_spec.rb @@ -0,0 +1,102 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.13.0 + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Kombo::GetIntegrationsIntegrationIdPositiveResponseData +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Kombo::GetIntegrationsIntegrationIdPositiveResponseData do + let(:instance) { Kombo::GetIntegrationsIntegrationIdPositiveResponseData.new } + + describe 'test an instance of GetIntegrationsIntegrationIdPositiveResponseData' do + it 'should create an instance of GetIntegrationsIntegrationIdPositiveResponseData' do + # uncomment below to test the instance creation + #expect(instance).to be_instance_of(Kombo::GetIntegrationsIntegrationIdPositiveResponseData) + end + end + + describe 'test attribute "id"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "tool"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "category"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + # validator = Petstore::EnumTest::EnumAttributeValidator.new('String', ["HRIS", "ATS", "ASSESSMENT"]) + # validator.allowable_values.each do |value| + # expect { instance.category = value }.not_to raise_error + # end + end + end + + describe 'test attribute "status"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + # validator = Petstore::EnumTest::EnumAttributeValidator.new('String', ["ACTIVE", "INVALID", "INACTIVE"]) + # validator.allowable_values.each do |value| + # expect { instance.status = value }.not_to raise_error + # end + end + end + + describe 'test attribute "setup_status"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + # validator = Petstore::EnumTest::EnumAttributeValidator.new('String', ["INCOMPLETE", "FINAL_SYNC_PENDING", "COMPLETED"]) + # validator.allowable_values.each do |value| + # expect { instance.setup_status = value }.not_to raise_error + # end + end + end + + describe 'test attribute "end_user"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "scope_config"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "created_at"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "beta"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "read_models"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/get_integrations_integration_id_positive_response_data_tool_spec.rb b/spec/models/get_integrations_integration_id_positive_response_data_tool_spec.rb new file mode 100644 index 0000000..73df2b9 --- /dev/null +++ b/spec/models/get_integrations_integration_id_positive_response_data_tool_spec.rb @@ -0,0 +1,60 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.13.0 + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Kombo::GetIntegrationsIntegrationIdPositiveResponseDataTool +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Kombo::GetIntegrationsIntegrationIdPositiveResponseDataTool do + let(:instance) { Kombo::GetIntegrationsIntegrationIdPositiveResponseDataTool.new } + + describe 'test an instance of GetIntegrationsIntegrationIdPositiveResponseDataTool' do + it 'should create an instance of GetIntegrationsIntegrationIdPositiveResponseDataTool' do + # uncomment below to test the instance creation + #expect(instance).to be_instance_of(Kombo::GetIntegrationsIntegrationIdPositiveResponseDataTool) + end + end + + describe 'test attribute "id"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "label"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "internal_label"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "logo_url"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "icon_url"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/get_integrations_integration_id_positive_response_spec.rb b/spec/models/get_integrations_integration_id_positive_response_spec.rb new file mode 100644 index 0000000..4b3a213 --- /dev/null +++ b/spec/models/get_integrations_integration_id_positive_response_spec.rb @@ -0,0 +1,46 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.13.0 + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Kombo::GetIntegrationsIntegrationIdPositiveResponse +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Kombo::GetIntegrationsIntegrationIdPositiveResponse do + let(:instance) { Kombo::GetIntegrationsIntegrationIdPositiveResponse.new } + + describe 'test an instance of GetIntegrationsIntegrationIdPositiveResponse' do + it 'should create an instance of GetIntegrationsIntegrationIdPositiveResponse' do + # uncomment below to test the instance creation + #expect(instance).to be_instance_of(Kombo::GetIntegrationsIntegrationIdPositiveResponse) + end + end + + describe 'test attribute "status"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + # validator = Petstore::EnumTest::EnumAttributeValidator.new('String', ["success"]) + # validator.allowable_values.each do |value| + # expect { instance.status = value }.not_to raise_error + # end + end + end + + describe 'test attribute "data"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/get_lms_courses_positive_response_data_results_inner_ordered_content_inner_spec.rb b/spec/models/get_lms_courses_positive_response_data_results_inner_ordered_content_inner_spec.rb new file mode 100644 index 0000000..625c0a1 --- /dev/null +++ b/spec/models/get_lms_courses_positive_response_data_results_inner_ordered_content_inner_spec.rb @@ -0,0 +1,76 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.13.0 + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Kombo::GetLmsCoursesPositiveResponseDataResultsInnerOrderedContentInner +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Kombo::GetLmsCoursesPositiveResponseDataResultsInnerOrderedContentInner do + let(:instance) { Kombo::GetLmsCoursesPositiveResponseDataResultsInnerOrderedContentInner.new } + + describe 'test an instance of GetLmsCoursesPositiveResponseDataResultsInnerOrderedContentInner' do + it 'should create an instance of GetLmsCoursesPositiveResponseDataResultsInnerOrderedContentInner' do + # uncomment below to test the instance creation + #expect(instance).to be_instance_of(Kombo::GetLmsCoursesPositiveResponseDataResultsInnerOrderedContentInner) + end + end + + describe 'test attribute "id"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "remote_id"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "title"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "description"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "url"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "type"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + # validator = Petstore::EnumTest::EnumAttributeValidator.new('String', ["COACHING", "VIDEO", "TEXT", "QUIZ"]) + # validator.allowable_values.each do |value| + # expect { instance.type = value }.not_to raise_error + # end + end + end + + describe 'test attribute "remote_created_at"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/get_lms_courses_positive_response_data_results_inner_skills_inner_spec.rb b/spec/models/get_lms_courses_positive_response_data_results_inner_skills_inner_spec.rb new file mode 100644 index 0000000..4431457 --- /dev/null +++ b/spec/models/get_lms_courses_positive_response_data_results_inner_skills_inner_spec.rb @@ -0,0 +1,42 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.13.0 + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Kombo::GetLmsCoursesPositiveResponseDataResultsInnerSkillsInner +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Kombo::GetLmsCoursesPositiveResponseDataResultsInnerSkillsInner do + let(:instance) { Kombo::GetLmsCoursesPositiveResponseDataResultsInnerSkillsInner.new } + + describe 'test an instance of GetLmsCoursesPositiveResponseDataResultsInnerSkillsInner' do + it 'should create an instance of GetLmsCoursesPositiveResponseDataResultsInnerSkillsInner' do + # uncomment below to test the instance creation + #expect(instance).to be_instance_of(Kombo::GetLmsCoursesPositiveResponseDataResultsInnerSkillsInner) + end + end + + describe 'test attribute "name"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "skill_level"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/get_lms_courses_positive_response_data_results_inner_spec.rb b/spec/models/get_lms_courses_positive_response_data_results_inner_spec.rb new file mode 100644 index 0000000..4f0a170 --- /dev/null +++ b/spec/models/get_lms_courses_positive_response_data_results_inner_spec.rb @@ -0,0 +1,96 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.13.0 + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Kombo::GetLmsCoursesPositiveResponseDataResultsInner +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Kombo::GetLmsCoursesPositiveResponseDataResultsInner do + let(:instance) { Kombo::GetLmsCoursesPositiveResponseDataResultsInner.new } + + describe 'test an instance of GetLmsCoursesPositiveResponseDataResultsInner' do + it 'should create an instance of GetLmsCoursesPositiveResponseDataResultsInner' do + # uncomment below to test the instance creation + #expect(instance).to be_instance_of(Kombo::GetLmsCoursesPositiveResponseDataResultsInner) + end + end + + describe 'test attribute "id"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "remote_id"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "title"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "description"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "url"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "remote_created_at"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "skills"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "ordered_content"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "changed_at"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "remote_deleted_at"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "remote_data"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/get_lms_courses_positive_response_data_spec.rb b/spec/models/get_lms_courses_positive_response_data_spec.rb new file mode 100644 index 0000000..4b44a7d --- /dev/null +++ b/spec/models/get_lms_courses_positive_response_data_spec.rb @@ -0,0 +1,42 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.13.0 + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Kombo::GetLmsCoursesPositiveResponseData +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Kombo::GetLmsCoursesPositiveResponseData do + let(:instance) { Kombo::GetLmsCoursesPositiveResponseData.new } + + describe 'test an instance of GetLmsCoursesPositiveResponseData' do + it 'should create an instance of GetLmsCoursesPositiveResponseData' do + # uncomment below to test the instance creation + #expect(instance).to be_instance_of(Kombo::GetLmsCoursesPositiveResponseData) + end + end + + describe 'test attribute "_next"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "results"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/get_lms_courses_positive_response_spec.rb b/spec/models/get_lms_courses_positive_response_spec.rb new file mode 100644 index 0000000..25564a3 --- /dev/null +++ b/spec/models/get_lms_courses_positive_response_spec.rb @@ -0,0 +1,46 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.13.0 + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Kombo::GetLmsCoursesPositiveResponse +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Kombo::GetLmsCoursesPositiveResponse do + let(:instance) { Kombo::GetLmsCoursesPositiveResponse.new } + + describe 'test an instance of GetLmsCoursesPositiveResponse' do + it 'should create an instance of GetLmsCoursesPositiveResponse' do + # uncomment below to test the instance creation + #expect(instance).to be_instance_of(Kombo::GetLmsCoursesPositiveResponse) + end + end + + describe 'test attribute "status"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + # validator = Petstore::EnumTest::EnumAttributeValidator.new('String', ["success"]) + # validator.allowable_values.each do |value| + # expect { instance.status = value }.not_to raise_error + # end + end + end + + describe 'test attribute "data"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/get_lms_users_parameter_status_spec.rb b/spec/models/get_lms_users_parameter_status_spec.rb new file mode 100644 index 0000000..52de0f9 --- /dev/null +++ b/spec/models/get_lms_users_parameter_status_spec.rb @@ -0,0 +1,30 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.13.0 + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Kombo::GetLmsUsersParameterStatus +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Kombo::GetLmsUsersParameterStatus do + let(:instance) { Kombo::GetLmsUsersParameterStatus.new } + + describe 'test an instance of GetLmsUsersParameterStatus' do + it 'should create an instance of GetLmsUsersParameterStatus' do + # uncomment below to test the instance creation + #expect(instance).to be_instance_of(Kombo::GetLmsUsersParameterStatus) + end + end + +end diff --git a/spec/models/get_lms_users_positive_response_data_results_inner_progress_inner_spec.rb b/spec/models/get_lms_users_positive_response_data_results_inner_progress_inner_spec.rb new file mode 100644 index 0000000..f452a09 --- /dev/null +++ b/spec/models/get_lms_users_positive_response_data_results_inner_progress_inner_spec.rb @@ -0,0 +1,82 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.13.0 + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Kombo::GetLmsUsersPositiveResponseDataResultsInnerProgressInner +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Kombo::GetLmsUsersPositiveResponseDataResultsInnerProgressInner do + let(:instance) { Kombo::GetLmsUsersPositiveResponseDataResultsInnerProgressInner.new } + + describe 'test an instance of GetLmsUsersPositiveResponseDataResultsInnerProgressInner' do + it 'should create an instance of GetLmsUsersPositiveResponseDataResultsInnerProgressInner' do + # uncomment below to test the instance creation + #expect(instance).to be_instance_of(Kombo::GetLmsUsersPositiveResponseDataResultsInnerProgressInner) + end + end + + describe 'test attribute "course_id"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "progress_id"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "status"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + # validator = Petstore::EnumTest::EnumAttributeValidator.new('String', ["ENROLLED", "STARTED", "COMPLETED", "STOPPED"]) + # validator.allowable_values.each do |value| + # expect { instance.status = value }.not_to raise_error + # end + end + end + + describe 'test attribute "enrollment_date"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "completion_date"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "score"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "duration"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "comments"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/get_lms_users_positive_response_data_results_inner_spec.rb b/spec/models/get_lms_users_positive_response_data_results_inner_spec.rb new file mode 100644 index 0000000..dfdac75 --- /dev/null +++ b/spec/models/get_lms_users_positive_response_data_results_inner_spec.rb @@ -0,0 +1,94 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.13.0 + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Kombo::GetLmsUsersPositiveResponseDataResultsInner +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Kombo::GetLmsUsersPositiveResponseDataResultsInner do + let(:instance) { Kombo::GetLmsUsersPositiveResponseDataResultsInner.new } + + describe 'test an instance of GetLmsUsersPositiveResponseDataResultsInner' do + it 'should create an instance of GetLmsUsersPositiveResponseDataResultsInner' do + # uncomment below to test the instance creation + #expect(instance).to be_instance_of(Kombo::GetLmsUsersPositiveResponseDataResultsInner) + end + end + + describe 'test attribute "id"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "remote_id"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "first_name"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "last_name"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "work_email"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "status"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + # validator = Petstore::EnumTest::EnumAttributeValidator.new('String', ["ACTIVE", "INACTIVE"]) + # validator.allowable_values.each do |value| + # expect { instance.status = value }.not_to raise_error + # end + end + end + + describe 'test attribute "remote_created_at"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "progress"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "changed_at"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "remote_data"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/get_lms_users_positive_response_data_spec.rb b/spec/models/get_lms_users_positive_response_data_spec.rb new file mode 100644 index 0000000..28ab4f1 --- /dev/null +++ b/spec/models/get_lms_users_positive_response_data_spec.rb @@ -0,0 +1,42 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.13.0 + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Kombo::GetLmsUsersPositiveResponseData +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Kombo::GetLmsUsersPositiveResponseData do + let(:instance) { Kombo::GetLmsUsersPositiveResponseData.new } + + describe 'test an instance of GetLmsUsersPositiveResponseData' do + it 'should create an instance of GetLmsUsersPositiveResponseData' do + # uncomment below to test the instance creation + #expect(instance).to be_instance_of(Kombo::GetLmsUsersPositiveResponseData) + end + end + + describe 'test attribute "_next"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "results"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/get_lms_users_positive_response_spec.rb b/spec/models/get_lms_users_positive_response_spec.rb new file mode 100644 index 0000000..2263bf1 --- /dev/null +++ b/spec/models/get_lms_users_positive_response_spec.rb @@ -0,0 +1,46 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.13.0 + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Kombo::GetLmsUsersPositiveResponse +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Kombo::GetLmsUsersPositiveResponse do + let(:instance) { Kombo::GetLmsUsersPositiveResponse.new } + + describe 'test an instance of GetLmsUsersPositiveResponse' do + it 'should create an instance of GetLmsUsersPositiveResponse' do + # uncomment below to test the instance creation + #expect(instance).to be_instance_of(Kombo::GetLmsUsersPositiveResponse) + end + end + + describe 'test attribute "status"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + # validator = Petstore::EnumTest::EnumAttributeValidator.new('String', ["success"]) + # validator.allowable_values.each do |value| + # expect { instance.status = value }.not_to raise_error + # end + end + end + + describe 'test attribute "data"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/get_tools_category_parameter_category_spec.rb b/spec/models/get_tools_category_parameter_category_spec.rb new file mode 100644 index 0000000..2b44177 --- /dev/null +++ b/spec/models/get_tools_category_parameter_category_spec.rb @@ -0,0 +1,30 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.13.0 + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Kombo::GetToolsCategoryParameterCategory +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Kombo::GetToolsCategoryParameterCategory do + let(:instance) { Kombo::GetToolsCategoryParameterCategory.new } + + describe 'test an instance of GetToolsCategoryParameterCategory' do + it 'should create an instance of GetToolsCategoryParameterCategory' do + # uncomment below to test the instance creation + #expect(instance).to be_instance_of(Kombo::GetToolsCategoryParameterCategory) + end + end + +end diff --git a/spec/models/get_tools_category_positive_response_data_spec.rb b/spec/models/get_tools_category_positive_response_data_spec.rb new file mode 100644 index 0000000..b21dbcd --- /dev/null +++ b/spec/models/get_tools_category_positive_response_data_spec.rb @@ -0,0 +1,36 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.13.0 + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Kombo::GetToolsCategoryPositiveResponseData +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Kombo::GetToolsCategoryPositiveResponseData do + let(:instance) { Kombo::GetToolsCategoryPositiveResponseData.new } + + describe 'test an instance of GetToolsCategoryPositiveResponseData' do + it 'should create an instance of GetToolsCategoryPositiveResponseData' do + # uncomment below to test the instance creation + #expect(instance).to be_instance_of(Kombo::GetToolsCategoryPositiveResponseData) + end + end + + describe 'test attribute "tools"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/get_tools_category_positive_response_data_tools_inner_assets_spec.rb b/spec/models/get_tools_category_positive_response_data_tools_inner_assets_spec.rb new file mode 100644 index 0000000..1590e93 --- /dev/null +++ b/spec/models/get_tools_category_positive_response_data_tools_inner_assets_spec.rb @@ -0,0 +1,48 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.13.0 + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Kombo::GetToolsCategoryPositiveResponseDataToolsInnerAssets +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Kombo::GetToolsCategoryPositiveResponseDataToolsInnerAssets do + let(:instance) { Kombo::GetToolsCategoryPositiveResponseDataToolsInnerAssets.new } + + describe 'test an instance of GetToolsCategoryPositiveResponseDataToolsInnerAssets' do + it 'should create an instance of GetToolsCategoryPositiveResponseDataToolsInnerAssets' do + # uncomment below to test the instance creation + #expect(instance).to be_instance_of(Kombo::GetToolsCategoryPositiveResponseDataToolsInnerAssets) + end + end + + describe 'test attribute "logo_url"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "icon_url"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "icon_black_url"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/get_tools_category_positive_response_data_tools_inner_coverage_features_inner_spec.rb b/spec/models/get_tools_category_positive_response_data_tools_inner_coverage_features_inner_spec.rb new file mode 100644 index 0000000..7955844 --- /dev/null +++ b/spec/models/get_tools_category_positive_response_data_tools_inner_coverage_features_inner_spec.rb @@ -0,0 +1,52 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.13.0 + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Kombo::GetToolsCategoryPositiveResponseDataToolsInnerCoverageFeaturesInner +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Kombo::GetToolsCategoryPositiveResponseDataToolsInnerCoverageFeaturesInner do + let(:instance) { Kombo::GetToolsCategoryPositiveResponseDataToolsInnerCoverageFeaturesInner.new } + + describe 'test an instance of GetToolsCategoryPositiveResponseDataToolsInnerCoverageFeaturesInner' do + it 'should create an instance of GetToolsCategoryPositiveResponseDataToolsInnerCoverageFeaturesInner' do + # uncomment below to test the instance creation + #expect(instance).to be_instance_of(Kombo::GetToolsCategoryPositiveResponseDataToolsInnerCoverageFeaturesInner) + end + end + + describe 'test attribute "id"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "label"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "coverage_status"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + # validator = Petstore::EnumTest::EnumAttributeValidator.new('String', ["SUPPORTED", "UNSUPPORTED", "NOT_IMPLEMENTED", "UNKNOWN"]) + # validator.allowable_values.each do |value| + # expect { instance.coverage_status = value }.not_to raise_error + # end + end + end + +end diff --git a/spec/models/get_tools_category_positive_response_data_tools_inner_coverage_read_models_inner_fields_inner_spec.rb b/spec/models/get_tools_category_positive_response_data_tools_inner_coverage_read_models_inner_fields_inner_spec.rb new file mode 100644 index 0000000..75ca62d --- /dev/null +++ b/spec/models/get_tools_category_positive_response_data_tools_inner_coverage_read_models_inner_fields_inner_spec.rb @@ -0,0 +1,46 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.13.0 + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Kombo::GetToolsCategoryPositiveResponseDataToolsInnerCoverageReadModelsInnerFieldsInner +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Kombo::GetToolsCategoryPositiveResponseDataToolsInnerCoverageReadModelsInnerFieldsInner do + let(:instance) { Kombo::GetToolsCategoryPositiveResponseDataToolsInnerCoverageReadModelsInnerFieldsInner.new } + + describe 'test an instance of GetToolsCategoryPositiveResponseDataToolsInnerCoverageReadModelsInnerFieldsInner' do + it 'should create an instance of GetToolsCategoryPositiveResponseDataToolsInnerCoverageReadModelsInnerFieldsInner' do + # uncomment below to test the instance creation + #expect(instance).to be_instance_of(Kombo::GetToolsCategoryPositiveResponseDataToolsInnerCoverageReadModelsInnerFieldsInner) + end + end + + describe 'test attribute "id"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "coverage_status"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + # validator = Petstore::EnumTest::EnumAttributeValidator.new('String', ["SUPPORTED", "UNSUPPORTED", "NOT_IMPLEMENTED", "UNKNOWN"]) + # validator.allowable_values.each do |value| + # expect { instance.coverage_status = value }.not_to raise_error + # end + end + end + +end diff --git a/spec/models/get_tools_category_positive_response_data_tools_inner_coverage_read_models_inner_spec.rb b/spec/models/get_tools_category_positive_response_data_tools_inner_coverage_read_models_inner_spec.rb new file mode 100644 index 0000000..b490a09 --- /dev/null +++ b/spec/models/get_tools_category_positive_response_data_tools_inner_coverage_read_models_inner_spec.rb @@ -0,0 +1,58 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.13.0 + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Kombo::GetToolsCategoryPositiveResponseDataToolsInnerCoverageReadModelsInner +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Kombo::GetToolsCategoryPositiveResponseDataToolsInnerCoverageReadModelsInner do + let(:instance) { Kombo::GetToolsCategoryPositiveResponseDataToolsInnerCoverageReadModelsInner.new } + + describe 'test an instance of GetToolsCategoryPositiveResponseDataToolsInnerCoverageReadModelsInner' do + it 'should create an instance of GetToolsCategoryPositiveResponseDataToolsInnerCoverageReadModelsInner' do + # uncomment below to test the instance creation + #expect(instance).to be_instance_of(Kombo::GetToolsCategoryPositiveResponseDataToolsInnerCoverageReadModelsInner) + end + end + + describe 'test attribute "id"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "label"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "coverage_status"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + # validator = Petstore::EnumTest::EnumAttributeValidator.new('String', ["SUPPORTED", "UNSUPPORTED", "NOT_IMPLEMENTED", "UNKNOWN"]) + # validator.allowable_values.each do |value| + # expect { instance.coverage_status = value }.not_to raise_error + # end + end + end + + describe 'test attribute "fields"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/get_tools_category_positive_response_data_tools_inner_coverage_spec.rb b/spec/models/get_tools_category_positive_response_data_tools_inner_coverage_spec.rb new file mode 100644 index 0000000..2c83adf --- /dev/null +++ b/spec/models/get_tools_category_positive_response_data_tools_inner_coverage_spec.rb @@ -0,0 +1,48 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.13.0 + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Kombo::GetToolsCategoryPositiveResponseDataToolsInnerCoverage +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Kombo::GetToolsCategoryPositiveResponseDataToolsInnerCoverage do + let(:instance) { Kombo::GetToolsCategoryPositiveResponseDataToolsInnerCoverage.new } + + describe 'test an instance of GetToolsCategoryPositiveResponseDataToolsInnerCoverage' do + it 'should create an instance of GetToolsCategoryPositiveResponseDataToolsInnerCoverage' do + # uncomment below to test the instance creation + #expect(instance).to be_instance_of(Kombo::GetToolsCategoryPositiveResponseDataToolsInnerCoverage) + end + end + + describe 'test attribute "read_models"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "write_actions"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "features"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/get_tools_category_positive_response_data_tools_inner_coverage_write_actions_inner_spec.rb b/spec/models/get_tools_category_positive_response_data_tools_inner_coverage_write_actions_inner_spec.rb new file mode 100644 index 0000000..6d43280 --- /dev/null +++ b/spec/models/get_tools_category_positive_response_data_tools_inner_coverage_write_actions_inner_spec.rb @@ -0,0 +1,52 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.13.0 + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Kombo::GetToolsCategoryPositiveResponseDataToolsInnerCoverageWriteActionsInner +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Kombo::GetToolsCategoryPositiveResponseDataToolsInnerCoverageWriteActionsInner do + let(:instance) { Kombo::GetToolsCategoryPositiveResponseDataToolsInnerCoverageWriteActionsInner.new } + + describe 'test an instance of GetToolsCategoryPositiveResponseDataToolsInnerCoverageWriteActionsInner' do + it 'should create an instance of GetToolsCategoryPositiveResponseDataToolsInnerCoverageWriteActionsInner' do + # uncomment below to test the instance creation + #expect(instance).to be_instance_of(Kombo::GetToolsCategoryPositiveResponseDataToolsInnerCoverageWriteActionsInner) + end + end + + describe 'test attribute "id"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "label"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "coverage_status"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + # validator = Petstore::EnumTest::EnumAttributeValidator.new('String', ["SUPPORTED", "UNSUPPORTED", "NOT_IMPLEMENTED", "UNKNOWN"]) + # validator.allowable_values.each do |value| + # expect { instance.coverage_status = value }.not_to raise_error + # end + end + end + +end diff --git a/spec/models/get_tools_category_positive_response_data_tools_inner_spec.rb b/spec/models/get_tools_category_positive_response_data_tools_inner_spec.rb new file mode 100644 index 0000000..5146c06 --- /dev/null +++ b/spec/models/get_tools_category_positive_response_data_tools_inner_spec.rb @@ -0,0 +1,84 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.13.0 + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Kombo::GetToolsCategoryPositiveResponseDataToolsInner +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Kombo::GetToolsCategoryPositiveResponseDataToolsInner do + let(:instance) { Kombo::GetToolsCategoryPositiveResponseDataToolsInner.new } + + describe 'test an instance of GetToolsCategoryPositiveResponseDataToolsInner' do + it 'should create an instance of GetToolsCategoryPositiveResponseDataToolsInner' do + # uncomment below to test the instance creation + #expect(instance).to be_instance_of(Kombo::GetToolsCategoryPositiveResponseDataToolsInner) + end + end + + describe 'test attribute "id"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "label"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "internal_label"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "assets"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "paid_api_details_markdown"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "fast_track_details_markdown"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "partner_only_details_markdown"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "connection_guide_url"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "coverage"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/get_tools_category_positive_response_spec.rb b/spec/models/get_tools_category_positive_response_spec.rb new file mode 100644 index 0000000..5cb8dc0 --- /dev/null +++ b/spec/models/get_tools_category_positive_response_spec.rb @@ -0,0 +1,46 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.13.0 + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Kombo::GetToolsCategoryPositiveResponse +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Kombo::GetToolsCategoryPositiveResponse do + let(:instance) { Kombo::GetToolsCategoryPositiveResponse.new } + + describe 'test an instance of GetToolsCategoryPositiveResponse' do + it 'should create an instance of GetToolsCategoryPositiveResponse' do + # uncomment below to test the instance creation + #expect(instance).to be_instance_of(Kombo::GetToolsCategoryPositiveResponse) + end + end + + describe 'test attribute "status"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + # validator = Petstore::EnumTest::EnumAttributeValidator.new('String', ["success"]) + # validator.allowable_values.each do |value| + # expect { instance.status = value }.not_to raise_error + # end + end + end + + describe 'test attribute "data"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/inline_assessment_order_received_webhook_payload_spec.rb b/spec/models/inline_assessment_order_received_webhook_payload_spec.rb new file mode 100644 index 0000000..d423d35 --- /dev/null +++ b/spec/models/inline_assessment_order_received_webhook_payload_spec.rb @@ -0,0 +1,52 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.13.0 + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Kombo::InlineAssessmentOrderReceivedWebhookPayload +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Kombo::InlineAssessmentOrderReceivedWebhookPayload do + let(:instance) { Kombo::InlineAssessmentOrderReceivedWebhookPayload.new } + + describe 'test an instance of InlineAssessmentOrderReceivedWebhookPayload' do + it 'should create an instance of InlineAssessmentOrderReceivedWebhookPayload' do + # uncomment below to test the instance creation + #expect(instance).to be_instance_of(Kombo::InlineAssessmentOrderReceivedWebhookPayload) + end + end + + describe 'test attribute "id"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "type"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + # validator = Petstore::EnumTest::EnumAttributeValidator.new('String', ["inline-assessment:order-received"]) + # validator.allowable_values.each do |value| + # expect { instance.type = value }.not_to raise_error + # end + end + end + + describe 'test attribute "data"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/inline_object1_error_spec.rb b/spec/models/inline_object1_error_spec.rb new file mode 100644 index 0000000..a6f0106 --- /dev/null +++ b/spec/models/inline_object1_error_spec.rb @@ -0,0 +1,58 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.13.0 + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Kombo::InlineObject1Error +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Kombo::InlineObject1Error do + let(:instance) { Kombo::InlineObject1Error.new } + + describe 'test an instance of InlineObject1Error' do + it 'should create an instance of InlineObject1Error' do + # uncomment below to test the instance creation + #expect(instance).to be_instance_of(Kombo::InlineObject1Error) + end + end + + describe 'test attribute "code"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + # validator = Petstore::EnumTest::EnumAttributeValidator.new('String', ["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"]) + # validator.allowable_values.each do |value| + # expect { instance.code = value }.not_to raise_error + # end + end + end + + describe 'test attribute "title"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "message"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "log_url"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/inline_object1_spec.rb b/spec/models/inline_object1_spec.rb new file mode 100644 index 0000000..0be6868 --- /dev/null +++ b/spec/models/inline_object1_spec.rb @@ -0,0 +1,46 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.13.0 + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Kombo::InlineObject1 +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Kombo::InlineObject1 do + let(:instance) { Kombo::InlineObject1.new } + + describe 'test an instance of InlineObject1' do + it 'should create an instance of InlineObject1' do + # uncomment below to test the instance creation + #expect(instance).to be_instance_of(Kombo::InlineObject1) + end + end + + describe 'test attribute "status"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + # validator = Petstore::EnumTest::EnumAttributeValidator.new('String', ["error"]) + # validator.allowable_values.each do |value| + # expect { instance.status = value }.not_to raise_error + # end + end + end + + describe 'test attribute "error"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/inline_object2_error_spec.rb b/spec/models/inline_object2_error_spec.rb new file mode 100644 index 0000000..10d85c6 --- /dev/null +++ b/spec/models/inline_object2_error_spec.rb @@ -0,0 +1,58 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.13.0 + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Kombo::InlineObject2Error +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Kombo::InlineObject2Error do + let(:instance) { Kombo::InlineObject2Error.new } + + describe 'test an instance of InlineObject2Error' do + it 'should create an instance of InlineObject2Error' do + # uncomment below to test the instance creation + #expect(instance).to be_instance_of(Kombo::InlineObject2Error) + end + end + + describe 'test attribute "code"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + # validator = Petstore::EnumTest::EnumAttributeValidator.new('String', ["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"]) + # validator.allowable_values.each do |value| + # expect { instance.code = value }.not_to raise_error + # end + end + end + + describe 'test attribute "title"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "message"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "log_url"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/inline_object2_spec.rb b/spec/models/inline_object2_spec.rb new file mode 100644 index 0000000..59bd5c2 --- /dev/null +++ b/spec/models/inline_object2_spec.rb @@ -0,0 +1,46 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.13.0 + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Kombo::InlineObject2 +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Kombo::InlineObject2 do + let(:instance) { Kombo::InlineObject2.new } + + describe 'test an instance of InlineObject2' do + it 'should create an instance of InlineObject2' do + # uncomment below to test the instance creation + #expect(instance).to be_instance_of(Kombo::InlineObject2) + end + end + + describe 'test attribute "status"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + # validator = Petstore::EnumTest::EnumAttributeValidator.new('String', ["error"]) + # validator.allowable_values.each do |value| + # expect { instance.status = value }.not_to raise_error + # end + end + end + + describe 'test attribute "error"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/inline_object3_error_spec.rb b/spec/models/inline_object3_error_spec.rb new file mode 100644 index 0000000..d238286 --- /dev/null +++ b/spec/models/inline_object3_error_spec.rb @@ -0,0 +1,58 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.13.0 + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Kombo::InlineObject3Error +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Kombo::InlineObject3Error do + let(:instance) { Kombo::InlineObject3Error.new } + + describe 'test an instance of InlineObject3Error' do + it 'should create an instance of InlineObject3Error' do + # uncomment below to test the instance creation + #expect(instance).to be_instance_of(Kombo::InlineObject3Error) + end + end + + describe 'test attribute "code"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + # validator = Petstore::EnumTest::EnumAttributeValidator.new('String', ["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"]) + # validator.allowable_values.each do |value| + # expect { instance.code = value }.not_to raise_error + # end + end + end + + describe 'test attribute "title"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "message"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "log_url"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/inline_object3_spec.rb b/spec/models/inline_object3_spec.rb new file mode 100644 index 0000000..4e2b9c8 --- /dev/null +++ b/spec/models/inline_object3_spec.rb @@ -0,0 +1,46 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.13.0 + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Kombo::InlineObject3 +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Kombo::InlineObject3 do + let(:instance) { Kombo::InlineObject3.new } + + describe 'test an instance of InlineObject3' do + it 'should create an instance of InlineObject3' do + # uncomment below to test the instance creation + #expect(instance).to be_instance_of(Kombo::InlineObject3) + end + end + + describe 'test attribute "status"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + # validator = Petstore::EnumTest::EnumAttributeValidator.new('String', ["error"]) + # validator.allowable_values.each do |value| + # expect { instance.status = value }.not_to raise_error + # end + end + end + + describe 'test attribute "error"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/inline_object_error_spec.rb b/spec/models/inline_object_error_spec.rb new file mode 100644 index 0000000..65921f1 --- /dev/null +++ b/spec/models/inline_object_error_spec.rb @@ -0,0 +1,58 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.13.0 + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Kombo::InlineObjectError +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Kombo::InlineObjectError do + let(:instance) { Kombo::InlineObjectError.new } + + describe 'test an instance of InlineObjectError' do + it 'should create an instance of InlineObjectError' do + # uncomment below to test the instance creation + #expect(instance).to be_instance_of(Kombo::InlineObjectError) + end + end + + describe 'test attribute "code"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + # validator = Petstore::EnumTest::EnumAttributeValidator.new('String', ["PLATFORM.RATE_LIMIT_EXCEEDED", "PLATFORM.INTEGRATION_NOT_FOUND", "PLATFORM.INPUT_INVALID", "PLATFORM.UNKNOWN_ERROR", "PLATFORM.IP_NOT_WHITELISTED", "PLATFORM.AUTHENTICATION_INVALID"]) + # validator.allowable_values.each do |value| + # expect { instance.code = value }.not_to raise_error + # end + end + end + + describe 'test attribute "title"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "message"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "log_url"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/inline_object_spec.rb b/spec/models/inline_object_spec.rb new file mode 100644 index 0000000..99c4bf7 --- /dev/null +++ b/spec/models/inline_object_spec.rb @@ -0,0 +1,46 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.13.0 + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Kombo::InlineObject +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Kombo::InlineObject do + let(:instance) { Kombo::InlineObject.new } + + describe 'test an instance of InlineObject' do + it 'should create an instance of InlineObject' do + # uncomment below to test the instance creation + #expect(instance).to be_instance_of(Kombo::InlineObject) + end + end + + describe 'test attribute "status"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + # validator = Petstore::EnumTest::EnumAttributeValidator.new('String', ["error"]) + # validator.allowable_values.each do |value| + # expect { instance.status = value }.not_to raise_error + # end + end + end + + describe 'test attribute "error"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/integration_created_webhook_payload_data_spec.rb b/spec/models/integration_created_webhook_payload_data_spec.rb new file mode 100644 index 0000000..151e1f9 --- /dev/null +++ b/spec/models/integration_created_webhook_payload_data_spec.rb @@ -0,0 +1,58 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.13.0 + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Kombo::IntegrationCreatedWebhookPayloadData +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Kombo::IntegrationCreatedWebhookPayloadData do + let(:instance) { Kombo::IntegrationCreatedWebhookPayloadData.new } + + describe 'test an instance of IntegrationCreatedWebhookPayloadData' do + it 'should create an instance of IntegrationCreatedWebhookPayloadData' do + # uncomment below to test the instance creation + #expect(instance).to be_instance_of(Kombo::IntegrationCreatedWebhookPayloadData) + end + end + + describe 'test attribute "id"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "tool"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "category"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + # validator = Petstore::EnumTest::EnumAttributeValidator.new('String', ["HRIS", "ATS", "ASSESSMENT"]) + # validator.allowable_values.each do |value| + # expect { instance.category = value }.not_to raise_error + # end + end + end + + describe 'test attribute "end_user"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/integration_created_webhook_payload_spec.rb b/spec/models/integration_created_webhook_payload_spec.rb new file mode 100644 index 0000000..2f0d896 --- /dev/null +++ b/spec/models/integration_created_webhook_payload_spec.rb @@ -0,0 +1,52 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.13.0 + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Kombo::IntegrationCreatedWebhookPayload +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Kombo::IntegrationCreatedWebhookPayload do + let(:instance) { Kombo::IntegrationCreatedWebhookPayload.new } + + describe 'test an instance of IntegrationCreatedWebhookPayload' do + it 'should create an instance of IntegrationCreatedWebhookPayload' do + # uncomment below to test the instance creation + #expect(instance).to be_instance_of(Kombo::IntegrationCreatedWebhookPayload) + end + end + + describe 'test attribute "id"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "type"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + # validator = Petstore::EnumTest::EnumAttributeValidator.new('String', ["integration-created"]) + # validator.allowable_values.each do |value| + # expect { instance.type = value }.not_to raise_error + # end + end + end + + describe 'test attribute "data"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/integration_deleted_webhook_payload_data_spec.rb b/spec/models/integration_deleted_webhook_payload_data_spec.rb new file mode 100644 index 0000000..32d4546 --- /dev/null +++ b/spec/models/integration_deleted_webhook_payload_data_spec.rb @@ -0,0 +1,64 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.13.0 + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Kombo::IntegrationDeletedWebhookPayloadData +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Kombo::IntegrationDeletedWebhookPayloadData do + let(:instance) { Kombo::IntegrationDeletedWebhookPayloadData.new } + + describe 'test an instance of IntegrationDeletedWebhookPayloadData' do + it 'should create an instance of IntegrationDeletedWebhookPayloadData' do + # uncomment below to test the instance creation + #expect(instance).to be_instance_of(Kombo::IntegrationDeletedWebhookPayloadData) + end + end + + describe 'test attribute "id"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "tool"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "category"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + # validator = Petstore::EnumTest::EnumAttributeValidator.new('String', ["HRIS", "ATS", "ASSESSMENT"]) + # validator.allowable_values.each do |value| + # expect { instance.category = value }.not_to raise_error + # end + end + end + + describe 'test attribute "end_user"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "deleted_at"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/integration_deleted_webhook_payload_spec.rb b/spec/models/integration_deleted_webhook_payload_spec.rb new file mode 100644 index 0000000..8d2f270 --- /dev/null +++ b/spec/models/integration_deleted_webhook_payload_spec.rb @@ -0,0 +1,52 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.13.0 + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Kombo::IntegrationDeletedWebhookPayload +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Kombo::IntegrationDeletedWebhookPayload do + let(:instance) { Kombo::IntegrationDeletedWebhookPayload.new } + + describe 'test an instance of IntegrationDeletedWebhookPayload' do + it 'should create an instance of IntegrationDeletedWebhookPayload' do + # uncomment below to test the instance creation + #expect(instance).to be_instance_of(Kombo::IntegrationDeletedWebhookPayload) + end + end + + describe 'test attribute "id"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "type"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + # validator = Petstore::EnumTest::EnumAttributeValidator.new('String', ["integration-deleted"]) + # validator.allowable_values.each do |value| + # expect { instance.type = value }.not_to raise_error + # end + end + end + + describe 'test attribute "data"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/integration_state_changed_webhook_payload_data_spec.rb b/spec/models/integration_state_changed_webhook_payload_data_spec.rb new file mode 100644 index 0000000..ec85653 --- /dev/null +++ b/spec/models/integration_state_changed_webhook_payload_data_spec.rb @@ -0,0 +1,84 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.13.0 + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Kombo::IntegrationStateChangedWebhookPayloadData +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Kombo::IntegrationStateChangedWebhookPayloadData do + let(:instance) { Kombo::IntegrationStateChangedWebhookPayloadData.new } + + describe 'test an instance of IntegrationStateChangedWebhookPayloadData' do + it 'should create an instance of IntegrationStateChangedWebhookPayloadData' do + # uncomment below to test the instance creation + #expect(instance).to be_instance_of(Kombo::IntegrationStateChangedWebhookPayloadData) + end + end + + describe 'test attribute "integration_tool"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "integration_id"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "integration_category"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + # validator = Petstore::EnumTest::EnumAttributeValidator.new('String', ["HRIS", "ATS", "ASSESSMENT"]) + # validator.allowable_values.each do |value| + # expect { instance.integration_category = value }.not_to raise_error + # end + end + end + + describe 'test attribute "end_user"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "qa_status"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + # validator = Petstore::EnumTest::EnumAttributeValidator.new('String', ["PENDING", "FAILED", "PASSED"]) + # validator.allowable_values.each do |value| + # expect { instance.qa_status = value }.not_to raise_error + # end + end + end + + describe 'test attribute "state"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + # validator = Petstore::EnumTest::EnumAttributeValidator.new('String', ["ACTIVE", "INVALID", "INACTIVE"]) + # validator.allowable_values.each do |value| + # expect { instance.state = value }.not_to raise_error + # end + end + end + + describe 'test attribute "updated_at"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/integration_state_changed_webhook_payload_spec.rb b/spec/models/integration_state_changed_webhook_payload_spec.rb new file mode 100644 index 0000000..271e055 --- /dev/null +++ b/spec/models/integration_state_changed_webhook_payload_spec.rb @@ -0,0 +1,52 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.13.0 + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Kombo::IntegrationStateChangedWebhookPayload +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Kombo::IntegrationStateChangedWebhookPayload do + let(:instance) { Kombo::IntegrationStateChangedWebhookPayload.new } + + describe 'test an instance of IntegrationStateChangedWebhookPayload' do + it 'should create an instance of IntegrationStateChangedWebhookPayload' do + # uncomment below to test the instance creation + #expect(instance).to be_instance_of(Kombo::IntegrationStateChangedWebhookPayload) + end + end + + describe 'test attribute "id"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "type"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + # validator = Petstore::EnumTest::EnumAttributeValidator.new('String', ["integration-state-changed"]) + # validator.allowable_values.each do |value| + # expect { instance.type = value }.not_to raise_error + # end + end + end + + describe 'test attribute "data"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/patch_ats_applications_application_id_interviews_positive_response_spec.rb b/spec/models/patch_ats_applications_application_id_interviews_positive_response_spec.rb new file mode 100644 index 0000000..b63d9af --- /dev/null +++ b/spec/models/patch_ats_applications_application_id_interviews_positive_response_spec.rb @@ -0,0 +1,46 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.13.0 + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Kombo::PatchAtsApplicationsApplicationIdInterviewsPositiveResponse +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Kombo::PatchAtsApplicationsApplicationIdInterviewsPositiveResponse do + let(:instance) { Kombo::PatchAtsApplicationsApplicationIdInterviewsPositiveResponse.new } + + describe 'test an instance of PatchAtsApplicationsApplicationIdInterviewsPositiveResponse' do + it 'should create an instance of PatchAtsApplicationsApplicationIdInterviewsPositiveResponse' do + # uncomment below to test the instance creation + #expect(instance).to be_instance_of(Kombo::PatchAtsApplicationsApplicationIdInterviewsPositiveResponse) + end + end + + describe 'test attribute "status"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + # validator = Petstore::EnumTest::EnumAttributeValidator.new('String', ["success"]) + # validator.allowable_values.each do |value| + # expect { instance.status = value }.not_to raise_error + # end + end + end + + describe 'test attribute "data"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/patch_ats_applications_application_id_interviews_request_body_location_spec.rb b/spec/models/patch_ats_applications_application_id_interviews_request_body_location_spec.rb new file mode 100644 index 0000000..32192e8 --- /dev/null +++ b/spec/models/patch_ats_applications_application_id_interviews_request_body_location_spec.rb @@ -0,0 +1,46 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.13.0 + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Kombo::PatchAtsApplicationsApplicationIdInterviewsRequestBodyLocation +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Kombo::PatchAtsApplicationsApplicationIdInterviewsRequestBodyLocation do + let(:instance) { Kombo::PatchAtsApplicationsApplicationIdInterviewsRequestBodyLocation.new } + + describe 'test an instance of PatchAtsApplicationsApplicationIdInterviewsRequestBodyLocation' do + it 'should create an instance of PatchAtsApplicationsApplicationIdInterviewsRequestBodyLocation' do + # uncomment below to test the instance creation + #expect(instance).to be_instance_of(Kombo::PatchAtsApplicationsApplicationIdInterviewsRequestBodyLocation) + end + end + + describe 'test attribute "type"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + # validator = Petstore::EnumTest::EnumAttributeValidator.new('String', ["PHYSICAL", "VIRTUAL"]) + # validator.allowable_values.each do |value| + # expect { instance.type = value }.not_to raise_error + # end + end + end + + describe 'test attribute "address"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/patch_ats_applications_application_id_interviews_request_body_spec.rb b/spec/models/patch_ats_applications_application_id_interviews_request_body_spec.rb new file mode 100644 index 0000000..28b903d --- /dev/null +++ b/spec/models/patch_ats_applications_application_id_interviews_request_body_spec.rb @@ -0,0 +1,72 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.13.0 + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Kombo::PatchAtsApplicationsApplicationIdInterviewsRequestBody +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Kombo::PatchAtsApplicationsApplicationIdInterviewsRequestBody do + let(:instance) { Kombo::PatchAtsApplicationsApplicationIdInterviewsRequestBody.new } + + describe 'test an instance of PatchAtsApplicationsApplicationIdInterviewsRequestBody' do + it 'should create an instance of PatchAtsApplicationsApplicationIdInterviewsRequestBody' do + # uncomment below to test the instance creation + #expect(instance).to be_instance_of(Kombo::PatchAtsApplicationsApplicationIdInterviewsRequestBody) + end + end + + describe 'test attribute "interview_id"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "title"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "start_time"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "end_time"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "interviewer_user_ids"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "organizer_user_id"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "location"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/patch_hris_employee_skill_assignments_employee_skill_assignment_id_positive_response_spec.rb b/spec/models/patch_hris_employee_skill_assignments_employee_skill_assignment_id_positive_response_spec.rb new file mode 100644 index 0000000..1ada736 --- /dev/null +++ b/spec/models/patch_hris_employee_skill_assignments_employee_skill_assignment_id_positive_response_spec.rb @@ -0,0 +1,46 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.13.0 + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Kombo::PatchHrisEmployeeSkillAssignmentsEmployeeSkillAssignmentIdPositiveResponse +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Kombo::PatchHrisEmployeeSkillAssignmentsEmployeeSkillAssignmentIdPositiveResponse do + let(:instance) { Kombo::PatchHrisEmployeeSkillAssignmentsEmployeeSkillAssignmentIdPositiveResponse.new } + + describe 'test an instance of PatchHrisEmployeeSkillAssignmentsEmployeeSkillAssignmentIdPositiveResponse' do + it 'should create an instance of PatchHrisEmployeeSkillAssignmentsEmployeeSkillAssignmentIdPositiveResponse' do + # uncomment below to test the instance creation + #expect(instance).to be_instance_of(Kombo::PatchHrisEmployeeSkillAssignmentsEmployeeSkillAssignmentIdPositiveResponse) + end + end + + describe 'test attribute "status"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + # validator = Petstore::EnumTest::EnumAttributeValidator.new('String', ["success"]) + # validator.allowable_values.each do |value| + # expect { instance.status = value }.not_to raise_error + # end + end + end + + describe 'test attribute "data"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/patch_hris_employee_skill_assignments_employee_skill_assignment_id_request_body_spec.rb b/spec/models/patch_hris_employee_skill_assignments_employee_skill_assignment_id_request_body_spec.rb new file mode 100644 index 0000000..cc15426 --- /dev/null +++ b/spec/models/patch_hris_employee_skill_assignments_employee_skill_assignment_id_request_body_spec.rb @@ -0,0 +1,36 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.13.0 + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Kombo::PatchHrisEmployeeSkillAssignmentsEmployeeSkillAssignmentIdRequestBody +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Kombo::PatchHrisEmployeeSkillAssignmentsEmployeeSkillAssignmentIdRequestBody do + let(:instance) { Kombo::PatchHrisEmployeeSkillAssignmentsEmployeeSkillAssignmentIdRequestBody.new } + + describe 'test an instance of PatchHrisEmployeeSkillAssignmentsEmployeeSkillAssignmentIdRequestBody' do + it 'should create an instance of PatchHrisEmployeeSkillAssignmentsEmployeeSkillAssignmentIdRequestBody' do + # uncomment below to test the instance creation + #expect(instance).to be_instance_of(Kombo::PatchHrisEmployeeSkillAssignmentsEmployeeSkillAssignmentIdRequestBody) + end + end + + describe 'test attribute "current_level"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/patch_hris_employees_employee_id_positive_response_data_spec.rb b/spec/models/patch_hris_employees_employee_id_positive_response_data_spec.rb new file mode 100644 index 0000000..e545372 --- /dev/null +++ b/spec/models/patch_hris_employees_employee_id_positive_response_data_spec.rb @@ -0,0 +1,222 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.13.0 + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Kombo::PatchHrisEmployeesEmployeeIdPositiveResponseData +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Kombo::PatchHrisEmployeesEmployeeIdPositiveResponseData do + let(:instance) { Kombo::PatchHrisEmployeesEmployeeIdPositiveResponseData.new } + + describe 'test an instance of PatchHrisEmployeesEmployeeIdPositiveResponseData' do + it 'should create an instance of PatchHrisEmployeesEmployeeIdPositiveResponseData' do + # uncomment below to test the instance creation + #expect(instance).to be_instance_of(Kombo::PatchHrisEmployeesEmployeeIdPositiveResponseData) + end + end + + describe 'test attribute "id"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "remote_id"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "employee_number"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "first_name"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "last_name"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "nationality"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "display_full_name"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "job_title"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "work_email"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "personal_email"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "mobile_phone_number"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "ssn"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "tax_id"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "gender"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "ethnicity"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "marital_status"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "employment_status"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "employment_type"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "weekly_hours"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "avatar"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "work_location_id"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "legal_entity_id"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "manager_id"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "home_address"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "bank_accounts"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "date_of_birth"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "start_date"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "termination_date"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "remote_created_at"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "changed_at"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "remote_deleted_at"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "remote_data"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/patch_hris_employees_employee_id_positive_response_spec.rb b/spec/models/patch_hris_employees_employee_id_positive_response_spec.rb new file mode 100644 index 0000000..f704c16 --- /dev/null +++ b/spec/models/patch_hris_employees_employee_id_positive_response_spec.rb @@ -0,0 +1,52 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.13.0 + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Kombo::PatchHrisEmployeesEmployeeIdPositiveResponse +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Kombo::PatchHrisEmployeesEmployeeIdPositiveResponse do + let(:instance) { Kombo::PatchHrisEmployeesEmployeeIdPositiveResponse.new } + + describe 'test an instance of PatchHrisEmployeesEmployeeIdPositiveResponse' do + it 'should create an instance of PatchHrisEmployeesEmployeeIdPositiveResponse' do + # uncomment below to test the instance creation + #expect(instance).to be_instance_of(Kombo::PatchHrisEmployeesEmployeeIdPositiveResponse) + end + end + + describe 'test attribute "status"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + # validator = Petstore::EnumTest::EnumAttributeValidator.new('String', ["success"]) + # validator.allowable_values.each do |value| + # expect { instance.status = value }.not_to raise_error + # end + end + end + + describe 'test attribute "data"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "warnings"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/patch_hris_employees_employee_id_request_body_spec.rb b/spec/models/patch_hris_employees_employee_id_request_body_spec.rb new file mode 100644 index 0000000..bfe8fae --- /dev/null +++ b/spec/models/patch_hris_employees_employee_id_request_body_spec.rb @@ -0,0 +1,146 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.13.0 + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Kombo::PatchHrisEmployeesEmployeeIdRequestBody +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Kombo::PatchHrisEmployeesEmployeeIdRequestBody do + let(:instance) { Kombo::PatchHrisEmployeesEmployeeIdRequestBody.new } + + describe 'test an instance of PatchHrisEmployeesEmployeeIdRequestBody' do + it 'should create an instance of PatchHrisEmployeesEmployeeIdRequestBody' do + # uncomment below to test the instance creation + #expect(instance).to be_instance_of(Kombo::PatchHrisEmployeesEmployeeIdRequestBody) + end + end + + describe 'test attribute "first_name"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "last_name"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "work_email"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "gender"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + # validator = Petstore::EnumTest::EnumAttributeValidator.new('String', ["MALE", "FEMALE", "NON_BINARY", "NOT_SPECIFIED"]) + # validator.allowable_values.each do |value| + # expect { instance.gender = value }.not_to raise_error + # end + end + end + + describe 'test attribute "job_title"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "home_address"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "date_of_birth"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "mobile_phone_number"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "home_phone_number"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "nationality"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "start_date"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "legal_entity_id"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "location_id"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "remote_fields"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "ssn"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "marital_status"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + # validator = Petstore::EnumTest::EnumAttributeValidator.new('String', ["SINGLE", "MARRIED", "DOMESTIC_PARTNERSHIP", "WIDOWED", "DIVORCED", "SEPARATED", "NOT_MARRIED"]) + # validator.allowable_values.each do |value| + # expect { instance.marital_status = value }.not_to raise_error + # end + end + end + + describe 'test attribute "termination_date"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "tax_id"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/patch_hris_skills_skill_id_positive_response_spec.rb b/spec/models/patch_hris_skills_skill_id_positive_response_spec.rb new file mode 100644 index 0000000..0392086 --- /dev/null +++ b/spec/models/patch_hris_skills_skill_id_positive_response_spec.rb @@ -0,0 +1,46 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.13.0 + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Kombo::PatchHrisSkillsSkillIdPositiveResponse +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Kombo::PatchHrisSkillsSkillIdPositiveResponse do + let(:instance) { Kombo::PatchHrisSkillsSkillIdPositiveResponse.new } + + describe 'test an instance of PatchHrisSkillsSkillIdPositiveResponse' do + it 'should create an instance of PatchHrisSkillsSkillIdPositiveResponse' do + # uncomment below to test the instance creation + #expect(instance).to be_instance_of(Kombo::PatchHrisSkillsSkillIdPositiveResponse) + end + end + + describe 'test attribute "status"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + # validator = Petstore::EnumTest::EnumAttributeValidator.new('String', ["success"]) + # validator.allowable_values.each do |value| + # expect { instance.status = value }.not_to raise_error + # end + end + end + + describe 'test attribute "data"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/patch_hris_skills_skill_id_request_body_spec.rb b/spec/models/patch_hris_skills_skill_id_request_body_spec.rb new file mode 100644 index 0000000..bc477cc --- /dev/null +++ b/spec/models/patch_hris_skills_skill_id_request_body_spec.rb @@ -0,0 +1,42 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.13.0 + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Kombo::PatchHrisSkillsSkillIdRequestBody +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Kombo::PatchHrisSkillsSkillIdRequestBody do + let(:instance) { Kombo::PatchHrisSkillsSkillIdRequestBody.new } + + describe 'test an instance of PatchHrisSkillsSkillIdRequestBody' do + it 'should create an instance of PatchHrisSkillsSkillIdRequestBody' do + # uncomment below to test the instance creation + #expect(instance).to be_instance_of(Kombo::PatchHrisSkillsSkillIdRequestBody) + end + end + + describe 'test attribute "name"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "levels"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/patch_integrations_integration_id_integration_fields_integration_field_id_positive_response_spec.rb b/spec/models/patch_integrations_integration_id_integration_fields_integration_field_id_positive_response_spec.rb new file mode 100644 index 0000000..02ade4a --- /dev/null +++ b/spec/models/patch_integrations_integration_id_integration_fields_integration_field_id_positive_response_spec.rb @@ -0,0 +1,46 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.13.0 + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Kombo::PatchIntegrationsIntegrationIdIntegrationFieldsIntegrationFieldIdPositiveResponse +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Kombo::PatchIntegrationsIntegrationIdIntegrationFieldsIntegrationFieldIdPositiveResponse do + let(:instance) { Kombo::PatchIntegrationsIntegrationIdIntegrationFieldsIntegrationFieldIdPositiveResponse.new } + + describe 'test an instance of PatchIntegrationsIntegrationIdIntegrationFieldsIntegrationFieldIdPositiveResponse' do + it 'should create an instance of PatchIntegrationsIntegrationIdIntegrationFieldsIntegrationFieldIdPositiveResponse' do + # uncomment below to test the instance creation + #expect(instance).to be_instance_of(Kombo::PatchIntegrationsIntegrationIdIntegrationFieldsIntegrationFieldIdPositiveResponse) + end + end + + describe 'test attribute "status"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + # validator = Petstore::EnumTest::EnumAttributeValidator.new('String', ["success"]) + # validator.allowable_values.each do |value| + # expect { instance.status = value }.not_to raise_error + # end + end + end + + describe 'test attribute "data"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/patch_integrations_integration_id_integration_fields_integration_field_id_request_body_spec.rb b/spec/models/patch_integrations_integration_id_integration_fields_integration_field_id_request_body_spec.rb new file mode 100644 index 0000000..a618241 --- /dev/null +++ b/spec/models/patch_integrations_integration_id_integration_fields_integration_field_id_request_body_spec.rb @@ -0,0 +1,36 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.13.0 + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Kombo::PatchIntegrationsIntegrationIdIntegrationFieldsIntegrationFieldIdRequestBody +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Kombo::PatchIntegrationsIntegrationIdIntegrationFieldsIntegrationFieldIdRequestBody do + let(:instance) { Kombo::PatchIntegrationsIntegrationIdIntegrationFieldsIntegrationFieldIdRequestBody.new } + + describe 'test an instance of PatchIntegrationsIntegrationIdIntegrationFieldsIntegrationFieldIdRequestBody' do + it 'should create an instance of PatchIntegrationsIntegrationIdIntegrationFieldsIntegrationFieldIdRequestBody' do + # uncomment below to test the instance creation + #expect(instance).to be_instance_of(Kombo::PatchIntegrationsIntegrationIdIntegrationFieldsIntegrationFieldIdRequestBody) + end + end + + describe 'test attribute "enable_passthrough"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/patch_lms_progress_progress_id_positive_response_spec.rb b/spec/models/patch_lms_progress_progress_id_positive_response_spec.rb new file mode 100644 index 0000000..595e4cc --- /dev/null +++ b/spec/models/patch_lms_progress_progress_id_positive_response_spec.rb @@ -0,0 +1,46 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.13.0 + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Kombo::PatchLmsProgressProgressIdPositiveResponse +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Kombo::PatchLmsProgressProgressIdPositiveResponse do + let(:instance) { Kombo::PatchLmsProgressProgressIdPositiveResponse.new } + + describe 'test an instance of PatchLmsProgressProgressIdPositiveResponse' do + it 'should create an instance of PatchLmsProgressProgressIdPositiveResponse' do + # uncomment below to test the instance creation + #expect(instance).to be_instance_of(Kombo::PatchLmsProgressProgressIdPositiveResponse) + end + end + + describe 'test attribute "status"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + # validator = Petstore::EnumTest::EnumAttributeValidator.new('String', ["success"]) + # validator.allowable_values.each do |value| + # expect { instance.status = value }.not_to raise_error + # end + end + end + + describe 'test attribute "data"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/patch_lms_progress_progress_id_request_body_spec.rb b/spec/models/patch_lms_progress_progress_id_request_body_spec.rb new file mode 100644 index 0000000..57bbfae --- /dev/null +++ b/spec/models/patch_lms_progress_progress_id_request_body_spec.rb @@ -0,0 +1,82 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.13.0 + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Kombo::PatchLmsProgressProgressIdRequestBody +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Kombo::PatchLmsProgressProgressIdRequestBody do + let(:instance) { Kombo::PatchLmsProgressProgressIdRequestBody.new } + + describe 'test an instance of PatchLmsProgressProgressIdRequestBody' do + it 'should create an instance of PatchLmsProgressProgressIdRequestBody' do + # uncomment below to test the instance creation + #expect(instance).to be_instance_of(Kombo::PatchLmsProgressProgressIdRequestBody) + end + end + + describe 'test attribute "course_id"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "user_id"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "status"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + # validator = Petstore::EnumTest::EnumAttributeValidator.new('String', ["ENROLLED", "STARTED", "COMPLETED", "STOPPED"]) + # validator.allowable_values.each do |value| + # expect { instance.status = value }.not_to raise_error + # end + end + end + + describe 'test attribute "enrollment_date"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "completion_date"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "score"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "duration"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "comments"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/post_ai_apply_apply_positive_response_data_spec.rb b/spec/models/post_ai_apply_apply_positive_response_data_spec.rb new file mode 100644 index 0000000..4b3636c --- /dev/null +++ b/spec/models/post_ai_apply_apply_positive_response_data_spec.rb @@ -0,0 +1,60 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.13.0 + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Kombo::PostAiApplyApplyPositiveResponseData +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Kombo::PostAiApplyApplyPositiveResponseData do + let(:instance) { Kombo::PostAiApplyApplyPositiveResponseData.new } + + describe 'test an instance of PostAiApplyApplyPositiveResponseData' do + it 'should create an instance of PostAiApplyApplyPositiveResponseData' do + # uncomment below to test the instance creation + #expect(instance).to be_instance_of(Kombo::PostAiApplyApplyPositiveResponseData) + end + end + + describe 'test attribute "id"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "posting_id"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "status"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "created_at"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "updated_at"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/post_ai_apply_apply_positive_response_spec.rb b/spec/models/post_ai_apply_apply_positive_response_spec.rb new file mode 100644 index 0000000..92f7472 --- /dev/null +++ b/spec/models/post_ai_apply_apply_positive_response_spec.rb @@ -0,0 +1,46 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.13.0 + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Kombo::PostAiApplyApplyPositiveResponse +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Kombo::PostAiApplyApplyPositiveResponse do + let(:instance) { Kombo::PostAiApplyApplyPositiveResponse.new } + + describe 'test an instance of PostAiApplyApplyPositiveResponse' do + it 'should create an instance of PostAiApplyApplyPositiveResponse' do + # uncomment below to test the instance creation + #expect(instance).to be_instance_of(Kombo::PostAiApplyApplyPositiveResponse) + end + end + + describe 'test attribute "status"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + # validator = Petstore::EnumTest::EnumAttributeValidator.new('String', ["success"]) + # validator.allowable_values.each do |value| + # expect { instance.status = value }.not_to raise_error + # end + end + end + + describe 'test attribute "data"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/post_ai_apply_apply_request_body_screening_question_answers_inner_spec.rb b/spec/models/post_ai_apply_apply_request_body_screening_question_answers_inner_spec.rb new file mode 100644 index 0000000..5f1128a --- /dev/null +++ b/spec/models/post_ai_apply_apply_request_body_screening_question_answers_inner_spec.rb @@ -0,0 +1,42 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.13.0 + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Kombo::PostAiApplyApplyRequestBodyScreeningQuestionAnswersInner +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Kombo::PostAiApplyApplyRequestBodyScreeningQuestionAnswersInner do + let(:instance) { Kombo::PostAiApplyApplyRequestBodyScreeningQuestionAnswersInner.new } + + describe 'test an instance of PostAiApplyApplyRequestBodyScreeningQuestionAnswersInner' do + it 'should create an instance of PostAiApplyApplyRequestBodyScreeningQuestionAnswersInner' do + # uncomment below to test the instance creation + #expect(instance).to be_instance_of(Kombo::PostAiApplyApplyRequestBodyScreeningQuestionAnswersInner) + end + end + + describe 'test attribute "question_id"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "answer"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/post_ai_apply_apply_request_body_spec.rb b/spec/models/post_ai_apply_apply_request_body_spec.rb new file mode 100644 index 0000000..7756e96 --- /dev/null +++ b/spec/models/post_ai_apply_apply_request_body_spec.rb @@ -0,0 +1,54 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.13.0 + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Kombo::PostAiApplyApplyRequestBody +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Kombo::PostAiApplyApplyRequestBody do + let(:instance) { Kombo::PostAiApplyApplyRequestBody.new } + + describe 'test an instance of PostAiApplyApplyRequestBody' do + it 'should create an instance of PostAiApplyApplyRequestBody' do + # uncomment below to test the instance creation + #expect(instance).to be_instance_of(Kombo::PostAiApplyApplyRequestBody) + end + end + + describe 'test attribute "submission_token"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "candidate_email"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "_query_params"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "screening_question_answers"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/post_ai_apply_career_sites_positive_response_data_spec.rb b/spec/models/post_ai_apply_career_sites_positive_response_data_spec.rb new file mode 100644 index 0000000..6db3852 --- /dev/null +++ b/spec/models/post_ai_apply_career_sites_positive_response_data_spec.rb @@ -0,0 +1,42 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.13.0 + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Kombo::PostAiApplyCareerSitesPositiveResponseData +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Kombo::PostAiApplyCareerSitesPositiveResponseData do + let(:instance) { Kombo::PostAiApplyCareerSitesPositiveResponseData.new } + + describe 'test an instance of PostAiApplyCareerSitesPositiveResponseData' do + it 'should create an instance of PostAiApplyCareerSitesPositiveResponseData' do + # uncomment below to test the instance creation + #expect(instance).to be_instance_of(Kombo::PostAiApplyCareerSitesPositiveResponseData) + end + end + + describe 'test attribute "id"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "label"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/post_ai_apply_career_sites_positive_response_spec.rb b/spec/models/post_ai_apply_career_sites_positive_response_spec.rb new file mode 100644 index 0000000..13fa754 --- /dev/null +++ b/spec/models/post_ai_apply_career_sites_positive_response_spec.rb @@ -0,0 +1,46 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.13.0 + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Kombo::PostAiApplyCareerSitesPositiveResponse +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Kombo::PostAiApplyCareerSitesPositiveResponse do + let(:instance) { Kombo::PostAiApplyCareerSitesPositiveResponse.new } + + describe 'test an instance of PostAiApplyCareerSitesPositiveResponse' do + it 'should create an instance of PostAiApplyCareerSitesPositiveResponse' do + # uncomment below to test the instance creation + #expect(instance).to be_instance_of(Kombo::PostAiApplyCareerSitesPositiveResponse) + end + end + + describe 'test attribute "status"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + # validator = Petstore::EnumTest::EnumAttributeValidator.new('String', ["success"]) + # validator.allowable_values.each do |value| + # expect { instance.status = value }.not_to raise_error + # end + end + end + + describe 'test attribute "data"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/post_ai_apply_career_sites_request_body_spec.rb b/spec/models/post_ai_apply_career_sites_request_body_spec.rb new file mode 100644 index 0000000..5bf082f --- /dev/null +++ b/spec/models/post_ai_apply_career_sites_request_body_spec.rb @@ -0,0 +1,36 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.13.0 + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Kombo::PostAiApplyCareerSitesRequestBody +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Kombo::PostAiApplyCareerSitesRequestBody do + let(:instance) { Kombo::PostAiApplyCareerSitesRequestBody.new } + + describe 'test an instance of PostAiApplyCareerSitesRequestBody' do + it 'should create an instance of PostAiApplyCareerSitesRequestBody' do + # uncomment below to test the instance creation + #expect(instance).to be_instance_of(Kombo::PostAiApplyCareerSitesRequestBody) + end + end + + describe 'test attribute "label"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/post_ai_apply_postings_positive_response_spec.rb b/spec/models/post_ai_apply_postings_positive_response_spec.rb new file mode 100644 index 0000000..0764d1b --- /dev/null +++ b/spec/models/post_ai_apply_postings_positive_response_spec.rb @@ -0,0 +1,46 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.13.0 + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Kombo::PostAiApplyPostingsPositiveResponse +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Kombo::PostAiApplyPostingsPositiveResponse do + let(:instance) { Kombo::PostAiApplyPostingsPositiveResponse.new } + + describe 'test an instance of PostAiApplyPostingsPositiveResponse' do + it 'should create an instance of PostAiApplyPostingsPositiveResponse' do + # uncomment below to test the instance creation + #expect(instance).to be_instance_of(Kombo::PostAiApplyPostingsPositiveResponse) + end + end + + describe 'test attribute "status"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + # validator = Petstore::EnumTest::EnumAttributeValidator.new('String', ["success"]) + # validator.allowable_values.each do |value| + # expect { instance.status = value }.not_to raise_error + # end + end + end + + describe 'test attribute "data"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/post_ai_apply_postings_posting_id_inquire_positive_response_data_application_form_inner_any_of1_spec.rb b/spec/models/post_ai_apply_postings_posting_id_inquire_positive_response_data_application_form_inner_any_of1_spec.rb new file mode 100644 index 0000000..297758e --- /dev/null +++ b/spec/models/post_ai_apply_postings_posting_id_inquire_positive_response_data_application_form_inner_any_of1_spec.rb @@ -0,0 +1,52 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.13.0 + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Kombo::PostAiApplyPostingsPostingIdInquirePositiveResponseDataApplicationFormInnerAnyOf1 +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Kombo::PostAiApplyPostingsPostingIdInquirePositiveResponseDataApplicationFormInnerAnyOf1 do + let(:instance) { Kombo::PostAiApplyPostingsPostingIdInquirePositiveResponseDataApplicationFormInnerAnyOf1.new } + + describe 'test an instance of PostAiApplyPostingsPostingIdInquirePositiveResponseDataApplicationFormInnerAnyOf1' do + it 'should create an instance of PostAiApplyPostingsPostingIdInquirePositiveResponseDataApplicationFormInnerAnyOf1' do + # uncomment below to test the instance creation + #expect(instance).to be_instance_of(Kombo::PostAiApplyPostingsPostingIdInquirePositiveResponseDataApplicationFormInnerAnyOf1) + end + end + + describe 'test attribute "block_type"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + # validator = Petstore::EnumTest::EnumAttributeValidator.new('String', ["SECTION"]) + # validator.allowable_values.each do |value| + # expect { instance.block_type = value }.not_to raise_error + # end + end + end + + describe 'test attribute "label"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "children"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/post_ai_apply_postings_posting_id_inquire_positive_response_data_application_form_inner_any_of_display_when_answer_equals_one_of_spec.rb b/spec/models/post_ai_apply_postings_posting_id_inquire_positive_response_data_application_form_inner_any_of_display_when_answer_equals_one_of_spec.rb new file mode 100644 index 0000000..799fe2d --- /dev/null +++ b/spec/models/post_ai_apply_postings_posting_id_inquire_positive_response_data_application_form_inner_any_of_display_when_answer_equals_one_of_spec.rb @@ -0,0 +1,48 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.13.0 + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Kombo::PostAiApplyPostingsPostingIdInquirePositiveResponseDataApplicationFormInnerAnyOfDisplayWhenAnswerEqualsOneOf +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Kombo::PostAiApplyPostingsPostingIdInquirePositiveResponseDataApplicationFormInnerAnyOfDisplayWhenAnswerEqualsOneOf do + let(:instance) { Kombo::PostAiApplyPostingsPostingIdInquirePositiveResponseDataApplicationFormInnerAnyOfDisplayWhenAnswerEqualsOneOf.new } + + describe 'test an instance of PostAiApplyPostingsPostingIdInquirePositiveResponseDataApplicationFormInnerAnyOfDisplayWhenAnswerEqualsOneOf' do + it 'should create an instance of PostAiApplyPostingsPostingIdInquirePositiveResponseDataApplicationFormInnerAnyOfDisplayWhenAnswerEqualsOneOf' do + # uncomment below to test the instance creation + #expect(instance).to be_instance_of(Kombo::PostAiApplyPostingsPostingIdInquirePositiveResponseDataApplicationFormInnerAnyOfDisplayWhenAnswerEqualsOneOf) + end + end + + describe 'test attribute "name"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "content_type"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "data"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/post_ai_apply_postings_posting_id_inquire_positive_response_data_application_form_inner_any_of_display_when_answer_equals_spec.rb b/spec/models/post_ai_apply_postings_posting_id_inquire_positive_response_data_application_form_inner_any_of_display_when_answer_equals_spec.rb new file mode 100644 index 0000000..a85e404 --- /dev/null +++ b/spec/models/post_ai_apply_postings_posting_id_inquire_positive_response_data_application_form_inner_any_of_display_when_answer_equals_spec.rb @@ -0,0 +1,32 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.13.0 + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Kombo::PostAiApplyPostingsPostingIdInquirePositiveResponseDataApplicationFormInnerAnyOfDisplayWhenAnswerEquals +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Kombo::PostAiApplyPostingsPostingIdInquirePositiveResponseDataApplicationFormInnerAnyOfDisplayWhenAnswerEquals do + describe '.openapi_one_of' do + it 'lists the items referenced in the oneOf array' do + expect(described_class.openapi_one_of).to_not be_empty + end + end + + describe '.build' do + it 'returns the correct model' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end +end diff --git a/spec/models/post_ai_apply_postings_posting_id_inquire_positive_response_data_application_form_inner_any_of_display_when_spec.rb b/spec/models/post_ai_apply_postings_posting_id_inquire_positive_response_data_application_form_inner_any_of_display_when_spec.rb new file mode 100644 index 0000000..2c593cb --- /dev/null +++ b/spec/models/post_ai_apply_postings_posting_id_inquire_positive_response_data_application_form_inner_any_of_display_when_spec.rb @@ -0,0 +1,42 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.13.0 + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Kombo::PostAiApplyPostingsPostingIdInquirePositiveResponseDataApplicationFormInnerAnyOfDisplayWhen +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Kombo::PostAiApplyPostingsPostingIdInquirePositiveResponseDataApplicationFormInnerAnyOfDisplayWhen do + let(:instance) { Kombo::PostAiApplyPostingsPostingIdInquirePositiveResponseDataApplicationFormInnerAnyOfDisplayWhen.new } + + describe 'test an instance of PostAiApplyPostingsPostingIdInquirePositiveResponseDataApplicationFormInnerAnyOfDisplayWhen' do + it 'should create an instance of PostAiApplyPostingsPostingIdInquirePositiveResponseDataApplicationFormInnerAnyOfDisplayWhen' do + # uncomment below to test the instance creation + #expect(instance).to be_instance_of(Kombo::PostAiApplyPostingsPostingIdInquirePositiveResponseDataApplicationFormInnerAnyOfDisplayWhen) + end + end + + describe 'test attribute "question_id"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "answer_equals"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/post_ai_apply_postings_posting_id_inquire_positive_response_data_application_form_inner_any_of_options_inner_spec.rb b/spec/models/post_ai_apply_postings_posting_id_inquire_positive_response_data_application_form_inner_any_of_options_inner_spec.rb new file mode 100644 index 0000000..0e162b8 --- /dev/null +++ b/spec/models/post_ai_apply_postings_posting_id_inquire_positive_response_data_application_form_inner_any_of_options_inner_spec.rb @@ -0,0 +1,52 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.13.0 + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Kombo::PostAiApplyPostingsPostingIdInquirePositiveResponseDataApplicationFormInnerAnyOfOptionsInner +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Kombo::PostAiApplyPostingsPostingIdInquirePositiveResponseDataApplicationFormInnerAnyOfOptionsInner do + let(:instance) { Kombo::PostAiApplyPostingsPostingIdInquirePositiveResponseDataApplicationFormInnerAnyOfOptionsInner.new } + + describe 'test an instance of PostAiApplyPostingsPostingIdInquirePositiveResponseDataApplicationFormInnerAnyOfOptionsInner' do + it 'should create an instance of PostAiApplyPostingsPostingIdInquirePositiveResponseDataApplicationFormInnerAnyOfOptionsInner' do + # uncomment below to test the instance creation + #expect(instance).to be_instance_of(Kombo::PostAiApplyPostingsPostingIdInquirePositiveResponseDataApplicationFormInnerAnyOfOptionsInner) + end + end + + describe 'test attribute "id"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "label"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "unified_key"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + # validator = Petstore::EnumTest::EnumAttributeValidator.new('String', ["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"]) + # validator.allowable_values.each do |value| + # expect { instance.unified_key = value }.not_to raise_error + # end + end + end + +end diff --git a/spec/models/post_ai_apply_postings_posting_id_inquire_positive_response_data_application_form_inner_any_of_spec.rb b/spec/models/post_ai_apply_postings_posting_id_inquire_positive_response_data_application_form_inner_any_of_spec.rb new file mode 100644 index 0000000..7a9f5ea --- /dev/null +++ b/spec/models/post_ai_apply_postings_posting_id_inquire_positive_response_data_application_form_inner_any_of_spec.rb @@ -0,0 +1,106 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.13.0 + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Kombo::PostAiApplyPostingsPostingIdInquirePositiveResponseDataApplicationFormInnerAnyOf +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Kombo::PostAiApplyPostingsPostingIdInquirePositiveResponseDataApplicationFormInnerAnyOf do + let(:instance) { Kombo::PostAiApplyPostingsPostingIdInquirePositiveResponseDataApplicationFormInnerAnyOf.new } + + describe 'test an instance of PostAiApplyPostingsPostingIdInquirePositiveResponseDataApplicationFormInnerAnyOf' do + it 'should create an instance of PostAiApplyPostingsPostingIdInquirePositiveResponseDataApplicationFormInnerAnyOf' do + # uncomment below to test the instance creation + #expect(instance).to be_instance_of(Kombo::PostAiApplyPostingsPostingIdInquirePositiveResponseDataApplicationFormInnerAnyOf) + end + end + + describe 'test attribute "block_type"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + # validator = Petstore::EnumTest::EnumAttributeValidator.new('String', ["QUESTION"]) + # validator.allowable_values.each do |value| + # expect { instance.block_type = value }.not_to raise_error + # end + end + end + + describe 'test attribute "question_id"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "label"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "description"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "required"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "category"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + # validator = Petstore::EnumTest::EnumAttributeValidator.new('String', ["EEO"]) + # validator.allowable_values.each do |value| + # expect { instance.category = value }.not_to raise_error + # end + end + end + + describe 'test attribute "question_type"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + # validator = Petstore::EnumTest::EnumAttributeValidator.new('String', ["TEXT", "NUMBER", "BOOLEAN", "FILE", "DATE", "SINGLE_SELECT", "MULTI_SELECT"]) + # validator.allowable_values.each do |value| + # expect { instance.question_type = value }.not_to raise_error + # end + end + end + + describe 'test attribute "unified_key"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + # validator = Petstore::EnumTest::EnumAttributeValidator.new('String', ["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"]) + # validator.allowable_values.each do |value| + # expect { instance.unified_key = value }.not_to raise_error + # end + end + end + + describe 'test attribute "options"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "display_when"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/post_ai_apply_postings_posting_id_inquire_positive_response_data_application_form_inner_spec.rb b/spec/models/post_ai_apply_postings_posting_id_inquire_positive_response_data_application_form_inner_spec.rb new file mode 100644 index 0000000..7ce27d1 --- /dev/null +++ b/spec/models/post_ai_apply_postings_posting_id_inquire_positive_response_data_application_form_inner_spec.rb @@ -0,0 +1,21 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.13.0 + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Kombo::PostAiApplyPostingsPostingIdInquirePositiveResponseDataApplicationFormInner +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Kombo::PostAiApplyPostingsPostingIdInquirePositiveResponseDataApplicationFormInner do +end diff --git a/spec/models/post_ai_apply_postings_posting_id_inquire_positive_response_data_spec.rb b/spec/models/post_ai_apply_postings_posting_id_inquire_positive_response_data_spec.rb new file mode 100644 index 0000000..ec75d29 --- /dev/null +++ b/spec/models/post_ai_apply_postings_posting_id_inquire_positive_response_data_spec.rb @@ -0,0 +1,42 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.13.0 + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Kombo::PostAiApplyPostingsPostingIdInquirePositiveResponseData +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Kombo::PostAiApplyPostingsPostingIdInquirePositiveResponseData do + let(:instance) { Kombo::PostAiApplyPostingsPostingIdInquirePositiveResponseData.new } + + describe 'test an instance of PostAiApplyPostingsPostingIdInquirePositiveResponseData' do + it 'should create an instance of PostAiApplyPostingsPostingIdInquirePositiveResponseData' do + # uncomment below to test the instance creation + #expect(instance).to be_instance_of(Kombo::PostAiApplyPostingsPostingIdInquirePositiveResponseData) + end + end + + describe 'test attribute "application_form"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "submission_token"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/post_ai_apply_postings_posting_id_inquire_positive_response_spec.rb b/spec/models/post_ai_apply_postings_posting_id_inquire_positive_response_spec.rb new file mode 100644 index 0000000..f81205b --- /dev/null +++ b/spec/models/post_ai_apply_postings_posting_id_inquire_positive_response_spec.rb @@ -0,0 +1,46 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.13.0 + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Kombo::PostAiApplyPostingsPostingIdInquirePositiveResponse +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Kombo::PostAiApplyPostingsPostingIdInquirePositiveResponse do + let(:instance) { Kombo::PostAiApplyPostingsPostingIdInquirePositiveResponse.new } + + describe 'test an instance of PostAiApplyPostingsPostingIdInquirePositiveResponse' do + it 'should create an instance of PostAiApplyPostingsPostingIdInquirePositiveResponse' do + # uncomment below to test the instance creation + #expect(instance).to be_instance_of(Kombo::PostAiApplyPostingsPostingIdInquirePositiveResponse) + end + end + + describe 'test attribute "status"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + # validator = Petstore::EnumTest::EnumAttributeValidator.new('String', ["success"]) + # validator.allowable_values.each do |value| + # expect { instance.status = value }.not_to raise_error + # end + end + end + + describe 'test attribute "data"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/post_ai_apply_postings_posting_id_parse_positive_response_spec.rb b/spec/models/post_ai_apply_postings_posting_id_parse_positive_response_spec.rb new file mode 100644 index 0000000..591a76a --- /dev/null +++ b/spec/models/post_ai_apply_postings_posting_id_parse_positive_response_spec.rb @@ -0,0 +1,46 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.13.0 + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Kombo::PostAiApplyPostingsPostingIdParsePositiveResponse +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Kombo::PostAiApplyPostingsPostingIdParsePositiveResponse do + let(:instance) { Kombo::PostAiApplyPostingsPostingIdParsePositiveResponse.new } + + describe 'test an instance of PostAiApplyPostingsPostingIdParsePositiveResponse' do + it 'should create an instance of PostAiApplyPostingsPostingIdParsePositiveResponse' do + # uncomment below to test the instance creation + #expect(instance).to be_instance_of(Kombo::PostAiApplyPostingsPostingIdParsePositiveResponse) + end + end + + describe 'test attribute "status"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + # validator = Petstore::EnumTest::EnumAttributeValidator.new('String', ["success"]) + # validator.allowable_values.each do |value| + # expect { instance.status = value }.not_to raise_error + # end + end + end + + describe 'test attribute "data"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/post_ai_apply_postings_request_body_location_spec.rb b/spec/models/post_ai_apply_postings_request_body_location_spec.rb new file mode 100644 index 0000000..d970f50 --- /dev/null +++ b/spec/models/post_ai_apply_postings_request_body_location_spec.rb @@ -0,0 +1,46 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.13.0 + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Kombo::PostAiApplyPostingsRequestBodyLocation +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Kombo::PostAiApplyPostingsRequestBodyLocation do + let(:instance) { Kombo::PostAiApplyPostingsRequestBodyLocation.new } + + describe 'test an instance of PostAiApplyPostingsRequestBodyLocation' do + it 'should create an instance of PostAiApplyPostingsRequestBodyLocation' do + # uncomment below to test the instance creation + #expect(instance).to be_instance_of(Kombo::PostAiApplyPostingsRequestBodyLocation) + end + end + + describe 'test attribute "country"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + # validator = Petstore::EnumTest::EnumAttributeValidator.new('String', ["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"]) + # validator.allowable_values.each do |value| + # expect { instance.country = value }.not_to raise_error + # end + end + end + + describe 'test attribute "postal_code"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/post_ai_apply_postings_request_body_spec.rb b/spec/models/post_ai_apply_postings_request_body_spec.rb new file mode 100644 index 0000000..5ff6c33 --- /dev/null +++ b/spec/models/post_ai_apply_postings_request_body_spec.rb @@ -0,0 +1,54 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.13.0 + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Kombo::PostAiApplyPostingsRequestBody +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Kombo::PostAiApplyPostingsRequestBody do + let(:instance) { Kombo::PostAiApplyPostingsRequestBody.new } + + describe 'test an instance of PostAiApplyPostingsRequestBody' do + it 'should create an instance of PostAiApplyPostingsRequestBody' do + # uncomment below to test the instance creation + #expect(instance).to be_instance_of(Kombo::PostAiApplyPostingsRequestBody) + end + end + + describe 'test attribute "career_site_id"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "url"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "job_code"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "location"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/post_ai_apply_unified_api_jobs_job_id_applications_positive_response_spec.rb b/spec/models/post_ai_apply_unified_api_jobs_job_id_applications_positive_response_spec.rb new file mode 100644 index 0000000..031824b --- /dev/null +++ b/spec/models/post_ai_apply_unified_api_jobs_job_id_applications_positive_response_spec.rb @@ -0,0 +1,46 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.13.0 + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Kombo::PostAiApplyUnifiedApiJobsJobIdApplicationsPositiveResponse +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Kombo::PostAiApplyUnifiedApiJobsJobIdApplicationsPositiveResponse do + let(:instance) { Kombo::PostAiApplyUnifiedApiJobsJobIdApplicationsPositiveResponse.new } + + describe 'test an instance of PostAiApplyUnifiedApiJobsJobIdApplicationsPositiveResponse' do + it 'should create an instance of PostAiApplyUnifiedApiJobsJobIdApplicationsPositiveResponse' do + # uncomment below to test the instance creation + #expect(instance).to be_instance_of(Kombo::PostAiApplyUnifiedApiJobsJobIdApplicationsPositiveResponse) + end + end + + describe 'test attribute "status"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + # validator = Petstore::EnumTest::EnumAttributeValidator.new('String', ["success"]) + # validator.allowable_values.each do |value| + # expect { instance.status = value }.not_to raise_error + # end + end + end + + describe 'test attribute "data"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/post_ai_apply_unified_api_jobs_job_id_applications_request_body_spec.rb b/spec/models/post_ai_apply_unified_api_jobs_job_id_applications_request_body_spec.rb new file mode 100644 index 0000000..4a273a1 --- /dev/null +++ b/spec/models/post_ai_apply_unified_api_jobs_job_id_applications_request_body_spec.rb @@ -0,0 +1,84 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.13.0 + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Kombo::PostAiApplyUnifiedApiJobsJobIdApplicationsRequestBody +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Kombo::PostAiApplyUnifiedApiJobsJobIdApplicationsRequestBody do + let(:instance) { Kombo::PostAiApplyUnifiedApiJobsJobIdApplicationsRequestBody.new } + + describe 'test an instance of PostAiApplyUnifiedApiJobsJobIdApplicationsRequestBody' do + it 'should create an instance of PostAiApplyUnifiedApiJobsJobIdApplicationsRequestBody' do + # uncomment below to test the instance creation + #expect(instance).to be_instance_of(Kombo::PostAiApplyUnifiedApiJobsJobIdApplicationsRequestBody) + end + end + + describe 'test attribute "stage_id"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "candidate"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "attachments"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "source"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "sourced_by"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "gdpr_consent"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "remote_fields"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "screening_question_answers"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "_query_params"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/post_ats_applications_application_id_attachments_positive_response_spec.rb b/spec/models/post_ats_applications_application_id_attachments_positive_response_spec.rb new file mode 100644 index 0000000..dc50e23 --- /dev/null +++ b/spec/models/post_ats_applications_application_id_attachments_positive_response_spec.rb @@ -0,0 +1,52 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.13.0 + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Kombo::PostAtsApplicationsApplicationIdAttachmentsPositiveResponse +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Kombo::PostAtsApplicationsApplicationIdAttachmentsPositiveResponse do + let(:instance) { Kombo::PostAtsApplicationsApplicationIdAttachmentsPositiveResponse.new } + + describe 'test an instance of PostAtsApplicationsApplicationIdAttachmentsPositiveResponse' do + it 'should create an instance of PostAtsApplicationsApplicationIdAttachmentsPositiveResponse' do + # uncomment below to test the instance creation + #expect(instance).to be_instance_of(Kombo::PostAtsApplicationsApplicationIdAttachmentsPositiveResponse) + end + end + + describe 'test attribute "status"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + # validator = Petstore::EnumTest::EnumAttributeValidator.new('String', ["success"]) + # validator.allowable_values.each do |value| + # expect { instance.status = value }.not_to raise_error + # end + end + end + + describe 'test attribute "data"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "warnings"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/post_ats_applications_application_id_attachments_request_body_attachment_spec.rb b/spec/models/post_ats_applications_application_id_attachments_request_body_attachment_spec.rb new file mode 100644 index 0000000..5abe46a --- /dev/null +++ b/spec/models/post_ats_applications_application_id_attachments_request_body_attachment_spec.rb @@ -0,0 +1,64 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.13.0 + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Kombo::PostAtsApplicationsApplicationIdAttachmentsRequestBodyAttachment +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Kombo::PostAtsApplicationsApplicationIdAttachmentsRequestBodyAttachment do + let(:instance) { Kombo::PostAtsApplicationsApplicationIdAttachmentsRequestBodyAttachment.new } + + describe 'test an instance of PostAtsApplicationsApplicationIdAttachmentsRequestBodyAttachment' do + it 'should create an instance of PostAtsApplicationsApplicationIdAttachmentsRequestBodyAttachment' do + # uncomment below to test the instance creation + #expect(instance).to be_instance_of(Kombo::PostAtsApplicationsApplicationIdAttachmentsRequestBodyAttachment) + end + end + + describe 'test attribute "name"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "content_type"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "data_url"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "data"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "type"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + # validator = Petstore::EnumTest::EnumAttributeValidator.new('String', ["CV", "COVER_LETTER", "OTHER"]) + # validator.allowable_values.each do |value| + # expect { instance.type = value }.not_to raise_error + # end + end + end + +end diff --git a/spec/models/post_ats_applications_application_id_attachments_request_body_remote_fields_all_of_oracle_spec.rb b/spec/models/post_ats_applications_application_id_attachments_request_body_remote_fields_all_of_oracle_spec.rb new file mode 100644 index 0000000..6de36b2 --- /dev/null +++ b/spec/models/post_ats_applications_application_id_attachments_request_body_remote_fields_all_of_oracle_spec.rb @@ -0,0 +1,46 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.13.0 + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Kombo::PostAtsApplicationsApplicationIdAttachmentsRequestBodyRemoteFieldsAllOfOracle +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Kombo::PostAtsApplicationsApplicationIdAttachmentsRequestBodyRemoteFieldsAllOfOracle do + let(:instance) { Kombo::PostAtsApplicationsApplicationIdAttachmentsRequestBodyRemoteFieldsAllOfOracle.new } + + describe 'test an instance of PostAtsApplicationsApplicationIdAttachmentsRequestBodyRemoteFieldsAllOfOracle' do + it 'should create an instance of PostAtsApplicationsApplicationIdAttachmentsRequestBodyRemoteFieldsAllOfOracle' do + # uncomment below to test the instance creation + #expect(instance).to be_instance_of(Kombo::PostAtsApplicationsApplicationIdAttachmentsRequestBodyRemoteFieldsAllOfOracle) + end + end + + describe 'test attribute "override_document_category"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + # validator = Petstore::EnumTest::EnumAttributeValidator.new('String', ["IRC_CANDIDATE_RESUME", "IRC_CANDIDATE_COVERLETTER", "MISC", "IRC_INTERNAL"]) + # validator.allowable_values.each do |value| + # expect { instance.override_document_category = value }.not_to raise_error + # end + end + end + + describe 'test attribute "multi_post_to_all_current_applications"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/post_ats_applications_application_id_attachments_request_body_remote_fields_spec.rb b/spec/models/post_ats_applications_application_id_attachments_request_body_remote_fields_spec.rb new file mode 100644 index 0000000..e23875a --- /dev/null +++ b/spec/models/post_ats_applications_application_id_attachments_request_body_remote_fields_spec.rb @@ -0,0 +1,48 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.13.0 + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Kombo::PostAtsApplicationsApplicationIdAttachmentsRequestBodyRemoteFields +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Kombo::PostAtsApplicationsApplicationIdAttachmentsRequestBodyRemoteFields do + let(:instance) { Kombo::PostAtsApplicationsApplicationIdAttachmentsRequestBodyRemoteFields.new } + + describe 'test an instance of PostAtsApplicationsApplicationIdAttachmentsRequestBodyRemoteFields' do + it 'should create an instance of PostAtsApplicationsApplicationIdAttachmentsRequestBodyRemoteFields' do + # uncomment below to test the instance creation + #expect(instance).to be_instance_of(Kombo::PostAtsApplicationsApplicationIdAttachmentsRequestBodyRemoteFields) + end + end + + describe 'test attribute "oracle"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "greenhouse"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "workable"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/post_ats_applications_application_id_attachments_request_body_spec.rb b/spec/models/post_ats_applications_application_id_attachments_request_body_spec.rb new file mode 100644 index 0000000..73187b1 --- /dev/null +++ b/spec/models/post_ats_applications_application_id_attachments_request_body_spec.rb @@ -0,0 +1,42 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.13.0 + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Kombo::PostAtsApplicationsApplicationIdAttachmentsRequestBody +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Kombo::PostAtsApplicationsApplicationIdAttachmentsRequestBody do + let(:instance) { Kombo::PostAtsApplicationsApplicationIdAttachmentsRequestBody.new } + + describe 'test an instance of PostAtsApplicationsApplicationIdAttachmentsRequestBody' do + it 'should create an instance of PostAtsApplicationsApplicationIdAttachmentsRequestBody' do + # uncomment below to test the instance creation + #expect(instance).to be_instance_of(Kombo::PostAtsApplicationsApplicationIdAttachmentsRequestBody) + end + end + + describe 'test attribute "attachment"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "remote_fields"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/post_ats_applications_application_id_interviews_positive_response_spec.rb b/spec/models/post_ats_applications_application_id_interviews_positive_response_spec.rb new file mode 100644 index 0000000..a886ddb --- /dev/null +++ b/spec/models/post_ats_applications_application_id_interviews_positive_response_spec.rb @@ -0,0 +1,46 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.13.0 + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Kombo::PostAtsApplicationsApplicationIdInterviewsPositiveResponse +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Kombo::PostAtsApplicationsApplicationIdInterviewsPositiveResponse do + let(:instance) { Kombo::PostAtsApplicationsApplicationIdInterviewsPositiveResponse.new } + + describe 'test an instance of PostAtsApplicationsApplicationIdInterviewsPositiveResponse' do + it 'should create an instance of PostAtsApplicationsApplicationIdInterviewsPositiveResponse' do + # uncomment below to test the instance creation + #expect(instance).to be_instance_of(Kombo::PostAtsApplicationsApplicationIdInterviewsPositiveResponse) + end + end + + describe 'test attribute "status"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + # validator = Petstore::EnumTest::EnumAttributeValidator.new('String', ["success"]) + # validator.allowable_values.each do |value| + # expect { instance.status = value }.not_to raise_error + # end + end + end + + describe 'test attribute "data"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/post_ats_applications_application_id_interviews_request_body_location_spec.rb b/spec/models/post_ats_applications_application_id_interviews_request_body_location_spec.rb new file mode 100644 index 0000000..c238352 --- /dev/null +++ b/spec/models/post_ats_applications_application_id_interviews_request_body_location_spec.rb @@ -0,0 +1,46 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.13.0 + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Kombo::PostAtsApplicationsApplicationIdInterviewsRequestBodyLocation +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Kombo::PostAtsApplicationsApplicationIdInterviewsRequestBodyLocation do + let(:instance) { Kombo::PostAtsApplicationsApplicationIdInterviewsRequestBodyLocation.new } + + describe 'test an instance of PostAtsApplicationsApplicationIdInterviewsRequestBodyLocation' do + it 'should create an instance of PostAtsApplicationsApplicationIdInterviewsRequestBodyLocation' do + # uncomment below to test the instance creation + #expect(instance).to be_instance_of(Kombo::PostAtsApplicationsApplicationIdInterviewsRequestBodyLocation) + end + end + + describe 'test attribute "type"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + # validator = Petstore::EnumTest::EnumAttributeValidator.new('String', ["PHYSICAL", "VIRTUAL"]) + # validator.allowable_values.each do |value| + # expect { instance.type = value }.not_to raise_error + # end + end + end + + describe 'test attribute "address"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/post_ats_applications_application_id_interviews_request_body_spec.rb b/spec/models/post_ats_applications_application_id_interviews_request_body_spec.rb new file mode 100644 index 0000000..4e29bb2 --- /dev/null +++ b/spec/models/post_ats_applications_application_id_interviews_request_body_spec.rb @@ -0,0 +1,66 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.13.0 + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Kombo::PostAtsApplicationsApplicationIdInterviewsRequestBody +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Kombo::PostAtsApplicationsApplicationIdInterviewsRequestBody do + let(:instance) { Kombo::PostAtsApplicationsApplicationIdInterviewsRequestBody.new } + + describe 'test an instance of PostAtsApplicationsApplicationIdInterviewsRequestBody' do + it 'should create an instance of PostAtsApplicationsApplicationIdInterviewsRequestBody' do + # uncomment below to test the instance creation + #expect(instance).to be_instance_of(Kombo::PostAtsApplicationsApplicationIdInterviewsRequestBody) + end + end + + describe 'test attribute "title"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "start_time"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "end_time"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "interviewer_user_ids"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "organizer_user_id"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "location"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/post_ats_applications_application_id_notes_positive_response_spec.rb b/spec/models/post_ats_applications_application_id_notes_positive_response_spec.rb new file mode 100644 index 0000000..20eb3da --- /dev/null +++ b/spec/models/post_ats_applications_application_id_notes_positive_response_spec.rb @@ -0,0 +1,52 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.13.0 + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Kombo::PostAtsApplicationsApplicationIdNotesPositiveResponse +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Kombo::PostAtsApplicationsApplicationIdNotesPositiveResponse do + let(:instance) { Kombo::PostAtsApplicationsApplicationIdNotesPositiveResponse.new } + + describe 'test an instance of PostAtsApplicationsApplicationIdNotesPositiveResponse' do + it 'should create an instance of PostAtsApplicationsApplicationIdNotesPositiveResponse' do + # uncomment below to test the instance creation + #expect(instance).to be_instance_of(Kombo::PostAtsApplicationsApplicationIdNotesPositiveResponse) + end + end + + describe 'test attribute "status"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + # validator = Petstore::EnumTest::EnumAttributeValidator.new('String', ["success"]) + # validator.allowable_values.each do |value| + # expect { instance.status = value }.not_to raise_error + # end + end + end + + describe 'test attribute "data"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "warnings"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/post_ats_applications_application_id_notes_request_body_remote_fields_all_of_bullhorn_spec.rb b/spec/models/post_ats_applications_application_id_notes_request_body_remote_fields_all_of_bullhorn_spec.rb new file mode 100644 index 0000000..300406d --- /dev/null +++ b/spec/models/post_ats_applications_application_id_notes_request_body_remote_fields_all_of_bullhorn_spec.rb @@ -0,0 +1,36 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.13.0 + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Kombo::PostAtsApplicationsApplicationIdNotesRequestBodyRemoteFieldsAllOfBullhorn +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Kombo::PostAtsApplicationsApplicationIdNotesRequestBodyRemoteFieldsAllOfBullhorn do + let(:instance) { Kombo::PostAtsApplicationsApplicationIdNotesRequestBodyRemoteFieldsAllOfBullhorn.new } + + describe 'test an instance of PostAtsApplicationsApplicationIdNotesRequestBodyRemoteFieldsAllOfBullhorn' do + it 'should create an instance of PostAtsApplicationsApplicationIdNotesRequestBodyRemoteFieldsAllOfBullhorn' do + # uncomment below to test the instance creation + #expect(instance).to be_instance_of(Kombo::PostAtsApplicationsApplicationIdNotesRequestBodyRemoteFieldsAllOfBullhorn) + end + end + + describe 'test attribute "action"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/post_ats_applications_application_id_notes_request_body_remote_fields_all_of_greenhouse_spec.rb b/spec/models/post_ats_applications_application_id_notes_request_body_remote_fields_all_of_greenhouse_spec.rb new file mode 100644 index 0000000..ce64536 --- /dev/null +++ b/spec/models/post_ats_applications_application_id_notes_request_body_remote_fields_all_of_greenhouse_spec.rb @@ -0,0 +1,40 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.13.0 + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Kombo::PostAtsApplicationsApplicationIdNotesRequestBodyRemoteFieldsAllOfGreenhouse +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Kombo::PostAtsApplicationsApplicationIdNotesRequestBodyRemoteFieldsAllOfGreenhouse do + let(:instance) { Kombo::PostAtsApplicationsApplicationIdNotesRequestBodyRemoteFieldsAllOfGreenhouse.new } + + describe 'test an instance of PostAtsApplicationsApplicationIdNotesRequestBodyRemoteFieldsAllOfGreenhouse' do + it 'should create an instance of PostAtsApplicationsApplicationIdNotesRequestBodyRemoteFieldsAllOfGreenhouse' do + # uncomment below to test the instance creation + #expect(instance).to be_instance_of(Kombo::PostAtsApplicationsApplicationIdNotesRequestBodyRemoteFieldsAllOfGreenhouse) + end + end + + describe 'test attribute "visibility"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + # validator = Petstore::EnumTest::EnumAttributeValidator.new('String', ["admin_only", "private", "public"]) + # validator.allowable_values.each do |value| + # expect { instance.visibility = value }.not_to raise_error + # end + end + end + +end diff --git a/spec/models/post_ats_applications_application_id_notes_request_body_remote_fields_all_of_recruitee_spec.rb b/spec/models/post_ats_applications_application_id_notes_request_body_remote_fields_all_of_recruitee_spec.rb new file mode 100644 index 0000000..3511d1b --- /dev/null +++ b/spec/models/post_ats_applications_application_id_notes_request_body_remote_fields_all_of_recruitee_spec.rb @@ -0,0 +1,42 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.13.0 + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Kombo::PostAtsApplicationsApplicationIdNotesRequestBodyRemoteFieldsAllOfRecruitee +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Kombo::PostAtsApplicationsApplicationIdNotesRequestBodyRemoteFieldsAllOfRecruitee do + let(:instance) { Kombo::PostAtsApplicationsApplicationIdNotesRequestBodyRemoteFieldsAllOfRecruitee.new } + + describe 'test an instance of PostAtsApplicationsApplicationIdNotesRequestBodyRemoteFieldsAllOfRecruitee' do + it 'should create an instance of PostAtsApplicationsApplicationIdNotesRequestBodyRemoteFieldsAllOfRecruitee' do + # uncomment below to test the instance creation + #expect(instance).to be_instance_of(Kombo::PostAtsApplicationsApplicationIdNotesRequestBodyRemoteFieldsAllOfRecruitee) + end + end + + describe 'test attribute "visibility"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "is_json"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/post_ats_applications_application_id_notes_request_body_remote_fields_all_of_teamtailor_spec.rb b/spec/models/post_ats_applications_application_id_notes_request_body_remote_fields_all_of_teamtailor_spec.rb new file mode 100644 index 0000000..7414ff2 --- /dev/null +++ b/spec/models/post_ats_applications_application_id_notes_request_body_remote_fields_all_of_teamtailor_spec.rb @@ -0,0 +1,36 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.13.0 + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Kombo::PostAtsApplicationsApplicationIdNotesRequestBodyRemoteFieldsAllOfTeamtailor +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Kombo::PostAtsApplicationsApplicationIdNotesRequestBodyRemoteFieldsAllOfTeamtailor do + let(:instance) { Kombo::PostAtsApplicationsApplicationIdNotesRequestBodyRemoteFieldsAllOfTeamtailor.new } + + describe 'test an instance of PostAtsApplicationsApplicationIdNotesRequestBodyRemoteFieldsAllOfTeamtailor' do + it 'should create an instance of PostAtsApplicationsApplicationIdNotesRequestBodyRemoteFieldsAllOfTeamtailor' do + # uncomment below to test the instance creation + #expect(instance).to be_instance_of(Kombo::PostAtsApplicationsApplicationIdNotesRequestBodyRemoteFieldsAllOfTeamtailor) + end + end + + describe 'test attribute "user_id"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/post_ats_applications_application_id_notes_request_body_remote_fields_spec.rb b/spec/models/post_ats_applications_application_id_notes_request_body_remote_fields_spec.rb new file mode 100644 index 0000000..3b9b6d5 --- /dev/null +++ b/spec/models/post_ats_applications_application_id_notes_request_body_remote_fields_spec.rb @@ -0,0 +1,60 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.13.0 + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Kombo::PostAtsApplicationsApplicationIdNotesRequestBodyRemoteFields +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Kombo::PostAtsApplicationsApplicationIdNotesRequestBodyRemoteFields do + let(:instance) { Kombo::PostAtsApplicationsApplicationIdNotesRequestBodyRemoteFields.new } + + describe 'test an instance of PostAtsApplicationsApplicationIdNotesRequestBodyRemoteFields' do + it 'should create an instance of PostAtsApplicationsApplicationIdNotesRequestBodyRemoteFields' do + # uncomment below to test the instance creation + #expect(instance).to be_instance_of(Kombo::PostAtsApplicationsApplicationIdNotesRequestBodyRemoteFields) + end + end + + describe 'test attribute "teamtailor"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "greenhouse"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "recruitee"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "bullhorn"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "workable"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/post_ats_applications_application_id_notes_request_body_spec.rb b/spec/models/post_ats_applications_application_id_notes_request_body_spec.rb new file mode 100644 index 0000000..677f94f --- /dev/null +++ b/spec/models/post_ats_applications_application_id_notes_request_body_spec.rb @@ -0,0 +1,52 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.13.0 + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Kombo::PostAtsApplicationsApplicationIdNotesRequestBody +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Kombo::PostAtsApplicationsApplicationIdNotesRequestBody do + let(:instance) { Kombo::PostAtsApplicationsApplicationIdNotesRequestBody.new } + + describe 'test an instance of PostAtsApplicationsApplicationIdNotesRequestBody' do + it 'should create an instance of PostAtsApplicationsApplicationIdNotesRequestBody' do + # uncomment below to test the instance creation + #expect(instance).to be_instance_of(Kombo::PostAtsApplicationsApplicationIdNotesRequestBody) + end + end + + describe 'test attribute "content"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "content_type"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + # validator = Petstore::EnumTest::EnumAttributeValidator.new('String', ["PLAIN_TEXT"]) + # validator.allowable_values.each do |value| + # expect { instance.content_type = value }.not_to raise_error + # end + end + end + + describe 'test attribute "remote_fields"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/post_ats_applications_application_id_reject_positive_response_spec.rb b/spec/models/post_ats_applications_application_id_reject_positive_response_spec.rb new file mode 100644 index 0000000..25f637f --- /dev/null +++ b/spec/models/post_ats_applications_application_id_reject_positive_response_spec.rb @@ -0,0 +1,52 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.13.0 + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Kombo::PostAtsApplicationsApplicationIdRejectPositiveResponse +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Kombo::PostAtsApplicationsApplicationIdRejectPositiveResponse do + let(:instance) { Kombo::PostAtsApplicationsApplicationIdRejectPositiveResponse.new } + + describe 'test an instance of PostAtsApplicationsApplicationIdRejectPositiveResponse' do + it 'should create an instance of PostAtsApplicationsApplicationIdRejectPositiveResponse' do + # uncomment below to test the instance creation + #expect(instance).to be_instance_of(Kombo::PostAtsApplicationsApplicationIdRejectPositiveResponse) + end + end + + describe 'test attribute "status"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + # validator = Petstore::EnumTest::EnumAttributeValidator.new('String', ["success"]) + # validator.allowable_values.each do |value| + # expect { instance.status = value }.not_to raise_error + # end + end + end + + describe 'test attribute "data"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "warnings"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/post_ats_applications_application_id_reject_request_body_remote_fields_all_of_greenhouse_spec.rb b/spec/models/post_ats_applications_application_id_reject_request_body_remote_fields_all_of_greenhouse_spec.rb new file mode 100644 index 0000000..d3be342 --- /dev/null +++ b/spec/models/post_ats_applications_application_id_reject_request_body_remote_fields_all_of_greenhouse_spec.rb @@ -0,0 +1,36 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.13.0 + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Kombo::PostAtsApplicationsApplicationIdRejectRequestBodyRemoteFieldsAllOfGreenhouse +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Kombo::PostAtsApplicationsApplicationIdRejectRequestBodyRemoteFieldsAllOfGreenhouse do + let(:instance) { Kombo::PostAtsApplicationsApplicationIdRejectRequestBodyRemoteFieldsAllOfGreenhouse.new } + + describe 'test an instance of PostAtsApplicationsApplicationIdRejectRequestBodyRemoteFieldsAllOfGreenhouse' do + it 'should create an instance of PostAtsApplicationsApplicationIdRejectRequestBodyRemoteFieldsAllOfGreenhouse' do + # uncomment below to test the instance creation + #expect(instance).to be_instance_of(Kombo::PostAtsApplicationsApplicationIdRejectRequestBodyRemoteFieldsAllOfGreenhouse) + end + end + + describe 'test attribute "rejection_email"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/post_ats_applications_application_id_reject_request_body_remote_fields_spec.rb b/spec/models/post_ats_applications_application_id_reject_request_body_remote_fields_spec.rb new file mode 100644 index 0000000..5f366ba --- /dev/null +++ b/spec/models/post_ats_applications_application_id_reject_request_body_remote_fields_spec.rb @@ -0,0 +1,42 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.13.0 + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Kombo::PostAtsApplicationsApplicationIdRejectRequestBodyRemoteFields +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Kombo::PostAtsApplicationsApplicationIdRejectRequestBodyRemoteFields do + let(:instance) { Kombo::PostAtsApplicationsApplicationIdRejectRequestBodyRemoteFields.new } + + describe 'test an instance of PostAtsApplicationsApplicationIdRejectRequestBodyRemoteFields' do + it 'should create an instance of PostAtsApplicationsApplicationIdRejectRequestBodyRemoteFields' do + # uncomment below to test the instance creation + #expect(instance).to be_instance_of(Kombo::PostAtsApplicationsApplicationIdRejectRequestBodyRemoteFields) + end + end + + describe 'test attribute "greenhouse"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "workable"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/post_ats_applications_application_id_reject_request_body_spec.rb b/spec/models/post_ats_applications_application_id_reject_request_body_spec.rb new file mode 100644 index 0000000..b6c6e40 --- /dev/null +++ b/spec/models/post_ats_applications_application_id_reject_request_body_spec.rb @@ -0,0 +1,48 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.13.0 + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Kombo::PostAtsApplicationsApplicationIdRejectRequestBody +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Kombo::PostAtsApplicationsApplicationIdRejectRequestBody do + let(:instance) { Kombo::PostAtsApplicationsApplicationIdRejectRequestBody.new } + + describe 'test an instance of PostAtsApplicationsApplicationIdRejectRequestBody' do + it 'should create an instance of PostAtsApplicationsApplicationIdRejectRequestBody' do + # uncomment below to test the instance creation + #expect(instance).to be_instance_of(Kombo::PostAtsApplicationsApplicationIdRejectRequestBody) + end + end + + describe 'test attribute "rejection_reason_id"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "note"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "remote_fields"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/post_ats_applications_application_id_result_links_positive_response_spec.rb b/spec/models/post_ats_applications_application_id_result_links_positive_response_spec.rb new file mode 100644 index 0000000..78a84f8 --- /dev/null +++ b/spec/models/post_ats_applications_application_id_result_links_positive_response_spec.rb @@ -0,0 +1,52 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.13.0 + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Kombo::PostAtsApplicationsApplicationIdResultLinksPositiveResponse +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Kombo::PostAtsApplicationsApplicationIdResultLinksPositiveResponse do + let(:instance) { Kombo::PostAtsApplicationsApplicationIdResultLinksPositiveResponse.new } + + describe 'test an instance of PostAtsApplicationsApplicationIdResultLinksPositiveResponse' do + it 'should create an instance of PostAtsApplicationsApplicationIdResultLinksPositiveResponse' do + # uncomment below to test the instance creation + #expect(instance).to be_instance_of(Kombo::PostAtsApplicationsApplicationIdResultLinksPositiveResponse) + end + end + + describe 'test attribute "status"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + # validator = Petstore::EnumTest::EnumAttributeValidator.new('String', ["success"]) + # validator.allowable_values.each do |value| + # expect { instance.status = value }.not_to raise_error + # end + end + end + + describe 'test attribute "data"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "warnings"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/post_ats_applications_application_id_result_links_request_body_details_attributes_inner_spec.rb b/spec/models/post_ats_applications_application_id_result_links_request_body_details_attributes_inner_spec.rb new file mode 100644 index 0000000..d24e67c --- /dev/null +++ b/spec/models/post_ats_applications_application_id_result_links_request_body_details_attributes_inner_spec.rb @@ -0,0 +1,42 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.13.0 + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Kombo::PostAtsApplicationsApplicationIdResultLinksRequestBodyDetailsAttributesInner +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Kombo::PostAtsApplicationsApplicationIdResultLinksRequestBodyDetailsAttributesInner do + let(:instance) { Kombo::PostAtsApplicationsApplicationIdResultLinksRequestBodyDetailsAttributesInner.new } + + describe 'test an instance of PostAtsApplicationsApplicationIdResultLinksRequestBodyDetailsAttributesInner' do + it 'should create an instance of PostAtsApplicationsApplicationIdResultLinksRequestBodyDetailsAttributesInner' do + # uncomment below to test the instance creation + #expect(instance).to be_instance_of(Kombo::PostAtsApplicationsApplicationIdResultLinksRequestBodyDetailsAttributesInner) + end + end + + describe 'test attribute "key"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "value"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/post_ats_applications_application_id_result_links_request_body_details_spec.rb b/spec/models/post_ats_applications_application_id_result_links_request_body_details_spec.rb new file mode 100644 index 0000000..79e2f64 --- /dev/null +++ b/spec/models/post_ats_applications_application_id_result_links_request_body_details_spec.rb @@ -0,0 +1,42 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.13.0 + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Kombo::PostAtsApplicationsApplicationIdResultLinksRequestBodyDetails +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Kombo::PostAtsApplicationsApplicationIdResultLinksRequestBodyDetails do + let(:instance) { Kombo::PostAtsApplicationsApplicationIdResultLinksRequestBodyDetails.new } + + describe 'test an instance of PostAtsApplicationsApplicationIdResultLinksRequestBodyDetails' do + it 'should create an instance of PostAtsApplicationsApplicationIdResultLinksRequestBodyDetails' do + # uncomment below to test the instance creation + #expect(instance).to be_instance_of(Kombo::PostAtsApplicationsApplicationIdResultLinksRequestBodyDetails) + end + end + + describe 'test attribute "custom_field_name_prefix"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "attributes"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/post_ats_applications_application_id_result_links_request_body_remote_fields_all_of_icims_spec.rb b/spec/models/post_ats_applications_application_id_result_links_request_body_remote_fields_all_of_icims_spec.rb new file mode 100644 index 0000000..e023d07 --- /dev/null +++ b/spec/models/post_ats_applications_application_id_result_links_request_body_remote_fields_all_of_icims_spec.rb @@ -0,0 +1,36 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.13.0 + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Kombo::PostAtsApplicationsApplicationIdResultLinksRequestBodyRemoteFieldsAllOfIcims +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Kombo::PostAtsApplicationsApplicationIdResultLinksRequestBodyRemoteFieldsAllOfIcims do + let(:instance) { Kombo::PostAtsApplicationsApplicationIdResultLinksRequestBodyRemoteFieldsAllOfIcims.new } + + describe 'test an instance of PostAtsApplicationsApplicationIdResultLinksRequestBodyRemoteFieldsAllOfIcims' do + it 'should create an instance of PostAtsApplicationsApplicationIdResultLinksRequestBodyRemoteFieldsAllOfIcims' do + # uncomment below to test the instance creation + #expect(instance).to be_instance_of(Kombo::PostAtsApplicationsApplicationIdResultLinksRequestBodyRemoteFieldsAllOfIcims) + end + end + + describe 'test attribute "assessment_package_id"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/post_ats_applications_application_id_result_links_request_body_remote_fields_all_of_oracle_spec.rb b/spec/models/post_ats_applications_application_id_result_links_request_body_remote_fields_all_of_oracle_spec.rb new file mode 100644 index 0000000..5342714 --- /dev/null +++ b/spec/models/post_ats_applications_application_id_result_links_request_body_remote_fields_all_of_oracle_spec.rb @@ -0,0 +1,46 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.13.0 + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Kombo::PostAtsApplicationsApplicationIdResultLinksRequestBodyRemoteFieldsAllOfOracle +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Kombo::PostAtsApplicationsApplicationIdResultLinksRequestBodyRemoteFieldsAllOfOracle do + let(:instance) { Kombo::PostAtsApplicationsApplicationIdResultLinksRequestBodyRemoteFieldsAllOfOracle.new } + + describe 'test an instance of PostAtsApplicationsApplicationIdResultLinksRequestBodyRemoteFieldsAllOfOracle' do + it 'should create an instance of PostAtsApplicationsApplicationIdResultLinksRequestBodyRemoteFieldsAllOfOracle' do + # uncomment below to test the instance creation + #expect(instance).to be_instance_of(Kombo::PostAtsApplicationsApplicationIdResultLinksRequestBodyRemoteFieldsAllOfOracle) + end + end + + describe 'test attribute "override_document_category"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + # validator = Petstore::EnumTest::EnumAttributeValidator.new('String', ["IRC_CANDIDATE_RESUME", "IRC_CANDIDATE_COVERLETTER", "MISC", "IRC_INTERNAL"]) + # validator.allowable_values.each do |value| + # expect { instance.override_document_category = value }.not_to raise_error + # end + end + end + + describe 'test attribute "multi_post_to_all_current_applications"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/post_ats_applications_application_id_result_links_request_body_remote_fields_spec.rb b/spec/models/post_ats_applications_application_id_result_links_request_body_remote_fields_spec.rb new file mode 100644 index 0000000..a8b20bd --- /dev/null +++ b/spec/models/post_ats_applications_application_id_result_links_request_body_remote_fields_spec.rb @@ -0,0 +1,54 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.13.0 + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Kombo::PostAtsApplicationsApplicationIdResultLinksRequestBodyRemoteFields +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Kombo::PostAtsApplicationsApplicationIdResultLinksRequestBodyRemoteFields do + let(:instance) { Kombo::PostAtsApplicationsApplicationIdResultLinksRequestBodyRemoteFields.new } + + describe 'test an instance of PostAtsApplicationsApplicationIdResultLinksRequestBodyRemoteFields' do + it 'should create an instance of PostAtsApplicationsApplicationIdResultLinksRequestBodyRemoteFields' do + # uncomment below to test the instance creation + #expect(instance).to be_instance_of(Kombo::PostAtsApplicationsApplicationIdResultLinksRequestBodyRemoteFields) + end + end + + describe 'test attribute "icims"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "oracle"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "greenhouse"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "workable"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/post_ats_applications_application_id_result_links_request_body_spec.rb b/spec/models/post_ats_applications_application_id_result_links_request_body_spec.rb new file mode 100644 index 0000000..6a5e96b --- /dev/null +++ b/spec/models/post_ats_applications_application_id_result_links_request_body_spec.rb @@ -0,0 +1,54 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.13.0 + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Kombo::PostAtsApplicationsApplicationIdResultLinksRequestBody +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Kombo::PostAtsApplicationsApplicationIdResultLinksRequestBody do + let(:instance) { Kombo::PostAtsApplicationsApplicationIdResultLinksRequestBody.new } + + describe 'test an instance of PostAtsApplicationsApplicationIdResultLinksRequestBody' do + it 'should create an instance of PostAtsApplicationsApplicationIdResultLinksRequestBody' do + # uncomment below to test the instance creation + #expect(instance).to be_instance_of(Kombo::PostAtsApplicationsApplicationIdResultLinksRequestBody) + end + end + + describe 'test attribute "label"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "url"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "details"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "remote_fields"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/post_ats_candidates_candidate_id_attachments_positive_response_spec.rb b/spec/models/post_ats_candidates_candidate_id_attachments_positive_response_spec.rb new file mode 100644 index 0000000..a9daf4b --- /dev/null +++ b/spec/models/post_ats_candidates_candidate_id_attachments_positive_response_spec.rb @@ -0,0 +1,52 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.13.0 + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Kombo::PostAtsCandidatesCandidateIdAttachmentsPositiveResponse +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Kombo::PostAtsCandidatesCandidateIdAttachmentsPositiveResponse do + let(:instance) { Kombo::PostAtsCandidatesCandidateIdAttachmentsPositiveResponse.new } + + describe 'test an instance of PostAtsCandidatesCandidateIdAttachmentsPositiveResponse' do + it 'should create an instance of PostAtsCandidatesCandidateIdAttachmentsPositiveResponse' do + # uncomment below to test the instance creation + #expect(instance).to be_instance_of(Kombo::PostAtsCandidatesCandidateIdAttachmentsPositiveResponse) + end + end + + describe 'test attribute "status"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + # validator = Petstore::EnumTest::EnumAttributeValidator.new('String', ["success"]) + # validator.allowable_values.each do |value| + # expect { instance.status = value }.not_to raise_error + # end + end + end + + describe 'test attribute "data"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "warnings"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/post_ats_candidates_candidate_id_attachments_request_body_spec.rb b/spec/models/post_ats_candidates_candidate_id_attachments_request_body_spec.rb new file mode 100644 index 0000000..6a0642d --- /dev/null +++ b/spec/models/post_ats_candidates_candidate_id_attachments_request_body_spec.rb @@ -0,0 +1,42 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.13.0 + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Kombo::PostAtsCandidatesCandidateIdAttachmentsRequestBody +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Kombo::PostAtsCandidatesCandidateIdAttachmentsRequestBody do + let(:instance) { Kombo::PostAtsCandidatesCandidateIdAttachmentsRequestBody.new } + + describe 'test an instance of PostAtsCandidatesCandidateIdAttachmentsRequestBody' do + it 'should create an instance of PostAtsCandidatesCandidateIdAttachmentsRequestBody' do + # uncomment below to test the instance creation + #expect(instance).to be_instance_of(Kombo::PostAtsCandidatesCandidateIdAttachmentsRequestBody) + end + end + + describe 'test attribute "attachment"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "remote_fields"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/post_ats_candidates_candidate_id_result_links_positive_response_spec.rb b/spec/models/post_ats_candidates_candidate_id_result_links_positive_response_spec.rb new file mode 100644 index 0000000..6d6583f --- /dev/null +++ b/spec/models/post_ats_candidates_candidate_id_result_links_positive_response_spec.rb @@ -0,0 +1,52 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.13.0 + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Kombo::PostAtsCandidatesCandidateIdResultLinksPositiveResponse +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Kombo::PostAtsCandidatesCandidateIdResultLinksPositiveResponse do + let(:instance) { Kombo::PostAtsCandidatesCandidateIdResultLinksPositiveResponse.new } + + describe 'test an instance of PostAtsCandidatesCandidateIdResultLinksPositiveResponse' do + it 'should create an instance of PostAtsCandidatesCandidateIdResultLinksPositiveResponse' do + # uncomment below to test the instance creation + #expect(instance).to be_instance_of(Kombo::PostAtsCandidatesCandidateIdResultLinksPositiveResponse) + end + end + + describe 'test attribute "status"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + # validator = Petstore::EnumTest::EnumAttributeValidator.new('String', ["success"]) + # validator.allowable_values.each do |value| + # expect { instance.status = value }.not_to raise_error + # end + end + end + + describe 'test attribute "data"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "warnings"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/post_ats_candidates_candidate_id_result_links_request_body_spec.rb b/spec/models/post_ats_candidates_candidate_id_result_links_request_body_spec.rb new file mode 100644 index 0000000..90b263c --- /dev/null +++ b/spec/models/post_ats_candidates_candidate_id_result_links_request_body_spec.rb @@ -0,0 +1,54 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.13.0 + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Kombo::PostAtsCandidatesCandidateIdResultLinksRequestBody +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Kombo::PostAtsCandidatesCandidateIdResultLinksRequestBody do + let(:instance) { Kombo::PostAtsCandidatesCandidateIdResultLinksRequestBody.new } + + describe 'test an instance of PostAtsCandidatesCandidateIdResultLinksRequestBody' do + it 'should create an instance of PostAtsCandidatesCandidateIdResultLinksRequestBody' do + # uncomment below to test the instance creation + #expect(instance).to be_instance_of(Kombo::PostAtsCandidatesCandidateIdResultLinksRequestBody) + end + end + + describe 'test attribute "label"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "url"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "details"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "remote_fields"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/post_ats_candidates_candidate_id_tags_positive_response_spec.rb b/spec/models/post_ats_candidates_candidate_id_tags_positive_response_spec.rb new file mode 100644 index 0000000..5cd5620 --- /dev/null +++ b/spec/models/post_ats_candidates_candidate_id_tags_positive_response_spec.rb @@ -0,0 +1,52 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.13.0 + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Kombo::PostAtsCandidatesCandidateIdTagsPositiveResponse +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Kombo::PostAtsCandidatesCandidateIdTagsPositiveResponse do + let(:instance) { Kombo::PostAtsCandidatesCandidateIdTagsPositiveResponse.new } + + describe 'test an instance of PostAtsCandidatesCandidateIdTagsPositiveResponse' do + it 'should create an instance of PostAtsCandidatesCandidateIdTagsPositiveResponse' do + # uncomment below to test the instance creation + #expect(instance).to be_instance_of(Kombo::PostAtsCandidatesCandidateIdTagsPositiveResponse) + end + end + + describe 'test attribute "status"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + # validator = Petstore::EnumTest::EnumAttributeValidator.new('String', ["success"]) + # validator.allowable_values.each do |value| + # expect { instance.status = value }.not_to raise_error + # end + end + end + + describe 'test attribute "data"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "warnings"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/post_ats_candidates_candidate_id_tags_request_body_spec.rb b/spec/models/post_ats_candidates_candidate_id_tags_request_body_spec.rb new file mode 100644 index 0000000..3114cdf --- /dev/null +++ b/spec/models/post_ats_candidates_candidate_id_tags_request_body_spec.rb @@ -0,0 +1,42 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.13.0 + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Kombo::PostAtsCandidatesCandidateIdTagsRequestBody +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Kombo::PostAtsCandidatesCandidateIdTagsRequestBody do + let(:instance) { Kombo::PostAtsCandidatesCandidateIdTagsRequestBody.new } + + describe 'test an instance of PostAtsCandidatesCandidateIdTagsRequestBody' do + it 'should create an instance of PostAtsCandidatesCandidateIdTagsRequestBody' do + # uncomment below to test the instance creation + #expect(instance).to be_instance_of(Kombo::PostAtsCandidatesCandidateIdTagsRequestBody) + end + end + + describe 'test attribute "tag"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "remote_fields"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/post_ats_candidates_candidate_id_tags_request_body_tag_spec.rb b/spec/models/post_ats_candidates_candidate_id_tags_request_body_tag_spec.rb new file mode 100644 index 0000000..9266930 --- /dev/null +++ b/spec/models/post_ats_candidates_candidate_id_tags_request_body_tag_spec.rb @@ -0,0 +1,36 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.13.0 + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Kombo::PostAtsCandidatesCandidateIdTagsRequestBodyTag +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Kombo::PostAtsCandidatesCandidateIdTagsRequestBodyTag do + let(:instance) { Kombo::PostAtsCandidatesCandidateIdTagsRequestBodyTag.new } + + describe 'test an instance of PostAtsCandidatesCandidateIdTagsRequestBodyTag' do + it 'should create an instance of PostAtsCandidatesCandidateIdTagsRequestBodyTag' do + # uncomment below to test the instance creation + #expect(instance).to be_instance_of(Kombo::PostAtsCandidatesCandidateIdTagsRequestBodyTag) + end + end + + describe 'test attribute "name"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/post_ats_candidates_positive_response_spec.rb b/spec/models/post_ats_candidates_positive_response_spec.rb new file mode 100644 index 0000000..cd7ae9d --- /dev/null +++ b/spec/models/post_ats_candidates_positive_response_spec.rb @@ -0,0 +1,52 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.13.0 + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Kombo::PostAtsCandidatesPositiveResponse +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Kombo::PostAtsCandidatesPositiveResponse do + let(:instance) { Kombo::PostAtsCandidatesPositiveResponse.new } + + describe 'test an instance of PostAtsCandidatesPositiveResponse' do + it 'should create an instance of PostAtsCandidatesPositiveResponse' do + # uncomment below to test the instance creation + #expect(instance).to be_instance_of(Kombo::PostAtsCandidatesPositiveResponse) + end + end + + describe 'test attribute "status"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + # validator = Petstore::EnumTest::EnumAttributeValidator.new('String', ["success"]) + # validator.allowable_values.each do |value| + # expect { instance.status = value }.not_to raise_error + # end + end + end + + describe 'test attribute "data"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "warnings"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/post_ats_candidates_request_body_application_spec.rb b/spec/models/post_ats_candidates_request_body_application_spec.rb new file mode 100644 index 0000000..31b3ab0 --- /dev/null +++ b/spec/models/post_ats_candidates_request_body_application_spec.rb @@ -0,0 +1,42 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.13.0 + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Kombo::PostAtsCandidatesRequestBodyApplication +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Kombo::PostAtsCandidatesRequestBodyApplication do + let(:instance) { Kombo::PostAtsCandidatesRequestBodyApplication.new } + + describe 'test an instance of PostAtsCandidatesRequestBodyApplication' do + it 'should create an instance of PostAtsCandidatesRequestBodyApplication' do + # uncomment below to test the instance creation + #expect(instance).to be_instance_of(Kombo::PostAtsCandidatesRequestBodyApplication) + end + end + + describe 'test attribute "job_id"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "stage_id"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/post_ats_candidates_request_body_candidate_additional_email_addresses_inner_spec.rb b/spec/models/post_ats_candidates_request_body_candidate_additional_email_addresses_inner_spec.rb new file mode 100644 index 0000000..5c03ae1 --- /dev/null +++ b/spec/models/post_ats_candidates_request_body_candidate_additional_email_addresses_inner_spec.rb @@ -0,0 +1,46 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.13.0 + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Kombo::PostAtsCandidatesRequestBodyCandidateAdditionalEmailAddressesInner +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Kombo::PostAtsCandidatesRequestBodyCandidateAdditionalEmailAddressesInner do + let(:instance) { Kombo::PostAtsCandidatesRequestBodyCandidateAdditionalEmailAddressesInner.new } + + describe 'test an instance of PostAtsCandidatesRequestBodyCandidateAdditionalEmailAddressesInner' do + it 'should create an instance of PostAtsCandidatesRequestBodyCandidateAdditionalEmailAddressesInner' do + # uncomment below to test the instance creation + #expect(instance).to be_instance_of(Kombo::PostAtsCandidatesRequestBodyCandidateAdditionalEmailAddressesInner) + end + end + + describe 'test attribute "type"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + # validator = Petstore::EnumTest::EnumAttributeValidator.new('String', ["PERSONAL", "WORK", "OTHER"]) + # validator.allowable_values.each do |value| + # expect { instance.type = value }.not_to raise_error + # end + end + end + + describe 'test attribute "email_address"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/post_ats_candidates_request_body_candidate_additional_phone_numbers_inner_spec.rb b/spec/models/post_ats_candidates_request_body_candidate_additional_phone_numbers_inner_spec.rb new file mode 100644 index 0000000..f3ebc3d --- /dev/null +++ b/spec/models/post_ats_candidates_request_body_candidate_additional_phone_numbers_inner_spec.rb @@ -0,0 +1,46 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.13.0 + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Kombo::PostAtsCandidatesRequestBodyCandidateAdditionalPhoneNumbersInner +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Kombo::PostAtsCandidatesRequestBodyCandidateAdditionalPhoneNumbersInner do + let(:instance) { Kombo::PostAtsCandidatesRequestBodyCandidateAdditionalPhoneNumbersInner.new } + + describe 'test an instance of PostAtsCandidatesRequestBodyCandidateAdditionalPhoneNumbersInner' do + it 'should create an instance of PostAtsCandidatesRequestBodyCandidateAdditionalPhoneNumbersInner' do + # uncomment below to test the instance creation + #expect(instance).to be_instance_of(Kombo::PostAtsCandidatesRequestBodyCandidateAdditionalPhoneNumbersInner) + end + end + + describe 'test attribute "type"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + # validator = Petstore::EnumTest::EnumAttributeValidator.new('String', ["PERSONAL", "WORK", "OTHER"]) + # validator.allowable_values.each do |value| + # expect { instance.type = value }.not_to raise_error + # end + end + end + + describe 'test attribute "phone_number"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/post_ats_candidates_request_body_candidate_location_spec.rb b/spec/models/post_ats_candidates_request_body_candidate_location_spec.rb new file mode 100644 index 0000000..b3c50d2 --- /dev/null +++ b/spec/models/post_ats_candidates_request_body_candidate_location_spec.rb @@ -0,0 +1,54 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.13.0 + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Kombo::PostAtsCandidatesRequestBodyCandidateLocation +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Kombo::PostAtsCandidatesRequestBodyCandidateLocation do + let(:instance) { Kombo::PostAtsCandidatesRequestBodyCandidateLocation.new } + + describe 'test an instance of PostAtsCandidatesRequestBodyCandidateLocation' do + it 'should create an instance of PostAtsCandidatesRequestBodyCandidateLocation' do + # uncomment below to test the instance creation + #expect(instance).to be_instance_of(Kombo::PostAtsCandidatesRequestBodyCandidateLocation) + end + end + + describe 'test attribute "city"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "country"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "state"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "zip_code"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/post_ats_candidates_request_body_candidate_salary_expectations_spec.rb b/spec/models/post_ats_candidates_request_body_candidate_salary_expectations_spec.rb new file mode 100644 index 0000000..7598752 --- /dev/null +++ b/spec/models/post_ats_candidates_request_body_candidate_salary_expectations_spec.rb @@ -0,0 +1,46 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.13.0 + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Kombo::PostAtsCandidatesRequestBodyCandidateSalaryExpectations +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Kombo::PostAtsCandidatesRequestBodyCandidateSalaryExpectations do + let(:instance) { Kombo::PostAtsCandidatesRequestBodyCandidateSalaryExpectations.new } + + describe 'test an instance of PostAtsCandidatesRequestBodyCandidateSalaryExpectations' do + it 'should create an instance of PostAtsCandidatesRequestBodyCandidateSalaryExpectations' do + # uncomment below to test the instance creation + #expect(instance).to be_instance_of(Kombo::PostAtsCandidatesRequestBodyCandidateSalaryExpectations) + end + end + + describe 'test attribute "period"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + # validator = Petstore::EnumTest::EnumAttributeValidator.new('String', ["MONTH", "YEAR"]) + # validator.allowable_values.each do |value| + # expect { instance.period = value }.not_to raise_error + # end + end + end + + describe 'test attribute "amount"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/post_ats_candidates_request_body_candidate_social_links_inner_spec.rb b/spec/models/post_ats_candidates_request_body_candidate_social_links_inner_spec.rb new file mode 100644 index 0000000..c72f144 --- /dev/null +++ b/spec/models/post_ats_candidates_request_body_candidate_social_links_inner_spec.rb @@ -0,0 +1,36 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.13.0 + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Kombo::PostAtsCandidatesRequestBodyCandidateSocialLinksInner +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Kombo::PostAtsCandidatesRequestBodyCandidateSocialLinksInner do + let(:instance) { Kombo::PostAtsCandidatesRequestBodyCandidateSocialLinksInner.new } + + describe 'test an instance of PostAtsCandidatesRequestBodyCandidateSocialLinksInner' do + it 'should create an instance of PostAtsCandidatesRequestBodyCandidateSocialLinksInner' do + # uncomment below to test the instance creation + #expect(instance).to be_instance_of(Kombo::PostAtsCandidatesRequestBodyCandidateSocialLinksInner) + end + end + + describe 'test attribute "url"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/post_ats_candidates_request_body_candidate_spec.rb b/spec/models/post_ats_candidates_request_body_candidate_spec.rb new file mode 100644 index 0000000..522b776 --- /dev/null +++ b/spec/models/post_ats_candidates_request_body_candidate_spec.rb @@ -0,0 +1,112 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.13.0 + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Kombo::PostAtsCandidatesRequestBodyCandidate +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Kombo::PostAtsCandidatesRequestBodyCandidate do + let(:instance) { Kombo::PostAtsCandidatesRequestBodyCandidate.new } + + describe 'test an instance of PostAtsCandidatesRequestBodyCandidate' do + it 'should create an instance of PostAtsCandidatesRequestBodyCandidate' do + # uncomment below to test the instance creation + #expect(instance).to be_instance_of(Kombo::PostAtsCandidatesRequestBodyCandidate) + end + end + + describe 'test attribute "first_name"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "last_name"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "email_address"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "additional_email_addresses"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "company"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "title"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "phone_number"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "additional_phone_numbers"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "location"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "gender"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + # validator = Petstore::EnumTest::EnumAttributeValidator.new('String', ["MALE", "FEMALE", "OTHER"]) + # validator.allowable_values.each do |value| + # expect { instance.gender = value }.not_to raise_error + # end + end + end + + describe 'test attribute "availability_date"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "salary_expectations"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "social_links"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/post_ats_candidates_request_body_gdpr_consent_spec.rb b/spec/models/post_ats_candidates_request_body_gdpr_consent_spec.rb new file mode 100644 index 0000000..a10db6a --- /dev/null +++ b/spec/models/post_ats_candidates_request_body_gdpr_consent_spec.rb @@ -0,0 +1,42 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.13.0 + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Kombo::PostAtsCandidatesRequestBodyGdprConsent +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Kombo::PostAtsCandidatesRequestBodyGdprConsent do + let(:instance) { Kombo::PostAtsCandidatesRequestBodyGdprConsent.new } + + describe 'test an instance of PostAtsCandidatesRequestBodyGdprConsent' do + it 'should create an instance of PostAtsCandidatesRequestBodyGdprConsent' do + # uncomment below to test the instance creation + #expect(instance).to be_instance_of(Kombo::PostAtsCandidatesRequestBodyGdprConsent) + end + end + + describe 'test attribute "expires_at"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "given"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/post_ats_candidates_request_body_remote_fields_all_of_avature_spec.rb b/spec/models/post_ats_candidates_request_body_remote_fields_all_of_avature_spec.rb new file mode 100644 index 0000000..fc6ff39 --- /dev/null +++ b/spec/models/post_ats_candidates_request_body_remote_fields_all_of_avature_spec.rb @@ -0,0 +1,36 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.13.0 + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Kombo::PostAtsCandidatesRequestBodyRemoteFieldsAllOfAvature +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Kombo::PostAtsCandidatesRequestBodyRemoteFieldsAllOfAvature do + let(:instance) { Kombo::PostAtsCandidatesRequestBodyRemoteFieldsAllOfAvature.new } + + describe 'test an instance of PostAtsCandidatesRequestBodyRemoteFieldsAllOfAvature' do + it 'should create an instance of PostAtsCandidatesRequestBodyRemoteFieldsAllOfAvature' do + # uncomment below to test the instance creation + #expect(instance).to be_instance_of(Kombo::PostAtsCandidatesRequestBodyRemoteFieldsAllOfAvature) + end + end + + describe 'test attribute "workflow"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/post_ats_candidates_request_body_remote_fields_all_of_avature_workflow_spec.rb b/spec/models/post_ats_candidates_request_body_remote_fields_all_of_avature_workflow_spec.rb new file mode 100644 index 0000000..c0215a6 --- /dev/null +++ b/spec/models/post_ats_candidates_request_body_remote_fields_all_of_avature_workflow_spec.rb @@ -0,0 +1,36 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.13.0 + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Kombo::PostAtsCandidatesRequestBodyRemoteFieldsAllOfAvatureWorkflow +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Kombo::PostAtsCandidatesRequestBodyRemoteFieldsAllOfAvatureWorkflow do + let(:instance) { Kombo::PostAtsCandidatesRequestBodyRemoteFieldsAllOfAvatureWorkflow.new } + + describe 'test an instance of PostAtsCandidatesRequestBodyRemoteFieldsAllOfAvatureWorkflow' do + it 'should create an instance of PostAtsCandidatesRequestBodyRemoteFieldsAllOfAvatureWorkflow' do + # uncomment below to test the instance creation + #expect(instance).to be_instance_of(Kombo::PostAtsCandidatesRequestBodyRemoteFieldsAllOfAvatureWorkflow) + end + end + + describe 'test attribute "step"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/post_ats_candidates_request_body_remote_fields_all_of_avature_workflow_step_spec.rb b/spec/models/post_ats_candidates_request_body_remote_fields_all_of_avature_workflow_step_spec.rb new file mode 100644 index 0000000..8ce5a72 --- /dev/null +++ b/spec/models/post_ats_candidates_request_body_remote_fields_all_of_avature_workflow_step_spec.rb @@ -0,0 +1,36 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.13.0 + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Kombo::PostAtsCandidatesRequestBodyRemoteFieldsAllOfAvatureWorkflowStep +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Kombo::PostAtsCandidatesRequestBodyRemoteFieldsAllOfAvatureWorkflowStep do + let(:instance) { Kombo::PostAtsCandidatesRequestBodyRemoteFieldsAllOfAvatureWorkflowStep.new } + + describe 'test an instance of PostAtsCandidatesRequestBodyRemoteFieldsAllOfAvatureWorkflowStep' do + it 'should create an instance of PostAtsCandidatesRequestBodyRemoteFieldsAllOfAvatureWorkflowStep' do + # uncomment below to test the instance creation + #expect(instance).to be_instance_of(Kombo::PostAtsCandidatesRequestBodyRemoteFieldsAllOfAvatureWorkflowStep) + end + end + + describe 'test attribute "id"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/post_ats_candidates_request_body_remote_fields_all_of_bullhorn_spec.rb b/spec/models/post_ats_candidates_request_body_remote_fields_all_of_bullhorn_spec.rb new file mode 100644 index 0000000..f57fccc --- /dev/null +++ b/spec/models/post_ats_candidates_request_body_remote_fields_all_of_bullhorn_spec.rb @@ -0,0 +1,42 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.13.0 + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Kombo::PostAtsCandidatesRequestBodyRemoteFieldsAllOfBullhorn +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Kombo::PostAtsCandidatesRequestBodyRemoteFieldsAllOfBullhorn do + let(:instance) { Kombo::PostAtsCandidatesRequestBodyRemoteFieldsAllOfBullhorn.new } + + describe 'test an instance of PostAtsCandidatesRequestBodyRemoteFieldsAllOfBullhorn' do + it 'should create an instance of PostAtsCandidatesRequestBodyRemoteFieldsAllOfBullhorn' do + # uncomment below to test the instance creation + #expect(instance).to be_instance_of(Kombo::PostAtsCandidatesRequestBodyRemoteFieldsAllOfBullhorn) + end + end + + describe 'test attribute "candidate"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "job_submission"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/post_ats_candidates_request_body_remote_fields_all_of_dvinci_spec.rb b/spec/models/post_ats_candidates_request_body_remote_fields_all_of_dvinci_spec.rb new file mode 100644 index 0000000..1b00239 --- /dev/null +++ b/spec/models/post_ats_candidates_request_body_remote_fields_all_of_dvinci_spec.rb @@ -0,0 +1,36 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.13.0 + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Kombo::PostAtsCandidatesRequestBodyRemoteFieldsAllOfDvinci +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Kombo::PostAtsCandidatesRequestBodyRemoteFieldsAllOfDvinci do + let(:instance) { Kombo::PostAtsCandidatesRequestBodyRemoteFieldsAllOfDvinci.new } + + describe 'test an instance of PostAtsCandidatesRequestBodyRemoteFieldsAllOfDvinci' do + it 'should create an instance of PostAtsCandidatesRequestBodyRemoteFieldsAllOfDvinci' do + # uncomment below to test the instance creation + #expect(instance).to be_instance_of(Kombo::PostAtsCandidatesRequestBodyRemoteFieldsAllOfDvinci) + end + end + + describe 'test attribute "application"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/post_ats_candidates_request_body_remote_fields_all_of_greenhouse_spec.rb b/spec/models/post_ats_candidates_request_body_remote_fields_all_of_greenhouse_spec.rb new file mode 100644 index 0000000..69f360b --- /dev/null +++ b/spec/models/post_ats_candidates_request_body_remote_fields_all_of_greenhouse_spec.rb @@ -0,0 +1,42 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.13.0 + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Kombo::PostAtsCandidatesRequestBodyRemoteFieldsAllOfGreenhouse +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Kombo::PostAtsCandidatesRequestBodyRemoteFieldsAllOfGreenhouse do + let(:instance) { Kombo::PostAtsCandidatesRequestBodyRemoteFieldsAllOfGreenhouse.new } + + describe 'test an instance of PostAtsCandidatesRequestBodyRemoteFieldsAllOfGreenhouse' do + it 'should create an instance of PostAtsCandidatesRequestBodyRemoteFieldsAllOfGreenhouse' do + # uncomment below to test the instance creation + #expect(instance).to be_instance_of(Kombo::PostAtsCandidatesRequestBodyRemoteFieldsAllOfGreenhouse) + end + end + + describe 'test attribute "candidate"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "application"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/post_ats_candidates_request_body_remote_fields_all_of_guidecom_spec.rb b/spec/models/post_ats_candidates_request_body_remote_fields_all_of_guidecom_spec.rb new file mode 100644 index 0000000..7231b37 --- /dev/null +++ b/spec/models/post_ats_candidates_request_body_remote_fields_all_of_guidecom_spec.rb @@ -0,0 +1,36 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.13.0 + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Kombo::PostAtsCandidatesRequestBodyRemoteFieldsAllOfGuidecom +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Kombo::PostAtsCandidatesRequestBodyRemoteFieldsAllOfGuidecom do + let(:instance) { Kombo::PostAtsCandidatesRequestBodyRemoteFieldsAllOfGuidecom.new } + + describe 'test an instance of PostAtsCandidatesRequestBodyRemoteFieldsAllOfGuidecom' do + it 'should create an instance of PostAtsCandidatesRequestBodyRemoteFieldsAllOfGuidecom' do + # uncomment below to test the instance creation + #expect(instance).to be_instance_of(Kombo::PostAtsCandidatesRequestBodyRemoteFieldsAllOfGuidecom) + end + end + + describe 'test attribute "candidate"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/post_ats_candidates_request_body_remote_fields_all_of_hrworks_spec.rb b/spec/models/post_ats_candidates_request_body_remote_fields_all_of_hrworks_spec.rb new file mode 100644 index 0000000..a0996ea --- /dev/null +++ b/spec/models/post_ats_candidates_request_body_remote_fields_all_of_hrworks_spec.rb @@ -0,0 +1,36 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.13.0 + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Kombo::PostAtsCandidatesRequestBodyRemoteFieldsAllOfHrworks +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Kombo::PostAtsCandidatesRequestBodyRemoteFieldsAllOfHrworks do + let(:instance) { Kombo::PostAtsCandidatesRequestBodyRemoteFieldsAllOfHrworks.new } + + describe 'test an instance of PostAtsCandidatesRequestBodyRemoteFieldsAllOfHrworks' do + it 'should create an instance of PostAtsCandidatesRequestBodyRemoteFieldsAllOfHrworks' do + # uncomment below to test the instance creation + #expect(instance).to be_instance_of(Kombo::PostAtsCandidatesRequestBodyRemoteFieldsAllOfHrworks) + end + end + + describe 'test attribute "job_application"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/post_ats_candidates_request_body_remote_fields_all_of_jobylon_application_spec.rb b/spec/models/post_ats_candidates_request_body_remote_fields_all_of_jobylon_application_spec.rb new file mode 100644 index 0000000..3ce2bbd --- /dev/null +++ b/spec/models/post_ats_candidates_request_body_remote_fields_all_of_jobylon_application_spec.rb @@ -0,0 +1,36 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.13.0 + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Kombo::PostAtsCandidatesRequestBodyRemoteFieldsAllOfJobylonApplication +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Kombo::PostAtsCandidatesRequestBodyRemoteFieldsAllOfJobylonApplication do + let(:instance) { Kombo::PostAtsCandidatesRequestBodyRemoteFieldsAllOfJobylonApplication.new } + + describe 'test an instance of PostAtsCandidatesRequestBodyRemoteFieldsAllOfJobylonApplication' do + it 'should create an instance of PostAtsCandidatesRequestBodyRemoteFieldsAllOfJobylonApplication' do + # uncomment below to test the instance creation + #expect(instance).to be_instance_of(Kombo::PostAtsCandidatesRequestBodyRemoteFieldsAllOfJobylonApplication) + end + end + + describe 'test attribute "message"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/post_ats_candidates_request_body_remote_fields_all_of_jobylon_spec.rb b/spec/models/post_ats_candidates_request_body_remote_fields_all_of_jobylon_spec.rb new file mode 100644 index 0000000..50b7ba0 --- /dev/null +++ b/spec/models/post_ats_candidates_request_body_remote_fields_all_of_jobylon_spec.rb @@ -0,0 +1,36 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.13.0 + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Kombo::PostAtsCandidatesRequestBodyRemoteFieldsAllOfJobylon +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Kombo::PostAtsCandidatesRequestBodyRemoteFieldsAllOfJobylon do + let(:instance) { Kombo::PostAtsCandidatesRequestBodyRemoteFieldsAllOfJobylon.new } + + describe 'test an instance of PostAtsCandidatesRequestBodyRemoteFieldsAllOfJobylon' do + it 'should create an instance of PostAtsCandidatesRequestBodyRemoteFieldsAllOfJobylon' do + # uncomment below to test the instance creation + #expect(instance).to be_instance_of(Kombo::PostAtsCandidatesRequestBodyRemoteFieldsAllOfJobylon) + end + end + + describe 'test attribute "application"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/post_ats_candidates_request_body_remote_fields_all_of_lever_spec.rb b/spec/models/post_ats_candidates_request_body_remote_fields_all_of_lever_spec.rb new file mode 100644 index 0000000..2384adb --- /dev/null +++ b/spec/models/post_ats_candidates_request_body_remote_fields_all_of_lever_spec.rb @@ -0,0 +1,36 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.13.0 + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Kombo::PostAtsCandidatesRequestBodyRemoteFieldsAllOfLever +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Kombo::PostAtsCandidatesRequestBodyRemoteFieldsAllOfLever do + let(:instance) { Kombo::PostAtsCandidatesRequestBodyRemoteFieldsAllOfLever.new } + + describe 'test an instance of PostAtsCandidatesRequestBodyRemoteFieldsAllOfLever' do + it 'should create an instance of PostAtsCandidatesRequestBodyRemoteFieldsAllOfLever' do + # uncomment below to test the instance creation + #expect(instance).to be_instance_of(Kombo::PostAtsCandidatesRequestBodyRemoteFieldsAllOfLever) + end + end + + describe 'test attribute "candidate"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/post_ats_candidates_request_body_remote_fields_all_of_personio_spec.rb b/spec/models/post_ats_candidates_request_body_remote_fields_all_of_personio_spec.rb new file mode 100644 index 0000000..f3594f2 --- /dev/null +++ b/spec/models/post_ats_candidates_request_body_remote_fields_all_of_personio_spec.rb @@ -0,0 +1,36 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.13.0 + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Kombo::PostAtsCandidatesRequestBodyRemoteFieldsAllOfPersonio +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Kombo::PostAtsCandidatesRequestBodyRemoteFieldsAllOfPersonio do + let(:instance) { Kombo::PostAtsCandidatesRequestBodyRemoteFieldsAllOfPersonio.new } + + describe 'test an instance of PostAtsCandidatesRequestBodyRemoteFieldsAllOfPersonio' do + it 'should create an instance of PostAtsCandidatesRequestBodyRemoteFieldsAllOfPersonio' do + # uncomment below to test the instance creation + #expect(instance).to be_instance_of(Kombo::PostAtsCandidatesRequestBodyRemoteFieldsAllOfPersonio) + end + end + + describe 'test attribute "application"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/post_ats_candidates_request_body_remote_fields_all_of_piloga_candidate_spec.rb b/spec/models/post_ats_candidates_request_body_remote_fields_all_of_piloga_candidate_spec.rb new file mode 100644 index 0000000..14119a2 --- /dev/null +++ b/spec/models/post_ats_candidates_request_body_remote_fields_all_of_piloga_candidate_spec.rb @@ -0,0 +1,36 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.13.0 + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Kombo::PostAtsCandidatesRequestBodyRemoteFieldsAllOfPilogaCandidate +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Kombo::PostAtsCandidatesRequestBodyRemoteFieldsAllOfPilogaCandidate do + let(:instance) { Kombo::PostAtsCandidatesRequestBodyRemoteFieldsAllOfPilogaCandidate.new } + + describe 'test an instance of PostAtsCandidatesRequestBodyRemoteFieldsAllOfPilogaCandidate' do + it 'should create an instance of PostAtsCandidatesRequestBodyRemoteFieldsAllOfPilogaCandidate' do + # uncomment below to test the instance creation + #expect(instance).to be_instance_of(Kombo::PostAtsCandidatesRequestBodyRemoteFieldsAllOfPilogaCandidate) + end + end + + describe 'test attribute "street"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/post_ats_candidates_request_body_remote_fields_all_of_piloga_spec.rb b/spec/models/post_ats_candidates_request_body_remote_fields_all_of_piloga_spec.rb new file mode 100644 index 0000000..faef173 --- /dev/null +++ b/spec/models/post_ats_candidates_request_body_remote_fields_all_of_piloga_spec.rb @@ -0,0 +1,36 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.13.0 + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Kombo::PostAtsCandidatesRequestBodyRemoteFieldsAllOfPiloga +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Kombo::PostAtsCandidatesRequestBodyRemoteFieldsAllOfPiloga do + let(:instance) { Kombo::PostAtsCandidatesRequestBodyRemoteFieldsAllOfPiloga.new } + + describe 'test an instance of PostAtsCandidatesRequestBodyRemoteFieldsAllOfPiloga' do + it 'should create an instance of PostAtsCandidatesRequestBodyRemoteFieldsAllOfPiloga' do + # uncomment below to test the instance creation + #expect(instance).to be_instance_of(Kombo::PostAtsCandidatesRequestBodyRemoteFieldsAllOfPiloga) + end + end + + describe 'test attribute "candidate"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/post_ats_candidates_request_body_remote_fields_all_of_recruitee_candidate_spec.rb b/spec/models/post_ats_candidates_request_body_remote_fields_all_of_recruitee_candidate_spec.rb new file mode 100644 index 0000000..25f977d --- /dev/null +++ b/spec/models/post_ats_candidates_request_body_remote_fields_all_of_recruitee_candidate_spec.rb @@ -0,0 +1,36 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.13.0 + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Kombo::PostAtsCandidatesRequestBodyRemoteFieldsAllOfRecruiteeCandidate +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Kombo::PostAtsCandidatesRequestBodyRemoteFieldsAllOfRecruiteeCandidate do + let(:instance) { Kombo::PostAtsCandidatesRequestBodyRemoteFieldsAllOfRecruiteeCandidate.new } + + describe 'test an instance of PostAtsCandidatesRequestBodyRemoteFieldsAllOfRecruiteeCandidate' do + it 'should create an instance of PostAtsCandidatesRequestBodyRemoteFieldsAllOfRecruiteeCandidate' do + # uncomment below to test the instance creation + #expect(instance).to be_instance_of(Kombo::PostAtsCandidatesRequestBodyRemoteFieldsAllOfRecruiteeCandidate) + end + end + + describe 'test attribute "cover_letter_text"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/post_ats_candidates_request_body_remote_fields_all_of_recruitee_spec.rb b/spec/models/post_ats_candidates_request_body_remote_fields_all_of_recruitee_spec.rb new file mode 100644 index 0000000..f3fd068 --- /dev/null +++ b/spec/models/post_ats_candidates_request_body_remote_fields_all_of_recruitee_spec.rb @@ -0,0 +1,36 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.13.0 + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Kombo::PostAtsCandidatesRequestBodyRemoteFieldsAllOfRecruitee +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Kombo::PostAtsCandidatesRequestBodyRemoteFieldsAllOfRecruitee do + let(:instance) { Kombo::PostAtsCandidatesRequestBodyRemoteFieldsAllOfRecruitee.new } + + describe 'test an instance of PostAtsCandidatesRequestBodyRemoteFieldsAllOfRecruitee' do + it 'should create an instance of PostAtsCandidatesRequestBodyRemoteFieldsAllOfRecruitee' do + # uncomment below to test the instance creation + #expect(instance).to be_instance_of(Kombo::PostAtsCandidatesRequestBodyRemoteFieldsAllOfRecruitee) + end + end + + describe 'test attribute "candidate"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/post_ats_candidates_request_body_remote_fields_all_of_smartrecruiters_spec.rb b/spec/models/post_ats_candidates_request_body_remote_fields_all_of_smartrecruiters_spec.rb new file mode 100644 index 0000000..2b7eaaf --- /dev/null +++ b/spec/models/post_ats_candidates_request_body_remote_fields_all_of_smartrecruiters_spec.rb @@ -0,0 +1,48 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.13.0 + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Kombo::PostAtsCandidatesRequestBodyRemoteFieldsAllOfSmartrecruiters +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Kombo::PostAtsCandidatesRequestBodyRemoteFieldsAllOfSmartrecruiters do + let(:instance) { Kombo::PostAtsCandidatesRequestBodyRemoteFieldsAllOfSmartrecruiters.new } + + describe 'test an instance of PostAtsCandidatesRequestBodyRemoteFieldsAllOfSmartrecruiters' do + it 'should create an instance of PostAtsCandidatesRequestBodyRemoteFieldsAllOfSmartrecruiters' do + # uncomment below to test the instance creation + #expect(instance).to be_instance_of(Kombo::PostAtsCandidatesRequestBodyRemoteFieldsAllOfSmartrecruiters) + end + end + + describe 'test attribute "candidate_with_questions"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "candidate_without_questions"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "candidate"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/post_ats_candidates_request_body_remote_fields_all_of_successfactors_spec.rb b/spec/models/post_ats_candidates_request_body_remote_fields_all_of_successfactors_spec.rb new file mode 100644 index 0000000..cc13ff6 --- /dev/null +++ b/spec/models/post_ats_candidates_request_body_remote_fields_all_of_successfactors_spec.rb @@ -0,0 +1,54 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.13.0 + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Kombo::PostAtsCandidatesRequestBodyRemoteFieldsAllOfSuccessfactors +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Kombo::PostAtsCandidatesRequestBodyRemoteFieldsAllOfSuccessfactors do + let(:instance) { Kombo::PostAtsCandidatesRequestBodyRemoteFieldsAllOfSuccessfactors.new } + + describe 'test an instance of PostAtsCandidatesRequestBodyRemoteFieldsAllOfSuccessfactors' do + it 'should create an instance of PostAtsCandidatesRequestBodyRemoteFieldsAllOfSuccessfactors' do + # uncomment below to test the instance creation + #expect(instance).to be_instance_of(Kombo::PostAtsCandidatesRequestBodyRemoteFieldsAllOfSuccessfactors) + end + end + + describe 'test attribute "candidate"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "job_application"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "copy_job_application_attachments"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "update_existing_candidate"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/post_ats_candidates_request_body_remote_fields_all_of_talentadore_spec.rb b/spec/models/post_ats_candidates_request_body_remote_fields_all_of_talentadore_spec.rb new file mode 100644 index 0000000..a1a3a7f --- /dev/null +++ b/spec/models/post_ats_candidates_request_body_remote_fields_all_of_talentadore_spec.rb @@ -0,0 +1,36 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.13.0 + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Kombo::PostAtsCandidatesRequestBodyRemoteFieldsAllOfTalentadore +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Kombo::PostAtsCandidatesRequestBodyRemoteFieldsAllOfTalentadore do + let(:instance) { Kombo::PostAtsCandidatesRequestBodyRemoteFieldsAllOfTalentadore.new } + + describe 'test an instance of PostAtsCandidatesRequestBodyRemoteFieldsAllOfTalentadore' do + it 'should create an instance of PostAtsCandidatesRequestBodyRemoteFieldsAllOfTalentadore' do + # uncomment below to test the instance creation + #expect(instance).to be_instance_of(Kombo::PostAtsCandidatesRequestBodyRemoteFieldsAllOfTalentadore) + end + end + + describe 'test attribute "applications"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/post_ats_candidates_request_body_remote_fields_all_of_talentsoft_spec.rb b/spec/models/post_ats_candidates_request_body_remote_fields_all_of_talentsoft_spec.rb new file mode 100644 index 0000000..d3d0405 --- /dev/null +++ b/spec/models/post_ats_candidates_request_body_remote_fields_all_of_talentsoft_spec.rb @@ -0,0 +1,42 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.13.0 + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Kombo::PostAtsCandidatesRequestBodyRemoteFieldsAllOfTalentsoft +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Kombo::PostAtsCandidatesRequestBodyRemoteFieldsAllOfTalentsoft do + let(:instance) { Kombo::PostAtsCandidatesRequestBodyRemoteFieldsAllOfTalentsoft.new } + + describe 'test an instance of PostAtsCandidatesRequestBodyRemoteFieldsAllOfTalentsoft' do + it 'should create an instance of PostAtsCandidatesRequestBodyRemoteFieldsAllOfTalentsoft' do + # uncomment below to test the instance creation + #expect(instance).to be_instance_of(Kombo::PostAtsCandidatesRequestBodyRemoteFieldsAllOfTalentsoft) + end + end + + describe 'test attribute "applicant"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "application"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/post_ats_candidates_request_body_remote_fields_all_of_teamtailor_application_spec.rb b/spec/models/post_ats_candidates_request_body_remote_fields_all_of_teamtailor_application_spec.rb new file mode 100644 index 0000000..8df4816 --- /dev/null +++ b/spec/models/post_ats_candidates_request_body_remote_fields_all_of_teamtailor_application_spec.rb @@ -0,0 +1,36 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.13.0 + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Kombo::PostAtsCandidatesRequestBodyRemoteFieldsAllOfTeamtailorApplication +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Kombo::PostAtsCandidatesRequestBodyRemoteFieldsAllOfTeamtailorApplication do + let(:instance) { Kombo::PostAtsCandidatesRequestBodyRemoteFieldsAllOfTeamtailorApplication.new } + + describe 'test an instance of PostAtsCandidatesRequestBodyRemoteFieldsAllOfTeamtailorApplication' do + it 'should create an instance of PostAtsCandidatesRequestBodyRemoteFieldsAllOfTeamtailorApplication' do + # uncomment below to test the instance creation + #expect(instance).to be_instance_of(Kombo::PostAtsCandidatesRequestBodyRemoteFieldsAllOfTeamtailorApplication) + end + end + + describe 'test attribute "attributes"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/post_ats_candidates_request_body_remote_fields_all_of_teamtailor_spec.rb b/spec/models/post_ats_candidates_request_body_remote_fields_all_of_teamtailor_spec.rb new file mode 100644 index 0000000..1ec7db4 --- /dev/null +++ b/spec/models/post_ats_candidates_request_body_remote_fields_all_of_teamtailor_spec.rb @@ -0,0 +1,42 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.13.0 + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Kombo::PostAtsCandidatesRequestBodyRemoteFieldsAllOfTeamtailor +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Kombo::PostAtsCandidatesRequestBodyRemoteFieldsAllOfTeamtailor do + let(:instance) { Kombo::PostAtsCandidatesRequestBodyRemoteFieldsAllOfTeamtailor.new } + + describe 'test an instance of PostAtsCandidatesRequestBodyRemoteFieldsAllOfTeamtailor' do + it 'should create an instance of PostAtsCandidatesRequestBodyRemoteFieldsAllOfTeamtailor' do + # uncomment below to test the instance creation + #expect(instance).to be_instance_of(Kombo::PostAtsCandidatesRequestBodyRemoteFieldsAllOfTeamtailor) + end + end + + describe 'test attribute "candidate"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "application"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/post_ats_candidates_request_body_remote_fields_all_of_umantis_spec.rb b/spec/models/post_ats_candidates_request_body_remote_fields_all_of_umantis_spec.rb new file mode 100644 index 0000000..a23a026 --- /dev/null +++ b/spec/models/post_ats_candidates_request_body_remote_fields_all_of_umantis_spec.rb @@ -0,0 +1,36 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.13.0 + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Kombo::PostAtsCandidatesRequestBodyRemoteFieldsAllOfUmantis +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Kombo::PostAtsCandidatesRequestBodyRemoteFieldsAllOfUmantis do + let(:instance) { Kombo::PostAtsCandidatesRequestBodyRemoteFieldsAllOfUmantis.new } + + describe 'test an instance of PostAtsCandidatesRequestBodyRemoteFieldsAllOfUmantis' do + it 'should create an instance of PostAtsCandidatesRequestBodyRemoteFieldsAllOfUmantis' do + # uncomment below to test the instance creation + #expect(instance).to be_instance_of(Kombo::PostAtsCandidatesRequestBodyRemoteFieldsAllOfUmantis) + end + end + + describe 'test attribute "person"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/post_ats_candidates_request_body_remote_fields_all_of_workable_spec.rb b/spec/models/post_ats_candidates_request_body_remote_fields_all_of_workable_spec.rb new file mode 100644 index 0000000..b5f69ef --- /dev/null +++ b/spec/models/post_ats_candidates_request_body_remote_fields_all_of_workable_spec.rb @@ -0,0 +1,36 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.13.0 + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Kombo::PostAtsCandidatesRequestBodyRemoteFieldsAllOfWorkable +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Kombo::PostAtsCandidatesRequestBodyRemoteFieldsAllOfWorkable do + let(:instance) { Kombo::PostAtsCandidatesRequestBodyRemoteFieldsAllOfWorkable.new } + + describe 'test an instance of PostAtsCandidatesRequestBodyRemoteFieldsAllOfWorkable' do + it 'should create an instance of PostAtsCandidatesRequestBodyRemoteFieldsAllOfWorkable' do + # uncomment below to test the instance creation + #expect(instance).to be_instance_of(Kombo::PostAtsCandidatesRequestBodyRemoteFieldsAllOfWorkable) + end + end + + describe 'test attribute "candidate"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/post_ats_candidates_request_body_remote_fields_all_of_workday_candidate_data_contact_data_location_data_country_region_reference_spec.rb b/spec/models/post_ats_candidates_request_body_remote_fields_all_of_workday_candidate_data_contact_data_location_data_country_region_reference_spec.rb new file mode 100644 index 0000000..9c276ab --- /dev/null +++ b/spec/models/post_ats_candidates_request_body_remote_fields_all_of_workday_candidate_data_contact_data_location_data_country_region_reference_spec.rb @@ -0,0 +1,36 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.13.0 + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Kombo::PostAtsCandidatesRequestBodyRemoteFieldsAllOfWorkdayCandidateDataContactDataLocationDataCountryRegionReference +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Kombo::PostAtsCandidatesRequestBodyRemoteFieldsAllOfWorkdayCandidateDataContactDataLocationDataCountryRegionReference do + let(:instance) { Kombo::PostAtsCandidatesRequestBodyRemoteFieldsAllOfWorkdayCandidateDataContactDataLocationDataCountryRegionReference.new } + + describe 'test an instance of PostAtsCandidatesRequestBodyRemoteFieldsAllOfWorkdayCandidateDataContactDataLocationDataCountryRegionReference' do + it 'should create an instance of PostAtsCandidatesRequestBodyRemoteFieldsAllOfWorkdayCandidateDataContactDataLocationDataCountryRegionReference' do + # uncomment below to test the instance creation + #expect(instance).to be_instance_of(Kombo::PostAtsCandidatesRequestBodyRemoteFieldsAllOfWorkdayCandidateDataContactDataLocationDataCountryRegionReference) + end + end + + describe 'test attribute "country_region_id"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/post_ats_candidates_request_body_remote_fields_all_of_workday_candidate_data_contact_data_location_data_spec.rb b/spec/models/post_ats_candidates_request_body_remote_fields_all_of_workday_candidate_data_contact_data_location_data_spec.rb new file mode 100644 index 0000000..0283e6e --- /dev/null +++ b/spec/models/post_ats_candidates_request_body_remote_fields_all_of_workday_candidate_data_contact_data_location_data_spec.rb @@ -0,0 +1,60 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.13.0 + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Kombo::PostAtsCandidatesRequestBodyRemoteFieldsAllOfWorkdayCandidateDataContactDataLocationData +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Kombo::PostAtsCandidatesRequestBodyRemoteFieldsAllOfWorkdayCandidateDataContactDataLocationData do + let(:instance) { Kombo::PostAtsCandidatesRequestBodyRemoteFieldsAllOfWorkdayCandidateDataContactDataLocationData.new } + + describe 'test an instance of PostAtsCandidatesRequestBodyRemoteFieldsAllOfWorkdayCandidateDataContactDataLocationData' do + it 'should create an instance of PostAtsCandidatesRequestBodyRemoteFieldsAllOfWorkdayCandidateDataContactDataLocationData' do + # uncomment below to test the instance creation + #expect(instance).to be_instance_of(Kombo::PostAtsCandidatesRequestBodyRemoteFieldsAllOfWorkdayCandidateDataContactDataLocationData) + end + end + + describe 'test attribute "address_line_1"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "address_line_2"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "region_subdivision_1"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "country_region_reference"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "country_city_reference"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/post_ats_candidates_request_body_remote_fields_all_of_workday_candidate_data_contact_data_spec.rb b/spec/models/post_ats_candidates_request_body_remote_fields_all_of_workday_candidate_data_contact_data_spec.rb new file mode 100644 index 0000000..5da55fd --- /dev/null +++ b/spec/models/post_ats_candidates_request_body_remote_fields_all_of_workday_candidate_data_contact_data_spec.rb @@ -0,0 +1,36 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.13.0 + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Kombo::PostAtsCandidatesRequestBodyRemoteFieldsAllOfWorkdayCandidateDataContactData +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Kombo::PostAtsCandidatesRequestBodyRemoteFieldsAllOfWorkdayCandidateDataContactData do + let(:instance) { Kombo::PostAtsCandidatesRequestBodyRemoteFieldsAllOfWorkdayCandidateDataContactData.new } + + describe 'test an instance of PostAtsCandidatesRequestBodyRemoteFieldsAllOfWorkdayCandidateDataContactData' do + it 'should create an instance of PostAtsCandidatesRequestBodyRemoteFieldsAllOfWorkdayCandidateDataContactData' do + # uncomment below to test the instance creation + #expect(instance).to be_instance_of(Kombo::PostAtsCandidatesRequestBodyRemoteFieldsAllOfWorkdayCandidateDataContactData) + end + end + + describe 'test attribute "location_data"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/post_ats_candidates_request_body_remote_fields_all_of_workday_candidate_data_job_application_data_job_applied_to_data_global_personal_information_data_spec.rb b/spec/models/post_ats_candidates_request_body_remote_fields_all_of_workday_candidate_data_job_application_data_job_applied_to_data_global_personal_information_data_spec.rb new file mode 100644 index 0000000..35575e1 --- /dev/null +++ b/spec/models/post_ats_candidates_request_body_remote_fields_all_of_workday_candidate_data_job_application_data_job_applied_to_data_global_personal_information_data_spec.rb @@ -0,0 +1,36 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.13.0 + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Kombo::PostAtsCandidatesRequestBodyRemoteFieldsAllOfWorkdayCandidateDataJobApplicationDataJobAppliedToDataGlobalPersonalInformationData +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Kombo::PostAtsCandidatesRequestBodyRemoteFieldsAllOfWorkdayCandidateDataJobApplicationDataJobAppliedToDataGlobalPersonalInformationData do + let(:instance) { Kombo::PostAtsCandidatesRequestBodyRemoteFieldsAllOfWorkdayCandidateDataJobApplicationDataJobAppliedToDataGlobalPersonalInformationData.new } + + describe 'test an instance of PostAtsCandidatesRequestBodyRemoteFieldsAllOfWorkdayCandidateDataJobApplicationDataJobAppliedToDataGlobalPersonalInformationData' do + it 'should create an instance of PostAtsCandidatesRequestBodyRemoteFieldsAllOfWorkdayCandidateDataJobApplicationDataJobAppliedToDataGlobalPersonalInformationData' do + # uncomment below to test the instance creation + #expect(instance).to be_instance_of(Kombo::PostAtsCandidatesRequestBodyRemoteFieldsAllOfWorkdayCandidateDataJobApplicationDataJobAppliedToDataGlobalPersonalInformationData) + end + end + + describe 'test attribute "date_of_birth"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/post_ats_candidates_request_body_remote_fields_all_of_workday_candidate_data_job_application_data_job_applied_to_data_spec.rb b/spec/models/post_ats_candidates_request_body_remote_fields_all_of_workday_candidate_data_job_application_data_job_applied_to_data_spec.rb new file mode 100644 index 0000000..d86accf --- /dev/null +++ b/spec/models/post_ats_candidates_request_body_remote_fields_all_of_workday_candidate_data_job_application_data_job_applied_to_data_spec.rb @@ -0,0 +1,36 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.13.0 + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Kombo::PostAtsCandidatesRequestBodyRemoteFieldsAllOfWorkdayCandidateDataJobApplicationDataJobAppliedToData +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Kombo::PostAtsCandidatesRequestBodyRemoteFieldsAllOfWorkdayCandidateDataJobApplicationDataJobAppliedToData do + let(:instance) { Kombo::PostAtsCandidatesRequestBodyRemoteFieldsAllOfWorkdayCandidateDataJobApplicationDataJobAppliedToData.new } + + describe 'test an instance of PostAtsCandidatesRequestBodyRemoteFieldsAllOfWorkdayCandidateDataJobApplicationDataJobAppliedToData' do + it 'should create an instance of PostAtsCandidatesRequestBodyRemoteFieldsAllOfWorkdayCandidateDataJobApplicationDataJobAppliedToData' do + # uncomment below to test the instance creation + #expect(instance).to be_instance_of(Kombo::PostAtsCandidatesRequestBodyRemoteFieldsAllOfWorkdayCandidateDataJobApplicationDataJobAppliedToData) + end + end + + describe 'test attribute "global_personal_information_data"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/post_ats_candidates_request_body_remote_fields_all_of_workday_candidate_data_job_application_data_resume_data_education_data_inner_field_of_study_reference_spec.rb b/spec/models/post_ats_candidates_request_body_remote_fields_all_of_workday_candidate_data_job_application_data_resume_data_education_data_inner_field_of_study_reference_spec.rb new file mode 100644 index 0000000..6168c2d --- /dev/null +++ b/spec/models/post_ats_candidates_request_body_remote_fields_all_of_workday_candidate_data_job_application_data_resume_data_education_data_inner_field_of_study_reference_spec.rb @@ -0,0 +1,36 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.13.0 + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Kombo::PostAtsCandidatesRequestBodyRemoteFieldsAllOfWorkdayCandidateDataJobApplicationDataResumeDataEducationDataInnerFieldOfStudyReference +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Kombo::PostAtsCandidatesRequestBodyRemoteFieldsAllOfWorkdayCandidateDataJobApplicationDataResumeDataEducationDataInnerFieldOfStudyReference do + let(:instance) { Kombo::PostAtsCandidatesRequestBodyRemoteFieldsAllOfWorkdayCandidateDataJobApplicationDataResumeDataEducationDataInnerFieldOfStudyReference.new } + + describe 'test an instance of PostAtsCandidatesRequestBodyRemoteFieldsAllOfWorkdayCandidateDataJobApplicationDataResumeDataEducationDataInnerFieldOfStudyReference' do + it 'should create an instance of PostAtsCandidatesRequestBodyRemoteFieldsAllOfWorkdayCandidateDataJobApplicationDataResumeDataEducationDataInnerFieldOfStudyReference' do + # uncomment below to test the instance creation + #expect(instance).to be_instance_of(Kombo::PostAtsCandidatesRequestBodyRemoteFieldsAllOfWorkdayCandidateDataJobApplicationDataResumeDataEducationDataInnerFieldOfStudyReference) + end + end + + describe 'test attribute "wid"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/post_ats_candidates_request_body_remote_fields_all_of_workday_candidate_data_job_application_data_resume_data_education_data_inner_spec.rb b/spec/models/post_ats_candidates_request_body_remote_fields_all_of_workday_candidate_data_job_application_data_resume_data_education_data_inner_spec.rb new file mode 100644 index 0000000..2771488 --- /dev/null +++ b/spec/models/post_ats_candidates_request_body_remote_fields_all_of_workday_candidate_data_job_application_data_resume_data_education_data_inner_spec.rb @@ -0,0 +1,66 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.13.0 + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Kombo::PostAtsCandidatesRequestBodyRemoteFieldsAllOfWorkdayCandidateDataJobApplicationDataResumeDataEducationDataInner +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Kombo::PostAtsCandidatesRequestBodyRemoteFieldsAllOfWorkdayCandidateDataJobApplicationDataResumeDataEducationDataInner do + let(:instance) { Kombo::PostAtsCandidatesRequestBodyRemoteFieldsAllOfWorkdayCandidateDataJobApplicationDataResumeDataEducationDataInner.new } + + describe 'test an instance of PostAtsCandidatesRequestBodyRemoteFieldsAllOfWorkdayCandidateDataJobApplicationDataResumeDataEducationDataInner' do + it 'should create an instance of PostAtsCandidatesRequestBodyRemoteFieldsAllOfWorkdayCandidateDataJobApplicationDataResumeDataEducationDataInner' do + # uncomment below to test the instance creation + #expect(instance).to be_instance_of(Kombo::PostAtsCandidatesRequestBodyRemoteFieldsAllOfWorkdayCandidateDataJobApplicationDataResumeDataEducationDataInner) + end + end + + describe 'test attribute "school_name"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "first_year_attended"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "last_year_attended"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "field_of_study_reference"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "degree_reference"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "grade_average"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/post_ats_candidates_request_body_remote_fields_all_of_workday_candidate_data_job_application_data_resume_data_experience_data_inner_spec.rb b/spec/models/post_ats_candidates_request_body_remote_fields_all_of_workday_candidate_data_job_application_data_resume_data_experience_data_inner_spec.rb new file mode 100644 index 0000000..b3d36b2 --- /dev/null +++ b/spec/models/post_ats_candidates_request_body_remote_fields_all_of_workday_candidate_data_job_application_data_resume_data_experience_data_inner_spec.rb @@ -0,0 +1,72 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.13.0 + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Kombo::PostAtsCandidatesRequestBodyRemoteFieldsAllOfWorkdayCandidateDataJobApplicationDataResumeDataExperienceDataInner +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Kombo::PostAtsCandidatesRequestBodyRemoteFieldsAllOfWorkdayCandidateDataJobApplicationDataResumeDataExperienceDataInner do + let(:instance) { Kombo::PostAtsCandidatesRequestBodyRemoteFieldsAllOfWorkdayCandidateDataJobApplicationDataResumeDataExperienceDataInner.new } + + describe 'test an instance of PostAtsCandidatesRequestBodyRemoteFieldsAllOfWorkdayCandidateDataJobApplicationDataResumeDataExperienceDataInner' do + it 'should create an instance of PostAtsCandidatesRequestBodyRemoteFieldsAllOfWorkdayCandidateDataJobApplicationDataResumeDataExperienceDataInner' do + # uncomment below to test the instance creation + #expect(instance).to be_instance_of(Kombo::PostAtsCandidatesRequestBodyRemoteFieldsAllOfWorkdayCandidateDataJobApplicationDataResumeDataExperienceDataInner) + end + end + + describe 'test attribute "company_name"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "title"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "location"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "start_date"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "end_date"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "currently_work_here"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "description"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/post_ats_candidates_request_body_remote_fields_all_of_workday_candidate_data_job_application_data_resume_data_language_data_inner_language_language_ability_inner_language_ability_data_spec.rb b/spec/models/post_ats_candidates_request_body_remote_fields_all_of_workday_candidate_data_job_application_data_resume_data_language_data_inner_language_language_ability_inner_language_ability_data_spec.rb new file mode 100644 index 0000000..302a3df --- /dev/null +++ b/spec/models/post_ats_candidates_request_body_remote_fields_all_of_workday_candidate_data_job_application_data_resume_data_language_data_inner_language_language_ability_inner_language_ability_data_spec.rb @@ -0,0 +1,42 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.13.0 + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Kombo::PostAtsCandidatesRequestBodyRemoteFieldsAllOfWorkdayCandidateDataJobApplicationDataResumeDataLanguageDataInnerLanguageLanguageAbilityInnerLanguageAbilityData +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Kombo::PostAtsCandidatesRequestBodyRemoteFieldsAllOfWorkdayCandidateDataJobApplicationDataResumeDataLanguageDataInnerLanguageLanguageAbilityInnerLanguageAbilityData do + let(:instance) { Kombo::PostAtsCandidatesRequestBodyRemoteFieldsAllOfWorkdayCandidateDataJobApplicationDataResumeDataLanguageDataInnerLanguageLanguageAbilityInnerLanguageAbilityData.new } + + describe 'test an instance of PostAtsCandidatesRequestBodyRemoteFieldsAllOfWorkdayCandidateDataJobApplicationDataResumeDataLanguageDataInnerLanguageLanguageAbilityInnerLanguageAbilityData' do + it 'should create an instance of PostAtsCandidatesRequestBodyRemoteFieldsAllOfWorkdayCandidateDataJobApplicationDataResumeDataLanguageDataInnerLanguageLanguageAbilityInnerLanguageAbilityData' do + # uncomment below to test the instance creation + #expect(instance).to be_instance_of(Kombo::PostAtsCandidatesRequestBodyRemoteFieldsAllOfWorkdayCandidateDataJobApplicationDataResumeDataLanguageDataInnerLanguageLanguageAbilityInnerLanguageAbilityData) + end + end + + describe 'test attribute "language_proficiency_reference"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "language_ability_type_reference"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/post_ats_candidates_request_body_remote_fields_all_of_workday_candidate_data_job_application_data_resume_data_language_data_inner_language_language_ability_inner_spec.rb b/spec/models/post_ats_candidates_request_body_remote_fields_all_of_workday_candidate_data_job_application_data_resume_data_language_data_inner_language_language_ability_inner_spec.rb new file mode 100644 index 0000000..e153f43 --- /dev/null +++ b/spec/models/post_ats_candidates_request_body_remote_fields_all_of_workday_candidate_data_job_application_data_resume_data_language_data_inner_language_language_ability_inner_spec.rb @@ -0,0 +1,36 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.13.0 + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Kombo::PostAtsCandidatesRequestBodyRemoteFieldsAllOfWorkdayCandidateDataJobApplicationDataResumeDataLanguageDataInnerLanguageLanguageAbilityInner +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Kombo::PostAtsCandidatesRequestBodyRemoteFieldsAllOfWorkdayCandidateDataJobApplicationDataResumeDataLanguageDataInnerLanguageLanguageAbilityInner do + let(:instance) { Kombo::PostAtsCandidatesRequestBodyRemoteFieldsAllOfWorkdayCandidateDataJobApplicationDataResumeDataLanguageDataInnerLanguageLanguageAbilityInner.new } + + describe 'test an instance of PostAtsCandidatesRequestBodyRemoteFieldsAllOfWorkdayCandidateDataJobApplicationDataResumeDataLanguageDataInnerLanguageLanguageAbilityInner' do + it 'should create an instance of PostAtsCandidatesRequestBodyRemoteFieldsAllOfWorkdayCandidateDataJobApplicationDataResumeDataLanguageDataInnerLanguageLanguageAbilityInner' do + # uncomment below to test the instance creation + #expect(instance).to be_instance_of(Kombo::PostAtsCandidatesRequestBodyRemoteFieldsAllOfWorkdayCandidateDataJobApplicationDataResumeDataLanguageDataInnerLanguageLanguageAbilityInner) + end + end + + describe 'test attribute "language_ability_data"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/post_ats_candidates_request_body_remote_fields_all_of_workday_candidate_data_job_application_data_resume_data_language_data_inner_language_reference_spec.rb b/spec/models/post_ats_candidates_request_body_remote_fields_all_of_workday_candidate_data_job_application_data_resume_data_language_data_inner_language_reference_spec.rb new file mode 100644 index 0000000..0c9e8cd --- /dev/null +++ b/spec/models/post_ats_candidates_request_body_remote_fields_all_of_workday_candidate_data_job_application_data_resume_data_language_data_inner_language_reference_spec.rb @@ -0,0 +1,36 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.13.0 + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Kombo::PostAtsCandidatesRequestBodyRemoteFieldsAllOfWorkdayCandidateDataJobApplicationDataResumeDataLanguageDataInnerLanguageReference +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Kombo::PostAtsCandidatesRequestBodyRemoteFieldsAllOfWorkdayCandidateDataJobApplicationDataResumeDataLanguageDataInnerLanguageReference do + let(:instance) { Kombo::PostAtsCandidatesRequestBodyRemoteFieldsAllOfWorkdayCandidateDataJobApplicationDataResumeDataLanguageDataInnerLanguageReference.new } + + describe 'test an instance of PostAtsCandidatesRequestBodyRemoteFieldsAllOfWorkdayCandidateDataJobApplicationDataResumeDataLanguageDataInnerLanguageReference' do + it 'should create an instance of PostAtsCandidatesRequestBodyRemoteFieldsAllOfWorkdayCandidateDataJobApplicationDataResumeDataLanguageDataInnerLanguageReference' do + # uncomment below to test the instance creation + #expect(instance).to be_instance_of(Kombo::PostAtsCandidatesRequestBodyRemoteFieldsAllOfWorkdayCandidateDataJobApplicationDataResumeDataLanguageDataInnerLanguageReference) + end + end + + describe 'test attribute "wid"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/post_ats_candidates_request_body_remote_fields_all_of_workday_candidate_data_job_application_data_resume_data_language_data_inner_language_spec.rb b/spec/models/post_ats_candidates_request_body_remote_fields_all_of_workday_candidate_data_job_application_data_resume_data_language_data_inner_language_spec.rb new file mode 100644 index 0000000..c517213 --- /dev/null +++ b/spec/models/post_ats_candidates_request_body_remote_fields_all_of_workday_candidate_data_job_application_data_resume_data_language_data_inner_language_spec.rb @@ -0,0 +1,42 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.13.0 + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Kombo::PostAtsCandidatesRequestBodyRemoteFieldsAllOfWorkdayCandidateDataJobApplicationDataResumeDataLanguageDataInnerLanguage +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Kombo::PostAtsCandidatesRequestBodyRemoteFieldsAllOfWorkdayCandidateDataJobApplicationDataResumeDataLanguageDataInnerLanguage do + let(:instance) { Kombo::PostAtsCandidatesRequestBodyRemoteFieldsAllOfWorkdayCandidateDataJobApplicationDataResumeDataLanguageDataInnerLanguage.new } + + describe 'test an instance of PostAtsCandidatesRequestBodyRemoteFieldsAllOfWorkdayCandidateDataJobApplicationDataResumeDataLanguageDataInnerLanguage' do + it 'should create an instance of PostAtsCandidatesRequestBodyRemoteFieldsAllOfWorkdayCandidateDataJobApplicationDataResumeDataLanguageDataInnerLanguage' do + # uncomment below to test the instance creation + #expect(instance).to be_instance_of(Kombo::PostAtsCandidatesRequestBodyRemoteFieldsAllOfWorkdayCandidateDataJobApplicationDataResumeDataLanguageDataInnerLanguage) + end + end + + describe 'test attribute "native"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "language_ability"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/post_ats_candidates_request_body_remote_fields_all_of_workday_candidate_data_job_application_data_resume_data_language_data_inner_spec.rb b/spec/models/post_ats_candidates_request_body_remote_fields_all_of_workday_candidate_data_job_application_data_resume_data_language_data_inner_spec.rb new file mode 100644 index 0000000..f6ad1c9 --- /dev/null +++ b/spec/models/post_ats_candidates_request_body_remote_fields_all_of_workday_candidate_data_job_application_data_resume_data_language_data_inner_spec.rb @@ -0,0 +1,42 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.13.0 + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Kombo::PostAtsCandidatesRequestBodyRemoteFieldsAllOfWorkdayCandidateDataJobApplicationDataResumeDataLanguageDataInner +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Kombo::PostAtsCandidatesRequestBodyRemoteFieldsAllOfWorkdayCandidateDataJobApplicationDataResumeDataLanguageDataInner do + let(:instance) { Kombo::PostAtsCandidatesRequestBodyRemoteFieldsAllOfWorkdayCandidateDataJobApplicationDataResumeDataLanguageDataInner.new } + + describe 'test an instance of PostAtsCandidatesRequestBodyRemoteFieldsAllOfWorkdayCandidateDataJobApplicationDataResumeDataLanguageDataInner' do + it 'should create an instance of PostAtsCandidatesRequestBodyRemoteFieldsAllOfWorkdayCandidateDataJobApplicationDataResumeDataLanguageDataInner' do + # uncomment below to test the instance creation + #expect(instance).to be_instance_of(Kombo::PostAtsCandidatesRequestBodyRemoteFieldsAllOfWorkdayCandidateDataJobApplicationDataResumeDataLanguageDataInner) + end + end + + describe 'test attribute "language_reference"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "language"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/post_ats_candidates_request_body_remote_fields_all_of_workday_candidate_data_job_application_data_resume_data_skill_data_inner_spec.rb b/spec/models/post_ats_candidates_request_body_remote_fields_all_of_workday_candidate_data_job_application_data_resume_data_skill_data_inner_spec.rb new file mode 100644 index 0000000..4c2de0f --- /dev/null +++ b/spec/models/post_ats_candidates_request_body_remote_fields_all_of_workday_candidate_data_job_application_data_resume_data_skill_data_inner_spec.rb @@ -0,0 +1,36 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.13.0 + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Kombo::PostAtsCandidatesRequestBodyRemoteFieldsAllOfWorkdayCandidateDataJobApplicationDataResumeDataSkillDataInner +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Kombo::PostAtsCandidatesRequestBodyRemoteFieldsAllOfWorkdayCandidateDataJobApplicationDataResumeDataSkillDataInner do + let(:instance) { Kombo::PostAtsCandidatesRequestBodyRemoteFieldsAllOfWorkdayCandidateDataJobApplicationDataResumeDataSkillDataInner.new } + + describe 'test an instance of PostAtsCandidatesRequestBodyRemoteFieldsAllOfWorkdayCandidateDataJobApplicationDataResumeDataSkillDataInner' do + it 'should create an instance of PostAtsCandidatesRequestBodyRemoteFieldsAllOfWorkdayCandidateDataJobApplicationDataResumeDataSkillDataInner' do + # uncomment below to test the instance creation + #expect(instance).to be_instance_of(Kombo::PostAtsCandidatesRequestBodyRemoteFieldsAllOfWorkdayCandidateDataJobApplicationDataResumeDataSkillDataInner) + end + end + + describe 'test attribute "skill_name"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/post_ats_candidates_request_body_remote_fields_all_of_workday_candidate_data_job_application_data_resume_data_spec.rb b/spec/models/post_ats_candidates_request_body_remote_fields_all_of_workday_candidate_data_job_application_data_resume_data_spec.rb new file mode 100644 index 0000000..fa712c1 --- /dev/null +++ b/spec/models/post_ats_candidates_request_body_remote_fields_all_of_workday_candidate_data_job_application_data_resume_data_spec.rb @@ -0,0 +1,54 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.13.0 + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Kombo::PostAtsCandidatesRequestBodyRemoteFieldsAllOfWorkdayCandidateDataJobApplicationDataResumeData +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Kombo::PostAtsCandidatesRequestBodyRemoteFieldsAllOfWorkdayCandidateDataJobApplicationDataResumeData do + let(:instance) { Kombo::PostAtsCandidatesRequestBodyRemoteFieldsAllOfWorkdayCandidateDataJobApplicationDataResumeData.new } + + describe 'test an instance of PostAtsCandidatesRequestBodyRemoteFieldsAllOfWorkdayCandidateDataJobApplicationDataResumeData' do + it 'should create an instance of PostAtsCandidatesRequestBodyRemoteFieldsAllOfWorkdayCandidateDataJobApplicationDataResumeData' do + # uncomment below to test the instance creation + #expect(instance).to be_instance_of(Kombo::PostAtsCandidatesRequestBodyRemoteFieldsAllOfWorkdayCandidateDataJobApplicationDataResumeData) + end + end + + describe 'test attribute "education_data"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "skill_data"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "language_data"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "experience_data"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/post_ats_candidates_request_body_remote_fields_all_of_workday_candidate_data_job_application_data_spec.rb b/spec/models/post_ats_candidates_request_body_remote_fields_all_of_workday_candidate_data_job_application_data_spec.rb new file mode 100644 index 0000000..d39341d --- /dev/null +++ b/spec/models/post_ats_candidates_request_body_remote_fields_all_of_workday_candidate_data_job_application_data_spec.rb @@ -0,0 +1,42 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.13.0 + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Kombo::PostAtsCandidatesRequestBodyRemoteFieldsAllOfWorkdayCandidateDataJobApplicationData +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Kombo::PostAtsCandidatesRequestBodyRemoteFieldsAllOfWorkdayCandidateDataJobApplicationData do + let(:instance) { Kombo::PostAtsCandidatesRequestBodyRemoteFieldsAllOfWorkdayCandidateDataJobApplicationData.new } + + describe 'test an instance of PostAtsCandidatesRequestBodyRemoteFieldsAllOfWorkdayCandidateDataJobApplicationData' do + it 'should create an instance of PostAtsCandidatesRequestBodyRemoteFieldsAllOfWorkdayCandidateDataJobApplicationData' do + # uncomment below to test the instance creation + #expect(instance).to be_instance_of(Kombo::PostAtsCandidatesRequestBodyRemoteFieldsAllOfWorkdayCandidateDataJobApplicationData) + end + end + + describe 'test attribute "job_applied_to_data"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "resume_data"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/post_ats_candidates_request_body_remote_fields_all_of_workday_candidate_data_language_reference_spec.rb b/spec/models/post_ats_candidates_request_body_remote_fields_all_of_workday_candidate_data_language_reference_spec.rb new file mode 100644 index 0000000..4755c49 --- /dev/null +++ b/spec/models/post_ats_candidates_request_body_remote_fields_all_of_workday_candidate_data_language_reference_spec.rb @@ -0,0 +1,36 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.13.0 + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Kombo::PostAtsCandidatesRequestBodyRemoteFieldsAllOfWorkdayCandidateDataLanguageReference +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Kombo::PostAtsCandidatesRequestBodyRemoteFieldsAllOfWorkdayCandidateDataLanguageReference do + let(:instance) { Kombo::PostAtsCandidatesRequestBodyRemoteFieldsAllOfWorkdayCandidateDataLanguageReference.new } + + describe 'test an instance of PostAtsCandidatesRequestBodyRemoteFieldsAllOfWorkdayCandidateDataLanguageReference' do + it 'should create an instance of PostAtsCandidatesRequestBodyRemoteFieldsAllOfWorkdayCandidateDataLanguageReference' do + # uncomment below to test the instance creation + #expect(instance).to be_instance_of(Kombo::PostAtsCandidatesRequestBodyRemoteFieldsAllOfWorkdayCandidateDataLanguageReference) + end + end + + describe 'test attribute "wid"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/post_ats_candidates_request_body_remote_fields_all_of_workday_candidate_data_name_detail_data_social_suffix_reference_spec.rb b/spec/models/post_ats_candidates_request_body_remote_fields_all_of_workday_candidate_data_name_detail_data_social_suffix_reference_spec.rb new file mode 100644 index 0000000..19d6de0 --- /dev/null +++ b/spec/models/post_ats_candidates_request_body_remote_fields_all_of_workday_candidate_data_name_detail_data_social_suffix_reference_spec.rb @@ -0,0 +1,36 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.13.0 + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Kombo::PostAtsCandidatesRequestBodyRemoteFieldsAllOfWorkdayCandidateDataNameDetailDataSocialSuffixReference +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Kombo::PostAtsCandidatesRequestBodyRemoteFieldsAllOfWorkdayCandidateDataNameDetailDataSocialSuffixReference do + let(:instance) { Kombo::PostAtsCandidatesRequestBodyRemoteFieldsAllOfWorkdayCandidateDataNameDetailDataSocialSuffixReference.new } + + describe 'test an instance of PostAtsCandidatesRequestBodyRemoteFieldsAllOfWorkdayCandidateDataNameDetailDataSocialSuffixReference' do + it 'should create an instance of PostAtsCandidatesRequestBodyRemoteFieldsAllOfWorkdayCandidateDataNameDetailDataSocialSuffixReference' do + # uncomment below to test the instance creation + #expect(instance).to be_instance_of(Kombo::PostAtsCandidatesRequestBodyRemoteFieldsAllOfWorkdayCandidateDataNameDetailDataSocialSuffixReference) + end + end + + describe 'test attribute "predefined_name_component_id"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/post_ats_candidates_request_body_remote_fields_all_of_workday_candidate_data_name_detail_data_spec.rb b/spec/models/post_ats_candidates_request_body_remote_fields_all_of_workday_candidate_data_name_detail_data_spec.rb new file mode 100644 index 0000000..7c9335d --- /dev/null +++ b/spec/models/post_ats_candidates_request_body_remote_fields_all_of_workday_candidate_data_name_detail_data_spec.rb @@ -0,0 +1,42 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.13.0 + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Kombo::PostAtsCandidatesRequestBodyRemoteFieldsAllOfWorkdayCandidateDataNameDetailData +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Kombo::PostAtsCandidatesRequestBodyRemoteFieldsAllOfWorkdayCandidateDataNameDetailData do + let(:instance) { Kombo::PostAtsCandidatesRequestBodyRemoteFieldsAllOfWorkdayCandidateDataNameDetailData.new } + + describe 'test an instance of PostAtsCandidatesRequestBodyRemoteFieldsAllOfWorkdayCandidateDataNameDetailData' do + it 'should create an instance of PostAtsCandidatesRequestBodyRemoteFieldsAllOfWorkdayCandidateDataNameDetailData' do + # uncomment below to test the instance creation + #expect(instance).to be_instance_of(Kombo::PostAtsCandidatesRequestBodyRemoteFieldsAllOfWorkdayCandidateDataNameDetailData) + end + end + + describe 'test attribute "middle_name"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "social_suffix_reference"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/post_ats_candidates_request_body_remote_fields_all_of_workday_candidate_data_spec.rb b/spec/models/post_ats_candidates_request_body_remote_fields_all_of_workday_candidate_data_spec.rb new file mode 100644 index 0000000..86629c0 --- /dev/null +++ b/spec/models/post_ats_candidates_request_body_remote_fields_all_of_workday_candidate_data_spec.rb @@ -0,0 +1,60 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.13.0 + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Kombo::PostAtsCandidatesRequestBodyRemoteFieldsAllOfWorkdayCandidateData +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Kombo::PostAtsCandidatesRequestBodyRemoteFieldsAllOfWorkdayCandidateData do + let(:instance) { Kombo::PostAtsCandidatesRequestBodyRemoteFieldsAllOfWorkdayCandidateData.new } + + describe 'test an instance of PostAtsCandidatesRequestBodyRemoteFieldsAllOfWorkdayCandidateData' do + it 'should create an instance of PostAtsCandidatesRequestBodyRemoteFieldsAllOfWorkdayCandidateData' do + # uncomment below to test the instance creation + #expect(instance).to be_instance_of(Kombo::PostAtsCandidatesRequestBodyRemoteFieldsAllOfWorkdayCandidateData) + end + end + + describe 'test attribute "name_detail_data"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "language_reference"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "job_application_data"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "contact_data"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "worker_reference"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/post_ats_candidates_request_body_remote_fields_all_of_workday_candidate_data_worker_reference_spec.rb b/spec/models/post_ats_candidates_request_body_remote_fields_all_of_workday_candidate_data_worker_reference_spec.rb new file mode 100644 index 0000000..5519aed --- /dev/null +++ b/spec/models/post_ats_candidates_request_body_remote_fields_all_of_workday_candidate_data_worker_reference_spec.rb @@ -0,0 +1,42 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.13.0 + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Kombo::PostAtsCandidatesRequestBodyRemoteFieldsAllOfWorkdayCandidateDataWorkerReference +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Kombo::PostAtsCandidatesRequestBodyRemoteFieldsAllOfWorkdayCandidateDataWorkerReference do + let(:instance) { Kombo::PostAtsCandidatesRequestBodyRemoteFieldsAllOfWorkdayCandidateDataWorkerReference.new } + + describe 'test an instance of PostAtsCandidatesRequestBodyRemoteFieldsAllOfWorkdayCandidateDataWorkerReference' do + it 'should create an instance of PostAtsCandidatesRequestBodyRemoteFieldsAllOfWorkdayCandidateDataWorkerReference' do + # uncomment below to test the instance creation + #expect(instance).to be_instance_of(Kombo::PostAtsCandidatesRequestBodyRemoteFieldsAllOfWorkdayCandidateDataWorkerReference) + end + end + + describe 'test attribute "wid"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "employee_id"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/post_ats_candidates_request_body_remote_fields_all_of_workday_spec.rb b/spec/models/post_ats_candidates_request_body_remote_fields_all_of_workday_spec.rb new file mode 100644 index 0000000..8790b83 --- /dev/null +++ b/spec/models/post_ats_candidates_request_body_remote_fields_all_of_workday_spec.rb @@ -0,0 +1,42 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.13.0 + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Kombo::PostAtsCandidatesRequestBodyRemoteFieldsAllOfWorkday +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Kombo::PostAtsCandidatesRequestBodyRemoteFieldsAllOfWorkday do + let(:instance) { Kombo::PostAtsCandidatesRequestBodyRemoteFieldsAllOfWorkday.new } + + describe 'test an instance of PostAtsCandidatesRequestBodyRemoteFieldsAllOfWorkday' do + it 'should create an instance of PostAtsCandidatesRequestBodyRemoteFieldsAllOfWorkday' do + # uncomment below to test the instance creation + #expect(instance).to be_instance_of(Kombo::PostAtsCandidatesRequestBodyRemoteFieldsAllOfWorkday) + end + end + + describe 'test attribute "candidate_data"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "override_source_reference_wid"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/post_ats_candidates_request_body_remote_fields_all_of_zohorecruit_spec.rb b/spec/models/post_ats_candidates_request_body_remote_fields_all_of_zohorecruit_spec.rb new file mode 100644 index 0000000..c21571e --- /dev/null +++ b/spec/models/post_ats_candidates_request_body_remote_fields_all_of_zohorecruit_spec.rb @@ -0,0 +1,36 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.13.0 + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Kombo::PostAtsCandidatesRequestBodyRemoteFieldsAllOfZohorecruit +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Kombo::PostAtsCandidatesRequestBodyRemoteFieldsAllOfZohorecruit do + let(:instance) { Kombo::PostAtsCandidatesRequestBodyRemoteFieldsAllOfZohorecruit.new } + + describe 'test an instance of PostAtsCandidatesRequestBodyRemoteFieldsAllOfZohorecruit' do + it 'should create an instance of PostAtsCandidatesRequestBodyRemoteFieldsAllOfZohorecruit' do + # uncomment below to test the instance creation + #expect(instance).to be_instance_of(Kombo::PostAtsCandidatesRequestBodyRemoteFieldsAllOfZohorecruit) + end + end + + describe 'test attribute "candidate"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/post_ats_candidates_request_body_remote_fields_spec.rb b/spec/models/post_ats_candidates_request_body_remote_fields_spec.rb new file mode 100644 index 0000000..9f6601f --- /dev/null +++ b/spec/models/post_ats_candidates_request_body_remote_fields_spec.rb @@ -0,0 +1,150 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.13.0 + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Kombo::PostAtsCandidatesRequestBodyRemoteFields +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Kombo::PostAtsCandidatesRequestBodyRemoteFields do + let(:instance) { Kombo::PostAtsCandidatesRequestBodyRemoteFields.new } + + describe 'test an instance of PostAtsCandidatesRequestBodyRemoteFields' do + it 'should create an instance of PostAtsCandidatesRequestBodyRemoteFields' do + # uncomment below to test the instance creation + #expect(instance).to be_instance_of(Kombo::PostAtsCandidatesRequestBodyRemoteFields) + end + end + + describe 'test attribute "successfactors"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "personio"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "talentsoft"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "teamtailor"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "greenhouse"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "lever"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "workable"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "workday"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "zohorecruit"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "bullhorn"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "smartrecruiters"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "talentadore"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "guidecom"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "dvinci"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "hrworks"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "jobylon"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "avature"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "recruitee"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "umantis"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "piloga"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/post_ats_candidates_request_body_screening_question_answers_inner_answer_any_of_spec.rb b/spec/models/post_ats_candidates_request_body_screening_question_answers_inner_answer_any_of_spec.rb new file mode 100644 index 0000000..2577870 --- /dev/null +++ b/spec/models/post_ats_candidates_request_body_screening_question_answers_inner_answer_any_of_spec.rb @@ -0,0 +1,54 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.13.0 + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Kombo::PostAtsCandidatesRequestBodyScreeningQuestionAnswersInnerAnswerAnyOf +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Kombo::PostAtsCandidatesRequestBodyScreeningQuestionAnswersInnerAnswerAnyOf do + let(:instance) { Kombo::PostAtsCandidatesRequestBodyScreeningQuestionAnswersInnerAnswerAnyOf.new } + + describe 'test an instance of PostAtsCandidatesRequestBodyScreeningQuestionAnswersInnerAnswerAnyOf' do + it 'should create an instance of PostAtsCandidatesRequestBodyScreeningQuestionAnswersInnerAnswerAnyOf' do + # uncomment below to test the instance creation + #expect(instance).to be_instance_of(Kombo::PostAtsCandidatesRequestBodyScreeningQuestionAnswersInnerAnswerAnyOf) + end + end + + describe 'test attribute "name"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "content_type"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "data_url"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "data"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/post_ats_candidates_request_body_screening_question_answers_inner_answer_spec.rb b/spec/models/post_ats_candidates_request_body_screening_question_answers_inner_answer_spec.rb new file mode 100644 index 0000000..22a289d --- /dev/null +++ b/spec/models/post_ats_candidates_request_body_screening_question_answers_inner_answer_spec.rb @@ -0,0 +1,21 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.13.0 + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Kombo::PostAtsCandidatesRequestBodyScreeningQuestionAnswersInnerAnswer +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Kombo::PostAtsCandidatesRequestBodyScreeningQuestionAnswersInnerAnswer do +end diff --git a/spec/models/post_ats_candidates_request_body_screening_question_answers_inner_spec.rb b/spec/models/post_ats_candidates_request_body_screening_question_answers_inner_spec.rb new file mode 100644 index 0000000..1e77dc2 --- /dev/null +++ b/spec/models/post_ats_candidates_request_body_screening_question_answers_inner_spec.rb @@ -0,0 +1,42 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.13.0 + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Kombo::PostAtsCandidatesRequestBodyScreeningQuestionAnswersInner +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Kombo::PostAtsCandidatesRequestBodyScreeningQuestionAnswersInner do + let(:instance) { Kombo::PostAtsCandidatesRequestBodyScreeningQuestionAnswersInner.new } + + describe 'test an instance of PostAtsCandidatesRequestBodyScreeningQuestionAnswersInner' do + it 'should create an instance of PostAtsCandidatesRequestBodyScreeningQuestionAnswersInner' do + # uncomment below to test the instance creation + #expect(instance).to be_instance_of(Kombo::PostAtsCandidatesRequestBodyScreeningQuestionAnswersInner) + end + end + + describe 'test attribute "question_id"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "answer"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/post_ats_candidates_request_body_source_spec.rb b/spec/models/post_ats_candidates_request_body_source_spec.rb new file mode 100644 index 0000000..66cf196 --- /dev/null +++ b/spec/models/post_ats_candidates_request_body_source_spec.rb @@ -0,0 +1,48 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.13.0 + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Kombo::PostAtsCandidatesRequestBodySource +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Kombo::PostAtsCandidatesRequestBodySource do + let(:instance) { Kombo::PostAtsCandidatesRequestBodySource.new } + + describe 'test an instance of PostAtsCandidatesRequestBodySource' do + it 'should create an instance of PostAtsCandidatesRequestBodySource' do + # uncomment below to test the instance creation + #expect(instance).to be_instance_of(Kombo::PostAtsCandidatesRequestBodySource) + end + end + + describe 'test attribute "name"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "unified_key"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "id"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/post_ats_candidates_request_body_sourced_by_spec.rb b/spec/models/post_ats_candidates_request_body_sourced_by_spec.rb new file mode 100644 index 0000000..d1d90c8 --- /dev/null +++ b/spec/models/post_ats_candidates_request_body_sourced_by_spec.rb @@ -0,0 +1,36 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.13.0 + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Kombo::PostAtsCandidatesRequestBodySourcedBy +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Kombo::PostAtsCandidatesRequestBodySourcedBy do + let(:instance) { Kombo::PostAtsCandidatesRequestBodySourcedBy.new } + + describe 'test an instance of PostAtsCandidatesRequestBodySourcedBy' do + it 'should create an instance of PostAtsCandidatesRequestBodySourcedBy' do + # uncomment below to test the instance creation + #expect(instance).to be_instance_of(Kombo::PostAtsCandidatesRequestBodySourcedBy) + end + end + + describe 'test attribute "user_id"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/post_ats_candidates_request_body_spec.rb b/spec/models/post_ats_candidates_request_body_spec.rb new file mode 100644 index 0000000..28213b4 --- /dev/null +++ b/spec/models/post_ats_candidates_request_body_spec.rb @@ -0,0 +1,78 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.13.0 + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Kombo::PostAtsCandidatesRequestBody +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Kombo::PostAtsCandidatesRequestBody do + let(:instance) { Kombo::PostAtsCandidatesRequestBody.new } + + describe 'test an instance of PostAtsCandidatesRequestBody' do + it 'should create an instance of PostAtsCandidatesRequestBody' do + # uncomment below to test the instance creation + #expect(instance).to be_instance_of(Kombo::PostAtsCandidatesRequestBody) + end + end + + describe 'test attribute "candidate"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "application"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "screening_question_answers"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "attachments"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "source"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "sourced_by"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "gdpr_consent"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "remote_fields"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/post_ats_import_tracked_application_positive_response_data_imported_id_erecruiter_any_of1_spec.rb b/spec/models/post_ats_import_tracked_application_positive_response_data_imported_id_erecruiter_any_of1_spec.rb new file mode 100644 index 0000000..2319957 --- /dev/null +++ b/spec/models/post_ats_import_tracked_application_positive_response_data_imported_id_erecruiter_any_of1_spec.rb @@ -0,0 +1,52 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.13.0 + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Kombo::PostAtsImportTrackedApplicationPositiveResponseDataImportedIdErecruiterAnyOf1 +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Kombo::PostAtsImportTrackedApplicationPositiveResponseDataImportedIdErecruiterAnyOf1 do + let(:instance) { Kombo::PostAtsImportTrackedApplicationPositiveResponseDataImportedIdErecruiterAnyOf1.new } + + describe 'test an instance of PostAtsImportTrackedApplicationPositiveResponseDataImportedIdErecruiterAnyOf1' do + it 'should create an instance of PostAtsImportTrackedApplicationPositiveResponseDataImportedIdErecruiterAnyOf1' do + # uncomment below to test the instance creation + #expect(instance).to be_instance_of(Kombo::PostAtsImportTrackedApplicationPositiveResponseDataImportedIdErecruiterAnyOf1) + end + end + + describe 'test attribute "id_type"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + # validator = Petstore::EnumTest::EnumAttributeValidator.new('String', ["application_and_candidate_remote_ids"]) + # validator.allowable_values.each do |value| + # expect { instance.id_type = value }.not_to raise_error + # end + end + end + + describe 'test attribute "candidate_remote_id"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "application_remote_id"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/post_ats_import_tracked_application_positive_response_data_imported_id_erecruiter_any_of_spec.rb b/spec/models/post_ats_import_tracked_application_positive_response_data_imported_id_erecruiter_any_of_spec.rb new file mode 100644 index 0000000..a3fcdd7 --- /dev/null +++ b/spec/models/post_ats_import_tracked_application_positive_response_data_imported_id_erecruiter_any_of_spec.rb @@ -0,0 +1,52 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.13.0 + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Kombo::PostAtsImportTrackedApplicationPositiveResponseDataImportedIdErecruiterAnyOf +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Kombo::PostAtsImportTrackedApplicationPositiveResponseDataImportedIdErecruiterAnyOf do + let(:instance) { Kombo::PostAtsImportTrackedApplicationPositiveResponseDataImportedIdErecruiterAnyOf.new } + + describe 'test an instance of PostAtsImportTrackedApplicationPositiveResponseDataImportedIdErecruiterAnyOf' do + it 'should create an instance of PostAtsImportTrackedApplicationPositiveResponseDataImportedIdErecruiterAnyOf' do + # uncomment below to test the instance creation + #expect(instance).to be_instance_of(Kombo::PostAtsImportTrackedApplicationPositiveResponseDataImportedIdErecruiterAnyOf) + end + end + + describe 'test attribute "id_type"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + # validator = Petstore::EnumTest::EnumAttributeValidator.new('String', ["application_and_job_remote_ids"]) + # validator.allowable_values.each do |value| + # expect { instance.id_type = value }.not_to raise_error + # end + end + end + + describe 'test attribute "application_remote_id"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "job_remote_id"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/post_ats_import_tracked_application_positive_response_data_imported_id_erecruiter_spec.rb b/spec/models/post_ats_import_tracked_application_positive_response_data_imported_id_erecruiter_spec.rb new file mode 100644 index 0000000..3ed7521 --- /dev/null +++ b/spec/models/post_ats_import_tracked_application_positive_response_data_imported_id_erecruiter_spec.rb @@ -0,0 +1,21 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.13.0 + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Kombo::PostAtsImportTrackedApplicationPositiveResponseDataImportedIdErecruiter +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Kombo::PostAtsImportTrackedApplicationPositiveResponseDataImportedIdErecruiter do +end diff --git a/spec/models/post_ats_import_tracked_application_positive_response_data_imported_id_greenhouse_spec.rb b/spec/models/post_ats_import_tracked_application_positive_response_data_imported_id_greenhouse_spec.rb new file mode 100644 index 0000000..02a0392 --- /dev/null +++ b/spec/models/post_ats_import_tracked_application_positive_response_data_imported_id_greenhouse_spec.rb @@ -0,0 +1,46 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.13.0 + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Kombo::PostAtsImportTrackedApplicationPositiveResponseDataImportedIdGreenhouse +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Kombo::PostAtsImportTrackedApplicationPositiveResponseDataImportedIdGreenhouse do + let(:instance) { Kombo::PostAtsImportTrackedApplicationPositiveResponseDataImportedIdGreenhouse.new } + + describe 'test an instance of PostAtsImportTrackedApplicationPositiveResponseDataImportedIdGreenhouse' do + it 'should create an instance of PostAtsImportTrackedApplicationPositiveResponseDataImportedIdGreenhouse' do + # uncomment below to test the instance creation + #expect(instance).to be_instance_of(Kombo::PostAtsImportTrackedApplicationPositiveResponseDataImportedIdGreenhouse) + end + end + + describe 'test attribute "id_type"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + # validator = Petstore::EnumTest::EnumAttributeValidator.new('String', ["application_id"]) + # validator.allowable_values.each do |value| + # expect { instance.id_type = value }.not_to raise_error + # end + end + end + + describe 'test attribute "application_id"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/post_ats_import_tracked_application_positive_response_data_imported_id_onlyfy_spec.rb b/spec/models/post_ats_import_tracked_application_positive_response_data_imported_id_onlyfy_spec.rb new file mode 100644 index 0000000..464c3d5 --- /dev/null +++ b/spec/models/post_ats_import_tracked_application_positive_response_data_imported_id_onlyfy_spec.rb @@ -0,0 +1,46 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.13.0 + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Kombo::PostAtsImportTrackedApplicationPositiveResponseDataImportedIdOnlyfy +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Kombo::PostAtsImportTrackedApplicationPositiveResponseDataImportedIdOnlyfy do + let(:instance) { Kombo::PostAtsImportTrackedApplicationPositiveResponseDataImportedIdOnlyfy.new } + + describe 'test an instance of PostAtsImportTrackedApplicationPositiveResponseDataImportedIdOnlyfy' do + it 'should create an instance of PostAtsImportTrackedApplicationPositiveResponseDataImportedIdOnlyfy' do + # uncomment below to test the instance creation + #expect(instance).to be_instance_of(Kombo::PostAtsImportTrackedApplicationPositiveResponseDataImportedIdOnlyfy) + end + end + + describe 'test attribute "id_type"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + # validator = Petstore::EnumTest::EnumAttributeValidator.new('String', ["application_id"]) + # validator.allowable_values.each do |value| + # expect { instance.id_type = value }.not_to raise_error + # end + end + end + + describe 'test attribute "application_id"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/post_ats_import_tracked_application_positive_response_data_imported_id_recruitee_spec.rb b/spec/models/post_ats_import_tracked_application_positive_response_data_imported_id_recruitee_spec.rb new file mode 100644 index 0000000..c33215e --- /dev/null +++ b/spec/models/post_ats_import_tracked_application_positive_response_data_imported_id_recruitee_spec.rb @@ -0,0 +1,46 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.13.0 + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Kombo::PostAtsImportTrackedApplicationPositiveResponseDataImportedIdRecruitee +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Kombo::PostAtsImportTrackedApplicationPositiveResponseDataImportedIdRecruitee do + let(:instance) { Kombo::PostAtsImportTrackedApplicationPositiveResponseDataImportedIdRecruitee.new } + + describe 'test an instance of PostAtsImportTrackedApplicationPositiveResponseDataImportedIdRecruitee' do + it 'should create an instance of PostAtsImportTrackedApplicationPositiveResponseDataImportedIdRecruitee' do + # uncomment below to test the instance creation + #expect(instance).to be_instance_of(Kombo::PostAtsImportTrackedApplicationPositiveResponseDataImportedIdRecruitee) + end + end + + describe 'test attribute "id_type"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + # validator = Petstore::EnumTest::EnumAttributeValidator.new('String', ["placement_id"]) + # validator.allowable_values.each do |value| + # expect { instance.id_type = value }.not_to raise_error + # end + end + end + + describe 'test attribute "placement_id"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/post_ats_import_tracked_application_positive_response_data_imported_id_smartrecruiters_spec.rb b/spec/models/post_ats_import_tracked_application_positive_response_data_imported_id_smartrecruiters_spec.rb new file mode 100644 index 0000000..5023327 --- /dev/null +++ b/spec/models/post_ats_import_tracked_application_positive_response_data_imported_id_smartrecruiters_spec.rb @@ -0,0 +1,52 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.13.0 + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Kombo::PostAtsImportTrackedApplicationPositiveResponseDataImportedIdSmartrecruiters +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Kombo::PostAtsImportTrackedApplicationPositiveResponseDataImportedIdSmartrecruiters do + let(:instance) { Kombo::PostAtsImportTrackedApplicationPositiveResponseDataImportedIdSmartrecruiters.new } + + describe 'test an instance of PostAtsImportTrackedApplicationPositiveResponseDataImportedIdSmartrecruiters' do + it 'should create an instance of PostAtsImportTrackedApplicationPositiveResponseDataImportedIdSmartrecruiters' do + # uncomment below to test the instance creation + #expect(instance).to be_instance_of(Kombo::PostAtsImportTrackedApplicationPositiveResponseDataImportedIdSmartrecruiters) + end + end + + describe 'test attribute "id_type"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + # validator = Petstore::EnumTest::EnumAttributeValidator.new('String', ["candidate_and_job_remote_ids"]) + # validator.allowable_values.each do |value| + # expect { instance.id_type = value }.not_to raise_error + # end + end + end + + describe 'test attribute "candidate_remote_id"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "job_remote_id"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/post_ats_import_tracked_application_positive_response_data_imported_id_spec.rb b/spec/models/post_ats_import_tracked_application_positive_response_data_imported_id_spec.rb new file mode 100644 index 0000000..43e9945 --- /dev/null +++ b/spec/models/post_ats_import_tracked_application_positive_response_data_imported_id_spec.rb @@ -0,0 +1,66 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.13.0 + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Kombo::PostAtsImportTrackedApplicationPositiveResponseDataImportedId +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Kombo::PostAtsImportTrackedApplicationPositiveResponseDataImportedId do + let(:instance) { Kombo::PostAtsImportTrackedApplicationPositiveResponseDataImportedId.new } + + describe 'test an instance of PostAtsImportTrackedApplicationPositiveResponseDataImportedId' do + it 'should create an instance of PostAtsImportTrackedApplicationPositiveResponseDataImportedId' do + # uncomment below to test the instance creation + #expect(instance).to be_instance_of(Kombo::PostAtsImportTrackedApplicationPositiveResponseDataImportedId) + end + end + + describe 'test attribute "erecruiter"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "successfactors"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "recruitee"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "greenhouse"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "onlyfy"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "smartrecruiters"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/post_ats_import_tracked_application_positive_response_data_imported_id_successfactors_spec.rb b/spec/models/post_ats_import_tracked_application_positive_response_data_imported_id_successfactors_spec.rb new file mode 100644 index 0000000..c2bb7cf --- /dev/null +++ b/spec/models/post_ats_import_tracked_application_positive_response_data_imported_id_successfactors_spec.rb @@ -0,0 +1,46 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.13.0 + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Kombo::PostAtsImportTrackedApplicationPositiveResponseDataImportedIdSuccessfactors +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Kombo::PostAtsImportTrackedApplicationPositiveResponseDataImportedIdSuccessfactors do + let(:instance) { Kombo::PostAtsImportTrackedApplicationPositiveResponseDataImportedIdSuccessfactors.new } + + describe 'test an instance of PostAtsImportTrackedApplicationPositiveResponseDataImportedIdSuccessfactors' do + it 'should create an instance of PostAtsImportTrackedApplicationPositiveResponseDataImportedIdSuccessfactors' do + # uncomment below to test the instance creation + #expect(instance).to be_instance_of(Kombo::PostAtsImportTrackedApplicationPositiveResponseDataImportedIdSuccessfactors) + end + end + + describe 'test attribute "id_type"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + # validator = Petstore::EnumTest::EnumAttributeValidator.new('String', ["application_remote_id"]) + # validator.allowable_values.each do |value| + # expect { instance.id_type = value }.not_to raise_error + # end + end + end + + describe 'test attribute "application_remote_id"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/post_ats_import_tracked_application_positive_response_data_spec.rb b/spec/models/post_ats_import_tracked_application_positive_response_data_spec.rb new file mode 100644 index 0000000..7e5535c --- /dev/null +++ b/spec/models/post_ats_import_tracked_application_positive_response_data_spec.rb @@ -0,0 +1,48 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.13.0 + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Kombo::PostAtsImportTrackedApplicationPositiveResponseData +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Kombo::PostAtsImportTrackedApplicationPositiveResponseData do + let(:instance) { Kombo::PostAtsImportTrackedApplicationPositiveResponseData.new } + + describe 'test an instance of PostAtsImportTrackedApplicationPositiveResponseData' do + it 'should create an instance of PostAtsImportTrackedApplicationPositiveResponseData' do + # uncomment below to test the instance creation + #expect(instance).to be_instance_of(Kombo::PostAtsImportTrackedApplicationPositiveResponseData) + end + end + + describe 'test attribute "id"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "tracked_at"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "imported_id"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/post_ats_import_tracked_application_positive_response_spec.rb b/spec/models/post_ats_import_tracked_application_positive_response_spec.rb new file mode 100644 index 0000000..b51e163 --- /dev/null +++ b/spec/models/post_ats_import_tracked_application_positive_response_spec.rb @@ -0,0 +1,52 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.13.0 + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Kombo::PostAtsImportTrackedApplicationPositiveResponse +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Kombo::PostAtsImportTrackedApplicationPositiveResponse do + let(:instance) { Kombo::PostAtsImportTrackedApplicationPositiveResponse.new } + + describe 'test an instance of PostAtsImportTrackedApplicationPositiveResponse' do + it 'should create an instance of PostAtsImportTrackedApplicationPositiveResponse' do + # uncomment below to test the instance creation + #expect(instance).to be_instance_of(Kombo::PostAtsImportTrackedApplicationPositiveResponse) + end + end + + describe 'test attribute "status"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + # validator = Petstore::EnumTest::EnumAttributeValidator.new('String', ["success"]) + # validator.allowable_values.each do |value| + # expect { instance.status = value }.not_to raise_error + # end + end + end + + describe 'test attribute "data"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "warnings"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/post_ats_import_tracked_application_request_body_spec.rb b/spec/models/post_ats_import_tracked_application_request_body_spec.rb new file mode 100644 index 0000000..d36aca7 --- /dev/null +++ b/spec/models/post_ats_import_tracked_application_request_body_spec.rb @@ -0,0 +1,72 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.13.0 + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Kombo::PostAtsImportTrackedApplicationRequestBody +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Kombo::PostAtsImportTrackedApplicationRequestBody do + let(:instance) { Kombo::PostAtsImportTrackedApplicationRequestBody.new } + + describe 'test an instance of PostAtsImportTrackedApplicationRequestBody' do + it 'should create an instance of PostAtsImportTrackedApplicationRequestBody' do + # uncomment below to test the instance creation + #expect(instance).to be_instance_of(Kombo::PostAtsImportTrackedApplicationRequestBody) + end + end + + describe 'test attribute "erecruiter"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "successfactors"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "recruitee"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "greenhouse"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "onlyfy"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "smartrecruiters"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "tracked_at"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/post_ats_jobs_job_id_applications_positive_response_data_candidate_spec.rb b/spec/models/post_ats_jobs_job_id_applications_positive_response_data_candidate_spec.rb new file mode 100644 index 0000000..d0e595e --- /dev/null +++ b/spec/models/post_ats_jobs_job_id_applications_positive_response_data_candidate_spec.rb @@ -0,0 +1,156 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.13.0 + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Kombo::PostAtsJobsJobIdApplicationsPositiveResponseDataCandidate +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Kombo::PostAtsJobsJobIdApplicationsPositiveResponseDataCandidate do + let(:instance) { Kombo::PostAtsJobsJobIdApplicationsPositiveResponseDataCandidate.new } + + describe 'test an instance of PostAtsJobsJobIdApplicationsPositiveResponseDataCandidate' do + it 'should create an instance of PostAtsJobsJobIdApplicationsPositiveResponseDataCandidate' do + # uncomment below to test the instance creation + #expect(instance).to be_instance_of(Kombo::PostAtsJobsJobIdApplicationsPositiveResponseDataCandidate) + end + end + + describe 'test attribute "id"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "remote_id"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "first_name"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "last_name"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "company"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "title"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "confidential"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "source"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "phone_numbers"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "email_addresses"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "social_media"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "location"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "custom_fields"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "integration_fields"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "remote_url"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "remote_created_at"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "remote_updated_at"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "remote_data"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "changed_at"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "remote_deleted_at"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "tags"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/post_ats_jobs_job_id_applications_positive_response_data_spec.rb b/spec/models/post_ats_jobs_job_id_applications_positive_response_data_spec.rb new file mode 100644 index 0000000..4b9d068 --- /dev/null +++ b/spec/models/post_ats_jobs_job_id_applications_positive_response_data_spec.rb @@ -0,0 +1,154 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.13.0 + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Kombo::PostAtsJobsJobIdApplicationsPositiveResponseData +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Kombo::PostAtsJobsJobIdApplicationsPositiveResponseData do + let(:instance) { Kombo::PostAtsJobsJobIdApplicationsPositiveResponseData.new } + + describe 'test an instance of PostAtsJobsJobIdApplicationsPositiveResponseData' do + it 'should create an instance of PostAtsJobsJobIdApplicationsPositiveResponseData' do + # uncomment below to test the instance creation + #expect(instance).to be_instance_of(Kombo::PostAtsJobsJobIdApplicationsPositiveResponseData) + end + end + + describe 'test attribute "id"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "remote_id"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "outcome"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + # validator = Petstore::EnumTest::EnumAttributeValidator.new('String', ["PENDING", "HIRED", "DECLINED"]) + # validator.allowable_values.each do |value| + # expect { instance.outcome = value }.not_to raise_error + # end + end + end + + describe 'test attribute "rejection_reason_name"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "rejected_at"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "current_stage_id"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "job_id"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "candidate_id"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "screening_question_answers"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "custom_fields"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "integration_fields"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "remote_url"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "changed_at"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "remote_deleted_at"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "remote_created_at"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "remote_updated_at"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "remote_data"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "current_stage"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "job"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "candidate"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/post_ats_jobs_job_id_applications_positive_response_spec.rb b/spec/models/post_ats_jobs_job_id_applications_positive_response_spec.rb new file mode 100644 index 0000000..6017b61 --- /dev/null +++ b/spec/models/post_ats_jobs_job_id_applications_positive_response_spec.rb @@ -0,0 +1,52 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.13.0 + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Kombo::PostAtsJobsJobIdApplicationsPositiveResponse +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Kombo::PostAtsJobsJobIdApplicationsPositiveResponse do + let(:instance) { Kombo::PostAtsJobsJobIdApplicationsPositiveResponse.new } + + describe 'test an instance of PostAtsJobsJobIdApplicationsPositiveResponse' do + it 'should create an instance of PostAtsJobsJobIdApplicationsPositiveResponse' do + # uncomment below to test the instance creation + #expect(instance).to be_instance_of(Kombo::PostAtsJobsJobIdApplicationsPositiveResponse) + end + end + + describe 'test attribute "status"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + # validator = Petstore::EnumTest::EnumAttributeValidator.new('String', ["success"]) + # validator.allowable_values.each do |value| + # expect { instance.status = value }.not_to raise_error + # end + end + end + + describe 'test attribute "data"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "warnings"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/post_ats_jobs_job_id_applications_request_body_spec.rb b/spec/models/post_ats_jobs_job_id_applications_request_body_spec.rb new file mode 100644 index 0000000..57a829f --- /dev/null +++ b/spec/models/post_ats_jobs_job_id_applications_request_body_spec.rb @@ -0,0 +1,78 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.13.0 + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Kombo::PostAtsJobsJobIdApplicationsRequestBody +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Kombo::PostAtsJobsJobIdApplicationsRequestBody do + let(:instance) { Kombo::PostAtsJobsJobIdApplicationsRequestBody.new } + + describe 'test an instance of PostAtsJobsJobIdApplicationsRequestBody' do + it 'should create an instance of PostAtsJobsJobIdApplicationsRequestBody' do + # uncomment below to test the instance creation + #expect(instance).to be_instance_of(Kombo::PostAtsJobsJobIdApplicationsRequestBody) + end + end + + describe 'test attribute "stage_id"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "candidate"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "attachments"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "source"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "sourced_by"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "gdpr_consent"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "remote_fields"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "screening_question_answers"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/post_connect_activate_integration_positive_response_spec.rb b/spec/models/post_connect_activate_integration_positive_response_spec.rb new file mode 100644 index 0000000..3f0272b --- /dev/null +++ b/spec/models/post_connect_activate_integration_positive_response_spec.rb @@ -0,0 +1,46 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.13.0 + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Kombo::PostConnectActivateIntegrationPositiveResponse +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Kombo::PostConnectActivateIntegrationPositiveResponse do + let(:instance) { Kombo::PostConnectActivateIntegrationPositiveResponse.new } + + describe 'test an instance of PostConnectActivateIntegrationPositiveResponse' do + it 'should create an instance of PostConnectActivateIntegrationPositiveResponse' do + # uncomment below to test the instance creation + #expect(instance).to be_instance_of(Kombo::PostConnectActivateIntegrationPositiveResponse) + end + end + + describe 'test attribute "status"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + # validator = Petstore::EnumTest::EnumAttributeValidator.new('String', ["success"]) + # validator.allowable_values.each do |value| + # expect { instance.status = value }.not_to raise_error + # end + end + end + + describe 'test attribute "data"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/post_connect_activate_integration_request_body_spec.rb b/spec/models/post_connect_activate_integration_request_body_spec.rb new file mode 100644 index 0000000..3c54474 --- /dev/null +++ b/spec/models/post_connect_activate_integration_request_body_spec.rb @@ -0,0 +1,36 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.13.0 + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Kombo::PostConnectActivateIntegrationRequestBody +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Kombo::PostConnectActivateIntegrationRequestBody do + let(:instance) { Kombo::PostConnectActivateIntegrationRequestBody.new } + + describe 'test an instance of PostConnectActivateIntegrationRequestBody' do + it 'should create an instance of PostConnectActivateIntegrationRequestBody' do + # uncomment below to test the instance creation + #expect(instance).to be_instance_of(Kombo::PostConnectActivateIntegrationRequestBody) + end + end + + describe 'test attribute "token"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/post_connect_create_link_positive_response_spec.rb b/spec/models/post_connect_create_link_positive_response_spec.rb new file mode 100644 index 0000000..dd47ad4 --- /dev/null +++ b/spec/models/post_connect_create_link_positive_response_spec.rb @@ -0,0 +1,46 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.13.0 + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Kombo::PostConnectCreateLinkPositiveResponse +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Kombo::PostConnectCreateLinkPositiveResponse do + let(:instance) { Kombo::PostConnectCreateLinkPositiveResponse.new } + + describe 'test an instance of PostConnectCreateLinkPositiveResponse' do + it 'should create an instance of PostConnectCreateLinkPositiveResponse' do + # uncomment below to test the instance creation + #expect(instance).to be_instance_of(Kombo::PostConnectCreateLinkPositiveResponse) + end + end + + describe 'test attribute "status"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + # validator = Petstore::EnumTest::EnumAttributeValidator.new('String', ["success"]) + # validator.allowable_values.each do |value| + # expect { instance.status = value }.not_to raise_error + # end + end + end + + describe 'test attribute "data"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/post_connect_create_link_request_body_spec.rb b/spec/models/post_connect_create_link_request_body_spec.rb new file mode 100644 index 0000000..957d7bd --- /dev/null +++ b/spec/models/post_connect_create_link_request_body_spec.rb @@ -0,0 +1,112 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.13.0 + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Kombo::PostConnectCreateLinkRequestBody +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Kombo::PostConnectCreateLinkRequestBody do + let(:instance) { Kombo::PostConnectCreateLinkRequestBody.new } + + describe 'test an instance of PostConnectCreateLinkRequestBody' do + it 'should create an instance of PostConnectCreateLinkRequestBody' do + # uncomment below to test the instance creation + #expect(instance).to be_instance_of(Kombo::PostConnectCreateLinkRequestBody) + end + end + + describe 'test attribute "end_user_email"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "end_user_organization_name"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "end_user_origin_id"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "remote_environment"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "integration_category"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + # validator = Petstore::EnumTest::EnumAttributeValidator.new('String', ["HRIS", "ATS", "ASSESSMENT"]) + # validator.allowable_values.each do |value| + # expect { instance.integration_category = value }.not_to raise_error + # end + end + end + + describe 'test attribute "integration_tool"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + # validator = Petstore::EnumTest::EnumAttributeValidator.new('String', ["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"]) + # validator.allowable_values.each do |value| + # expect { instance.integration_tool = value }.not_to raise_error + # end + end + end + + describe 'test attribute "language"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + # validator = Petstore::EnumTest::EnumAttributeValidator.new('String', ["en", "de", "fr", "it", "es"]) + # validator.allowable_values.each do |value| + # expect { instance.language = value }.not_to raise_error + # end + end + end + + describe 'test attribute "scope_config_id"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "enable_filtering"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "enable_field_mapping"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "link_type"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + # validator = Petstore::EnumTest::EnumAttributeValidator.new('String', ["EMBEDDED", "MAGIC_LINK"]) + # validator.allowable_values.each do |value| + # expect { instance.link_type = value }.not_to raise_error + # end + end + end + +end diff --git a/spec/models/post_custom_datev_download_document_positive_response_data_spec.rb b/spec/models/post_custom_datev_download_document_positive_response_data_spec.rb new file mode 100644 index 0000000..14ca35f --- /dev/null +++ b/spec/models/post_custom_datev_download_document_positive_response_data_spec.rb @@ -0,0 +1,48 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.13.0 + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Kombo::PostCustomDatevDownloadDocumentPositiveResponseData +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Kombo::PostCustomDatevDownloadDocumentPositiveResponseData do + let(:instance) { Kombo::PostCustomDatevDownloadDocumentPositiveResponseData.new } + + describe 'test an instance of PostCustomDatevDownloadDocumentPositiveResponseData' do + it 'should create an instance of PostCustomDatevDownloadDocumentPositiveResponseData' do + # uncomment below to test the instance creation + #expect(instance).to be_instance_of(Kombo::PostCustomDatevDownloadDocumentPositiveResponseData) + end + end + + describe 'test attribute "data_url"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "file_name"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "content_type"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/post_custom_datev_download_document_positive_response_spec.rb b/spec/models/post_custom_datev_download_document_positive_response_spec.rb new file mode 100644 index 0000000..08303da --- /dev/null +++ b/spec/models/post_custom_datev_download_document_positive_response_spec.rb @@ -0,0 +1,52 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.13.0 + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Kombo::PostCustomDatevDownloadDocumentPositiveResponse +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Kombo::PostCustomDatevDownloadDocumentPositiveResponse do + let(:instance) { Kombo::PostCustomDatevDownloadDocumentPositiveResponse.new } + + describe 'test an instance of PostCustomDatevDownloadDocumentPositiveResponse' do + it 'should create an instance of PostCustomDatevDownloadDocumentPositiveResponse' do + # uncomment below to test the instance creation + #expect(instance).to be_instance_of(Kombo::PostCustomDatevDownloadDocumentPositiveResponse) + end + end + + describe 'test attribute "status"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + # validator = Petstore::EnumTest::EnumAttributeValidator.new('String', ["success"]) + # validator.allowable_values.each do |value| + # expect { instance.status = value }.not_to raise_error + # end + end + end + + describe 'test attribute "data"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "warnings"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/post_custom_datev_download_document_request_body_spec.rb b/spec/models/post_custom_datev_download_document_request_body_spec.rb new file mode 100644 index 0000000..de478c6 --- /dev/null +++ b/spec/models/post_custom_datev_download_document_request_body_spec.rb @@ -0,0 +1,52 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.13.0 + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Kombo::PostCustomDatevDownloadDocumentRequestBody +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Kombo::PostCustomDatevDownloadDocumentRequestBody do + let(:instance) { Kombo::PostCustomDatevDownloadDocumentRequestBody.new } + + describe 'test an instance of PostCustomDatevDownloadDocumentRequestBody' do + it 'should create an instance of PostCustomDatevDownloadDocumentRequestBody' do + # uncomment below to test the instance creation + #expect(instance).to be_instance_of(Kombo::PostCustomDatevDownloadDocumentRequestBody) + end + end + + describe 'test attribute "accounting_month"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "document_type"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + # validator = Petstore::EnumTest::EnumAttributeValidator.new('String', ["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"]) + # validator.allowable_values.each do |value| + # expect { instance.document_type = value }.not_to raise_error + # end + end + end + + describe 'test attribute "employee_id"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/post_custom_datev_employees_employee_id_download_document_positive_response_spec.rb b/spec/models/post_custom_datev_employees_employee_id_download_document_positive_response_spec.rb new file mode 100644 index 0000000..17efb93 --- /dev/null +++ b/spec/models/post_custom_datev_employees_employee_id_download_document_positive_response_spec.rb @@ -0,0 +1,52 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.13.0 + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Kombo::PostCustomDatevEmployeesEmployeeIdDownloadDocumentPositiveResponse +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Kombo::PostCustomDatevEmployeesEmployeeIdDownloadDocumentPositiveResponse do + let(:instance) { Kombo::PostCustomDatevEmployeesEmployeeIdDownloadDocumentPositiveResponse.new } + + describe 'test an instance of PostCustomDatevEmployeesEmployeeIdDownloadDocumentPositiveResponse' do + it 'should create an instance of PostCustomDatevEmployeesEmployeeIdDownloadDocumentPositiveResponse' do + # uncomment below to test the instance creation + #expect(instance).to be_instance_of(Kombo::PostCustomDatevEmployeesEmployeeIdDownloadDocumentPositiveResponse) + end + end + + describe 'test attribute "status"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + # validator = Petstore::EnumTest::EnumAttributeValidator.new('String', ["success"]) + # validator.allowable_values.each do |value| + # expect { instance.status = value }.not_to raise_error + # end + end + end + + describe 'test attribute "data"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "warnings"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/post_custom_datev_employees_employee_id_download_document_request_body_spec.rb b/spec/models/post_custom_datev_employees_employee_id_download_document_request_body_spec.rb new file mode 100644 index 0000000..89697ad --- /dev/null +++ b/spec/models/post_custom_datev_employees_employee_id_download_document_request_body_spec.rb @@ -0,0 +1,46 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.13.0 + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Kombo::PostCustomDatevEmployeesEmployeeIdDownloadDocumentRequestBody +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Kombo::PostCustomDatevEmployeesEmployeeIdDownloadDocumentRequestBody do + let(:instance) { Kombo::PostCustomDatevEmployeesEmployeeIdDownloadDocumentRequestBody.new } + + describe 'test an instance of PostCustomDatevEmployeesEmployeeIdDownloadDocumentRequestBody' do + it 'should create an instance of PostCustomDatevEmployeesEmployeeIdDownloadDocumentRequestBody' do + # uncomment below to test the instance creation + #expect(instance).to be_instance_of(Kombo::PostCustomDatevEmployeesEmployeeIdDownloadDocumentRequestBody) + end + end + + describe 'test attribute "accounting_month"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "document_type"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + # validator = Petstore::EnumTest::EnumAttributeValidator.new('String', ["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"]) + # validator.allowable_values.each do |value| + # expect { instance.document_type = value }.not_to raise_error + # end + end + end + +end diff --git a/spec/models/post_custom_datev_employees_employee_id_eau_requests_positive_response_data_spec.rb b/spec/models/post_custom_datev_employees_employee_id_eau_requests_positive_response_data_spec.rb new file mode 100644 index 0000000..465e56d --- /dev/null +++ b/spec/models/post_custom_datev_employees_employee_id_eau_requests_positive_response_data_spec.rb @@ -0,0 +1,36 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.13.0 + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Kombo::PostCustomDatevEmployeesEmployeeIdEauRequestsPositiveResponseData +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Kombo::PostCustomDatevEmployeesEmployeeIdEauRequestsPositiveResponseData do + let(:instance) { Kombo::PostCustomDatevEmployeesEmployeeIdEauRequestsPositiveResponseData.new } + + describe 'test an instance of PostCustomDatevEmployeesEmployeeIdEauRequestsPositiveResponseData' do + it 'should create an instance of PostCustomDatevEmployeesEmployeeIdEauRequestsPositiveResponseData' do + # uncomment below to test the instance creation + #expect(instance).to be_instance_of(Kombo::PostCustomDatevEmployeesEmployeeIdEauRequestsPositiveResponseData) + end + end + + describe 'test attribute "eau_id"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/post_custom_datev_employees_employee_id_eau_requests_positive_response_spec.rb b/spec/models/post_custom_datev_employees_employee_id_eau_requests_positive_response_spec.rb new file mode 100644 index 0000000..6e81904 --- /dev/null +++ b/spec/models/post_custom_datev_employees_employee_id_eau_requests_positive_response_spec.rb @@ -0,0 +1,52 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.13.0 + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Kombo::PostCustomDatevEmployeesEmployeeIdEauRequestsPositiveResponse +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Kombo::PostCustomDatevEmployeesEmployeeIdEauRequestsPositiveResponse do + let(:instance) { Kombo::PostCustomDatevEmployeesEmployeeIdEauRequestsPositiveResponse.new } + + describe 'test an instance of PostCustomDatevEmployeesEmployeeIdEauRequestsPositiveResponse' do + it 'should create an instance of PostCustomDatevEmployeesEmployeeIdEauRequestsPositiveResponse' do + # uncomment below to test the instance creation + #expect(instance).to be_instance_of(Kombo::PostCustomDatevEmployeesEmployeeIdEauRequestsPositiveResponse) + end + end + + describe 'test attribute "status"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + # validator = Petstore::EnumTest::EnumAttributeValidator.new('String', ["success"]) + # validator.allowable_values.each do |value| + # expect { instance.status = value }.not_to raise_error + # end + end + end + + describe 'test attribute "data"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "warnings"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/post_custom_datev_employees_employee_id_eau_requests_request_body_contact_person_spec.rb b/spec/models/post_custom_datev_employees_employee_id_eau_requests_request_body_contact_person_spec.rb new file mode 100644 index 0000000..9ba95ce --- /dev/null +++ b/spec/models/post_custom_datev_employees_employee_id_eau_requests_request_body_contact_person_spec.rb @@ -0,0 +1,94 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.13.0 + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Kombo::PostCustomDatevEmployeesEmployeeIdEauRequestsRequestBodyContactPerson +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Kombo::PostCustomDatevEmployeesEmployeeIdEauRequestsRequestBodyContactPerson do + let(:instance) { Kombo::PostCustomDatevEmployeesEmployeeIdEauRequestsRequestBodyContactPerson.new } + + describe 'test an instance of PostCustomDatevEmployeesEmployeeIdEauRequestsRequestBodyContactPerson' do + it 'should create an instance of PostCustomDatevEmployeesEmployeeIdEauRequestsRequestBodyContactPerson' do + # uncomment below to test the instance creation + #expect(instance).to be_instance_of(Kombo::PostCustomDatevEmployeesEmployeeIdEauRequestsRequestBodyContactPerson) + end + end + + describe 'test attribute "gender"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + # validator = Petstore::EnumTest::EnumAttributeValidator.new('String', ["M", "W", "X", "D"]) + # validator.allowable_values.each do |value| + # expect { instance.gender = value }.not_to raise_error + # end + end + end + + describe 'test attribute "name"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "telephone"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "fax"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "email"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "company_name"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "postal_code"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "city"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "street"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "house_number"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/post_custom_datev_employees_employee_id_eau_requests_request_body_notification_spec.rb b/spec/models/post_custom_datev_employees_employee_id_eau_requests_request_body_notification_spec.rb new file mode 100644 index 0000000..d7ad72e --- /dev/null +++ b/spec/models/post_custom_datev_employees_employee_id_eau_requests_request_body_notification_spec.rb @@ -0,0 +1,36 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.13.0 + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Kombo::PostCustomDatevEmployeesEmployeeIdEauRequestsRequestBodyNotification +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Kombo::PostCustomDatevEmployeesEmployeeIdEauRequestsRequestBodyNotification do + let(:instance) { Kombo::PostCustomDatevEmployeesEmployeeIdEauRequestsRequestBodyNotification.new } + + describe 'test an instance of PostCustomDatevEmployeesEmployeeIdEauRequestsRequestBodyNotification' do + it 'should create an instance of PostCustomDatevEmployeesEmployeeIdEauRequestsRequestBodyNotification' do + # uncomment below to test the instance creation + #expect(instance).to be_instance_of(Kombo::PostCustomDatevEmployeesEmployeeIdEauRequestsRequestBodyNotification) + end + end + + describe 'test attribute "email"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/post_custom_datev_employees_employee_id_eau_requests_request_body_spec.rb b/spec/models/post_custom_datev_employees_employee_id_eau_requests_request_body_spec.rb new file mode 100644 index 0000000..d61e7f7 --- /dev/null +++ b/spec/models/post_custom_datev_employees_employee_id_eau_requests_request_body_spec.rb @@ -0,0 +1,48 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.13.0 + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Kombo::PostCustomDatevEmployeesEmployeeIdEauRequestsRequestBody +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Kombo::PostCustomDatevEmployeesEmployeeIdEauRequestsRequestBody do + let(:instance) { Kombo::PostCustomDatevEmployeesEmployeeIdEauRequestsRequestBody.new } + + describe 'test an instance of PostCustomDatevEmployeesEmployeeIdEauRequestsRequestBody' do + it 'should create an instance of PostCustomDatevEmployeesEmployeeIdEauRequestsRequestBody' do + # uncomment below to test the instance creation + #expect(instance).to be_instance_of(Kombo::PostCustomDatevEmployeesEmployeeIdEauRequestsRequestBody) + end + end + + describe 'test attribute "start_work_incapacity"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "notification"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "contact_person"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/post_custom_datev_passthrough_positive_response_spec.rb b/spec/models/post_custom_datev_passthrough_positive_response_spec.rb new file mode 100644 index 0000000..acef9a6 --- /dev/null +++ b/spec/models/post_custom_datev_passthrough_positive_response_spec.rb @@ -0,0 +1,52 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.13.0 + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Kombo::PostCustomDatevPassthroughPositiveResponse +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Kombo::PostCustomDatevPassthroughPositiveResponse do + let(:instance) { Kombo::PostCustomDatevPassthroughPositiveResponse.new } + + describe 'test an instance of PostCustomDatevPassthroughPositiveResponse' do + it 'should create an instance of PostCustomDatevPassthroughPositiveResponse' do + # uncomment below to test the instance creation + #expect(instance).to be_instance_of(Kombo::PostCustomDatevPassthroughPositiveResponse) + end + end + + describe 'test attribute "status"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + # validator = Petstore::EnumTest::EnumAttributeValidator.new('String', ["success"]) + # validator.allowable_values.each do |value| + # expect { instance.status = value }.not_to raise_error + # end + end + end + + describe 'test attribute "data"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "warnings"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/post_custom_datev_passthrough_request_body_spec.rb b/spec/models/post_custom_datev_passthrough_request_body_spec.rb new file mode 100644 index 0000000..3475396 --- /dev/null +++ b/spec/models/post_custom_datev_passthrough_request_body_spec.rb @@ -0,0 +1,68 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.13.0 + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Kombo::PostCustomDatevPassthroughRequestBody +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Kombo::PostCustomDatevPassthroughRequestBody do + let(:instance) { Kombo::PostCustomDatevPassthroughRequestBody.new } + + describe 'test an instance of PostCustomDatevPassthroughRequestBody' do + it 'should create an instance of PostCustomDatevPassthroughRequestBody' do + # uncomment below to test the instance creation + #expect(instance).to be_instance_of(Kombo::PostCustomDatevPassthroughRequestBody) + end + end + + describe 'test attribute "file_content"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "accounting_month"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "target_system"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + # validator = Petstore::EnumTest::EnumAttributeValidator.new('String', ["LODAS", "LuG"]) + # validator.allowable_values.each do |value| + # expect { instance.target_system = value }.not_to raise_error + # end + end + end + + describe 'test attribute "file_type"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + # validator = Petstore::EnumTest::EnumAttributeValidator.new('String', ["STAMMDATEN", "BEWEGUNGSDATEN"]) + # validator.allowable_values.each do |value| + # expect { instance.file_type = value }.not_to raise_error + # end + end + end + + describe 'test attribute "file_name"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/post_custom_datev_push_data_general_positive_response_data_files_inner_spec.rb b/spec/models/post_custom_datev_push_data_general_positive_response_data_files_inner_spec.rb new file mode 100644 index 0000000..13f447a --- /dev/null +++ b/spec/models/post_custom_datev_push_data_general_positive_response_data_files_inner_spec.rb @@ -0,0 +1,42 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.13.0 + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Kombo::PostCustomDatevPushDataGeneralPositiveResponseDataFilesInner +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Kombo::PostCustomDatevPushDataGeneralPositiveResponseDataFilesInner do + let(:instance) { Kombo::PostCustomDatevPushDataGeneralPositiveResponseDataFilesInner.new } + + describe 'test an instance of PostCustomDatevPushDataGeneralPositiveResponseDataFilesInner' do + it 'should create an instance of PostCustomDatevPushDataGeneralPositiveResponseDataFilesInner' do + # uncomment below to test the instance creation + #expect(instance).to be_instance_of(Kombo::PostCustomDatevPushDataGeneralPositiveResponseDataFilesInner) + end + end + + describe 'test attribute "name"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "content"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/post_custom_datev_push_data_general_positive_response_data_spec.rb b/spec/models/post_custom_datev_push_data_general_positive_response_data_spec.rb new file mode 100644 index 0000000..c079b5b --- /dev/null +++ b/spec/models/post_custom_datev_push_data_general_positive_response_data_spec.rb @@ -0,0 +1,36 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.13.0 + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Kombo::PostCustomDatevPushDataGeneralPositiveResponseData +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Kombo::PostCustomDatevPushDataGeneralPositiveResponseData do + let(:instance) { Kombo::PostCustomDatevPushDataGeneralPositiveResponseData.new } + + describe 'test an instance of PostCustomDatevPushDataGeneralPositiveResponseData' do + it 'should create an instance of PostCustomDatevPushDataGeneralPositiveResponseData' do + # uncomment below to test the instance creation + #expect(instance).to be_instance_of(Kombo::PostCustomDatevPushDataGeneralPositiveResponseData) + end + end + + describe 'test attribute "files"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/post_custom_datev_push_data_general_positive_response_spec.rb b/spec/models/post_custom_datev_push_data_general_positive_response_spec.rb new file mode 100644 index 0000000..099b010 --- /dev/null +++ b/spec/models/post_custom_datev_push_data_general_positive_response_spec.rb @@ -0,0 +1,52 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.13.0 + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Kombo::PostCustomDatevPushDataGeneralPositiveResponse +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Kombo::PostCustomDatevPushDataGeneralPositiveResponse do + let(:instance) { Kombo::PostCustomDatevPushDataGeneralPositiveResponse.new } + + describe 'test an instance of PostCustomDatevPushDataGeneralPositiveResponse' do + it 'should create an instance of PostCustomDatevPushDataGeneralPositiveResponse' do + # uncomment below to test the instance creation + #expect(instance).to be_instance_of(Kombo::PostCustomDatevPushDataGeneralPositiveResponse) + end + end + + describe 'test attribute "status"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + # validator = Petstore::EnumTest::EnumAttributeValidator.new('String', ["success"]) + # validator.allowable_values.each do |value| + # expect { instance.status = value }.not_to raise_error + # end + end + end + + describe 'test attribute "data"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "warnings"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/post_custom_datev_push_data_payroll_positive_response_spec.rb b/spec/models/post_custom_datev_push_data_payroll_positive_response_spec.rb new file mode 100644 index 0000000..d61d856 --- /dev/null +++ b/spec/models/post_custom_datev_push_data_payroll_positive_response_spec.rb @@ -0,0 +1,52 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.13.0 + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Kombo::PostCustomDatevPushDataPayrollPositiveResponse +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Kombo::PostCustomDatevPushDataPayrollPositiveResponse do + let(:instance) { Kombo::PostCustomDatevPushDataPayrollPositiveResponse.new } + + describe 'test an instance of PostCustomDatevPushDataPayrollPositiveResponse' do + it 'should create an instance of PostCustomDatevPushDataPayrollPositiveResponse' do + # uncomment below to test the instance creation + #expect(instance).to be_instance_of(Kombo::PostCustomDatevPushDataPayrollPositiveResponse) + end + end + + describe 'test attribute "status"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + # validator = Petstore::EnumTest::EnumAttributeValidator.new('String', ["success"]) + # validator.allowable_values.each do |value| + # expect { instance.status = value }.not_to raise_error + # end + end + end + + describe 'test attribute "data"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "warnings"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/post_custom_datev_push_data_payroll_request_body_spec.rb b/spec/models/post_custom_datev_push_data_payroll_request_body_spec.rb new file mode 100644 index 0000000..1295a34 --- /dev/null +++ b/spec/models/post_custom_datev_push_data_payroll_request_body_spec.rb @@ -0,0 +1,36 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.13.0 + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Kombo::PostCustomDatevPushDataPayrollRequestBody +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Kombo::PostCustomDatevPushDataPayrollRequestBody do + let(:instance) { Kombo::PostCustomDatevPushDataPayrollRequestBody.new } + + describe 'test an instance of PostCustomDatevPushDataPayrollRequestBody' do + it 'should create an instance of PostCustomDatevPushDataPayrollRequestBody' do + # uncomment below to test the instance creation + #expect(instance).to be_instance_of(Kombo::PostCustomDatevPushDataPayrollRequestBody) + end + end + + describe 'test attribute "payroll_month"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/post_custom_silae_employees_employee_id_payroll_supplements_positive_response_spec.rb b/spec/models/post_custom_silae_employees_employee_id_payroll_supplements_positive_response_spec.rb new file mode 100644 index 0000000..4bc506d --- /dev/null +++ b/spec/models/post_custom_silae_employees_employee_id_payroll_supplements_positive_response_spec.rb @@ -0,0 +1,52 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.13.0 + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Kombo::PostCustomSilaeEmployeesEmployeeIdPayrollSupplementsPositiveResponse +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Kombo::PostCustomSilaeEmployeesEmployeeIdPayrollSupplementsPositiveResponse do + let(:instance) { Kombo::PostCustomSilaeEmployeesEmployeeIdPayrollSupplementsPositiveResponse.new } + + describe 'test an instance of PostCustomSilaeEmployeesEmployeeIdPayrollSupplementsPositiveResponse' do + it 'should create an instance of PostCustomSilaeEmployeesEmployeeIdPayrollSupplementsPositiveResponse' do + # uncomment below to test the instance creation + #expect(instance).to be_instance_of(Kombo::PostCustomSilaeEmployeesEmployeeIdPayrollSupplementsPositiveResponse) + end + end + + describe 'test attribute "status"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + # validator = Petstore::EnumTest::EnumAttributeValidator.new('String', ["success"]) + # validator.allowable_values.each do |value| + # expect { instance.status = value }.not_to raise_error + # end + end + end + + describe 'test attribute "data"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "warnings"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/post_custom_silae_employees_employee_id_payroll_supplements_request_body_spec.rb b/spec/models/post_custom_silae_employees_employee_id_payroll_supplements_request_body_spec.rb new file mode 100644 index 0000000..be35d24 --- /dev/null +++ b/spec/models/post_custom_silae_employees_employee_id_payroll_supplements_request_body_spec.rb @@ -0,0 +1,54 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.13.0 + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Kombo::PostCustomSilaeEmployeesEmployeeIdPayrollSupplementsRequestBody +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Kombo::PostCustomSilaeEmployeesEmployeeIdPayrollSupplementsRequestBody do + let(:instance) { Kombo::PostCustomSilaeEmployeesEmployeeIdPayrollSupplementsRequestBody.new } + + describe 'test an instance of PostCustomSilaeEmployeesEmployeeIdPayrollSupplementsRequestBody' do + it 'should create an instance of PostCustomSilaeEmployeesEmployeeIdPayrollSupplementsRequestBody' do + # uncomment below to test the instance creation + #expect(instance).to be_instance_of(Kombo::PostCustomSilaeEmployeesEmployeeIdPayrollSupplementsRequestBody) + end + end + + describe 'test attribute "supplement_code"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "effective_date"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "element_amount"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "element_string"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/post_force_sync_positive_response_data_spec.rb b/spec/models/post_force_sync_positive_response_data_spec.rb new file mode 100644 index 0000000..c59aafd --- /dev/null +++ b/spec/models/post_force_sync_positive_response_data_spec.rb @@ -0,0 +1,52 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.13.0 + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Kombo::PostForceSyncPositiveResponseData +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Kombo::PostForceSyncPositiveResponseData do + let(:instance) { Kombo::PostForceSyncPositiveResponseData.new } + + describe 'test an instance of PostForceSyncPositiveResponseData' do + it 'should create an instance of PostForceSyncPositiveResponseData' do + # uncomment below to test the instance creation + #expect(instance).to be_instance_of(Kombo::PostForceSyncPositiveResponseData) + end + end + + describe 'test attribute "already_queued"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "sync_id"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "type"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + # validator = Petstore::EnumTest::EnumAttributeValidator.new('String', ["FULL", "DELTA"]) + # validator.allowable_values.each do |value| + # expect { instance.type = value }.not_to raise_error + # end + end + end + +end diff --git a/spec/models/post_force_sync_positive_response_spec.rb b/spec/models/post_force_sync_positive_response_spec.rb new file mode 100644 index 0000000..be0fe09 --- /dev/null +++ b/spec/models/post_force_sync_positive_response_spec.rb @@ -0,0 +1,46 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.13.0 + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Kombo::PostForceSyncPositiveResponse +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Kombo::PostForceSyncPositiveResponse do + let(:instance) { Kombo::PostForceSyncPositiveResponse.new } + + describe 'test an instance of PostForceSyncPositiveResponse' do + it 'should create an instance of PostForceSyncPositiveResponse' do + # uncomment below to test the instance creation + #expect(instance).to be_instance_of(Kombo::PostForceSyncPositiveResponse) + end + end + + describe 'test attribute "status"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + # validator = Petstore::EnumTest::EnumAttributeValidator.new('String', ["success"]) + # validator.allowable_values.each do |value| + # expect { instance.status = value }.not_to raise_error + # end + end + end + + describe 'test attribute "data"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/post_force_sync_request_body_spec.rb b/spec/models/post_force_sync_request_body_spec.rb new file mode 100644 index 0000000..47bc36c --- /dev/null +++ b/spec/models/post_force_sync_request_body_spec.rb @@ -0,0 +1,40 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.13.0 + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Kombo::PostForceSyncRequestBody +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Kombo::PostForceSyncRequestBody do + let(:instance) { Kombo::PostForceSyncRequestBody.new } + + describe 'test an instance of PostForceSyncRequestBody' do + it 'should create an instance of PostForceSyncRequestBody' do + # uncomment below to test the instance creation + #expect(instance).to be_instance_of(Kombo::PostForceSyncRequestBody) + end + end + + describe 'test attribute "type"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + # validator = Petstore::EnumTest::EnumAttributeValidator.new('String', ["FULL", "DELTA"]) + # validator.allowable_values.each do |value| + # expect { instance.type = value }.not_to raise_error + # end + end + end + +end diff --git a/spec/models/post_hris_absences_positive_response_data_spec.rb b/spec/models/post_hris_absences_positive_response_data_spec.rb new file mode 100644 index 0000000..c7a7872 --- /dev/null +++ b/spec/models/post_hris_absences_positive_response_data_spec.rb @@ -0,0 +1,142 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.13.0 + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Kombo::PostHrisAbsencesPositiveResponseData +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Kombo::PostHrisAbsencesPositiveResponseData do + let(:instance) { Kombo::PostHrisAbsencesPositiveResponseData.new } + + describe 'test an instance of PostHrisAbsencesPositiveResponseData' do + it 'should create an instance of PostHrisAbsencesPositiveResponseData' do + # uncomment below to test the instance creation + #expect(instance).to be_instance_of(Kombo::PostHrisAbsencesPositiveResponseData) + end + end + + describe 'test attribute "id"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "remote_id"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "employee_id"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "approver_id"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "start_date"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "end_date"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "start_half_day"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "end_half_day"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "start_time"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "end_time"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "amount"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "unit"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + # validator = Petstore::EnumTest::EnumAttributeValidator.new('String', ["HOURS", "DAYS"]) + # validator.allowable_values.each do |value| + # expect { instance.unit = value }.not_to raise_error + # end + end + end + + describe 'test attribute "status"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "employee_note"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "type_id"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "changed_at"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "remote_deleted_at"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "remote_data"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/post_hris_absences_positive_response_spec.rb b/spec/models/post_hris_absences_positive_response_spec.rb new file mode 100644 index 0000000..9df744c --- /dev/null +++ b/spec/models/post_hris_absences_positive_response_spec.rb @@ -0,0 +1,52 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.13.0 + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Kombo::PostHrisAbsencesPositiveResponse +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Kombo::PostHrisAbsencesPositiveResponse do + let(:instance) { Kombo::PostHrisAbsencesPositiveResponse.new } + + describe 'test an instance of PostHrisAbsencesPositiveResponse' do + it 'should create an instance of PostHrisAbsencesPositiveResponse' do + # uncomment below to test the instance creation + #expect(instance).to be_instance_of(Kombo::PostHrisAbsencesPositiveResponse) + end + end + + describe 'test attribute "status"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + # validator = Petstore::EnumTest::EnumAttributeValidator.new('String', ["success"]) + # validator.allowable_values.each do |value| + # expect { instance.status = value }.not_to raise_error + # end + end + end + + describe 'test attribute "data"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "warnings"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/post_hris_absences_request_body_remote_fields_adpworkforcenow_spec.rb b/spec/models/post_hris_absences_request_body_remote_fields_adpworkforcenow_spec.rb new file mode 100644 index 0000000..d33299e --- /dev/null +++ b/spec/models/post_hris_absences_request_body_remote_fields_adpworkforcenow_spec.rb @@ -0,0 +1,42 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.13.0 + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Kombo::PostHrisAbsencesRequestBodyRemoteFieldsAdpworkforcenow +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Kombo::PostHrisAbsencesRequestBodyRemoteFieldsAdpworkforcenow do + let(:instance) { Kombo::PostHrisAbsencesRequestBodyRemoteFieldsAdpworkforcenow.new } + + describe 'test an instance of PostHrisAbsencesRequestBodyRemoteFieldsAdpworkforcenow' do + it 'should create an instance of PostHrisAbsencesRequestBodyRemoteFieldsAdpworkforcenow' do + # uncomment below to test the instance creation + #expect(instance).to be_instance_of(Kombo::PostHrisAbsencesRequestBodyRemoteFieldsAdpworkforcenow) + end + end + + describe 'test attribute "employment_id"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "paid_leave"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/post_hris_absences_request_body_remote_fields_spec.rb b/spec/models/post_hris_absences_request_body_remote_fields_spec.rb new file mode 100644 index 0000000..47323c3 --- /dev/null +++ b/spec/models/post_hris_absences_request_body_remote_fields_spec.rb @@ -0,0 +1,36 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.13.0 + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Kombo::PostHrisAbsencesRequestBodyRemoteFields +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Kombo::PostHrisAbsencesRequestBodyRemoteFields do + let(:instance) { Kombo::PostHrisAbsencesRequestBodyRemoteFields.new } + + describe 'test an instance of PostHrisAbsencesRequestBodyRemoteFields' do + it 'should create an instance of PostHrisAbsencesRequestBodyRemoteFields' do + # uncomment below to test the instance creation + #expect(instance).to be_instance_of(Kombo::PostHrisAbsencesRequestBodyRemoteFields) + end + end + + describe 'test attribute "adpworkforcenow"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/post_hris_absences_request_body_spec.rb b/spec/models/post_hris_absences_request_body_spec.rb new file mode 100644 index 0000000..7e27663 --- /dev/null +++ b/spec/models/post_hris_absences_request_body_spec.rb @@ -0,0 +1,116 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.13.0 + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Kombo::PostHrisAbsencesRequestBody +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Kombo::PostHrisAbsencesRequestBody do + let(:instance) { Kombo::PostHrisAbsencesRequestBody.new } + + describe 'test an instance of PostHrisAbsencesRequestBody' do + it 'should create an instance of PostHrisAbsencesRequestBody' do + # uncomment below to test the instance creation + #expect(instance).to be_instance_of(Kombo::PostHrisAbsencesRequestBody) + end + end + + describe 'test attribute "employee_id"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "absence_type_id"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "status"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + # validator = Petstore::EnumTest::EnumAttributeValidator.new('String', ["REQUESTED", "APPROVED"]) + # validator.allowable_values.each do |value| + # expect { instance.status = value }.not_to raise_error + # end + end + end + + describe 'test attribute "start_date"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "end_date"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "start_half_day"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "end_half_day"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "amount"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "unit"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + # validator = Petstore::EnumTest::EnumAttributeValidator.new('String', ["HOURS", "DAYS"]) + # validator.allowable_values.each do |value| + # expect { instance.unit = value }.not_to raise_error + # end + end + end + + describe 'test attribute "employee_note"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "start_time"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "end_time"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "remote_fields"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/post_hris_employee_skill_assignments_positive_response_spec.rb b/spec/models/post_hris_employee_skill_assignments_positive_response_spec.rb new file mode 100644 index 0000000..a0735fa --- /dev/null +++ b/spec/models/post_hris_employee_skill_assignments_positive_response_spec.rb @@ -0,0 +1,46 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.13.0 + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Kombo::PostHrisEmployeeSkillAssignmentsPositiveResponse +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Kombo::PostHrisEmployeeSkillAssignmentsPositiveResponse do + let(:instance) { Kombo::PostHrisEmployeeSkillAssignmentsPositiveResponse.new } + + describe 'test an instance of PostHrisEmployeeSkillAssignmentsPositiveResponse' do + it 'should create an instance of PostHrisEmployeeSkillAssignmentsPositiveResponse' do + # uncomment below to test the instance creation + #expect(instance).to be_instance_of(Kombo::PostHrisEmployeeSkillAssignmentsPositiveResponse) + end + end + + describe 'test attribute "status"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + # validator = Petstore::EnumTest::EnumAttributeValidator.new('String', ["success"]) + # validator.allowable_values.each do |value| + # expect { instance.status = value }.not_to raise_error + # end + end + end + + describe 'test attribute "data"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/post_hris_employee_skill_assignments_request_body_spec.rb b/spec/models/post_hris_employee_skill_assignments_request_body_spec.rb new file mode 100644 index 0000000..a226ec5 --- /dev/null +++ b/spec/models/post_hris_employee_skill_assignments_request_body_spec.rb @@ -0,0 +1,48 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.13.0 + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Kombo::PostHrisEmployeeSkillAssignmentsRequestBody +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Kombo::PostHrisEmployeeSkillAssignmentsRequestBody do + let(:instance) { Kombo::PostHrisEmployeeSkillAssignmentsRequestBody.new } + + describe 'test an instance of PostHrisEmployeeSkillAssignmentsRequestBody' do + it 'should create an instance of PostHrisEmployeeSkillAssignmentsRequestBody' do + # uncomment below to test the instance creation + #expect(instance).to be_instance_of(Kombo::PostHrisEmployeeSkillAssignmentsRequestBody) + end + end + + describe 'test attribute "employee_id"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "skill_id"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "current_level"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/post_hris_employees_employee_id_documents_positive_response_spec.rb b/spec/models/post_hris_employees_employee_id_documents_positive_response_spec.rb new file mode 100644 index 0000000..56259e7 --- /dev/null +++ b/spec/models/post_hris_employees_employee_id_documents_positive_response_spec.rb @@ -0,0 +1,52 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.13.0 + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Kombo::PostHrisEmployeesEmployeeIdDocumentsPositiveResponse +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Kombo::PostHrisEmployeesEmployeeIdDocumentsPositiveResponse do + let(:instance) { Kombo::PostHrisEmployeesEmployeeIdDocumentsPositiveResponse.new } + + describe 'test an instance of PostHrisEmployeesEmployeeIdDocumentsPositiveResponse' do + it 'should create an instance of PostHrisEmployeesEmployeeIdDocumentsPositiveResponse' do + # uncomment below to test the instance creation + #expect(instance).to be_instance_of(Kombo::PostHrisEmployeesEmployeeIdDocumentsPositiveResponse) + end + end + + describe 'test attribute "status"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + # validator = Petstore::EnumTest::EnumAttributeValidator.new('String', ["success"]) + # validator.allowable_values.each do |value| + # expect { instance.status = value }.not_to raise_error + # end + end + end + + describe 'test attribute "data"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "warnings"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/post_hris_employees_employee_id_documents_request_body_spec.rb b/spec/models/post_hris_employees_employee_id_documents_request_body_spec.rb new file mode 100644 index 0000000..497b99c --- /dev/null +++ b/spec/models/post_hris_employees_employee_id_documents_request_body_spec.rb @@ -0,0 +1,42 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.13.0 + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Kombo::PostHrisEmployeesEmployeeIdDocumentsRequestBody +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Kombo::PostHrisEmployeesEmployeeIdDocumentsRequestBody do + let(:instance) { Kombo::PostHrisEmployeesEmployeeIdDocumentsRequestBody.new } + + describe 'test an instance of PostHrisEmployeesEmployeeIdDocumentsRequestBody' do + it 'should create an instance of PostHrisEmployeesEmployeeIdDocumentsRequestBody' do + # uncomment below to test the instance creation + #expect(instance).to be_instance_of(Kombo::PostHrisEmployeesEmployeeIdDocumentsRequestBody) + end + end + + describe 'test attribute "category_id"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "document"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/post_hris_employees_form_positive_response_data_spec.rb b/spec/models/post_hris_employees_form_positive_response_data_spec.rb new file mode 100644 index 0000000..a708784 --- /dev/null +++ b/spec/models/post_hris_employees_form_positive_response_data_spec.rb @@ -0,0 +1,36 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.13.0 + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Kombo::PostHrisEmployeesFormPositiveResponseData +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Kombo::PostHrisEmployeesFormPositiveResponseData do + let(:instance) { Kombo::PostHrisEmployeesFormPositiveResponseData.new } + + describe 'test an instance of PostHrisEmployeesFormPositiveResponseData' do + it 'should create an instance of PostHrisEmployeesFormPositiveResponseData' do + # uncomment below to test the instance creation + #expect(instance).to be_instance_of(Kombo::PostHrisEmployeesFormPositiveResponseData) + end + end + + describe 'test attribute "id"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/post_hris_employees_form_positive_response_spec.rb b/spec/models/post_hris_employees_form_positive_response_spec.rb new file mode 100644 index 0000000..4127ebf --- /dev/null +++ b/spec/models/post_hris_employees_form_positive_response_spec.rb @@ -0,0 +1,52 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.13.0 + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Kombo::PostHrisEmployeesFormPositiveResponse +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Kombo::PostHrisEmployeesFormPositiveResponse do + let(:instance) { Kombo::PostHrisEmployeesFormPositiveResponse.new } + + describe 'test an instance of PostHrisEmployeesFormPositiveResponse' do + it 'should create an instance of PostHrisEmployeesFormPositiveResponse' do + # uncomment below to test the instance creation + #expect(instance).to be_instance_of(Kombo::PostHrisEmployeesFormPositiveResponse) + end + end + + describe 'test attribute "status"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + # validator = Petstore::EnumTest::EnumAttributeValidator.new('String', ["success"]) + # validator.allowable_values.each do |value| + # expect { instance.status = value }.not_to raise_error + # end + end + end + + describe 'test attribute "data"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "warnings"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/post_hris_employees_form_request_body_spec.rb b/spec/models/post_hris_employees_form_request_body_spec.rb new file mode 100644 index 0000000..3010366 --- /dev/null +++ b/spec/models/post_hris_employees_form_request_body_spec.rb @@ -0,0 +1,36 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.13.0 + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Kombo::PostHrisEmployeesFormRequestBody +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Kombo::PostHrisEmployeesFormRequestBody do + let(:instance) { Kombo::PostHrisEmployeesFormRequestBody.new } + + describe 'test an instance of PostHrisEmployeesFormRequestBody' do + it 'should create an instance of PostHrisEmployeesFormRequestBody' do + # uncomment below to test the instance creation + #expect(instance).to be_instance_of(Kombo::PostHrisEmployeesFormRequestBody) + end + end + + describe 'test attribute "properties"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/post_hris_employees_positive_response_data_spec.rb b/spec/models/post_hris_employees_positive_response_data_spec.rb new file mode 100644 index 0000000..76cf710 --- /dev/null +++ b/spec/models/post_hris_employees_positive_response_data_spec.rb @@ -0,0 +1,234 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.13.0 + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Kombo::PostHrisEmployeesPositiveResponseData +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Kombo::PostHrisEmployeesPositiveResponseData do + let(:instance) { Kombo::PostHrisEmployeesPositiveResponseData.new } + + describe 'test an instance of PostHrisEmployeesPositiveResponseData' do + it 'should create an instance of PostHrisEmployeesPositiveResponseData' do + # uncomment below to test the instance creation + #expect(instance).to be_instance_of(Kombo::PostHrisEmployeesPositiveResponseData) + end + end + + describe 'test attribute "id"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "remote_id"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "employee_number"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "first_name"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "last_name"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "nationality"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "display_full_name"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "job_title"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "work_email"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "personal_email"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "mobile_phone_number"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "ssn"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "tax_id"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "gender"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "ethnicity"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "marital_status"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "employment_status"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "employment_type"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "weekly_hours"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "avatar"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "work_location_id"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "legal_entity_id"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "manager_id"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "home_address"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "bank_accounts"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "date_of_birth"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "start_date"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "termination_date"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "remote_created_at"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "changed_at"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "remote_deleted_at"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "custom_fields"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "integration_fields"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "remote_data"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/post_hris_employees_positive_response_spec.rb b/spec/models/post_hris_employees_positive_response_spec.rb new file mode 100644 index 0000000..968c911 --- /dev/null +++ b/spec/models/post_hris_employees_positive_response_spec.rb @@ -0,0 +1,52 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.13.0 + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Kombo::PostHrisEmployeesPositiveResponse +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Kombo::PostHrisEmployeesPositiveResponse do + let(:instance) { Kombo::PostHrisEmployeesPositiveResponse.new } + + describe 'test an instance of PostHrisEmployeesPositiveResponse' do + it 'should create an instance of PostHrisEmployeesPositiveResponse' do + # uncomment below to test the instance creation + #expect(instance).to be_instance_of(Kombo::PostHrisEmployeesPositiveResponse) + end + end + + describe 'test attribute "status"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + # validator = Petstore::EnumTest::EnumAttributeValidator.new('String', ["success"]) + # validator.allowable_values.each do |value| + # expect { instance.status = value }.not_to raise_error + # end + end + end + + describe 'test attribute "data"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "warnings"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/post_hris_employees_request_body_home_address_spec.rb b/spec/models/post_hris_employees_request_body_home_address_spec.rb new file mode 100644 index 0000000..2fdb768 --- /dev/null +++ b/spec/models/post_hris_employees_request_body_home_address_spec.rb @@ -0,0 +1,66 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.13.0 + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Kombo::PostHrisEmployeesRequestBodyHomeAddress +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Kombo::PostHrisEmployeesRequestBodyHomeAddress do + let(:instance) { Kombo::PostHrisEmployeesRequestBodyHomeAddress.new } + + describe 'test an instance of PostHrisEmployeesRequestBodyHomeAddress' do + it 'should create an instance of PostHrisEmployeesRequestBodyHomeAddress' do + # uncomment below to test the instance creation + #expect(instance).to be_instance_of(Kombo::PostHrisEmployeesRequestBodyHomeAddress) + end + end + + describe 'test attribute "street_1"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "street_2"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "city"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "state"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "zip_code"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "country"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/post_hris_employees_request_body_remote_fields_adpworkforcenow_spec.rb b/spec/models/post_hris_employees_request_body_remote_fields_adpworkforcenow_spec.rb new file mode 100644 index 0000000..bec902b --- /dev/null +++ b/spec/models/post_hris_employees_request_body_remote_fields_adpworkforcenow_spec.rb @@ -0,0 +1,60 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.13.0 + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Kombo::PostHrisEmployeesRequestBodyRemoteFieldsAdpworkforcenow +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Kombo::PostHrisEmployeesRequestBodyRemoteFieldsAdpworkforcenow do + let(:instance) { Kombo::PostHrisEmployeesRequestBodyRemoteFieldsAdpworkforcenow.new } + + describe 'test an instance of PostHrisEmployeesRequestBodyRemoteFieldsAdpworkforcenow' do + it 'should create an instance of PostHrisEmployeesRequestBodyRemoteFieldsAdpworkforcenow' do + # uncomment below to test the instance creation + #expect(instance).to be_instance_of(Kombo::PostHrisEmployeesRequestBodyRemoteFieldsAdpworkforcenow) + end + end + + describe 'test attribute "onboarding_template_code"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "applicant_payroll_profile_group_code"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "manager_position_id"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "home_organization_unit_code"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "personal_email"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/post_hris_employees_request_body_remote_fields_azuread_spec.rb b/spec/models/post_hris_employees_request_body_remote_fields_azuread_spec.rb new file mode 100644 index 0000000..ba13a4e --- /dev/null +++ b/spec/models/post_hris_employees_request_body_remote_fields_azuread_spec.rb @@ -0,0 +1,36 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.13.0 + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Kombo::PostHrisEmployeesRequestBodyRemoteFieldsAzuread +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Kombo::PostHrisEmployeesRequestBodyRemoteFieldsAzuread do + let(:instance) { Kombo::PostHrisEmployeesRequestBodyRemoteFieldsAzuread.new } + + describe 'test an instance of PostHrisEmployeesRequestBodyRemoteFieldsAzuread' do + it 'should create an instance of PostHrisEmployeesRequestBodyRemoteFieldsAzuread' do + # uncomment below to test the instance creation + #expect(instance).to be_instance_of(Kombo::PostHrisEmployeesRequestBodyRemoteFieldsAzuread) + end + end + + describe 'test attribute "password"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/post_hris_employees_request_body_remote_fields_bamboohr_spec.rb b/spec/models/post_hris_employees_request_body_remote_fields_bamboohr_spec.rb new file mode 100644 index 0000000..ac93cf2 --- /dev/null +++ b/spec/models/post_hris_employees_request_body_remote_fields_bamboohr_spec.rb @@ -0,0 +1,36 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.13.0 + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Kombo::PostHrisEmployeesRequestBodyRemoteFieldsBamboohr +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Kombo::PostHrisEmployeesRequestBodyRemoteFieldsBamboohr do + let(:instance) { Kombo::PostHrisEmployeesRequestBodyRemoteFieldsBamboohr.new } + + describe 'test an instance of PostHrisEmployeesRequestBodyRemoteFieldsBamboohr' do + it 'should create an instance of PostHrisEmployeesRequestBodyRemoteFieldsBamboohr' do + # uncomment below to test the instance creation + #expect(instance).to be_instance_of(Kombo::PostHrisEmployeesRequestBodyRemoteFieldsBamboohr) + end + end + + describe 'test attribute "employee"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/post_hris_employees_request_body_remote_fields_dayforce_spec.rb b/spec/models/post_hris_employees_request_body_remote_fields_dayforce_spec.rb new file mode 100644 index 0000000..5aba2fe --- /dev/null +++ b/spec/models/post_hris_employees_request_body_remote_fields_dayforce_spec.rb @@ -0,0 +1,90 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.13.0 + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Kombo::PostHrisEmployeesRequestBodyRemoteFieldsDayforce +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Kombo::PostHrisEmployeesRequestBodyRemoteFieldsDayforce do + let(:instance) { Kombo::PostHrisEmployeesRequestBodyRemoteFieldsDayforce.new } + + describe 'test an instance of PostHrisEmployeesRequestBodyRemoteFieldsDayforce' do + it 'should create an instance of PostHrisEmployeesRequestBodyRemoteFieldsDayforce' do + # uncomment below to test the instance creation + #expect(instance).to be_instance_of(Kombo::PostHrisEmployeesRequestBodyRemoteFieldsDayforce) + end + end + + describe 'test attribute "social_security_number"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "pay_type"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "pay_class"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "pay_group"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "base_rate"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "role"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "location"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "department"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "job"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "country"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/post_hris_employees_request_body_remote_fields_deel_spec.rb b/spec/models/post_hris_employees_request_body_remote_fields_deel_spec.rb new file mode 100644 index 0000000..2c70cde --- /dev/null +++ b/spec/models/post_hris_employees_request_body_remote_fields_deel_spec.rb @@ -0,0 +1,42 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.13.0 + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Kombo::PostHrisEmployeesRequestBodyRemoteFieldsDeel +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Kombo::PostHrisEmployeesRequestBodyRemoteFieldsDeel do + let(:instance) { Kombo::PostHrisEmployeesRequestBodyRemoteFieldsDeel.new } + + describe 'test an instance of PostHrisEmployeesRequestBodyRemoteFieldsDeel' do + it 'should create an instance of PostHrisEmployeesRequestBodyRemoteFieldsDeel' do + # uncomment below to test the instance creation + #expect(instance).to be_instance_of(Kombo::PostHrisEmployeesRequestBodyRemoteFieldsDeel) + end + end + + describe 'test attribute "candidate_id"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "candidate_link"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/post_hris_employees_request_body_remote_fields_hibob_spec.rb b/spec/models/post_hris_employees_request_body_remote_fields_hibob_spec.rb new file mode 100644 index 0000000..e723b42 --- /dev/null +++ b/spec/models/post_hris_employees_request_body_remote_fields_hibob_spec.rb @@ -0,0 +1,36 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.13.0 + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Kombo::PostHrisEmployeesRequestBodyRemoteFieldsHibob +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Kombo::PostHrisEmployeesRequestBodyRemoteFieldsHibob do + let(:instance) { Kombo::PostHrisEmployeesRequestBodyRemoteFieldsHibob.new } + + describe 'test an instance of PostHrisEmployeesRequestBodyRemoteFieldsHibob' do + it 'should create an instance of PostHrisEmployeesRequestBodyRemoteFieldsHibob' do + # uncomment below to test the instance creation + #expect(instance).to be_instance_of(Kombo::PostHrisEmployeesRequestBodyRemoteFieldsHibob) + end + end + + describe 'test attribute "employee"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/post_hris_employees_request_body_remote_fields_humaans_spec.rb b/spec/models/post_hris_employees_request_body_remote_fields_humaans_spec.rb new file mode 100644 index 0000000..5df8356 --- /dev/null +++ b/spec/models/post_hris_employees_request_body_remote_fields_humaans_spec.rb @@ -0,0 +1,36 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.13.0 + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Kombo::PostHrisEmployeesRequestBodyRemoteFieldsHumaans +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Kombo::PostHrisEmployeesRequestBodyRemoteFieldsHumaans do + let(:instance) { Kombo::PostHrisEmployeesRequestBodyRemoteFieldsHumaans.new } + + describe 'test an instance of PostHrisEmployeesRequestBodyRemoteFieldsHumaans' do + it 'should create an instance of PostHrisEmployeesRequestBodyRemoteFieldsHumaans' do + # uncomment below to test the instance creation + #expect(instance).to be_instance_of(Kombo::PostHrisEmployeesRequestBodyRemoteFieldsHumaans) + end + end + + describe 'test attribute "employee"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/post_hris_employees_request_body_remote_fields_oracle_spec.rb b/spec/models/post_hris_employees_request_body_remote_fields_oracle_spec.rb new file mode 100644 index 0000000..5108f69 --- /dev/null +++ b/spec/models/post_hris_employees_request_body_remote_fields_oracle_spec.rb @@ -0,0 +1,42 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.13.0 + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Kombo::PostHrisEmployeesRequestBodyRemoteFieldsOracle +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Kombo::PostHrisEmployeesRequestBodyRemoteFieldsOracle do + let(:instance) { Kombo::PostHrisEmployeesRequestBodyRemoteFieldsOracle.new } + + describe 'test an instance of PostHrisEmployeesRequestBodyRemoteFieldsOracle' do + it 'should create an instance of PostHrisEmployeesRequestBodyRemoteFieldsOracle' do + # uncomment below to test the instance creation + #expect(instance).to be_instance_of(Kombo::PostHrisEmployeesRequestBodyRemoteFieldsOracle) + end + end + + describe 'test attribute "group_id"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "department_id"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/post_hris_employees_request_body_remote_fields_paycor_spec.rb b/spec/models/post_hris_employees_request_body_remote_fields_paycor_spec.rb new file mode 100644 index 0000000..2ea5887 --- /dev/null +++ b/spec/models/post_hris_employees_request_body_remote_fields_paycor_spec.rb @@ -0,0 +1,42 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.13.0 + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Kombo::PostHrisEmployeesRequestBodyRemoteFieldsPaycor +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Kombo::PostHrisEmployeesRequestBodyRemoteFieldsPaycor do + let(:instance) { Kombo::PostHrisEmployeesRequestBodyRemoteFieldsPaycor.new } + + describe 'test an instance of PostHrisEmployeesRequestBodyRemoteFieldsPaycor' do + it 'should create an instance of PostHrisEmployeesRequestBodyRemoteFieldsPaycor' do + # uncomment below to test the instance creation + #expect(instance).to be_instance_of(Kombo::PostHrisEmployeesRequestBodyRemoteFieldsPaycor) + end + end + + describe 'test attribute "paygroup_remote_id"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "department_remote_id"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/post_hris_employees_request_body_remote_fields_peoplehr_spec.rb b/spec/models/post_hris_employees_request_body_remote_fields_peoplehr_spec.rb new file mode 100644 index 0000000..700f09f --- /dev/null +++ b/spec/models/post_hris_employees_request_body_remote_fields_peoplehr_spec.rb @@ -0,0 +1,42 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.13.0 + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Kombo::PostHrisEmployeesRequestBodyRemoteFieldsPeoplehr +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Kombo::PostHrisEmployeesRequestBodyRemoteFieldsPeoplehr do + let(:instance) { Kombo::PostHrisEmployeesRequestBodyRemoteFieldsPeoplehr.new } + + describe 'test an instance of PostHrisEmployeesRequestBodyRemoteFieldsPeoplehr' do + it 'should create an instance of PostHrisEmployeesRequestBodyRemoteFieldsPeoplehr' do + # uncomment below to test the instance creation + #expect(instance).to be_instance_of(Kombo::PostHrisEmployeesRequestBodyRemoteFieldsPeoplehr) + end + end + + describe 'test attribute "job_role_effective_date"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "department"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/post_hris_employees_request_body_remote_fields_planday_spec.rb b/spec/models/post_hris_employees_request_body_remote_fields_planday_spec.rb new file mode 100644 index 0000000..b617f72 --- /dev/null +++ b/spec/models/post_hris_employees_request_body_remote_fields_planday_spec.rb @@ -0,0 +1,36 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.13.0 + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Kombo::PostHrisEmployeesRequestBodyRemoteFieldsPlanday +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Kombo::PostHrisEmployeesRequestBodyRemoteFieldsPlanday do + let(:instance) { Kombo::PostHrisEmployeesRequestBodyRemoteFieldsPlanday.new } + + describe 'test an instance of PostHrisEmployeesRequestBodyRemoteFieldsPlanday' do + it 'should create an instance of PostHrisEmployeesRequestBodyRemoteFieldsPlanday' do + # uncomment below to test the instance creation + #expect(instance).to be_instance_of(Kombo::PostHrisEmployeesRequestBodyRemoteFieldsPlanday) + end + end + + describe 'test attribute "department_remote_id"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/post_hris_employees_request_body_remote_fields_silae_spec.rb b/spec/models/post_hris_employees_request_body_remote_fields_silae_spec.rb new file mode 100644 index 0000000..a30392d --- /dev/null +++ b/spec/models/post_hris_employees_request_body_remote_fields_silae_spec.rb @@ -0,0 +1,48 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.13.0 + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Kombo::PostHrisEmployeesRequestBodyRemoteFieldsSilae +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Kombo::PostHrisEmployeesRequestBodyRemoteFieldsSilae do + let(:instance) { Kombo::PostHrisEmployeesRequestBodyRemoteFieldsSilae.new } + + describe 'test an instance of PostHrisEmployeesRequestBodyRemoteFieldsSilae' do + it 'should create an instance of PostHrisEmployeesRequestBodyRemoteFieldsSilae' do + # uncomment below to test the instance creation + #expect(instance).to be_instance_of(Kombo::PostHrisEmployeesRequestBodyRemoteFieldsSilae) + end + end + + describe 'test attribute "siret"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "employee"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "employment"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/post_hris_employees_request_body_remote_fields_spec.rb b/spec/models/post_hris_employees_request_body_remote_fields_spec.rb new file mode 100644 index 0000000..dcc6d30 --- /dev/null +++ b/spec/models/post_hris_employees_request_body_remote_fields_spec.rb @@ -0,0 +1,120 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.13.0 + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Kombo::PostHrisEmployeesRequestBodyRemoteFields +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Kombo::PostHrisEmployeesRequestBodyRemoteFields do + let(:instance) { Kombo::PostHrisEmployeesRequestBodyRemoteFields.new } + + describe 'test an instance of PostHrisEmployeesRequestBodyRemoteFields' do + it 'should create an instance of PostHrisEmployeesRequestBodyRemoteFields' do + # uncomment below to test the instance creation + #expect(instance).to be_instance_of(Kombo::PostHrisEmployeesRequestBodyRemoteFields) + end + end + + describe 'test attribute "humaans"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "hibob"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "sympa"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "silae"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "peoplehr"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "zohopeople"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "workday"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "deel"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "bamboohr"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "oracle"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "adpworkforcenow"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "azuread"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "paycor"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "planday"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "dayforce"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/post_hris_employees_request_body_remote_fields_sympa_spec.rb b/spec/models/post_hris_employees_request_body_remote_fields_sympa_spec.rb new file mode 100644 index 0000000..d48cefa --- /dev/null +++ b/spec/models/post_hris_employees_request_body_remote_fields_sympa_spec.rb @@ -0,0 +1,36 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.13.0 + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Kombo::PostHrisEmployeesRequestBodyRemoteFieldsSympa +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Kombo::PostHrisEmployeesRequestBodyRemoteFieldsSympa do + let(:instance) { Kombo::PostHrisEmployeesRequestBodyRemoteFieldsSympa.new } + + describe 'test an instance of PostHrisEmployeesRequestBodyRemoteFieldsSympa' do + it 'should create an instance of PostHrisEmployeesRequestBodyRemoteFieldsSympa' do + # uncomment below to test the instance creation + #expect(instance).to be_instance_of(Kombo::PostHrisEmployeesRequestBodyRemoteFieldsSympa) + end + end + + describe 'test attribute "generic_new_hire"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/post_hris_employees_request_body_remote_fields_workday_bank_account_spec.rb b/spec/models/post_hris_employees_request_body_remote_fields_workday_bank_account_spec.rb new file mode 100644 index 0000000..f7c4529 --- /dev/null +++ b/spec/models/post_hris_employees_request_body_remote_fields_workday_bank_account_spec.rb @@ -0,0 +1,48 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.13.0 + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Kombo::PostHrisEmployeesRequestBodyRemoteFieldsWorkdayBankAccount +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Kombo::PostHrisEmployeesRequestBodyRemoteFieldsWorkdayBankAccount do + let(:instance) { Kombo::PostHrisEmployeesRequestBodyRemoteFieldsWorkdayBankAccount.new } + + describe 'test an instance of PostHrisEmployeesRequestBodyRemoteFieldsWorkdayBankAccount' do + it 'should create an instance of PostHrisEmployeesRequestBodyRemoteFieldsWorkdayBankAccount' do + # uncomment below to test the instance creation + #expect(instance).to be_instance_of(Kombo::PostHrisEmployeesRequestBodyRemoteFieldsWorkdayBankAccount) + end + end + + describe 'test attribute "iban"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "bic"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "bank_name"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/post_hris_employees_request_body_remote_fields_workday_spec.rb b/spec/models/post_hris_employees_request_body_remote_fields_workday_spec.rb new file mode 100644 index 0000000..2fc1036 --- /dev/null +++ b/spec/models/post_hris_employees_request_body_remote_fields_workday_spec.rb @@ -0,0 +1,54 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.13.0 + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Kombo::PostHrisEmployeesRequestBodyRemoteFieldsWorkday +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Kombo::PostHrisEmployeesRequestBodyRemoteFieldsWorkday do + let(:instance) { Kombo::PostHrisEmployeesRequestBodyRemoteFieldsWorkday.new } + + describe 'test an instance of PostHrisEmployeesRequestBodyRemoteFieldsWorkday' do + it 'should create an instance of PostHrisEmployeesRequestBodyRemoteFieldsWorkday' do + # uncomment below to test the instance creation + #expect(instance).to be_instance_of(Kombo::PostHrisEmployeesRequestBodyRemoteFieldsWorkday) + end + end + + describe 'test attribute "job_requisition_id"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "position_id"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "ssn"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "bank_account"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/post_hris_employees_request_body_remote_fields_zohopeople_spec.rb b/spec/models/post_hris_employees_request_body_remote_fields_zohopeople_spec.rb new file mode 100644 index 0000000..5ce8075 --- /dev/null +++ b/spec/models/post_hris_employees_request_body_remote_fields_zohopeople_spec.rb @@ -0,0 +1,36 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.13.0 + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Kombo::PostHrisEmployeesRequestBodyRemoteFieldsZohopeople +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Kombo::PostHrisEmployeesRequestBodyRemoteFieldsZohopeople do + let(:instance) { Kombo::PostHrisEmployeesRequestBodyRemoteFieldsZohopeople.new } + + describe 'test an instance of PostHrisEmployeesRequestBodyRemoteFieldsZohopeople' do + it 'should create an instance of PostHrisEmployeesRequestBodyRemoteFieldsZohopeople' do + # uncomment below to test the instance creation + #expect(instance).to be_instance_of(Kombo::PostHrisEmployeesRequestBodyRemoteFieldsZohopeople) + end + end + + describe 'test attribute "employee_id"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/post_hris_employees_request_body_spec.rb b/spec/models/post_hris_employees_request_body_spec.rb new file mode 100644 index 0000000..32eb6d8 --- /dev/null +++ b/spec/models/post_hris_employees_request_body_spec.rb @@ -0,0 +1,118 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.13.0 + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Kombo::PostHrisEmployeesRequestBody +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Kombo::PostHrisEmployeesRequestBody do + let(:instance) { Kombo::PostHrisEmployeesRequestBody.new } + + describe 'test an instance of PostHrisEmployeesRequestBody' do + it 'should create an instance of PostHrisEmployeesRequestBody' do + # uncomment below to test the instance creation + #expect(instance).to be_instance_of(Kombo::PostHrisEmployeesRequestBody) + end + end + + describe 'test attribute "first_name"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "last_name"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "work_email"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "gender"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + # validator = Petstore::EnumTest::EnumAttributeValidator.new('String', ["MALE", "FEMALE", "NON_BINARY", "NOT_SPECIFIED"]) + # validator.allowable_values.each do |value| + # expect { instance.gender = value }.not_to raise_error + # end + end + end + + describe 'test attribute "job_title"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "home_address"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "date_of_birth"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "mobile_phone_number"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "home_phone_number"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "nationality"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "start_date"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "legal_entity_id"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "location_id"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "remote_fields"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/post_hris_provisioning_groups_group_id_diff_positive_response_data_spec.rb b/spec/models/post_hris_provisioning_groups_group_id_diff_positive_response_data_spec.rb new file mode 100644 index 0000000..691adaa --- /dev/null +++ b/spec/models/post_hris_provisioning_groups_group_id_diff_positive_response_data_spec.rb @@ -0,0 +1,36 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.13.0 + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Kombo::PostHrisProvisioningGroupsGroupIdDiffPositiveResponseData +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Kombo::PostHrisProvisioningGroupsGroupIdDiffPositiveResponseData do + let(:instance) { Kombo::PostHrisProvisioningGroupsGroupIdDiffPositiveResponseData.new } + + describe 'test an instance of PostHrisProvisioningGroupsGroupIdDiffPositiveResponseData' do + it 'should create an instance of PostHrisProvisioningGroupsGroupIdDiffPositiveResponseData' do + # uncomment below to test the instance creation + #expect(instance).to be_instance_of(Kombo::PostHrisProvisioningGroupsGroupIdDiffPositiveResponseData) + end + end + + describe 'test attribute "users"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/post_hris_provisioning_groups_group_id_diff_positive_response_data_users_already_provisioned_inner_spec.rb b/spec/models/post_hris_provisioning_groups_group_id_diff_positive_response_data_users_already_provisioned_inner_spec.rb new file mode 100644 index 0000000..42585db --- /dev/null +++ b/spec/models/post_hris_provisioning_groups_group_id_diff_positive_response_data_users_already_provisioned_inner_spec.rb @@ -0,0 +1,48 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.13.0 + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Kombo::PostHrisProvisioningGroupsGroupIdDiffPositiveResponseDataUsersAlreadyProvisionedInner +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Kombo::PostHrisProvisioningGroupsGroupIdDiffPositiveResponseDataUsersAlreadyProvisionedInner do + let(:instance) { Kombo::PostHrisProvisioningGroupsGroupIdDiffPositiveResponseDataUsersAlreadyProvisionedInner.new } + + describe 'test an instance of PostHrisProvisioningGroupsGroupIdDiffPositiveResponseDataUsersAlreadyProvisionedInner' do + it 'should create an instance of PostHrisProvisioningGroupsGroupIdDiffPositiveResponseDataUsersAlreadyProvisionedInner' do + # uncomment below to test the instance creation + #expect(instance).to be_instance_of(Kombo::PostHrisProvisioningGroupsGroupIdDiffPositiveResponseDataUsersAlreadyProvisionedInner) + end + end + + describe 'test attribute "origin_id"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "email"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "employee"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/post_hris_provisioning_groups_group_id_diff_positive_response_data_users_spec.rb b/spec/models/post_hris_provisioning_groups_group_id_diff_positive_response_data_users_spec.rb new file mode 100644 index 0000000..08d7402 --- /dev/null +++ b/spec/models/post_hris_provisioning_groups_group_id_diff_positive_response_data_users_spec.rb @@ -0,0 +1,48 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.13.0 + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Kombo::PostHrisProvisioningGroupsGroupIdDiffPositiveResponseDataUsers +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Kombo::PostHrisProvisioningGroupsGroupIdDiffPositiveResponseDataUsers do + let(:instance) { Kombo::PostHrisProvisioningGroupsGroupIdDiffPositiveResponseDataUsers.new } + + describe 'test an instance of PostHrisProvisioningGroupsGroupIdDiffPositiveResponseDataUsers' do + it 'should create an instance of PostHrisProvisioningGroupsGroupIdDiffPositiveResponseDataUsers' do + # uncomment below to test the instance creation + #expect(instance).to be_instance_of(Kombo::PostHrisProvisioningGroupsGroupIdDiffPositiveResponseDataUsers) + end + end + + describe 'test attribute "to_provision"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "to_deprovision"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "already_provisioned"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/post_hris_provisioning_groups_group_id_diff_positive_response_data_users_to_deprovision_inner_spec.rb b/spec/models/post_hris_provisioning_groups_group_id_diff_positive_response_data_users_to_deprovision_inner_spec.rb new file mode 100644 index 0000000..5d30f17 --- /dev/null +++ b/spec/models/post_hris_provisioning_groups_group_id_diff_positive_response_data_users_to_deprovision_inner_spec.rb @@ -0,0 +1,42 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.13.0 + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Kombo::PostHrisProvisioningGroupsGroupIdDiffPositiveResponseDataUsersToDeprovisionInner +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Kombo::PostHrisProvisioningGroupsGroupIdDiffPositiveResponseDataUsersToDeprovisionInner do + let(:instance) { Kombo::PostHrisProvisioningGroupsGroupIdDiffPositiveResponseDataUsersToDeprovisionInner.new } + + describe 'test an instance of PostHrisProvisioningGroupsGroupIdDiffPositiveResponseDataUsersToDeprovisionInner' do + it 'should create an instance of PostHrisProvisioningGroupsGroupIdDiffPositiveResponseDataUsersToDeprovisionInner' do + # uncomment below to test the instance creation + #expect(instance).to be_instance_of(Kombo::PostHrisProvisioningGroupsGroupIdDiffPositiveResponseDataUsersToDeprovisionInner) + end + end + + describe 'test attribute "origin_id"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "email"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/post_hris_provisioning_groups_group_id_diff_positive_response_data_users_to_provision_inner_employee_groups_inner_spec.rb b/spec/models/post_hris_provisioning_groups_group_id_diff_positive_response_data_users_to_provision_inner_employee_groups_inner_spec.rb new file mode 100644 index 0000000..4b3a0d9 --- /dev/null +++ b/spec/models/post_hris_provisioning_groups_group_id_diff_positive_response_data_users_to_provision_inner_employee_groups_inner_spec.rb @@ -0,0 +1,48 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.13.0 + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Kombo::PostHrisProvisioningGroupsGroupIdDiffPositiveResponseDataUsersToProvisionInnerEmployeeGroupsInner +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Kombo::PostHrisProvisioningGroupsGroupIdDiffPositiveResponseDataUsersToProvisionInnerEmployeeGroupsInner do + let(:instance) { Kombo::PostHrisProvisioningGroupsGroupIdDiffPositiveResponseDataUsersToProvisionInnerEmployeeGroupsInner.new } + + describe 'test an instance of PostHrisProvisioningGroupsGroupIdDiffPositiveResponseDataUsersToProvisionInnerEmployeeGroupsInner' do + it 'should create an instance of PostHrisProvisioningGroupsGroupIdDiffPositiveResponseDataUsersToProvisionInnerEmployeeGroupsInner' do + # uncomment below to test the instance creation + #expect(instance).to be_instance_of(Kombo::PostHrisProvisioningGroupsGroupIdDiffPositiveResponseDataUsersToProvisionInnerEmployeeGroupsInner) + end + end + + describe 'test attribute "id"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "remote_id"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "name"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/post_hris_provisioning_groups_group_id_diff_positive_response_data_users_to_provision_inner_employee_spec.rb b/spec/models/post_hris_provisioning_groups_group_id_diff_positive_response_data_users_to_provision_inner_employee_spec.rb new file mode 100644 index 0000000..8681851 --- /dev/null +++ b/spec/models/post_hris_provisioning_groups_group_id_diff_positive_response_data_users_to_provision_inner_employee_spec.rb @@ -0,0 +1,78 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.13.0 + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Kombo::PostHrisProvisioningGroupsGroupIdDiffPositiveResponseDataUsersToProvisionInnerEmployee +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Kombo::PostHrisProvisioningGroupsGroupIdDiffPositiveResponseDataUsersToProvisionInnerEmployee do + let(:instance) { Kombo::PostHrisProvisioningGroupsGroupIdDiffPositiveResponseDataUsersToProvisionInnerEmployee.new } + + describe 'test an instance of PostHrisProvisioningGroupsGroupIdDiffPositiveResponseDataUsersToProvisionInnerEmployee' do + it 'should create an instance of PostHrisProvisioningGroupsGroupIdDiffPositiveResponseDataUsersToProvisionInnerEmployee' do + # uncomment below to test the instance creation + #expect(instance).to be_instance_of(Kombo::PostHrisProvisioningGroupsGroupIdDiffPositiveResponseDataUsersToProvisionInnerEmployee) + end + end + + describe 'test attribute "id"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "remote_id"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "first_name"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "last_name"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "groups"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "avatar"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "work_location_id"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "legal_entity_id"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/post_hris_provisioning_groups_group_id_diff_positive_response_data_users_to_provision_inner_spec.rb b/spec/models/post_hris_provisioning_groups_group_id_diff_positive_response_data_users_to_provision_inner_spec.rb new file mode 100644 index 0000000..0440a2f --- /dev/null +++ b/spec/models/post_hris_provisioning_groups_group_id_diff_positive_response_data_users_to_provision_inner_spec.rb @@ -0,0 +1,42 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.13.0 + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Kombo::PostHrisProvisioningGroupsGroupIdDiffPositiveResponseDataUsersToProvisionInner +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Kombo::PostHrisProvisioningGroupsGroupIdDiffPositiveResponseDataUsersToProvisionInner do + let(:instance) { Kombo::PostHrisProvisioningGroupsGroupIdDiffPositiveResponseDataUsersToProvisionInner.new } + + describe 'test an instance of PostHrisProvisioningGroupsGroupIdDiffPositiveResponseDataUsersToProvisionInner' do + it 'should create an instance of PostHrisProvisioningGroupsGroupIdDiffPositiveResponseDataUsersToProvisionInner' do + # uncomment below to test the instance creation + #expect(instance).to be_instance_of(Kombo::PostHrisProvisioningGroupsGroupIdDiffPositiveResponseDataUsersToProvisionInner) + end + end + + describe 'test attribute "email"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "employee"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/post_hris_provisioning_groups_group_id_diff_positive_response_spec.rb b/spec/models/post_hris_provisioning_groups_group_id_diff_positive_response_spec.rb new file mode 100644 index 0000000..9cdedff --- /dev/null +++ b/spec/models/post_hris_provisioning_groups_group_id_diff_positive_response_spec.rb @@ -0,0 +1,46 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.13.0 + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Kombo::PostHrisProvisioningGroupsGroupIdDiffPositiveResponse +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Kombo::PostHrisProvisioningGroupsGroupIdDiffPositiveResponse do + let(:instance) { Kombo::PostHrisProvisioningGroupsGroupIdDiffPositiveResponse.new } + + describe 'test an instance of PostHrisProvisioningGroupsGroupIdDiffPositiveResponse' do + it 'should create an instance of PostHrisProvisioningGroupsGroupIdDiffPositiveResponse' do + # uncomment below to test the instance creation + #expect(instance).to be_instance_of(Kombo::PostHrisProvisioningGroupsGroupIdDiffPositiveResponse) + end + end + + describe 'test attribute "status"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + # validator = Petstore::EnumTest::EnumAttributeValidator.new('String', ["success"]) + # validator.allowable_values.each do |value| + # expect { instance.status = value }.not_to raise_error + # end + end + end + + describe 'test attribute "data"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/post_hris_provisioning_groups_group_id_diff_request_body_options_spec.rb b/spec/models/post_hris_provisioning_groups_group_id_diff_request_body_options_spec.rb new file mode 100644 index 0000000..b0a0bf6 --- /dev/null +++ b/spec/models/post_hris_provisioning_groups_group_id_diff_request_body_options_spec.rb @@ -0,0 +1,40 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.13.0 + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Kombo::PostHrisProvisioningGroupsGroupIdDiffRequestBodyOptions +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Kombo::PostHrisProvisioningGroupsGroupIdDiffRequestBodyOptions do + let(:instance) { Kombo::PostHrisProvisioningGroupsGroupIdDiffRequestBodyOptions.new } + + describe 'test an instance of PostHrisProvisioningGroupsGroupIdDiffRequestBodyOptions' do + it 'should create an instance of PostHrisProvisioningGroupsGroupIdDiffRequestBodyOptions' do + # uncomment below to test the instance creation + #expect(instance).to be_instance_of(Kombo::PostHrisProvisioningGroupsGroupIdDiffRequestBodyOptions) + end + end + + describe 'test attribute "employee_fields"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + # validator = Petstore::EnumTest::EnumAttributeValidator.new('Array', ["id", "remote_id", "first_name", "last_name", "groups", "avatar", "work_location_id", "legal_entity_id"]) + # validator.allowable_values.each do |value| + # expect { instance.employee_fields = value }.not_to raise_error + # end + end + end + +end diff --git a/spec/models/post_hris_provisioning_groups_group_id_diff_request_body_provisioned_users_inner_spec.rb b/spec/models/post_hris_provisioning_groups_group_id_diff_request_body_provisioned_users_inner_spec.rb new file mode 100644 index 0000000..15c7bda --- /dev/null +++ b/spec/models/post_hris_provisioning_groups_group_id_diff_request_body_provisioned_users_inner_spec.rb @@ -0,0 +1,42 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.13.0 + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Kombo::PostHrisProvisioningGroupsGroupIdDiffRequestBodyProvisionedUsersInner +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Kombo::PostHrisProvisioningGroupsGroupIdDiffRequestBodyProvisionedUsersInner do + let(:instance) { Kombo::PostHrisProvisioningGroupsGroupIdDiffRequestBodyProvisionedUsersInner.new } + + describe 'test an instance of PostHrisProvisioningGroupsGroupIdDiffRequestBodyProvisionedUsersInner' do + it 'should create an instance of PostHrisProvisioningGroupsGroupIdDiffRequestBodyProvisionedUsersInner' do + # uncomment below to test the instance creation + #expect(instance).to be_instance_of(Kombo::PostHrisProvisioningGroupsGroupIdDiffRequestBodyProvisionedUsersInner) + end + end + + describe 'test attribute "origin_id"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "email"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/post_hris_provisioning_groups_group_id_diff_request_body_spec.rb b/spec/models/post_hris_provisioning_groups_group_id_diff_request_body_spec.rb new file mode 100644 index 0000000..1d58f3f --- /dev/null +++ b/spec/models/post_hris_provisioning_groups_group_id_diff_request_body_spec.rb @@ -0,0 +1,42 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.13.0 + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Kombo::PostHrisProvisioningGroupsGroupIdDiffRequestBody +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Kombo::PostHrisProvisioningGroupsGroupIdDiffRequestBody do + let(:instance) { Kombo::PostHrisProvisioningGroupsGroupIdDiffRequestBody.new } + + describe 'test an instance of PostHrisProvisioningGroupsGroupIdDiffRequestBody' do + it 'should create an instance of PostHrisProvisioningGroupsGroupIdDiffRequestBody' do + # uncomment below to test the instance creation + #expect(instance).to be_instance_of(Kombo::PostHrisProvisioningGroupsGroupIdDiffRequestBody) + end + end + + describe 'test attribute "provisioned_users"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "options"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/post_hris_provisioning_groups_group_id_setup_links_positive_response_data_spec.rb b/spec/models/post_hris_provisioning_groups_group_id_setup_links_positive_response_data_spec.rb new file mode 100644 index 0000000..0f2fabb --- /dev/null +++ b/spec/models/post_hris_provisioning_groups_group_id_setup_links_positive_response_data_spec.rb @@ -0,0 +1,42 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.13.0 + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Kombo::PostHrisProvisioningGroupsGroupIdSetupLinksPositiveResponseData +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Kombo::PostHrisProvisioningGroupsGroupIdSetupLinksPositiveResponseData do + let(:instance) { Kombo::PostHrisProvisioningGroupsGroupIdSetupLinksPositiveResponseData.new } + + describe 'test an instance of PostHrisProvisioningGroupsGroupIdSetupLinksPositiveResponseData' do + it 'should create an instance of PostHrisProvisioningGroupsGroupIdSetupLinksPositiveResponseData' do + # uncomment below to test the instance creation + #expect(instance).to be_instance_of(Kombo::PostHrisProvisioningGroupsGroupIdSetupLinksPositiveResponseData) + end + end + + describe 'test attribute "url"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "expires_at"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/post_hris_provisioning_groups_group_id_setup_links_positive_response_spec.rb b/spec/models/post_hris_provisioning_groups_group_id_setup_links_positive_response_spec.rb new file mode 100644 index 0000000..1ef0d71 --- /dev/null +++ b/spec/models/post_hris_provisioning_groups_group_id_setup_links_positive_response_spec.rb @@ -0,0 +1,46 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.13.0 + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Kombo::PostHrisProvisioningGroupsGroupIdSetupLinksPositiveResponse +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Kombo::PostHrisProvisioningGroupsGroupIdSetupLinksPositiveResponse do + let(:instance) { Kombo::PostHrisProvisioningGroupsGroupIdSetupLinksPositiveResponse.new } + + describe 'test an instance of PostHrisProvisioningGroupsGroupIdSetupLinksPositiveResponse' do + it 'should create an instance of PostHrisProvisioningGroupsGroupIdSetupLinksPositiveResponse' do + # uncomment below to test the instance creation + #expect(instance).to be_instance_of(Kombo::PostHrisProvisioningGroupsGroupIdSetupLinksPositiveResponse) + end + end + + describe 'test attribute "status"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + # validator = Petstore::EnumTest::EnumAttributeValidator.new('String', ["success"]) + # validator.allowable_values.each do |value| + # expect { instance.status = value }.not_to raise_error + # end + end + end + + describe 'test attribute "data"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/post_hris_provisioning_groups_group_id_setup_links_request_body_spec.rb b/spec/models/post_hris_provisioning_groups_group_id_setup_links_request_body_spec.rb new file mode 100644 index 0000000..a97bda4 --- /dev/null +++ b/spec/models/post_hris_provisioning_groups_group_id_setup_links_request_body_spec.rb @@ -0,0 +1,40 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.13.0 + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Kombo::PostHrisProvisioningGroupsGroupIdSetupLinksRequestBody +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Kombo::PostHrisProvisioningGroupsGroupIdSetupLinksRequestBody do + let(:instance) { Kombo::PostHrisProvisioningGroupsGroupIdSetupLinksRequestBody.new } + + describe 'test an instance of PostHrisProvisioningGroupsGroupIdSetupLinksRequestBody' do + it 'should create an instance of PostHrisProvisioningGroupsGroupIdSetupLinksRequestBody' do + # uncomment below to test the instance creation + #expect(instance).to be_instance_of(Kombo::PostHrisProvisioningGroupsGroupIdSetupLinksRequestBody) + end + end + + describe 'test attribute "language"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + # validator = Petstore::EnumTest::EnumAttributeValidator.new('String', ["en", "de", "fr", "it", "es"]) + # validator.allowable_values.each do |value| + # expect { instance.language = value }.not_to raise_error + # end + end + end + +end diff --git a/spec/models/post_hris_skills_positive_response_spec.rb b/spec/models/post_hris_skills_positive_response_spec.rb new file mode 100644 index 0000000..cc89f3c --- /dev/null +++ b/spec/models/post_hris_skills_positive_response_spec.rb @@ -0,0 +1,46 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.13.0 + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Kombo::PostHrisSkillsPositiveResponse +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Kombo::PostHrisSkillsPositiveResponse do + let(:instance) { Kombo::PostHrisSkillsPositiveResponse.new } + + describe 'test an instance of PostHrisSkillsPositiveResponse' do + it 'should create an instance of PostHrisSkillsPositiveResponse' do + # uncomment below to test the instance creation + #expect(instance).to be_instance_of(Kombo::PostHrisSkillsPositiveResponse) + end + end + + describe 'test attribute "status"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + # validator = Petstore::EnumTest::EnumAttributeValidator.new('String', ["success"]) + # validator.allowable_values.each do |value| + # expect { instance.status = value }.not_to raise_error + # end + end + end + + describe 'test attribute "data"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/post_hris_skills_request_body_spec.rb b/spec/models/post_hris_skills_request_body_spec.rb new file mode 100644 index 0000000..d22fa17 --- /dev/null +++ b/spec/models/post_hris_skills_request_body_spec.rb @@ -0,0 +1,42 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.13.0 + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Kombo::PostHrisSkillsRequestBody +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Kombo::PostHrisSkillsRequestBody do + let(:instance) { Kombo::PostHrisSkillsRequestBody.new } + + describe 'test an instance of PostHrisSkillsRequestBody' do + it 'should create an instance of PostHrisSkillsRequestBody' do + # uncomment below to test the instance creation + #expect(instance).to be_instance_of(Kombo::PostHrisSkillsRequestBody) + end + end + + describe 'test attribute "name"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "levels"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/post_integrations_integration_id_relink_positive_response_data_spec.rb b/spec/models/post_integrations_integration_id_relink_positive_response_data_spec.rb new file mode 100644 index 0000000..eb02e32 --- /dev/null +++ b/spec/models/post_integrations_integration_id_relink_positive_response_data_spec.rb @@ -0,0 +1,36 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.13.0 + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Kombo::PostIntegrationsIntegrationIdRelinkPositiveResponseData +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Kombo::PostIntegrationsIntegrationIdRelinkPositiveResponseData do + let(:instance) { Kombo::PostIntegrationsIntegrationIdRelinkPositiveResponseData.new } + + describe 'test an instance of PostIntegrationsIntegrationIdRelinkPositiveResponseData' do + it 'should create an instance of PostIntegrationsIntegrationIdRelinkPositiveResponseData' do + # uncomment below to test the instance creation + #expect(instance).to be_instance_of(Kombo::PostIntegrationsIntegrationIdRelinkPositiveResponseData) + end + end + + describe 'test attribute "link"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/post_integrations_integration_id_relink_positive_response_spec.rb b/spec/models/post_integrations_integration_id_relink_positive_response_spec.rb new file mode 100644 index 0000000..982cb70 --- /dev/null +++ b/spec/models/post_integrations_integration_id_relink_positive_response_spec.rb @@ -0,0 +1,46 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.13.0 + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Kombo::PostIntegrationsIntegrationIdRelinkPositiveResponse +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Kombo::PostIntegrationsIntegrationIdRelinkPositiveResponse do + let(:instance) { Kombo::PostIntegrationsIntegrationIdRelinkPositiveResponse.new } + + describe 'test an instance of PostIntegrationsIntegrationIdRelinkPositiveResponse' do + it 'should create an instance of PostIntegrationsIntegrationIdRelinkPositiveResponse' do + # uncomment below to test the instance creation + #expect(instance).to be_instance_of(Kombo::PostIntegrationsIntegrationIdRelinkPositiveResponse) + end + end + + describe 'test attribute "status"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + # validator = Petstore::EnumTest::EnumAttributeValidator.new('String', ["success"]) + # validator.allowable_values.each do |value| + # expect { instance.status = value }.not_to raise_error + # end + end + end + + describe 'test attribute "data"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/post_integrations_integration_id_relink_request_body_spec.rb b/spec/models/post_integrations_integration_id_relink_request_body_spec.rb new file mode 100644 index 0000000..f566cb5 --- /dev/null +++ b/spec/models/post_integrations_integration_id_relink_request_body_spec.rb @@ -0,0 +1,56 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.13.0 + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Kombo::PostIntegrationsIntegrationIdRelinkRequestBody +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Kombo::PostIntegrationsIntegrationIdRelinkRequestBody do + let(:instance) { Kombo::PostIntegrationsIntegrationIdRelinkRequestBody.new } + + describe 'test an instance of PostIntegrationsIntegrationIdRelinkRequestBody' do + it 'should create an instance of PostIntegrationsIntegrationIdRelinkRequestBody' do + # uncomment below to test the instance creation + #expect(instance).to be_instance_of(Kombo::PostIntegrationsIntegrationIdRelinkRequestBody) + end + end + + describe 'test attribute "language"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + # validator = Petstore::EnumTest::EnumAttributeValidator.new('String', ["en", "de", "fr", "it", "es"]) + # validator.allowable_values.each do |value| + # expect { instance.language = value }.not_to raise_error + # end + end + end + + describe 'test attribute "scope_config_id"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "link_type"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + # validator = Petstore::EnumTest::EnumAttributeValidator.new('String', ["EMBEDDED", "MAGIC_LINK"]) + # validator.allowable_values.each do |value| + # expect { instance.link_type = value }.not_to raise_error + # end + end + end + +end diff --git a/spec/models/post_lms_content_positive_response_data_spec.rb b/spec/models/post_lms_content_positive_response_data_spec.rb new file mode 100644 index 0000000..b147f5a --- /dev/null +++ b/spec/models/post_lms_content_positive_response_data_spec.rb @@ -0,0 +1,94 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.13.0 + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Kombo::PostLmsContentPositiveResponseData +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Kombo::PostLmsContentPositiveResponseData do + let(:instance) { Kombo::PostLmsContentPositiveResponseData.new } + + describe 'test an instance of PostLmsContentPositiveResponseData' do + it 'should create an instance of PostLmsContentPositiveResponseData' do + # uncomment below to test the instance creation + #expect(instance).to be_instance_of(Kombo::PostLmsContentPositiveResponseData) + end + end + + describe 'test attribute "id"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "remote_id"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "title"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "description"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "url"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "type"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + # validator = Petstore::EnumTest::EnumAttributeValidator.new('String', ["COACHING", "VIDEO", "TEXT", "QUIZ"]) + # validator.allowable_values.each do |value| + # expect { instance.type = value }.not_to raise_error + # end + end + end + + describe 'test attribute "course_id"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "remote_created_at"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "changed_at"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "remote_data"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/post_lms_content_positive_response_spec.rb b/spec/models/post_lms_content_positive_response_spec.rb new file mode 100644 index 0000000..c82dd18 --- /dev/null +++ b/spec/models/post_lms_content_positive_response_spec.rb @@ -0,0 +1,46 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.13.0 + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Kombo::PostLmsContentPositiveResponse +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Kombo::PostLmsContentPositiveResponse do + let(:instance) { Kombo::PostLmsContentPositiveResponse.new } + + describe 'test an instance of PostLmsContentPositiveResponse' do + it 'should create an instance of PostLmsContentPositiveResponse' do + # uncomment below to test the instance creation + #expect(instance).to be_instance_of(Kombo::PostLmsContentPositiveResponse) + end + end + + describe 'test attribute "status"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + # validator = Petstore::EnumTest::EnumAttributeValidator.new('String', ["success"]) + # validator.allowable_values.each do |value| + # expect { instance.status = value }.not_to raise_error + # end + end + end + + describe 'test attribute "data"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/post_lms_content_request_body_spec.rb b/spec/models/post_lms_content_request_body_spec.rb new file mode 100644 index 0000000..79d26d6 --- /dev/null +++ b/spec/models/post_lms_content_request_body_spec.rb @@ -0,0 +1,64 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.13.0 + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Kombo::PostLmsContentRequestBody +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Kombo::PostLmsContentRequestBody do + let(:instance) { Kombo::PostLmsContentRequestBody.new } + + describe 'test an instance of PostLmsContentRequestBody' do + it 'should create an instance of PostLmsContentRequestBody' do + # uncomment below to test the instance creation + #expect(instance).to be_instance_of(Kombo::PostLmsContentRequestBody) + end + end + + describe 'test attribute "course_id"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "title"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "description"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "url"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "type"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + # validator = Petstore::EnumTest::EnumAttributeValidator.new('String', ["COACHING", "VIDEO", "TEXT", "QUIZ"]) + # validator.allowable_values.each do |value| + # expect { instance.type = value }.not_to raise_error + # end + end + end + +end diff --git a/spec/models/post_lms_courses_positive_response_spec.rb b/spec/models/post_lms_courses_positive_response_spec.rb new file mode 100644 index 0000000..c544639 --- /dev/null +++ b/spec/models/post_lms_courses_positive_response_spec.rb @@ -0,0 +1,46 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.13.0 + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Kombo::PostLmsCoursesPositiveResponse +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Kombo::PostLmsCoursesPositiveResponse do + let(:instance) { Kombo::PostLmsCoursesPositiveResponse.new } + + describe 'test an instance of PostLmsCoursesPositiveResponse' do + it 'should create an instance of PostLmsCoursesPositiveResponse' do + # uncomment below to test the instance creation + #expect(instance).to be_instance_of(Kombo::PostLmsCoursesPositiveResponse) + end + end + + describe 'test attribute "status"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + # validator = Petstore::EnumTest::EnumAttributeValidator.new('String', ["success"]) + # validator.allowable_values.each do |value| + # expect { instance.status = value }.not_to raise_error + # end + end + end + + describe 'test attribute "data"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/post_lms_courses_request_body_skills_inner_spec.rb b/spec/models/post_lms_courses_request_body_skills_inner_spec.rb new file mode 100644 index 0000000..30b3d3e --- /dev/null +++ b/spec/models/post_lms_courses_request_body_skills_inner_spec.rb @@ -0,0 +1,42 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.13.0 + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Kombo::PostLmsCoursesRequestBodySkillsInner +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Kombo::PostLmsCoursesRequestBodySkillsInner do + let(:instance) { Kombo::PostLmsCoursesRequestBodySkillsInner.new } + + describe 'test an instance of PostLmsCoursesRequestBodySkillsInner' do + it 'should create an instance of PostLmsCoursesRequestBodySkillsInner' do + # uncomment below to test the instance creation + #expect(instance).to be_instance_of(Kombo::PostLmsCoursesRequestBodySkillsInner) + end + end + + describe 'test attribute "name"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "skill_level"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/post_lms_courses_request_body_spec.rb b/spec/models/post_lms_courses_request_body_spec.rb new file mode 100644 index 0000000..aa7751d --- /dev/null +++ b/spec/models/post_lms_courses_request_body_spec.rb @@ -0,0 +1,54 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.13.0 + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Kombo::PostLmsCoursesRequestBody +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Kombo::PostLmsCoursesRequestBody do + let(:instance) { Kombo::PostLmsCoursesRequestBody.new } + + describe 'test an instance of PostLmsCoursesRequestBody' do + it 'should create an instance of PostLmsCoursesRequestBody' do + # uncomment below to test the instance creation + #expect(instance).to be_instance_of(Kombo::PostLmsCoursesRequestBody) + end + end + + describe 'test attribute "title"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "description"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "url"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "skills"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/post_lms_progress_positive_response_data_spec.rb b/spec/models/post_lms_progress_positive_response_data_spec.rb new file mode 100644 index 0000000..29904b8 --- /dev/null +++ b/spec/models/post_lms_progress_positive_response_data_spec.rb @@ -0,0 +1,106 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.13.0 + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Kombo::PostLmsProgressPositiveResponseData +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Kombo::PostLmsProgressPositiveResponseData do + let(:instance) { Kombo::PostLmsProgressPositiveResponseData.new } + + describe 'test an instance of PostLmsProgressPositiveResponseData' do + it 'should create an instance of PostLmsProgressPositiveResponseData' do + # uncomment below to test the instance creation + #expect(instance).to be_instance_of(Kombo::PostLmsProgressPositiveResponseData) + end + end + + describe 'test attribute "id"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "remote_id"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "course_id"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "user_id"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "status"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + # validator = Petstore::EnumTest::EnumAttributeValidator.new('String', ["ENROLLED", "STARTED", "COMPLETED", "STOPPED"]) + # validator.allowable_values.each do |value| + # expect { instance.status = value }.not_to raise_error + # end + end + end + + describe 'test attribute "enrollment_date"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "completion_date"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "score"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "duration"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "comments"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "changed_at"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "remote_data"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/post_lms_progress_positive_response_spec.rb b/spec/models/post_lms_progress_positive_response_spec.rb new file mode 100644 index 0000000..7aba93d --- /dev/null +++ b/spec/models/post_lms_progress_positive_response_spec.rb @@ -0,0 +1,46 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.13.0 + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Kombo::PostLmsProgressPositiveResponse +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Kombo::PostLmsProgressPositiveResponse do + let(:instance) { Kombo::PostLmsProgressPositiveResponse.new } + + describe 'test an instance of PostLmsProgressPositiveResponse' do + it 'should create an instance of PostLmsProgressPositiveResponse' do + # uncomment below to test the instance creation + #expect(instance).to be_instance_of(Kombo::PostLmsProgressPositiveResponse) + end + end + + describe 'test attribute "status"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + # validator = Petstore::EnumTest::EnumAttributeValidator.new('String', ["success"]) + # validator.allowable_values.each do |value| + # expect { instance.status = value }.not_to raise_error + # end + end + end + + describe 'test attribute "data"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/post_lms_progress_request_body_spec.rb b/spec/models/post_lms_progress_request_body_spec.rb new file mode 100644 index 0000000..ed2965c --- /dev/null +++ b/spec/models/post_lms_progress_request_body_spec.rb @@ -0,0 +1,88 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.13.0 + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Kombo::PostLmsProgressRequestBody +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Kombo::PostLmsProgressRequestBody do + let(:instance) { Kombo::PostLmsProgressRequestBody.new } + + describe 'test an instance of PostLmsProgressRequestBody' do + it 'should create an instance of PostLmsProgressRequestBody' do + # uncomment below to test the instance creation + #expect(instance).to be_instance_of(Kombo::PostLmsProgressRequestBody) + end + end + + describe 'test attribute "course_id"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "user_id"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "progress_id"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "status"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + # validator = Petstore::EnumTest::EnumAttributeValidator.new('String', ["ENROLLED", "STARTED", "COMPLETED", "STOPPED"]) + # validator.allowable_values.each do |value| + # expect { instance.status = value }.not_to raise_error + # end + end + end + + describe 'test attribute "enrollment_date"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "completion_date"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "score"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "duration"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "comments"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/post_passthrough_tool_api_positive_response_data_headers_value_spec.rb b/spec/models/post_passthrough_tool_api_positive_response_data_headers_value_spec.rb new file mode 100644 index 0000000..dc4ed43 --- /dev/null +++ b/spec/models/post_passthrough_tool_api_positive_response_data_headers_value_spec.rb @@ -0,0 +1,32 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.13.0 + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Kombo::PostPassthroughToolApiPositiveResponseDataHeadersValue +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Kombo::PostPassthroughToolApiPositiveResponseDataHeadersValue do + describe '.openapi_one_of' do + it 'lists the items referenced in the oneOf array' do + expect(described_class.openapi_one_of).to_not be_empty + end + end + + describe '.build' do + it 'returns the correct model' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end +end diff --git a/spec/models/post_passthrough_tool_api_positive_response_data_spec.rb b/spec/models/post_passthrough_tool_api_positive_response_data_spec.rb new file mode 100644 index 0000000..6913cbb --- /dev/null +++ b/spec/models/post_passthrough_tool_api_positive_response_data_spec.rb @@ -0,0 +1,54 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.13.0 + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Kombo::PostPassthroughToolApiPositiveResponseData +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Kombo::PostPassthroughToolApiPositiveResponseData do + let(:instance) { Kombo::PostPassthroughToolApiPositiveResponseData.new } + + describe 'test an instance of PostPassthroughToolApiPositiveResponseData' do + it 'should create an instance of PostPassthroughToolApiPositiveResponseData' do + # uncomment below to test the instance creation + #expect(instance).to be_instance_of(Kombo::PostPassthroughToolApiPositiveResponseData) + end + end + + describe 'test attribute "url"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "status"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "headers"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "data"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/post_passthrough_tool_api_positive_response_spec.rb b/spec/models/post_passthrough_tool_api_positive_response_spec.rb new file mode 100644 index 0000000..56f73d5 --- /dev/null +++ b/spec/models/post_passthrough_tool_api_positive_response_spec.rb @@ -0,0 +1,52 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.13.0 + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Kombo::PostPassthroughToolApiPositiveResponse +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Kombo::PostPassthroughToolApiPositiveResponse do + let(:instance) { Kombo::PostPassthroughToolApiPositiveResponse.new } + + describe 'test an instance of PostPassthroughToolApiPositiveResponse' do + it 'should create an instance of PostPassthroughToolApiPositiveResponse' do + # uncomment below to test the instance creation + #expect(instance).to be_instance_of(Kombo::PostPassthroughToolApiPositiveResponse) + end + end + + describe 'test attribute "status"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + # validator = Petstore::EnumTest::EnumAttributeValidator.new('String', ["success"]) + # validator.allowable_values.each do |value| + # expect { instance.status = value }.not_to raise_error + # end + end + end + + describe 'test attribute "data"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "warnings"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/post_passthrough_tool_api_positive_response_warnings_inner_spec.rb b/spec/models/post_passthrough_tool_api_positive_response_warnings_inner_spec.rb new file mode 100644 index 0000000..0afe17f --- /dev/null +++ b/spec/models/post_passthrough_tool_api_positive_response_warnings_inner_spec.rb @@ -0,0 +1,36 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.13.0 + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Kombo::PostPassthroughToolApiPositiveResponseWarningsInner +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Kombo::PostPassthroughToolApiPositiveResponseWarningsInner do + let(:instance) { Kombo::PostPassthroughToolApiPositiveResponseWarningsInner.new } + + describe 'test an instance of PostPassthroughToolApiPositiveResponseWarningsInner' do + it 'should create an instance of PostPassthroughToolApiPositiveResponseWarningsInner' do + # uncomment below to test the instance creation + #expect(instance).to be_instance_of(Kombo::PostPassthroughToolApiPositiveResponseWarningsInner) + end + end + + describe 'test attribute "message"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/post_passthrough_tool_api_request_body_multipart_form_data_inner_spec.rb b/spec/models/post_passthrough_tool_api_request_body_multipart_form_data_inner_spec.rb new file mode 100644 index 0000000..aa90b08 --- /dev/null +++ b/spec/models/post_passthrough_tool_api_request_body_multipart_form_data_inner_spec.rb @@ -0,0 +1,42 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.13.0 + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Kombo::PostPassthroughToolApiRequestBodyMultipartFormDataInner +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Kombo::PostPassthroughToolApiRequestBodyMultipartFormDataInner do + let(:instance) { Kombo::PostPassthroughToolApiRequestBodyMultipartFormDataInner.new } + + describe 'test an instance of PostPassthroughToolApiRequestBodyMultipartFormDataInner' do + it 'should create an instance of PostPassthroughToolApiRequestBodyMultipartFormDataInner' do + # uncomment below to test the instance creation + #expect(instance).to be_instance_of(Kombo::PostPassthroughToolApiRequestBodyMultipartFormDataInner) + end + end + + describe 'test attribute "name"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "value"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/post_passthrough_tool_api_request_body_multipart_form_data_inner_value_one_of_spec.rb b/spec/models/post_passthrough_tool_api_request_body_multipart_form_data_inner_value_one_of_spec.rb new file mode 100644 index 0000000..c605210 --- /dev/null +++ b/spec/models/post_passthrough_tool_api_request_body_multipart_form_data_inner_value_one_of_spec.rb @@ -0,0 +1,54 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.13.0 + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Kombo::PostPassthroughToolApiRequestBodyMultipartFormDataInnerValueOneOf +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Kombo::PostPassthroughToolApiRequestBodyMultipartFormDataInnerValueOneOf do + let(:instance) { Kombo::PostPassthroughToolApiRequestBodyMultipartFormDataInnerValueOneOf.new } + + describe 'test an instance of PostPassthroughToolApiRequestBodyMultipartFormDataInnerValueOneOf' do + it 'should create an instance of PostPassthroughToolApiRequestBodyMultipartFormDataInnerValueOneOf' do + # uncomment below to test the instance creation + #expect(instance).to be_instance_of(Kombo::PostPassthroughToolApiRequestBodyMultipartFormDataInnerValueOneOf) + end + end + + describe 'test attribute "name"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "content_type"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "data_url"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "data"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/post_passthrough_tool_api_request_body_multipart_form_data_inner_value_spec.rb b/spec/models/post_passthrough_tool_api_request_body_multipart_form_data_inner_value_spec.rb new file mode 100644 index 0000000..59a8f78 --- /dev/null +++ b/spec/models/post_passthrough_tool_api_request_body_multipart_form_data_inner_value_spec.rb @@ -0,0 +1,32 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.13.0 + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Kombo::PostPassthroughToolApiRequestBodyMultipartFormDataInnerValue +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Kombo::PostPassthroughToolApiRequestBodyMultipartFormDataInnerValue do + describe '.openapi_one_of' do + it 'lists the items referenced in the oneOf array' do + expect(described_class.openapi_one_of).to_not be_empty + end + end + + describe '.build' do + it 'returns the correct model' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end +end diff --git a/spec/models/post_passthrough_tool_api_request_body_spec.rb b/spec/models/post_passthrough_tool_api_request_body_spec.rb new file mode 100644 index 0000000..a7868da --- /dev/null +++ b/spec/models/post_passthrough_tool_api_request_body_spec.rb @@ -0,0 +1,82 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.13.0 + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Kombo::PostPassthroughToolApiRequestBody +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Kombo::PostPassthroughToolApiRequestBody do + let(:instance) { Kombo::PostPassthroughToolApiRequestBody.new } + + describe 'test an instance of PostPassthroughToolApiRequestBody' do + it 'should create an instance of PostPassthroughToolApiRequestBody' do + # uncomment below to test the instance creation + #expect(instance).to be_instance_of(Kombo::PostPassthroughToolApiRequestBody) + end + end + + describe 'test attribute "method"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + # validator = Petstore::EnumTest::EnumAttributeValidator.new('String', ["GET", "POST", "DELETE", "PUT", "PATCH"]) + # validator.allowable_values.each do |value| + # expect { instance.method = value }.not_to raise_error + # end + end + end + + describe 'test attribute "path"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "headers"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "params"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "data"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "response_as_base64"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "multipart_form_data"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "api_options"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/put_assessment_orders_assessment_order_id_result_positive_response_spec.rb b/spec/models/put_assessment_orders_assessment_order_id_result_positive_response_spec.rb new file mode 100644 index 0000000..bf6bddf --- /dev/null +++ b/spec/models/put_assessment_orders_assessment_order_id_result_positive_response_spec.rb @@ -0,0 +1,52 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.13.0 + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Kombo::PutAssessmentOrdersAssessmentOrderIdResultPositiveResponse +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Kombo::PutAssessmentOrdersAssessmentOrderIdResultPositiveResponse do + let(:instance) { Kombo::PutAssessmentOrdersAssessmentOrderIdResultPositiveResponse.new } + + describe 'test an instance of PutAssessmentOrdersAssessmentOrderIdResultPositiveResponse' do + it 'should create an instance of PutAssessmentOrdersAssessmentOrderIdResultPositiveResponse' do + # uncomment below to test the instance creation + #expect(instance).to be_instance_of(Kombo::PutAssessmentOrdersAssessmentOrderIdResultPositiveResponse) + end + end + + describe 'test attribute "status"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + # validator = Petstore::EnumTest::EnumAttributeValidator.new('String', ["success"]) + # validator.allowable_values.each do |value| + # expect { instance.status = value }.not_to raise_error + # end + end + end + + describe 'test attribute "data"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "warnings"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/put_assessment_orders_assessment_order_id_result_request_body_attributes_inner_any_of1_score_spec.rb b/spec/models/put_assessment_orders_assessment_order_id_result_request_body_attributes_inner_any_of1_score_spec.rb new file mode 100644 index 0000000..01d96b3 --- /dev/null +++ b/spec/models/put_assessment_orders_assessment_order_id_result_request_body_attributes_inner_any_of1_score_spec.rb @@ -0,0 +1,42 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.13.0 + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Kombo::PutAssessmentOrdersAssessmentOrderIdResultRequestBodyAttributesInnerAnyOf1Score +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Kombo::PutAssessmentOrdersAssessmentOrderIdResultRequestBodyAttributesInnerAnyOf1Score do + let(:instance) { Kombo::PutAssessmentOrdersAssessmentOrderIdResultRequestBodyAttributesInnerAnyOf1Score.new } + + describe 'test an instance of PutAssessmentOrdersAssessmentOrderIdResultRequestBodyAttributesInnerAnyOf1Score' do + it 'should create an instance of PutAssessmentOrdersAssessmentOrderIdResultRequestBodyAttributesInnerAnyOf1Score' do + # uncomment below to test the instance creation + #expect(instance).to be_instance_of(Kombo::PutAssessmentOrdersAssessmentOrderIdResultRequestBodyAttributesInnerAnyOf1Score) + end + end + + describe 'test attribute "value"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "max"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/put_assessment_orders_assessment_order_id_result_request_body_attributes_inner_any_of1_spec.rb b/spec/models/put_assessment_orders_assessment_order_id_result_request_body_attributes_inner_any_of1_spec.rb new file mode 100644 index 0000000..422cef2 --- /dev/null +++ b/spec/models/put_assessment_orders_assessment_order_id_result_request_body_attributes_inner_any_of1_spec.rb @@ -0,0 +1,68 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.13.0 + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Kombo::PutAssessmentOrdersAssessmentOrderIdResultRequestBodyAttributesInnerAnyOf1 +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Kombo::PutAssessmentOrdersAssessmentOrderIdResultRequestBodyAttributesInnerAnyOf1 do + let(:instance) { Kombo::PutAssessmentOrdersAssessmentOrderIdResultRequestBodyAttributesInnerAnyOf1.new } + + describe 'test an instance of PutAssessmentOrdersAssessmentOrderIdResultRequestBodyAttributesInnerAnyOf1' do + it 'should create an instance of PutAssessmentOrdersAssessmentOrderIdResultRequestBodyAttributesInnerAnyOf1' do + # uncomment below to test the instance creation + #expect(instance).to be_instance_of(Kombo::PutAssessmentOrdersAssessmentOrderIdResultRequestBodyAttributesInnerAnyOf1) + end + end + + describe 'test attribute "type"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + # validator = Petstore::EnumTest::EnumAttributeValidator.new('String', ["SUB_RESULT"]) + # validator.allowable_values.each do |value| + # expect { instance.type = value }.not_to raise_error + # end + end + end + + describe 'test attribute "id"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "label"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "score"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "status"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + # validator = Petstore::EnumTest::EnumAttributeValidator.new('String', ["COMPLETED", "CANCELLED"]) + # validator.allowable_values.each do |value| + # expect { instance.status = value }.not_to raise_error + # end + end + end + +end diff --git a/spec/models/put_assessment_orders_assessment_order_id_result_request_body_attributes_inner_any_of_spec.rb b/spec/models/put_assessment_orders_assessment_order_id_result_request_body_attributes_inner_any_of_spec.rb new file mode 100644 index 0000000..23d920a --- /dev/null +++ b/spec/models/put_assessment_orders_assessment_order_id_result_request_body_attributes_inner_any_of_spec.rb @@ -0,0 +1,52 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.13.0 + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Kombo::PutAssessmentOrdersAssessmentOrderIdResultRequestBodyAttributesInnerAnyOf +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Kombo::PutAssessmentOrdersAssessmentOrderIdResultRequestBodyAttributesInnerAnyOf do + let(:instance) { Kombo::PutAssessmentOrdersAssessmentOrderIdResultRequestBodyAttributesInnerAnyOf.new } + + describe 'test an instance of PutAssessmentOrdersAssessmentOrderIdResultRequestBodyAttributesInnerAnyOf' do + it 'should create an instance of PutAssessmentOrdersAssessmentOrderIdResultRequestBodyAttributesInnerAnyOf' do + # uncomment below to test the instance creation + #expect(instance).to be_instance_of(Kombo::PutAssessmentOrdersAssessmentOrderIdResultRequestBodyAttributesInnerAnyOf) + end + end + + describe 'test attribute "type"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + # validator = Petstore::EnumTest::EnumAttributeValidator.new('String', ["TEXT"]) + # validator.allowable_values.each do |value| + # expect { instance.type = value }.not_to raise_error + # end + end + end + + describe 'test attribute "label"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "value"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/put_assessment_orders_assessment_order_id_result_request_body_attributes_inner_spec.rb b/spec/models/put_assessment_orders_assessment_order_id_result_request_body_attributes_inner_spec.rb new file mode 100644 index 0000000..4ed4228 --- /dev/null +++ b/spec/models/put_assessment_orders_assessment_order_id_result_request_body_attributes_inner_spec.rb @@ -0,0 +1,21 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.13.0 + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Kombo::PutAssessmentOrdersAssessmentOrderIdResultRequestBodyAttributesInner +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Kombo::PutAssessmentOrdersAssessmentOrderIdResultRequestBodyAttributesInner do +end diff --git a/spec/models/put_assessment_orders_assessment_order_id_result_request_body_remote_fields_smartrecruiters_spec.rb b/spec/models/put_assessment_orders_assessment_order_id_result_request_body_remote_fields_smartrecruiters_spec.rb new file mode 100644 index 0000000..a3cddb8 --- /dev/null +++ b/spec/models/put_assessment_orders_assessment_order_id_result_request_body_remote_fields_smartrecruiters_spec.rb @@ -0,0 +1,36 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.13.0 + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Kombo::PutAssessmentOrdersAssessmentOrderIdResultRequestBodyRemoteFieldsSmartrecruiters +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Kombo::PutAssessmentOrdersAssessmentOrderIdResultRequestBodyRemoteFieldsSmartrecruiters do + let(:instance) { Kombo::PutAssessmentOrdersAssessmentOrderIdResultRequestBodyRemoteFieldsSmartrecruiters.new } + + describe 'test an instance of PutAssessmentOrdersAssessmentOrderIdResultRequestBodyRemoteFieldsSmartrecruiters' do + it 'should create an instance of PutAssessmentOrdersAssessmentOrderIdResultRequestBodyRemoteFieldsSmartrecruiters' do + # uncomment below to test the instance creation + #expect(instance).to be_instance_of(Kombo::PutAssessmentOrdersAssessmentOrderIdResultRequestBodyRemoteFieldsSmartrecruiters) + end + end + + describe 'test attribute "score_label"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/put_assessment_orders_assessment_order_id_result_request_body_remote_fields_spec.rb b/spec/models/put_assessment_orders_assessment_order_id_result_request_body_remote_fields_spec.rb new file mode 100644 index 0000000..38ce12f --- /dev/null +++ b/spec/models/put_assessment_orders_assessment_order_id_result_request_body_remote_fields_spec.rb @@ -0,0 +1,36 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.13.0 + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Kombo::PutAssessmentOrdersAssessmentOrderIdResultRequestBodyRemoteFields +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Kombo::PutAssessmentOrdersAssessmentOrderIdResultRequestBodyRemoteFields do + let(:instance) { Kombo::PutAssessmentOrdersAssessmentOrderIdResultRequestBodyRemoteFields.new } + + describe 'test an instance of PutAssessmentOrdersAssessmentOrderIdResultRequestBodyRemoteFields' do + it 'should create an instance of PutAssessmentOrdersAssessmentOrderIdResultRequestBodyRemoteFields' do + # uncomment below to test the instance creation + #expect(instance).to be_instance_of(Kombo::PutAssessmentOrdersAssessmentOrderIdResultRequestBodyRemoteFields) + end + end + + describe 'test attribute "smartrecruiters"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/put_assessment_orders_assessment_order_id_result_request_body_spec.rb b/spec/models/put_assessment_orders_assessment_order_id_result_request_body_spec.rb new file mode 100644 index 0000000..8b4073c --- /dev/null +++ b/spec/models/put_assessment_orders_assessment_order_id_result_request_body_spec.rb @@ -0,0 +1,82 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.13.0 + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Kombo::PutAssessmentOrdersAssessmentOrderIdResultRequestBody +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Kombo::PutAssessmentOrdersAssessmentOrderIdResultRequestBody do + let(:instance) { Kombo::PutAssessmentOrdersAssessmentOrderIdResultRequestBody.new } + + describe 'test an instance of PutAssessmentOrdersAssessmentOrderIdResultRequestBody' do + it 'should create an instance of PutAssessmentOrdersAssessmentOrderIdResultRequestBody' do + # uncomment below to test the instance creation + #expect(instance).to be_instance_of(Kombo::PutAssessmentOrdersAssessmentOrderIdResultRequestBody) + end + end + + describe 'test attribute "status"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + # validator = Petstore::EnumTest::EnumAttributeValidator.new('String', ["COMPLETED", "CANCELLED", "OPEN"]) + # validator.allowable_values.each do |value| + # expect { instance.status = value }.not_to raise_error + # end + end + end + + describe 'test attribute "result_url"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "completed_at"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "score"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "max_score"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "attributes"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "attachments"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "remote_fields"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/put_assessment_packages_positive_response_spec.rb b/spec/models/put_assessment_packages_positive_response_spec.rb new file mode 100644 index 0000000..b6f914e --- /dev/null +++ b/spec/models/put_assessment_packages_positive_response_spec.rb @@ -0,0 +1,52 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.13.0 + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Kombo::PutAssessmentPackagesPositiveResponse +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Kombo::PutAssessmentPackagesPositiveResponse do + let(:instance) { Kombo::PutAssessmentPackagesPositiveResponse.new } + + describe 'test an instance of PutAssessmentPackagesPositiveResponse' do + it 'should create an instance of PutAssessmentPackagesPositiveResponse' do + # uncomment below to test the instance creation + #expect(instance).to be_instance_of(Kombo::PutAssessmentPackagesPositiveResponse) + end + end + + describe 'test attribute "status"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + # validator = Petstore::EnumTest::EnumAttributeValidator.new('String', ["success"]) + # validator.allowable_values.each do |value| + # expect { instance.status = value }.not_to raise_error + # end + end + end + + describe 'test attribute "data"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "warnings"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/put_assessment_packages_request_body_packages_inner_spec.rb b/spec/models/put_assessment_packages_request_body_packages_inner_spec.rb new file mode 100644 index 0000000..46c9018 --- /dev/null +++ b/spec/models/put_assessment_packages_request_body_packages_inner_spec.rb @@ -0,0 +1,58 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.13.0 + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Kombo::PutAssessmentPackagesRequestBodyPackagesInner +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Kombo::PutAssessmentPackagesRequestBodyPackagesInner do + let(:instance) { Kombo::PutAssessmentPackagesRequestBodyPackagesInner.new } + + describe 'test an instance of PutAssessmentPackagesRequestBodyPackagesInner' do + it 'should create an instance of PutAssessmentPackagesRequestBodyPackagesInner' do + # uncomment below to test the instance creation + #expect(instance).to be_instance_of(Kombo::PutAssessmentPackagesRequestBodyPackagesInner) + end + end + + describe 'test attribute "id"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "type"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + # validator = Petstore::EnumTest::EnumAttributeValidator.new('String', ["BEHAVIORAL", "VIDEO_INTERVIEW", "SKILLS_TEST", "BACKGROUND_CHECK", "REFERENCE_CHECK"]) + # validator.allowable_values.each do |value| + # expect { instance.type = value }.not_to raise_error + # end + end + end + + describe 'test attribute "name"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "description"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/put_assessment_packages_request_body_spec.rb b/spec/models/put_assessment_packages_request_body_spec.rb new file mode 100644 index 0000000..eb77862 --- /dev/null +++ b/spec/models/put_assessment_packages_request_body_spec.rb @@ -0,0 +1,36 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.13.0 + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Kombo::PutAssessmentPackagesRequestBody +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Kombo::PutAssessmentPackagesRequestBody do + let(:instance) { Kombo::PutAssessmentPackagesRequestBody.new } + + describe 'test an instance of PutAssessmentPackagesRequestBody' do + it 'should create an instance of PutAssessmentPackagesRequestBody' do + # uncomment below to test the instance creation + #expect(instance).to be_instance_of(Kombo::PutAssessmentPackagesRequestBody) + end + end + + describe 'test attribute "packages"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/put_ats_applications_application_id_stage_positive_response_spec.rb b/spec/models/put_ats_applications_application_id_stage_positive_response_spec.rb new file mode 100644 index 0000000..5cb06ed --- /dev/null +++ b/spec/models/put_ats_applications_application_id_stage_positive_response_spec.rb @@ -0,0 +1,52 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.13.0 + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Kombo::PutAtsApplicationsApplicationIdStagePositiveResponse +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Kombo::PutAtsApplicationsApplicationIdStagePositiveResponse do + let(:instance) { Kombo::PutAtsApplicationsApplicationIdStagePositiveResponse.new } + + describe 'test an instance of PutAtsApplicationsApplicationIdStagePositiveResponse' do + it 'should create an instance of PutAtsApplicationsApplicationIdStagePositiveResponse' do + # uncomment below to test the instance creation + #expect(instance).to be_instance_of(Kombo::PutAtsApplicationsApplicationIdStagePositiveResponse) + end + end + + describe 'test attribute "status"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + # validator = Petstore::EnumTest::EnumAttributeValidator.new('String', ["success"]) + # validator.allowable_values.each do |value| + # expect { instance.status = value }.not_to raise_error + # end + end + end + + describe 'test attribute "data"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "warnings"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/put_ats_applications_application_id_stage_request_body_remote_fields_greenhouse_post_headers_spec.rb b/spec/models/put_ats_applications_application_id_stage_request_body_remote_fields_greenhouse_post_headers_spec.rb new file mode 100644 index 0000000..a583b02 --- /dev/null +++ b/spec/models/put_ats_applications_application_id_stage_request_body_remote_fields_greenhouse_post_headers_spec.rb @@ -0,0 +1,36 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.13.0 + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Kombo::PutAtsApplicationsApplicationIdStageRequestBodyRemoteFieldsGreenhousePostHeaders +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Kombo::PutAtsApplicationsApplicationIdStageRequestBodyRemoteFieldsGreenhousePostHeaders do + let(:instance) { Kombo::PutAtsApplicationsApplicationIdStageRequestBodyRemoteFieldsGreenhousePostHeaders.new } + + describe 'test an instance of PutAtsApplicationsApplicationIdStageRequestBodyRemoteFieldsGreenhousePostHeaders' do + it 'should create an instance of PutAtsApplicationsApplicationIdStageRequestBodyRemoteFieldsGreenhousePostHeaders' do + # uncomment below to test the instance creation + #expect(instance).to be_instance_of(Kombo::PutAtsApplicationsApplicationIdStageRequestBodyRemoteFieldsGreenhousePostHeaders) + end + end + + describe 'test attribute "on_behalf_of"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/put_ats_applications_application_id_stage_request_body_remote_fields_greenhouse_spec.rb b/spec/models/put_ats_applications_application_id_stage_request_body_remote_fields_greenhouse_spec.rb new file mode 100644 index 0000000..6b132c6 --- /dev/null +++ b/spec/models/put_ats_applications_application_id_stage_request_body_remote_fields_greenhouse_spec.rb @@ -0,0 +1,36 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.13.0 + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Kombo::PutAtsApplicationsApplicationIdStageRequestBodyRemoteFieldsGreenhouse +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Kombo::PutAtsApplicationsApplicationIdStageRequestBodyRemoteFieldsGreenhouse do + let(:instance) { Kombo::PutAtsApplicationsApplicationIdStageRequestBodyRemoteFieldsGreenhouse.new } + + describe 'test an instance of PutAtsApplicationsApplicationIdStageRequestBodyRemoteFieldsGreenhouse' do + it 'should create an instance of PutAtsApplicationsApplicationIdStageRequestBodyRemoteFieldsGreenhouse' do + # uncomment below to test the instance creation + #expect(instance).to be_instance_of(Kombo::PutAtsApplicationsApplicationIdStageRequestBodyRemoteFieldsGreenhouse) + end + end + + describe 'test attribute "post_headers"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/put_ats_applications_application_id_stage_request_body_remote_fields_spec.rb b/spec/models/put_ats_applications_application_id_stage_request_body_remote_fields_spec.rb new file mode 100644 index 0000000..2585658 --- /dev/null +++ b/spec/models/put_ats_applications_application_id_stage_request_body_remote_fields_spec.rb @@ -0,0 +1,42 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.13.0 + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Kombo::PutAtsApplicationsApplicationIdStageRequestBodyRemoteFields +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Kombo::PutAtsApplicationsApplicationIdStageRequestBodyRemoteFields do + let(:instance) { Kombo::PutAtsApplicationsApplicationIdStageRequestBodyRemoteFields.new } + + describe 'test an instance of PutAtsApplicationsApplicationIdStageRequestBodyRemoteFields' do + it 'should create an instance of PutAtsApplicationsApplicationIdStageRequestBodyRemoteFields' do + # uncomment below to test the instance creation + #expect(instance).to be_instance_of(Kombo::PutAtsApplicationsApplicationIdStageRequestBodyRemoteFields) + end + end + + describe 'test attribute "greenhouse"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "workable"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/put_ats_applications_application_id_stage_request_body_remote_fields_workable_spec.rb b/spec/models/put_ats_applications_application_id_stage_request_body_remote_fields_workable_spec.rb new file mode 100644 index 0000000..067a32e --- /dev/null +++ b/spec/models/put_ats_applications_application_id_stage_request_body_remote_fields_workable_spec.rb @@ -0,0 +1,36 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.13.0 + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Kombo::PutAtsApplicationsApplicationIdStageRequestBodyRemoteFieldsWorkable +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Kombo::PutAtsApplicationsApplicationIdStageRequestBodyRemoteFieldsWorkable do + let(:instance) { Kombo::PutAtsApplicationsApplicationIdStageRequestBodyRemoteFieldsWorkable.new } + + describe 'test an instance of PutAtsApplicationsApplicationIdStageRequestBodyRemoteFieldsWorkable' do + it 'should create an instance of PutAtsApplicationsApplicationIdStageRequestBodyRemoteFieldsWorkable' do + # uncomment below to test the instance creation + #expect(instance).to be_instance_of(Kombo::PutAtsApplicationsApplicationIdStageRequestBodyRemoteFieldsWorkable) + end + end + + describe 'test attribute "on_behalf_of_user_remote_id"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/put_ats_applications_application_id_stage_request_body_spec.rb b/spec/models/put_ats_applications_application_id_stage_request_body_spec.rb new file mode 100644 index 0000000..f52aca5 --- /dev/null +++ b/spec/models/put_ats_applications_application_id_stage_request_body_spec.rb @@ -0,0 +1,42 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.13.0 + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Kombo::PutAtsApplicationsApplicationIdStageRequestBody +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Kombo::PutAtsApplicationsApplicationIdStageRequestBody do + let(:instance) { Kombo::PutAtsApplicationsApplicationIdStageRequestBody.new } + + describe 'test an instance of PutAtsApplicationsApplicationIdStageRequestBody' do + it 'should create an instance of PutAtsApplicationsApplicationIdStageRequestBody' do + # uncomment below to test the instance creation + #expect(instance).to be_instance_of(Kombo::PutAtsApplicationsApplicationIdStageRequestBody) + end + end + + describe 'test attribute "stage_id"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "remote_fields"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/put_custom_datev_employees_employee_id_compensations_positive_response_spec.rb b/spec/models/put_custom_datev_employees_employee_id_compensations_positive_response_spec.rb new file mode 100644 index 0000000..9a37125 --- /dev/null +++ b/spec/models/put_custom_datev_employees_employee_id_compensations_positive_response_spec.rb @@ -0,0 +1,52 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.13.0 + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Kombo::PutCustomDatevEmployeesEmployeeIdCompensationsPositiveResponse +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Kombo::PutCustomDatevEmployeesEmployeeIdCompensationsPositiveResponse do + let(:instance) { Kombo::PutCustomDatevEmployeesEmployeeIdCompensationsPositiveResponse.new } + + describe 'test an instance of PutCustomDatevEmployeesEmployeeIdCompensationsPositiveResponse' do + it 'should create an instance of PutCustomDatevEmployeesEmployeeIdCompensationsPositiveResponse' do + # uncomment below to test the instance creation + #expect(instance).to be_instance_of(Kombo::PutCustomDatevEmployeesEmployeeIdCompensationsPositiveResponse) + end + end + + describe 'test attribute "status"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + # validator = Petstore::EnumTest::EnumAttributeValidator.new('String', ["success"]) + # validator.allowable_values.each do |value| + # expect { instance.status = value }.not_to raise_error + # end + end + end + + describe 'test attribute "data"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "warnings"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/put_custom_datev_employees_employee_id_compensations_request_body_compensations_inner_spec.rb b/spec/models/put_custom_datev_employees_employee_id_compensations_request_body_compensations_inner_spec.rb new file mode 100644 index 0000000..18852df --- /dev/null +++ b/spec/models/put_custom_datev_employees_employee_id_compensations_request_body_compensations_inner_spec.rb @@ -0,0 +1,62 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.13.0 + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Kombo::PutCustomDatevEmployeesEmployeeIdCompensationsRequestBodyCompensationsInner +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Kombo::PutCustomDatevEmployeesEmployeeIdCompensationsRequestBodyCompensationsInner do + let(:instance) { Kombo::PutCustomDatevEmployeesEmployeeIdCompensationsRequestBodyCompensationsInner.new } + + describe 'test an instance of PutCustomDatevEmployeesEmployeeIdCompensationsRequestBodyCompensationsInner' do + it 'should create an instance of PutCustomDatevEmployeesEmployeeIdCompensationsRequestBodyCompensationsInner' do + # uncomment below to test the instance creation + #expect(instance).to be_instance_of(Kombo::PutCustomDatevEmployeesEmployeeIdCompensationsRequestBodyCompensationsInner) + end + end + + describe 'test attribute "amount"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "currency"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + # validator = Petstore::EnumTest::EnumAttributeValidator.new('String', ["EUR"]) + # validator.allowable_values.each do |value| + # expect { instance.currency = value }.not_to raise_error + # end + end + end + + describe 'test attribute "period"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + # validator = Petstore::EnumTest::EnumAttributeValidator.new('String', ["HOUR", "MONTH"]) + # validator.allowable_values.each do |value| + # expect { instance.period = value }.not_to raise_error + # end + end + end + + describe 'test attribute "lohnart"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/put_custom_datev_employees_employee_id_compensations_request_body_spec.rb b/spec/models/put_custom_datev_employees_employee_id_compensations_request_body_spec.rb new file mode 100644 index 0000000..f85624f --- /dev/null +++ b/spec/models/put_custom_datev_employees_employee_id_compensations_request_body_spec.rb @@ -0,0 +1,42 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.13.0 + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Kombo::PutCustomDatevEmployeesEmployeeIdCompensationsRequestBody +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Kombo::PutCustomDatevEmployeesEmployeeIdCompensationsRequestBody do + let(:instance) { Kombo::PutCustomDatevEmployeesEmployeeIdCompensationsRequestBody.new } + + describe 'test an instance of PutCustomDatevEmployeesEmployeeIdCompensationsRequestBody' do + it 'should create an instance of PutCustomDatevEmployeesEmployeeIdCompensationsRequestBody' do + # uncomment below to test the instance creation + #expect(instance).to be_instance_of(Kombo::PutCustomDatevEmployeesEmployeeIdCompensationsRequestBody) + end + end + + describe 'test attribute "effective_date"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "compensations"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/put_custom_datev_employees_employee_id_prepare_payroll_positive_response_spec.rb b/spec/models/put_custom_datev_employees_employee_id_prepare_payroll_positive_response_spec.rb new file mode 100644 index 0000000..d2b14b7 --- /dev/null +++ b/spec/models/put_custom_datev_employees_employee_id_prepare_payroll_positive_response_spec.rb @@ -0,0 +1,52 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.13.0 + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Kombo::PutCustomDatevEmployeesEmployeeIdPreparePayrollPositiveResponse +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Kombo::PutCustomDatevEmployeesEmployeeIdPreparePayrollPositiveResponse do + let(:instance) { Kombo::PutCustomDatevEmployeesEmployeeIdPreparePayrollPositiveResponse.new } + + describe 'test an instance of PutCustomDatevEmployeesEmployeeIdPreparePayrollPositiveResponse' do + it 'should create an instance of PutCustomDatevEmployeesEmployeeIdPreparePayrollPositiveResponse' do + # uncomment below to test the instance creation + #expect(instance).to be_instance_of(Kombo::PutCustomDatevEmployeesEmployeeIdPreparePayrollPositiveResponse) + end + end + + describe 'test attribute "status"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + # validator = Petstore::EnumTest::EnumAttributeValidator.new('String', ["success"]) + # validator.allowable_values.each do |value| + # expect { instance.status = value }.not_to raise_error + # end + end + end + + describe 'test attribute "data"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "warnings"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/put_custom_datev_employees_employee_id_prepare_payroll_request_body_custom_lodas_inner_spec.rb b/spec/models/put_custom_datev_employees_employee_id_prepare_payroll_request_body_custom_lodas_inner_spec.rb new file mode 100644 index 0000000..bc31eef --- /dev/null +++ b/spec/models/put_custom_datev_employees_employee_id_prepare_payroll_request_body_custom_lodas_inner_spec.rb @@ -0,0 +1,48 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.13.0 + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Kombo::PutCustomDatevEmployeesEmployeeIdPreparePayrollRequestBodyCustomLodasInner +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Kombo::PutCustomDatevEmployeesEmployeeIdPreparePayrollRequestBodyCustomLodasInner do + let(:instance) { Kombo::PutCustomDatevEmployeesEmployeeIdPreparePayrollRequestBodyCustomLodasInner.new } + + describe 'test an instance of PutCustomDatevEmployeesEmployeeIdPreparePayrollRequestBodyCustomLodasInner' do + it 'should create an instance of PutCustomDatevEmployeesEmployeeIdPreparePayrollRequestBodyCustomLodasInner' do + # uncomment below to test the instance creation + #expect(instance).to be_instance_of(Kombo::PutCustomDatevEmployeesEmployeeIdPreparePayrollRequestBodyCustomLodasInner) + end + end + + describe 'test attribute "amount"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "lohnart"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "bearbeitungsschluessel"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/put_custom_datev_employees_employee_id_prepare_payroll_request_body_fixed_payments_inner_spec.rb b/spec/models/put_custom_datev_employees_employee_id_prepare_payroll_request_body_fixed_payments_inner_spec.rb new file mode 100644 index 0000000..6d328d5 --- /dev/null +++ b/spec/models/put_custom_datev_employees_employee_id_prepare_payroll_request_body_fixed_payments_inner_spec.rb @@ -0,0 +1,42 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.13.0 + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Kombo::PutCustomDatevEmployeesEmployeeIdPreparePayrollRequestBodyFixedPaymentsInner +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Kombo::PutCustomDatevEmployeesEmployeeIdPreparePayrollRequestBodyFixedPaymentsInner do + let(:instance) { Kombo::PutCustomDatevEmployeesEmployeeIdPreparePayrollRequestBodyFixedPaymentsInner.new } + + describe 'test an instance of PutCustomDatevEmployeesEmployeeIdPreparePayrollRequestBodyFixedPaymentsInner' do + it 'should create an instance of PutCustomDatevEmployeesEmployeeIdPreparePayrollRequestBodyFixedPaymentsInner' do + # uncomment below to test the instance creation + #expect(instance).to be_instance_of(Kombo::PutCustomDatevEmployeesEmployeeIdPreparePayrollRequestBodyFixedPaymentsInner) + end + end + + describe 'test attribute "amount"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "lohnart"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/put_custom_datev_employees_employee_id_prepare_payroll_request_body_hourly_payments_inner_spec.rb b/spec/models/put_custom_datev_employees_employee_id_prepare_payroll_request_body_hourly_payments_inner_spec.rb new file mode 100644 index 0000000..6dace75 --- /dev/null +++ b/spec/models/put_custom_datev_employees_employee_id_prepare_payroll_request_body_hourly_payments_inner_spec.rb @@ -0,0 +1,42 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.13.0 + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Kombo::PutCustomDatevEmployeesEmployeeIdPreparePayrollRequestBodyHourlyPaymentsInner +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Kombo::PutCustomDatevEmployeesEmployeeIdPreparePayrollRequestBodyHourlyPaymentsInner do + let(:instance) { Kombo::PutCustomDatevEmployeesEmployeeIdPreparePayrollRequestBodyHourlyPaymentsInner.new } + + describe 'test an instance of PutCustomDatevEmployeesEmployeeIdPreparePayrollRequestBodyHourlyPaymentsInner' do + it 'should create an instance of PutCustomDatevEmployeesEmployeeIdPreparePayrollRequestBodyHourlyPaymentsInner' do + # uncomment below to test the instance creation + #expect(instance).to be_instance_of(Kombo::PutCustomDatevEmployeesEmployeeIdPreparePayrollRequestBodyHourlyPaymentsInner) + end + end + + describe 'test attribute "hours"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "lohnart"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/put_custom_datev_employees_employee_id_prepare_payroll_request_body_payroll_run_spec.rb b/spec/models/put_custom_datev_employees_employee_id_prepare_payroll_request_body_payroll_run_spec.rb new file mode 100644 index 0000000..f3e17bc --- /dev/null +++ b/spec/models/put_custom_datev_employees_employee_id_prepare_payroll_request_body_payroll_run_spec.rb @@ -0,0 +1,36 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.13.0 + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Kombo::PutCustomDatevEmployeesEmployeeIdPreparePayrollRequestBodyPayrollRun +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Kombo::PutCustomDatevEmployeesEmployeeIdPreparePayrollRequestBodyPayrollRun do + let(:instance) { Kombo::PutCustomDatevEmployeesEmployeeIdPreparePayrollRequestBodyPayrollRun.new } + + describe 'test an instance of PutCustomDatevEmployeesEmployeeIdPreparePayrollRequestBodyPayrollRun' do + it 'should create an instance of PutCustomDatevEmployeesEmployeeIdPreparePayrollRequestBodyPayrollRun' do + # uncomment below to test the instance creation + #expect(instance).to be_instance_of(Kombo::PutCustomDatevEmployeesEmployeeIdPreparePayrollRequestBodyPayrollRun) + end + end + + describe 'test attribute "date"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/put_custom_datev_employees_employee_id_prepare_payroll_request_body_spec.rb b/spec/models/put_custom_datev_employees_employee_id_prepare_payroll_request_body_spec.rb new file mode 100644 index 0000000..75f7a85 --- /dev/null +++ b/spec/models/put_custom_datev_employees_employee_id_prepare_payroll_request_body_spec.rb @@ -0,0 +1,54 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.13.0 + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Kombo::PutCustomDatevEmployeesEmployeeIdPreparePayrollRequestBody +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Kombo::PutCustomDatevEmployeesEmployeeIdPreparePayrollRequestBody do + let(:instance) { Kombo::PutCustomDatevEmployeesEmployeeIdPreparePayrollRequestBody.new } + + describe 'test an instance of PutCustomDatevEmployeesEmployeeIdPreparePayrollRequestBody' do + it 'should create an instance of PutCustomDatevEmployeesEmployeeIdPreparePayrollRequestBody' do + # uncomment below to test the instance creation + #expect(instance).to be_instance_of(Kombo::PutCustomDatevEmployeesEmployeeIdPreparePayrollRequestBody) + end + end + + describe 'test attribute "payroll_run"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "hourly_payments"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "fixed_payments"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "custom_lodas"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/put_integrations_integration_id_custom_fields_custom_field_id_positive_response_spec.rb b/spec/models/put_integrations_integration_id_custom_fields_custom_field_id_positive_response_spec.rb new file mode 100644 index 0000000..f51f119 --- /dev/null +++ b/spec/models/put_integrations_integration_id_custom_fields_custom_field_id_positive_response_spec.rb @@ -0,0 +1,46 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.13.0 + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Kombo::PutIntegrationsIntegrationIdCustomFieldsCustomFieldIdPositiveResponse +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Kombo::PutIntegrationsIntegrationIdCustomFieldsCustomFieldIdPositiveResponse do + let(:instance) { Kombo::PutIntegrationsIntegrationIdCustomFieldsCustomFieldIdPositiveResponse.new } + + describe 'test an instance of PutIntegrationsIntegrationIdCustomFieldsCustomFieldIdPositiveResponse' do + it 'should create an instance of PutIntegrationsIntegrationIdCustomFieldsCustomFieldIdPositiveResponse' do + # uncomment below to test the instance creation + #expect(instance).to be_instance_of(Kombo::PutIntegrationsIntegrationIdCustomFieldsCustomFieldIdPositiveResponse) + end + end + + describe 'test attribute "status"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + # validator = Petstore::EnumTest::EnumAttributeValidator.new('String', ["success"]) + # validator.allowable_values.each do |value| + # expect { instance.status = value }.not_to raise_error + # end + end + end + + describe 'test attribute "data"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/put_integrations_integration_id_custom_fields_custom_field_id_request_body_spec.rb b/spec/models/put_integrations_integration_id_custom_fields_custom_field_id_request_body_spec.rb new file mode 100644 index 0000000..624002e --- /dev/null +++ b/spec/models/put_integrations_integration_id_custom_fields_custom_field_id_request_body_spec.rb @@ -0,0 +1,36 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.13.0 + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Kombo::PutIntegrationsIntegrationIdCustomFieldsCustomFieldIdRequestBody +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Kombo::PutIntegrationsIntegrationIdCustomFieldsCustomFieldIdRequestBody do + let(:instance) { Kombo::PutIntegrationsIntegrationIdCustomFieldsCustomFieldIdRequestBody.new } + + describe 'test an instance of PutIntegrationsIntegrationIdCustomFieldsCustomFieldIdRequestBody' do + it 'should create an instance of PutIntegrationsIntegrationIdCustomFieldsCustomFieldIdRequestBody' do + # uncomment below to test the instance creation + #expect(instance).to be_instance_of(Kombo::PutIntegrationsIntegrationIdCustomFieldsCustomFieldIdRequestBody) + end + end + + describe 'test attribute "integration_field_id"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/remote_event_received_webhook_payload_data_spec.rb b/spec/models/remote_event_received_webhook_payload_data_spec.rb new file mode 100644 index 0000000..91b874b --- /dev/null +++ b/spec/models/remote_event_received_webhook_payload_data_spec.rb @@ -0,0 +1,58 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.13.0 + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Kombo::RemoteEventReceivedWebhookPayloadData +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Kombo::RemoteEventReceivedWebhookPayloadData do + let(:instance) { Kombo::RemoteEventReceivedWebhookPayloadData.new } + + describe 'test an instance of RemoteEventReceivedWebhookPayloadData' do + it 'should create an instance of RemoteEventReceivedWebhookPayloadData' do + # uncomment below to test the instance creation + #expect(instance).to be_instance_of(Kombo::RemoteEventReceivedWebhookPayloadData) + end + end + + describe 'test attribute "integration_id"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "integration_tool"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "integration_category"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + # validator = Petstore::EnumTest::EnumAttributeValidator.new('String', ["HRIS", "ATS", "ASSESSMENT"]) + # validator.allowable_values.each do |value| + # expect { instance.integration_category = value }.not_to raise_error + # end + end + end + + describe 'test attribute "end_user"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/remote_event_received_webhook_payload_spec.rb b/spec/models/remote_event_received_webhook_payload_spec.rb new file mode 100644 index 0000000..bf34684 --- /dev/null +++ b/spec/models/remote_event_received_webhook_payload_spec.rb @@ -0,0 +1,52 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.13.0 + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Kombo::RemoteEventReceivedWebhookPayload +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Kombo::RemoteEventReceivedWebhookPayload do + let(:instance) { Kombo::RemoteEventReceivedWebhookPayload.new } + + describe 'test an instance of RemoteEventReceivedWebhookPayload' do + it 'should create an instance of RemoteEventReceivedWebhookPayload' do + # uncomment below to test the instance creation + #expect(instance).to be_instance_of(Kombo::RemoteEventReceivedWebhookPayload) + end + end + + describe 'test attribute "id"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "type"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + # validator = Petstore::EnumTest::EnumAttributeValidator.new('String', ["remote-event-received"]) + # validator.allowable_values.each do |value| + # expect { instance.type = value }.not_to raise_error + # end + end + end + + describe 'test attribute "data"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/schema1_value_spec.rb b/spec/models/schema1_value_spec.rb new file mode 100644 index 0000000..6d4bb6d --- /dev/null +++ b/spec/models/schema1_value_spec.rb @@ -0,0 +1,21 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.13.0 + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Kombo::Schema1Value +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Kombo::Schema1Value do +end diff --git a/spec/models/schema2_any_of1_spec.rb b/spec/models/schema2_any_of1_spec.rb new file mode 100644 index 0000000..8c9ada5 --- /dev/null +++ b/spec/models/schema2_any_of1_spec.rb @@ -0,0 +1,80 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.13.0 + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Kombo::Schema2AnyOf1 +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Kombo::Schema2AnyOf1 do + let(:instance) { Kombo::Schema2AnyOf1.new } + + describe 'test an instance of Schema2AnyOf1' do + it 'should create an instance of Schema2AnyOf1' do + # uncomment below to test the instance creation + #expect(instance).to be_instance_of(Kombo::Schema2AnyOf1) + end + end + + describe 'test attribute "label"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "required"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "description"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "unified_key"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + # validator = Petstore::EnumTest::EnumAttributeValidator.new('String', ["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"]) + # validator.allowable_values.each do |value| + # expect { instance.unified_key = value }.not_to raise_error + # end + end + end + + describe 'test attribute "type"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + # validator = Petstore::EnumTest::EnumAttributeValidator.new('String', ["number"]) + # validator.allowable_values.each do |value| + # expect { instance.type = value }.not_to raise_error + # end + end + end + + describe 'test attribute "min"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "max"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/schema2_any_of2_spec.rb b/spec/models/schema2_any_of2_spec.rb new file mode 100644 index 0000000..39b4d3e --- /dev/null +++ b/spec/models/schema2_any_of2_spec.rb @@ -0,0 +1,68 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.13.0 + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Kombo::Schema2AnyOf2 +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Kombo::Schema2AnyOf2 do + let(:instance) { Kombo::Schema2AnyOf2.new } + + describe 'test an instance of Schema2AnyOf2' do + it 'should create an instance of Schema2AnyOf2' do + # uncomment below to test the instance creation + #expect(instance).to be_instance_of(Kombo::Schema2AnyOf2) + end + end + + describe 'test attribute "label"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "required"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "description"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "unified_key"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + # validator = Petstore::EnumTest::EnumAttributeValidator.new('String', ["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"]) + # validator.allowable_values.each do |value| + # expect { instance.unified_key = value }.not_to raise_error + # end + end + end + + describe 'test attribute "type"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + # validator = Petstore::EnumTest::EnumAttributeValidator.new('String', ["date"]) + # validator.allowable_values.each do |value| + # expect { instance.type = value }.not_to raise_error + # end + end + end + +end diff --git a/spec/models/schema2_any_of3_options_any_of1_spec.rb b/spec/models/schema2_any_of3_options_any_of1_spec.rb new file mode 100644 index 0000000..e619024 --- /dev/null +++ b/spec/models/schema2_any_of3_options_any_of1_spec.rb @@ -0,0 +1,46 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.13.0 + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Kombo::Schema2AnyOf3OptionsAnyOf1 +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Kombo::Schema2AnyOf3OptionsAnyOf1 do + let(:instance) { Kombo::Schema2AnyOf3OptionsAnyOf1.new } + + describe 'test an instance of Schema2AnyOf3OptionsAnyOf1' do + it 'should create an instance of Schema2AnyOf3OptionsAnyOf1' do + # uncomment below to test the instance creation + #expect(instance).to be_instance_of(Kombo::Schema2AnyOf3OptionsAnyOf1) + end + end + + describe 'test attribute "type"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + # validator = Petstore::EnumTest::EnumAttributeValidator.new('String', ["referenced"]) + # validator.allowable_values.each do |value| + # expect { instance.type = value }.not_to raise_error + # end + end + end + + describe 'test attribute "link"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/schema2_any_of3_options_any_of_entries_inner_remote_id_spec.rb b/spec/models/schema2_any_of3_options_any_of_entries_inner_remote_id_spec.rb new file mode 100644 index 0000000..12c21b2 --- /dev/null +++ b/spec/models/schema2_any_of3_options_any_of_entries_inner_remote_id_spec.rb @@ -0,0 +1,32 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.13.0 + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Kombo::Schema2AnyOf3OptionsAnyOfEntriesInnerRemoteId +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Kombo::Schema2AnyOf3OptionsAnyOfEntriesInnerRemoteId do + describe '.openapi_one_of' do + it 'lists the items referenced in the oneOf array' do + expect(described_class.openapi_one_of).to_not be_empty + end + end + + describe '.build' do + it 'returns the correct model' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end +end diff --git a/spec/models/schema2_any_of3_options_any_of_entries_inner_spec.rb b/spec/models/schema2_any_of3_options_any_of_entries_inner_spec.rb new file mode 100644 index 0000000..6d01bb5 --- /dev/null +++ b/spec/models/schema2_any_of3_options_any_of_entries_inner_spec.rb @@ -0,0 +1,54 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.13.0 + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Kombo::Schema2AnyOf3OptionsAnyOfEntriesInner +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Kombo::Schema2AnyOf3OptionsAnyOfEntriesInner do + let(:instance) { Kombo::Schema2AnyOf3OptionsAnyOfEntriesInner.new } + + describe 'test an instance of Schema2AnyOf3OptionsAnyOfEntriesInner' do + it 'should create an instance of Schema2AnyOf3OptionsAnyOfEntriesInner' do + # uncomment below to test the instance creation + #expect(instance).to be_instance_of(Kombo::Schema2AnyOf3OptionsAnyOfEntriesInner) + end + end + + describe 'test attribute "id"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "label"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "unified_value"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "remote_id"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/schema2_any_of3_options_any_of_spec.rb b/spec/models/schema2_any_of3_options_any_of_spec.rb new file mode 100644 index 0000000..d478611 --- /dev/null +++ b/spec/models/schema2_any_of3_options_any_of_spec.rb @@ -0,0 +1,46 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.13.0 + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Kombo::Schema2AnyOf3OptionsAnyOf +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Kombo::Schema2AnyOf3OptionsAnyOf do + let(:instance) { Kombo::Schema2AnyOf3OptionsAnyOf.new } + + describe 'test an instance of Schema2AnyOf3OptionsAnyOf' do + it 'should create an instance of Schema2AnyOf3OptionsAnyOf' do + # uncomment below to test the instance creation + #expect(instance).to be_instance_of(Kombo::Schema2AnyOf3OptionsAnyOf) + end + end + + describe 'test attribute "type"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + # validator = Petstore::EnumTest::EnumAttributeValidator.new('String', ["inline"]) + # validator.allowable_values.each do |value| + # expect { instance.type = value }.not_to raise_error + # end + end + end + + describe 'test attribute "entries"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/schema2_any_of3_options_spec.rb b/spec/models/schema2_any_of3_options_spec.rb new file mode 100644 index 0000000..6ac8a8f --- /dev/null +++ b/spec/models/schema2_any_of3_options_spec.rb @@ -0,0 +1,21 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.13.0 + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Kombo::Schema2AnyOf3Options +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Kombo::Schema2AnyOf3Options do +end diff --git a/spec/models/schema2_any_of3_spec.rb b/spec/models/schema2_any_of3_spec.rb new file mode 100644 index 0000000..203a822 --- /dev/null +++ b/spec/models/schema2_any_of3_spec.rb @@ -0,0 +1,74 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.13.0 + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Kombo::Schema2AnyOf3 +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Kombo::Schema2AnyOf3 do + let(:instance) { Kombo::Schema2AnyOf3.new } + + describe 'test an instance of Schema2AnyOf3' do + it 'should create an instance of Schema2AnyOf3' do + # uncomment below to test the instance creation + #expect(instance).to be_instance_of(Kombo::Schema2AnyOf3) + end + end + + describe 'test attribute "label"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "required"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "description"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "unified_key"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + # validator = Petstore::EnumTest::EnumAttributeValidator.new('String', ["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"]) + # validator.allowable_values.each do |value| + # expect { instance.unified_key = value }.not_to raise_error + # end + end + end + + describe 'test attribute "type"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + # validator = Petstore::EnumTest::EnumAttributeValidator.new('String', ["single_select"]) + # validator.allowable_values.each do |value| + # expect { instance.type = value }.not_to raise_error + # end + end + end + + describe 'test attribute "options"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/schema2_any_of4_spec.rb b/spec/models/schema2_any_of4_spec.rb new file mode 100644 index 0000000..1409cee --- /dev/null +++ b/spec/models/schema2_any_of4_spec.rb @@ -0,0 +1,82 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.13.0 + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Kombo::Schema2AnyOf4 +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Kombo::Schema2AnyOf4 do + let(:instance) { Kombo::Schema2AnyOf4.new } + + describe 'test an instance of Schema2AnyOf4' do + it 'should create an instance of Schema2AnyOf4' do + # uncomment below to test the instance creation + #expect(instance).to be_instance_of(Kombo::Schema2AnyOf4) + end + end + + describe 'test attribute "label"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "required"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "description"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "unified_key"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "type"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + # validator = Petstore::EnumTest::EnumAttributeValidator.new('String', ["multi_select"]) + # validator.allowable_values.each do |value| + # expect { instance.type = value }.not_to raise_error + # end + end + end + + describe 'test attribute "min_items"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "max_items"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "options"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/schema2_any_of5_spec.rb b/spec/models/schema2_any_of5_spec.rb new file mode 100644 index 0000000..185ff02 --- /dev/null +++ b/spec/models/schema2_any_of5_spec.rb @@ -0,0 +1,68 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.13.0 + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Kombo::Schema2AnyOf5 +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Kombo::Schema2AnyOf5 do + let(:instance) { Kombo::Schema2AnyOf5.new } + + describe 'test an instance of Schema2AnyOf5' do + it 'should create an instance of Schema2AnyOf5' do + # uncomment below to test the instance creation + #expect(instance).to be_instance_of(Kombo::Schema2AnyOf5) + end + end + + describe 'test attribute "label"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "required"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "description"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "unified_key"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + # validator = Petstore::EnumTest::EnumAttributeValidator.new('String', ["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"]) + # validator.allowable_values.each do |value| + # expect { instance.unified_key = value }.not_to raise_error + # end + end + end + + describe 'test attribute "type"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + # validator = Petstore::EnumTest::EnumAttributeValidator.new('String', ["checkbox"]) + # validator.allowable_values.each do |value| + # expect { instance.type = value }.not_to raise_error + # end + end + end + +end diff --git a/spec/models/schema2_any_of6_spec.rb b/spec/models/schema2_any_of6_spec.rb new file mode 100644 index 0000000..5d04ded --- /dev/null +++ b/spec/models/schema2_any_of6_spec.rb @@ -0,0 +1,74 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.13.0 + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Kombo::Schema2AnyOf6 +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Kombo::Schema2AnyOf6 do + let(:instance) { Kombo::Schema2AnyOf6.new } + + describe 'test an instance of Schema2AnyOf6' do + it 'should create an instance of Schema2AnyOf6' do + # uncomment below to test the instance creation + #expect(instance).to be_instance_of(Kombo::Schema2AnyOf6) + end + end + + describe 'test attribute "label"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "required"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "description"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "unified_key"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + # validator = Petstore::EnumTest::EnumAttributeValidator.new('String', ["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"]) + # validator.allowable_values.each do |value| + # expect { instance.unified_key = value }.not_to raise_error + # end + end + end + + describe 'test attribute "type"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + # validator = Petstore::EnumTest::EnumAttributeValidator.new('String', ["object"]) + # validator.allowable_values.each do |value| + # expect { instance.type = value }.not_to raise_error + # end + end + end + + describe 'test attribute "properties"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/schema2_any_of7_spec.rb b/spec/models/schema2_any_of7_spec.rb new file mode 100644 index 0000000..eb1c8e1 --- /dev/null +++ b/spec/models/schema2_any_of7_spec.rb @@ -0,0 +1,86 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.13.0 + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Kombo::Schema2AnyOf7 +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Kombo::Schema2AnyOf7 do + let(:instance) { Kombo::Schema2AnyOf7.new } + + describe 'test an instance of Schema2AnyOf7' do + it 'should create an instance of Schema2AnyOf7' do + # uncomment below to test the instance creation + #expect(instance).to be_instance_of(Kombo::Schema2AnyOf7) + end + end + + describe 'test attribute "label"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "required"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "description"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "unified_key"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + # validator = Petstore::EnumTest::EnumAttributeValidator.new('String', ["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"]) + # validator.allowable_values.each do |value| + # expect { instance.unified_key = value }.not_to raise_error + # end + end + end + + describe 'test attribute "type"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + # validator = Petstore::EnumTest::EnumAttributeValidator.new('String', ["array"]) + # validator.allowable_values.each do |value| + # expect { instance.type = value }.not_to raise_error + # end + end + end + + describe 'test attribute "item_type"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "min_items"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "max_items"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/schema2_any_of8_file_restrictions_spec.rb b/spec/models/schema2_any_of8_file_restrictions_spec.rb new file mode 100644 index 0000000..967b12c --- /dev/null +++ b/spec/models/schema2_any_of8_file_restrictions_spec.rb @@ -0,0 +1,42 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.13.0 + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Kombo::Schema2AnyOf8FileRestrictions +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Kombo::Schema2AnyOf8FileRestrictions do + let(:instance) { Kombo::Schema2AnyOf8FileRestrictions.new } + + describe 'test an instance of Schema2AnyOf8FileRestrictions' do + it 'should create an instance of Schema2AnyOf8FileRestrictions' do + # uncomment below to test the instance creation + #expect(instance).to be_instance_of(Kombo::Schema2AnyOf8FileRestrictions) + end + end + + describe 'test attribute "accepted_mime_types"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "max_file_size"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/schema2_any_of8_spec.rb b/spec/models/schema2_any_of8_spec.rb new file mode 100644 index 0000000..84c5c00 --- /dev/null +++ b/spec/models/schema2_any_of8_spec.rb @@ -0,0 +1,74 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.13.0 + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Kombo::Schema2AnyOf8 +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Kombo::Schema2AnyOf8 do + let(:instance) { Kombo::Schema2AnyOf8.new } + + describe 'test an instance of Schema2AnyOf8' do + it 'should create an instance of Schema2AnyOf8' do + # uncomment below to test the instance creation + #expect(instance).to be_instance_of(Kombo::Schema2AnyOf8) + end + end + + describe 'test attribute "label"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "required"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "description"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "unified_key"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + # validator = Petstore::EnumTest::EnumAttributeValidator.new('String', ["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"]) + # validator.allowable_values.each do |value| + # expect { instance.unified_key = value }.not_to raise_error + # end + end + end + + describe 'test attribute "type"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + # validator = Petstore::EnumTest::EnumAttributeValidator.new('String', ["file"]) + # validator.allowable_values.each do |value| + # expect { instance.type = value }.not_to raise_error + # end + end + end + + describe 'test attribute "file_restrictions"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/schema2_any_of_spec.rb b/spec/models/schema2_any_of_spec.rb new file mode 100644 index 0000000..2259a39 --- /dev/null +++ b/spec/models/schema2_any_of_spec.rb @@ -0,0 +1,86 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.13.0 + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Kombo::Schema2AnyOf +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Kombo::Schema2AnyOf do + let(:instance) { Kombo::Schema2AnyOf.new } + + describe 'test an instance of Schema2AnyOf' do + it 'should create an instance of Schema2AnyOf' do + # uncomment below to test the instance creation + #expect(instance).to be_instance_of(Kombo::Schema2AnyOf) + end + end + + describe 'test attribute "label"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "required"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "description"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "unified_key"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + # validator = Petstore::EnumTest::EnumAttributeValidator.new('String', ["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"]) + # validator.allowable_values.each do |value| + # expect { instance.unified_key = value }.not_to raise_error + # end + end + end + + describe 'test attribute "type"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + # validator = Petstore::EnumTest::EnumAttributeValidator.new('String', ["text"]) + # validator.allowable_values.each do |value| + # expect { instance.type = value }.not_to raise_error + # end + end + end + + describe 'test attribute "min_length"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "max_length"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "reg_exp"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/schema2_spec.rb b/spec/models/schema2_spec.rb new file mode 100644 index 0000000..cb280cd --- /dev/null +++ b/spec/models/schema2_spec.rb @@ -0,0 +1,21 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.13.0 + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Kombo::Schema2 +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Kombo::Schema2 do +end diff --git a/spec/models/schema4_spec.rb b/spec/models/schema4_spec.rb new file mode 100644 index 0000000..f933988 --- /dev/null +++ b/spec/models/schema4_spec.rb @@ -0,0 +1,32 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.13.0 + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Kombo::Schema4 +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Kombo::Schema4 do + describe '.openapi_one_of' do + it 'lists the items referenced in the oneOf array' do + expect(described_class.openapi_one_of).to_not be_empty + end + end + + describe '.build' do + it 'returns the correct model' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end +end diff --git a/spec/models/sync_finished_webhook_payload_data_spec.rb b/spec/models/sync_finished_webhook_payload_data_spec.rb new file mode 100644 index 0000000..32f1a90 --- /dev/null +++ b/spec/models/sync_finished_webhook_payload_data_spec.rb @@ -0,0 +1,94 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.13.0 + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Kombo::SyncFinishedWebhookPayloadData +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Kombo::SyncFinishedWebhookPayloadData do + let(:instance) { Kombo::SyncFinishedWebhookPayloadData.new } + + describe 'test an instance of SyncFinishedWebhookPayloadData' do + it 'should create an instance of SyncFinishedWebhookPayloadData' do + # uncomment below to test the instance creation + #expect(instance).to be_instance_of(Kombo::SyncFinishedWebhookPayloadData) + end + end + + describe 'test attribute "sync_id"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "sync_state"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "sync_started_at"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "sync_ended_at"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "sync_duration_seconds"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "integration_id"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "integration_tool"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "integration_category"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + # validator = Petstore::EnumTest::EnumAttributeValidator.new('String', ["HRIS", "ATS", "ASSESSMENT"]) + # validator.allowable_values.each do |value| + # expect { instance.integration_category = value }.not_to raise_error + # end + end + end + + describe 'test attribute "end_user"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "log_url"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/sync_finished_webhook_payload_spec.rb b/spec/models/sync_finished_webhook_payload_spec.rb new file mode 100644 index 0000000..b223468 --- /dev/null +++ b/spec/models/sync_finished_webhook_payload_spec.rb @@ -0,0 +1,52 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.13.0 + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Kombo::SyncFinishedWebhookPayload +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Kombo::SyncFinishedWebhookPayload do + let(:instance) { Kombo::SyncFinishedWebhookPayload.new } + + describe 'test an instance of SyncFinishedWebhookPayload' do + it 'should create an instance of SyncFinishedWebhookPayload' do + # uncomment below to test the instance creation + #expect(instance).to be_instance_of(Kombo::SyncFinishedWebhookPayload) + end + end + + describe 'test attribute "id"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "type"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + # validator = Petstore::EnumTest::EnumAttributeValidator.new('String', ["sync-finished"]) + # validator.allowable_values.each do |value| + # expect { instance.type = value }.not_to raise_error + # end + end + end + + describe 'test attribute "data"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/spec_helper.rb b/spec/spec_helper.rb new file mode 100644 index 0000000..17174fc --- /dev/null +++ b/spec/spec_helper.rb @@ -0,0 +1,111 @@ +=begin +#Kombo API + +#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech +Generator version: 7.17.0 + +=end + +# load the gem +require 'kombo_client' + +# The following was generated by the `rspec --init` command. Conventionally, all +# specs live under a `spec` directory, which RSpec adds to the `$LOAD_PATH`. +# The generated `.rspec` file contains `--require spec_helper` which will cause +# this file to always be loaded, without a need to explicitly require it in any +# files. +# +# Given that it is always loaded, you are encouraged to keep this file as +# light-weight as possible. Requiring heavyweight dependencies from this file +# will add to the boot time of your test suite on EVERY test run, even for an +# individual file that may not need all of that loaded. Instead, consider making +# a separate helper file that requires the additional dependencies and performs +# the additional setup, and require it from the spec files that actually need +# it. +# +# The `.rspec` file also contains a few flags that are not defaults but that +# users commonly want. +# +# See http://rubydoc.info/gems/rspec-core/RSpec/Core/Configuration +RSpec.configure do |config| + # rspec-expectations config goes here. You can use an alternate + # assertion/expectation library such as wrong or the stdlib/minitest + # assertions if you prefer. + config.expect_with :rspec do |expectations| + # This option will default to `true` in RSpec 4. It makes the `description` + # and `failure_message` of custom matchers include text for helper methods + # defined using `chain`, e.g.: + # be_bigger_than(2).and_smaller_than(4).description + # # => "be bigger than 2 and smaller than 4" + # ...rather than: + # # => "be bigger than 2" + expectations.include_chain_clauses_in_custom_matcher_descriptions = true + end + + # rspec-mocks config goes here. You can use an alternate test double + # library (such as bogus or mocha) by changing the `mock_with` option here. + config.mock_with :rspec do |mocks| + # Prevents you from mocking or stubbing a method that does not exist on + # a real object. This is generally recommended, and will default to + # `true` in RSpec 4. + mocks.verify_partial_doubles = true + end + +# The settings below are suggested to provide a good initial experience +# with RSpec, but feel free to customize to your heart's content. +=begin + # These two settings work together to allow you to limit a spec run + # to individual examples or groups you care about by tagging them with + # `:focus` metadata. When nothing is tagged with `:focus`, all examples + # get run. + config.filter_run :focus + config.run_all_when_everything_filtered = true + + # Allows RSpec to persist some state between runs in order to support + # the `--only-failures` and `--next-failure` CLI options. We recommend + # you configure your source control system to ignore this file. + config.example_status_persistence_file_path = "spec/examples.txt" + + # Limits the available syntax to the non-monkey patched syntax that is + # recommended. For more details, see: + # - http://rspec.info/blog/2012/06/rspecs-new-expectation-syntax/ + # - http://www.teaisaweso.me/blog/2013/05/27/rspecs-new-message-expectation-syntax/ + # - http://rspec.info/blog/2014/05/notable-changes-in-rspec-3/#zero-monkey-patching-mode + config.disable_monkey_patching! + + # This setting enables warnings. It's recommended, but in some cases may + # be too noisy due to issues in dependencies. + config.warnings = true + + # Many RSpec users commonly either run the entire suite or an individual + # file, and it's useful to allow more verbose output when running an + # individual spec file. + if config.files_to_run.one? + # Use the documentation formatter for detailed output, + # unless a formatter has already been configured + # (e.g. via a command-line flag). + config.default_formatter = 'doc' + end + + # Print the 10 slowest examples and example groups at the + # end of the spec run, to help surface which specs are running + # particularly slow. + config.profile_examples = 10 + + # Run specs in random order to surface order dependencies. If you find an + # order dependency and want to debug it, you can fix the order by providing + # the seed, which is printed after each run. + # --seed 1234 + config.order = :random + + # Seed global randomization in this process using the `--seed` CLI option. + # Setting this allows you to use `--seed` to deterministically reproduce + # test failures related to randomization by passing the same `--seed` value + # as the one that triggered the failure. + Kernel.srand config.seed +=end +end