generated: '2026-07-21' method: derived source: openapi/vcv-openapi.yml — entity graph derived from components.schemas id-reference fields (candidate_id, vacancy_id, response_id, ...). VCV publishes no separate object reference; ids are plain integers with no documented prefixes. notation: relationships use belongs_to with the foreign-key field name; direction is from the entity that owns the reference. Inverse has_many relations are implied. entities: - name: Candidate fields: 5 - name: CandidateName fields: 4 - name: CandidatePhone fields: 3 - name: CompanyLimits fields: 38 - name: CompetenceLevel fields: 4 - name: CompetenceView fields: 2 - name: Country fields: 4 - name: Dialog fields: 5 - name: Enumeration fields: 5 - name: EnumerationItem fields: 6 - name: Interview fields: 5 - name: InterviewRefusal fields: 4 - name: InterviewStage fields: 3 - name: Invite fields: 9 - name: InviteStatus fields: 2 - name: Language fields: 4 - name: PaginationProperties fields: 4 - name: Partition fields: 22 - name: Permission fields: 5 - name: PublicInterview fields: 7 - name: RemindEmail fields: 8 - name: Response fields: 20 - name: ResponseAttribute fields: 7 - name: ResponseAttributeValue fields: 6 - name: ResponseComment fields: 5 - name: ResponseEvent fields: 9 - name: ResponseResume fields: 4 - name: ResponseSource fields: 2 - name: ResponseStatus fields: 13 - name: ResponseStatusEmailTemplate fields: 8 - name: ResponseTag fields: 4 - name: ResponseVideointerview fields: 8 - name: Role fields: 3 - name: Survey fields: 7 - name: SurveyAnswer fields: 7 - name: SurveyQuestion fields: 12 - name: SurveyRecord fields: 9 - name: SurveyTemplate fields: 3 - name: SurveyTemplateAnswer fields: 7 - name: SurveyTemplateQuestion fields: 12 - name: Tag fields: 7 - name: Test fields: 6 - name: TestAnswer fields: 5 - name: TestCandidateAnswer fields: 4 - name: TestQuestion fields: 13 - name: TestQuestionMedia fields: 11 - name: User fields: 9 - name: Vacancy fields: 7 - name: VacancyCompetence fields: 7 - name: VacancyIntegration fields: 5 - name: VacancyModule fields: 4 - name: VacancyModuleStage fields: 6 - name: VacancyTest fields: 13 - name: VacancyTestAnswer fields: 7 - name: VacancyTestQuestion fields: 13 - name: VacancyTestQuestionMedia fields: 6 - name: VacancyTestQuestionVariable fields: 9 - name: VacancyUrlHistory fields: 3 - name: VacancyVideointerview fields: 4 - name: Video fields: 15 - name: VideoResponse fields: 20 - name: VideointerviewQuestion fields: 16 - name: Webhook fields: 10 relationships: - from: CandidateName relation: belongs_to to: Candidate via: candidate_id - from: CandidatePhone relation: belongs_to to: Candidate via: candidate_id - from: CompanyLimits relation: belongs_to to: User via: user_id - from: Dialog relation: belongs_to to: Candidate via: candidate_id - from: EnumerationItem relation: belongs_to to: Enumeration via: enumeration_id - from: Interview relation: belongs_to to: InterviewStage via: interview_stage_id - from: Interview relation: belongs_to to: Candidate via: candidate_id - from: InterviewRefusal relation: belongs_to to: Interview via: interview_id - from: Invite relation: belongs_to to: Vacancy via: vacancy_id - from: Invite relation: belongs_to to: Candidate via: candidate_id - from: Invite relation: belongs_to to: InviteStatus via: invite_status_id - from: Invite relation: belongs_to to: InterviewRefusal via: interview_refusal_id - from: Invite relation: belongs_to to: Interview via: interview_id - from: Partition relation: belongs_to to: Response via: response_id - from: Permission relation: belongs_to to: User via: user_id - from: Permission relation: belongs_to to: Vacancy via: vacancy_id - from: PublicInterview relation: belongs_to to: InterviewStage via: interview_stage_id - from: PublicInterview relation: belongs_to to: Candidate via: candidate_id - from: RemindEmail relation: belongs_to to: Vacancy via: vacancy_id - from: Response relation: belongs_to to: Vacancy via: vacancy_id - from: Response relation: belongs_to to: Candidate via: candidate_id - from: Response relation: belongs_to to: ResponseStatus via: response_status_id - from: Response relation: belongs_to to: ResponseSource via: response_source_id - from: Response relation: belongs_to to: Interview via: interview_id - from: ResponseAttributeValue relation: belongs_to to: Response via: response_id - from: ResponseAttributeValue relation: belongs_to to: ResponseAttribute via: response_attribute_id - from: ResponseComment relation: belongs_to to: Response via: response_id - from: ResponseComment relation: belongs_to to: User via: user_id - from: ResponseEvent relation: belongs_to to: Vacancy via: vacancy_id - from: ResponseEvent relation: belongs_to to: Response via: response_id - from: ResponseEvent relation: belongs_to to: User via: user_id - from: ResponseResume relation: belongs_to to: Response via: response_id - from: ResponseStatusEmailTemplate relation: belongs_to to: Vacancy via: vacancy_id - from: ResponseStatusEmailTemplate relation: belongs_to to: ResponseStatus via: response_status_id - from: ResponseTag relation: belongs_to to: User via: user_id - from: ResponseTag relation: belongs_to to: Tag via: tag_id - from: ResponseTag relation: belongs_to to: Response via: response_id - from: ResponseVideointerview relation: belongs_to to: Response via: response_id - from: Survey relation: belongs_to to: Response via: response_id - from: SurveyAnswer relation: belongs_to to: SurveyQuestion via: question_id - from: SurveyQuestion relation: belongs_to to: Survey via: survey_id - from: SurveyRecord relation: belongs_to to: Survey via: survey_id - from: SurveyRecord relation: belongs_to to: SurveyQuestion via: question_id - from: SurveyTemplate relation: belongs_to to: Vacancy via: vacancy_id - from: SurveyTemplateAnswer relation: belongs_to to: SurveyTemplateQuestion via: question_id - from: SurveyTemplateQuestion relation: belongs_to to: SurveyTemplate via: template_id - from: Tag relation: belongs_to to: User via: user_id - from: Test relation: belongs_to to: Response via: response_id - from: Vacancy relation: belongs_to to: User via: user_id - from: Vacancy relation: belongs_to to: Language via: language_id - from: VacancyCompetence relation: belongs_to to: CompetenceView via: competence_view_id - from: VacancyCompetence relation: belongs_to to: CompetenceLevel via: competence_level_id - from: VacancyCompetence relation: belongs_to to: Vacancy via: vacancy_id - from: VacancyIntegration relation: belongs_to to: Vacancy via: vacancy_id - from: VacancyModule relation: belongs_to to: Vacancy via: vacancy_id - from: VacancyModuleStage relation: belongs_to to: Vacancy via: vacancy_id - from: VacancyTest relation: belongs_to to: Vacancy via: vacancy_id - from: VacancyUrlHistory relation: belongs_to to: Vacancy via: vacancy_id - from: VacancyVideointerview relation: belongs_to to: Vacancy via: vacancy_id - from: VideointerviewQuestion relation: belongs_to to: Video via: video_id - from: Webhook relation: belongs_to to: User via: user_id