components:
  examples:
    VacancyDraftVacancyDraftResponse:
      value:
        id: '22'
        name: New vacancy draft1
        publication_ready: false
        validation_errors:
          - reason: too_short
            value: description
          - reason: too_long
            value: name
        ignored_fields:
          - area
          - salary
          - employment
    ProfileVideosProfileVideosList:
      value:
        items:
          - download_url:
              expires_at: '2022-01-01T12:00:00+0300'
              url: 'https://storage.yandexcloud.net/...'
            id: ec6b42e5-b0fb-4f72-b81b-5b44f8c09968
    EmployerAddresses:
      value:
        items:
          - city: Moscow
            street: Godovikova Street
            building: 9c10
            description: A passport is required on the reception
            raw: 'Moscow, Godovikova Street, 9c10'
            lat: 55.807794
            lng: 37.638699
            deleted: false
            manager:
              id: '11'
              full_name: Dostoevsky Fyodor Mikhailovich
            can_edit: true
            metro_stations:
              - station_name: Dobrininskaya
                line_name: Koltzevaya
                station_id: '5.36'
                line_id: '5'
                lat: 55.728994
                lng: 37.622533
            id: '15'
        found: 1
        page: 0
        pages: 1
        per_page: 20
    EmployerAddressItem:
      value:
        city: Moscow
        street: Godovikova Street
        building: 9c10
        lat: 55.807794
        lng: 37.638699
        description: A passport is required on the reception
        raw: 'Moscow, Godovikova Street, 9c10'
        manager:
          id: '10'
          full_name: Dostoevsky Fyodor Mikhailovich
        metro_stations:
          - station_name: Dobryninskaya
            line_name: Koltzevaya
            station_id: '5.36'
            line_id: '5'
            lat: 55.728994
            lng: 37.622533
        can_edit: true
        deleted: false
        id: '15'
    EmployerManagerId:
      value:
        id: '78789890'
    MetroCityMetro:
      value:
        id: '1'
        name: Moscow
        lines:
          - hex_color: '339999'
            id: '11'
            name: Kakhovskaya
            stations:
              - id: '11.46'
                name: Kashirskaya
                lat: 55.654327
                lng: 37.647705
                order: 0
                line:
                  id: '11'
                  hex_color: 88CDCF
                  name: Kakhovskaya
    EmployerManagerInfo:
      value:
        id: '1507922'
        manager_type:
          id: manager
          name: Manager
        email: employer@example.com
        full_name: Ivanov Ivan Ivanovich
        last_name: Ivanov
        first_name: Ivan
        middle_name: Ivanovich
        vacancies_count: 0
        is_main_contact_person: false
        phone:
          country: '7'
          city: '495'
          number: '1568055'
          comment: 'from 9:00 AM to 5:00 PM'
        additional_phone:
          country: '7'
          city: '916'
          number: '4555555'
          comment: personal
        position: HR Manager
        permissions:
          - id: can_create_vacancy
            name: Creation and extension of vacancies
          - id: can_view_resume_contacts
            name: View contacts of the applicant
        area:
          id: '1'
          name: Moscow
          url: 'https://api.hh.ru/areas/1'
    SavedSearchesSavedSearchesVacancies:
      value:
        per_page: 1
        page: 0
        found: 1
        pages: 1
        items:
          - id: '123'
            name: Test autosearch
            created_at: '2014-04-11T13:12:17+0400'
            subscription: true
            items:
              count: 304234
              url: 'https://api.hh.ru/vacancies?area=1&saved_search_id=123'
            new_items:
              count: 12
              url: 'https://api.hh.ru/vacancies?area=1&saved_search_id=123&date_from=2014-01-11T13%3A12%3A17%2B0400'
    SuggestsSuggestsAreas:
      value:
        items:
          - url: 'https://api.hh.ru/areas/1'
            text: Moscow
            id: '1'
          - url: 'https://api.hh.ru/areas/2019'
            text: Moscow Region
            id: '2019'
    SuggestsSuggestsPositions:
      value:
        items:
          - text: Business Development Manager
            id: '2569'
            professional_roles:
              - id: '70'
                name: Customer relationship manager
                accept_incomplete_resumes: false
    VacanciesVacancyProlongateUnavailable:
      value:
        id: '123456789'
        expires_at: '2015-11-19T17:10:48+0300'
        actions:
          - id: prolongate
            enabled: false
            disable_reason:
              id: standard_plus_publication_is_updated_automatically
              name: A "Standard Plus" vacancy cannot be extended — it happens automatically once every three days.
    ResumeResumeViewEmployer:
      value:
        last_name: Ivanov
        first_name: Ivan
        middle_name: null
        title: API Test Resume
        created_at: '2023-05-25T14:22:06+0300'
        updated_at: '2023-05-25T14:22:06+0300'
        area:
          id: '1'
          name: Moscow
          url: 'https://api.hh.ru/areas/1'
        age: 29
        gender:
          id: male
          name: Male
        salary:
          amount: 10000
          currency: USD
        photo:
          '40': 'https://hhcdn.ru/photo/00970.png'
          '100': 'https://hhcdn.ru/photo/00971.png'
          '500': 'https://hhcdn.ru/photo/00972.png'
          small: 'https://hhcdn.ru/photo/00971.png'
          medium: 'https://hhcdn.ru/photo/00972.png'
        total_experience:
          months: 14
        certificate: []
        owner:
          id: '54765267'
          comments:
            url: 'https://api.hh.ru/applicant_comments/54765267'
            counters:
              total: 0
        can_view_full_info: true
        contacts_open_until_date: '2025-04-01'
        negotiations_history:
          url: 'https://api.hh.ru/resumes/09866c49/negotiations_history'
        hidden_fields: []
        actions:
          download:
            pdf:
              url: 'https://api.hh.ru/resumes/09866c49/download/file-name.pdf?type=pdf'
            rtf:
              url: 'https://api.hh.ru/resumes/09866c49/download/file-name.rtf?type=rtf'
        alternate_url: 'https://hh.ru/resume/09866c49'
        id: 09866c49
        real_id: '1234'
        download:
          pdf:
            url: 'https://api.hh.ru/resumes/09866c49/download/file-name.pdf?type=pdf'
          rtf:
            url: 'https://api.hh.ru/resumes/09866c49/download/file-name.rtf?type=rtf'
        platform:
          id: headhunter
        resume_locale:
          id: RU
          name: English
        skills: Team management
        citizenship:
          - id: '113'
            name: Russia
            url: 'https://api.hh.ru/areas/113'
        work_ticket:
          - id: '113'
            name: Russia
            url: 'https://api.hh.ru/areas/113'
        birth_date: '1993-06-28'
        contact:
          - type:
              id: cell
              name: Cell phone
            contact_value: +7 (495) 552-73-67
            kind: phone
            preferred: false
            comment: Call after 12 AM
            need_verification: true
            verified: false
          - type:
              id: email
              name: Email
            preferred: true
            contact_value: my-email@example.com
            kind: email
          - type:
              id: telegram
              name: telegram
            contact_value: '@nickname'
            kind: primary
            preferred: false
            links:
              android: 'https://t.me/nickname'
              ios: 'https://t.me/nickname'
              web: 'https://t.me/nickname'
          - type:
              id: other
              name: MyLinkedIn
            contact_value: 'https://linked.in/1231232131'
            kind: secondary
            preferred: false
        education:
          level:
            id: master
            name: Master
          primary:
            - id: '1'
              name: testUniversity
              organization: testFaculty
              result: testSpeciality
              year: 1988
              name_id: null
              organization_id: null
              result_id: null
              university_acronym: testUniversityAcronym
              education_level:
                id: master
                name: Master
          additional: []
          attestation: []
          elementary: []
        employment:
          id: part
          name: Part time
        employments:
          - id: part
            name: Part time
        experience:
          - start: '2011-01-02'
            end: '2012-02-06'
            company: Company
            company_id: null
            industry:
              id: '1'
              name: Banking
            industries: []
            area:
              id: '1'
              name: Moscow
              url: 'https://api.hh.ru/areas/1'
            company_url: 'http://url.ru'
            employer: null
            position: CEO
            description: Managed a department
        language:
          - id: rus
            name: Russian
            level:
              id: a1
              name: A1 — Elementary
        metro:
          id: '6.8'
          name: Alekseevskaya
          lat: 55.807794
          lng: 37.638699
          order: 5
          line:
            id: '6'
            hex_color: F07E24
            name: Kaluzhsko-Ruzhskaya
        recommendation:
          - name: Ivan
            organization: HH
            position: CEO
            contact: ''
        relocation:
          type:
            id: relocation_possible
            name: Ready for relocation
          area:
            - id: '98'
              name: Ulyanovsk
              url: 'https://api.hh.ru/areas/98'
          district: []
        schedule:
          id: flexible
          name: Flexible schedule
        schedules:
          - id: flexible
            name: Flexible schedule
        site:
          - type:
              id: skype
              name: Skype
            url: '123321123'
        travel_time:
          id: less_than_hour
          name: Less than an hour
        business_trip_readiness:
          id: sometimes
          name: ready for rare business trips
        paid_services: []
        portfolio:
          - small: 'https://hhcdn.ru/photo/00975.png'
            medium: 'https://hhcdn.ru/photo/00976.png'
            description: Portfolio description
        skill_set:
          - Graphics
          - Design
        favorited: false
        has_vehicle: true
        driver_license_types:
          - id: A
        professional_roles:
          - id: '124'
            name: Tester
        creds:
          questions:
            '14':
              question_id: '14'
              question_title: 'Have you worked as a cook, baker or pastry chef before?'
              view_title: null
              skip_title_at_view: true
              question_type: single_choice
              possible_answers:
                - '27'
                - '28'
              description: null
              is_active: true
              required: true
            '15':
              question_id: '15'
              question_title: Do you have a culinary background?
              view_title: null
              skip_title_at_view: true
              question_type: single_choice
              possible_answers:
                - '29'
                - '30'
              description: null
              is_active: true
              required: true
          answers:
            '27':
              answer_group: positive
              answer_id: '27'
              ask_questions_after: []
              description: null
              positive_title: 'Have experience as a cook, baker or pastry chef'
              skip_at_result: false
              title: 'Yes'
            '28':
              answer_group: negative
              answer_id: '28'
              ask_questions_after: []
              description: null
              positive_title: 'No experience as a cook, baker or pastry chef'
              skip_at_result: true
              title: No experience
            '29':
              answer_group: positive
              answer_id: '29'
              ask_questions_after: []
              description: null
              positive_title: I have a culinary education
              skip_at_result: false
              title: 'Yes, I have'
            '30':
              answer_group: negative
              answer_id: '30'
              ask_questions_after: []
              description: null
              positive_title: No culinary education
              skip_at_result: true
              title: No education
          question_to_answer_map:
            '14':
              - '27'
    VacanciesVacanciesBlacklisted:
      value:
        items:
          - id: '8'
            premium: false
            name: TEST Name
            department: null
            has_test: false
            response_letter_required: false
            area:
              id: '1'
              name: Moscow
              url: 'https://api.hh.ru/areas/1'
            salary:
              from: 1209
              to: 1506
              currency: USD
              gross: true
            salary_range:
              from: 1209
              to: 1506
              currency: USD
              gross: true
              mode:
                id: MONTH
                name: Per month
              frequency:
                id: MONTHLY
                name: Monthly
            type:
              id: open
              name: Opened
            address: null
            response_url: null
            sort_point_distance: null
            published_at: '2022-09-26T12:37:14+0300'
            created_at: '2022-09-26T12:37:14+0300'
            archived: false
            apply_alternate_url: 'https://hh.ru/applicant/vacancy_response?vacancyId=8'
            insider_interview: null
            url: 'https://api.hh.ru/vacancies/8?host=hh.ru'
            adv_response_url: 'https://api.hh.ru/vacancies/8/adv_response?host=hh.ru'
            alternate_url: 'https://hh.ru/vacancy/8'
            relations:
              - blacklisted
            employer:
              id: '48'
              name: ADAGFJSKGRRKQ
              url: 'https://api.hh.ru/employers/48'
              alternate_url: 'https://hh.ru/employer/48'
              logo_urls: null
              vacancies_url: 'https://api.hh.ru/vacancies?employer_id=48'
              trusted: true
        found: 1
        pages: 1
        per_page: 20
        page: 0
        limit_reached: false
    EmployerManagerLimits:
      value:
        limits:
          resume_view: 100
          resume_view_from_api: 50
        spend:
          resume_view: 1
          resume_view_from_api: 2
        left:
          resume_view: 50
          resume_view_from_api: 48
    DictionariesSalaryStatisticsEmployeeLevel:
      value:
        - id: specialist
          name: specialist
          description: Specialist has no direct subordinates but periodically coordinates the work of other employees within the framework of the assigned task
    VacancyDuplicates:
      value:
        found: 4
        has_duplicates: true
        items:
          - 171
          - 172
          - 173
          - 174
    AreasAreas:
      value:
        - name: Kazakhstan
          id: '40'
          parent_id: null
          areas:
            - name: Abai
              id: '6251'
              parent_id: '40'
              areas: []
    ArtifactsPortfolioDescription:
      value:
        description: Description
    DictionariesSkills:
      value:
        items:
          - text: Heating and cooling systems
            id: '2716'
          - text: Cold kitchen
            id: '3019'
    ResumeProfileResumeProfileCreateRequestBody:
      value:
        additional_properties:
          any_job: true
        clone_resume_id: 7yd9yfd89syfds89yfd8s9yf
        entry_point: vacancy_response
        lat: 123
        lng: 456
        update_profile: true
        vacancy_id: 1
    NegotiationsEmployerNegotiationItem:
      value:
        id: '123456789'
        state:
          id: response
          name: Response
        created_at: '2024-02-20T10:24:48+0300'
        updated_at: '2024-02-20T10:24:48+0300'
        resume:
          id: 0123456789abcdef
          real_id: '1234'
          last_name: Ivanov
          first_name: Ivan
          middle_name: null
          title: Young specialist
          created_at: '2024-02-20T10:24:47+0300'
          updated_at: '2024-02-20T10:24:47+0300'
          area:
            id: '1'
            name: Moscow
            url: 'https://api.hh.ru/areas/1'
          age: null
          gender:
            id: male
            name: Male
          salary: null
          salary_range: null
          photo: null
          total_experience:
            months: 14
          certificate: []
          owner:
            id: '54769355'
            comments:
              url: 'https://api.hh.ru/applicant_comments/54769355'
              counters:
                total: 0
          can_view_full_info: true
          negotiations_history:
            url: 'https://api.hh.ru/resumes/0123456789abcdef/negotiations_history'
          hidden_fields: []
          actions:
            download:
              pdf:
                url: 'https://api.hh.ru/resumes/0123456789abcdef/download/%D0%98%D0%B2%D0%B0%D0%BD%D0%BE%D0%B2%20%D0%98%D0%B2%D0%B0%D0%BD.pdf?type=pdf&topic_id=123456789&vacancy_id=123456789'
              rtf:
                url: 'https://api.hh.ru/resumes/0123456789abcdef/download/%D0%98%D0%B2%D0%B0%D0%BD%D0%BE%D0%B2%20%D0%98%D0%B2%D0%B0%D0%BD.rtf?type=rtf&topic_id=123456789&vacancy_id=123456789'
          url: 'https://api.hh.ru/resumes/0123456789abcdef?topic_id=123456789'
          alternate_url: 'https://hh.ru/resume/0123456789abcdef?t=123456789&vacancyId=123456789'
          download:
            pdf:
              url: 'https://api.hh.ru/resumes/0123456789abcdef/download/%D0%98%D0%B2%D0%B0%D0%BD%D0%BE%D0%B2%20%D0%98%D0%B2%D0%B0%D0%BD.pdf?type=pdf&topic_id=123456789&vacancy_id=123456789'
            rtf:
              url: 'https://api.hh.ru/resumes/0123456789abcdef/download/%D0%98%D0%B2%D0%B0%D0%BD%D0%BE%D0%B2%20%D0%98%D0%B2%D0%B0%D0%BD.rtf?type=rtf&topic_id=123456789&vacancy_id=123456789'
          platform:
            id: headhunter
          education:
            level:
              id: master
              name: Master
            primary:
              - id: '1'
                name: 'Russian State Social University, Moscow'
                name_id: '39420'
                organization: Faculty of Information Technology
                organization_id: null
                result: ''
                result_id: null
                year: 2012
          experience:
            - start: '2011-01-02'
              end: '2012-02-06'
              company: HeadHunter
              company_id: null
              industry:
                id: '1'
                name: Banks/loans/investments/leasing
              industries: []
              area:
                id: '1'
                name: Moscow
                url: 'https://api.hh.ru/areas/1'
              company_url: 'http://url.ru'
              employer: null
              position: Director
          favorited: false
          viewed: false
          marked: false
          portfolio: []
          paid_services: []
        viewed_by_opponent: true
        has_updates: true
        messages_url: 'https://api.hh.ru/negotiations/123456789/messages'
        url: 'https://api.hh.ru/negotiations/123456789'
        counters:
          messages: 1
          unread_messages: 1
        chat_states:
          response_reminder_state:
            allowed: false
        source: NEGOTIATION
        chat_id: 3490
        messaging_status: ok
        employer_state:
          id: response
          name: Response
        funnel_stage:
          id: '12345'
          state:
            id: response
            name: Response
          substate: null
        vacancy:
          id: '123456789'
          premium: false
          name: Manager
          department: null
          has_test: false
          response_letter_required: false
          show_contacts: false
          area:
            id: '98'
            name: Moscow
            url: 'https://api.hh.ru/areas/98'
          salary: null
          salary_range: null
          type:
            id: open
            name: Open
          address:
            city: Moscow
            street: Dynamo street
            building: '10'
            lat: 35
            lng: 30
            description: null
            raw: 'Moscow, Dynamo street, 10'
            metro:
              station_name: Dynamo
              line_name: Zamoskvoretskaya
              station_id: '2.34'
              line_id: '2'
              lat: 55.789704
              lng: 37.558212
            metro_stations:
              - station_name: Dynamo
                line_name: Zamoskvoretskaya
                station_id: '2.34'
                line_id: '2'
                lat: 55.789704
                lng: 37.558212
            id: '1118'
          response_url: null
          sort_point_distance: null
          published_at: '2024-02-20T10:24:43+0300'
          created_at: '2024-02-20T10:24:43+0300'
          archived: false
          apply_alternate_url: 'https://hh.ru/applicant/vacancy_response?vacancyId=123456789'
          insider_interview: null
          url: 'https://api.hh.ru/vacancies/123456789?host=hh.ru'
          alternate_url: 'https://hh.ru/vacancy/123456789'
          employer:
            id: '8183'
            name: Roga i Kopyta
            url: 'https://api.hh.ru/employers/8183'
            alternate_url: 'https://hh.ru/employer/8183'
            logo_urls: null
            vacancies_url: 'https://api.hh.ru/vacancies?employer_id=8183'
            accredited_it_employer: false
            trusted: true
          professional_roles:
            - id: '32'
              name: Manager
        actions:
          - id: offer
            name: Job offer
            method: PUT
            enabled: true
            hidden: false
            url: 'https://api.hh.ru/negotiations/offer/123456789'
            templates:
              - id: offer
                url: 'https://api.hh.ru/message_templates/offer?topic_id=123456789'
                name: Invite to Job offer
                quick: false
            arguments:
              - id: message
                required: false
                required_arguments: []
              - id: send_sms
                required: false
                required_arguments:
                  - id: message
            resulting_employer_state:
              id: offer
              name: Job offer
    VacanciesVisitors:
      value:
        items:
          - last_name: null
            first_name: null
            middle_name: null
            title: TEST_RESUME_DECDHAEFEMAEN
            created_at: '2023-03-07T14:25:42+0300'
            updated_at: '2023-03-07T14:25:42+0300'
            area:
              id: '1'
              name: Moscow
              url: 'https://api.hh.ru/areas/1'
            age: 56
            gender:
              id: male
              name: Male
            salary:
              amount: 1500
              currency: USD
            photo: null
            total_experience:
              months: 17
            certificate: []
            owner:
              id: '54751648'
              comments:
                url: 'https://api.hh.ru/applicant_comments/54751648'
                counters:
                  total: 0
            can_view_full_info: false
            negotiations_history:
              url: 'https://api.hh.ru/resumes/c1e693d00000000014000000264a64655a3036/negotiations_history'
            hidden_fields: []
            actions:
              download:
                pdf:
                  url: 'https://api.hh.ru/resumes/c1e693d00000000014000000264a64655a3036/download/TEST_RESUME_DECDHAEFEMAEN.pdf?type=pdf&vacancy_id=28'
                rtf:
                  url: 'https://api.hh.ru/resumes/c1e693d00000000014000000264a64655a3036/download/TEST_RESUME_DECDHAEFEMAEN.rtf?type=rtf&vacancy_id=28'
              get_with_contact:
                url: 'https://api.hh.ru/resumes/c1e693d00000000014000000264a64655a3036?with_contact=77da67de52a447c3dd5b5b06dab2d8ef'
              download_with_contact:
                pdf:
                  url: 'https://api.hh.ru/resumes/c1e693d00000000014000000264a64655a3036/download/TEST_RESUME_DECDHAEFEMAEN.pdf?type=pdf&vacancy_id=28&with_contact=77da67de52a447c3dd5b5b06dab2d8ef'
                rtf:
                  url: 'https://api.hh.ru/resumes/c1e693d00000000014000000264a64655a3036/download/TEST_RESUME_DECDHAEFEMAEN.rtf?type=rtf&vacancy_id=28&with_contact=77da67de52a447c3dd5b5b06dab2d8ef'
            url: 'https://api.hh.ru/resumes/c1e693d00000000014000000264a64655a3036'
            alternate_url: 'https://hh.ru/resume/c1e693d00000000014000000264a64655a3036?vacancyId=28'
            id: c1e693d00000000014000000264a64655a3036
            real_id: '1234'
            download:
              pdf:
                url: 'https://api.hh.ru/resumes/c1e693d00000000014000000264a64655a3036/download/TEST_RESUME_DECDHAEFEMAEN.pdf?type=pdf&vacancy_id=28'
              rtf:
                url: 'https://api.hh.ru/resumes/c1e693d00000000014000000264a64655a3036/download/TEST_RESUME_DECDHAEFEMAEN.rtf?type=rtf&vacancy_id=28'
            platform:
              id: headhunter
            education:
              level:
                id: higher
                name: Higher
              primary:
                - id: '1'
                  name: MAI
                  organization: Aerospace
                  result: 'Architect, master of architects'
                  year: 2020
                  name_id: null
                  organization_id: null
                  result_id: null
                  university_acronym: testUniversityAcronym
                  education_level:
                    id: master
                    name: Master
            experience:
              - start: '2021-10-23'
                end: '2023-03-07'
                company: DHL Express
                company_id: '2'
                industry:
                  id: '52'
                  name: 'Arts, culture'
                industries:
                  - id: '19.623'
                    name: 'Carpentry and joinery  (marketing, wholesale)'
                  - id: '52.651'
                    name: 'Archive, library, art criticism'
                area:
                  id: '1'
                  name: Moscow
                  url: 'https://api.hh.ru/areas/1'
                company_url: 'http://some-kind.ru'
                employer: null
                position: Tester
            favorited: false
            viewed: false
            marked: false
            job_search_status:
              id: active_search
              name: Actively searching for a job
              last_change_time: '2025-03-06T01:23:47.700736Z'
            last_negotiation:
              employer_state:
                id: phone_interview
                name: Phone interview
              created_at: '2017-08-10T13:09:28+0300'
          - last_name: null
            first_name: null
            middle_name: null
            title: TEST_RESUME_DEAJCCHYGGWZJ
            created_at: '2023-03-07T14:25:40+0300'
            updated_at: '2023-03-07T14:25:40+0300'
            area:
              id: '1'
              name: Moscow
              url: 'https://api.hh.ru/areas/1'
            age: 56
            gender:
              id: male
              name: Male
            salary:
              amount: 1500
              currency: USD
            photo: null
            total_experience:
              months: 17
            certificate: []
            owner:
              id: '54751647'
              comments:
                url: 'https://api.hh.ru/applicant_comments/54751647'
                counters:
                  total: 0
            can_view_full_info: false
            negotiations_history:
              url: 'https://api.hh.ru/resumes/414fa29f00000000130000002641686c723935/negotiations_history'
            hidden_fields: []
            actions:
              download:
                pdf:
                  url: 'https://api.hh.ru/resumes/414fa29f00000000130000002641686c723935/download/TEST_RESUME_DEAJCCHYGGWZJ.pdf?type=pdf&vacancy_id=28'
                rtf:
                  url: 'https://api.hh.ru/resumes/414fa29f00000000130000002641686c723935/download/TEST_RESUME_DEAJCCHYGGWZJ.rtf?type=rtf&vacancy_id=28'
              get_with_contact:
                url: 'https://api.hh.ru/resumes/414fa29f00000000130000002641686c723935?with_contact=80ffa749334f07f12311cc9f9034a7cb'
              download_with_contact:
                pdf:
                  url: 'https://api.hh.ru/resumes/414fa29f00000000130000002641686c723935/download/TEST_RESUME_DEAJCCHYGGWZJ.pdf?type=pdf&vacancy_id=28&with_contact=80ffa749334f07f12311cc9f9034a7cb'
                rtf:
                  url: 'https://api.hh.ru/resumes/414fa29f00000000130000002641686c723935/download/TEST_RESUME_DEAJCCHYGGWZJ.rtf?type=rtf&vacancy_id=28&with_contact=80ffa749334f07f12311cc9f9034a7cb'
            url: 'https://api.hh.ru/resumes/414fa29f00000000130000002641686c723935'
            alternate_url: 'https://hh.ru/resume/414fa29f00000000130000002641686c723935?vacancyId=28'
            id: 414fa29f00000000130000002641686c723935
            real_id: '1234'
            download:
              pdf:
                url: 'https://api.hh.ru/resumes/414fa29f00000000130000002641686c723935/download/TEST_RESUME_DEAJCCHYGGWZJ.pdf?type=pdf&vacancy_id=28'
              rtf:
                url: 'https://api.hh.ru/resumes/414fa29f00000000130000002641686c723935/download/TEST_RESUME_DEAJCCHYGGWZJ.rtf?type=rtf&vacancy_id=28'
            platform:
              id: headhunter
            education:
              level:
                id: higher
                name: Higher
              primary:
                - id: '1'
                  name: MAI
                  organization: Aerospace
                  result: 'Architect, master of architects'
                  year: 2020
                  name_id: null
                  organization_id: null
                  result_id: null
            experience:
              - start: '2021-10-23'
                end: '2023-03-07'
                company: DHL Express
                company_id: '2'
                industry:
                  id: '52'
                  name: 'Arts, culture'
                industries:
                  - id: '19.623'
                    name: 'Carpentry and joinery  (marketing, wholesale)'
                  - id: '52.651'
                    name: 'Archive, library, art criticism'
                area:
                  id: '1'
                  name: Moscow
                  url: 'https://api.hh.ru/areas/1'
                company_url: 'http://some-kind.ru'
                employer: null
                position: Tester
            favorited: false
            viewed: false
            marked: false
            job_search_status:
              id: active_search
              name: Actively searching for a job
              last_change_time: '2025-03-06T01:23:47.700736Z'
            last_negotiation:
              employer_state:
                id: offer
                name: Offer
              created_at: '2017-08-10T13:09:28+0300'
        found: 2
        pages: 1
        per_page: 20
        page: 0
        hidden_on_page: 0
    ResumeStatusReadiness:
      value:
        blocked: false
        finished: false
        status:
          id: not_published
          name: not published
        can_publish_or_update: false
        publish_url: 'https://api.hh.ru/resumes/12345678901234567890123456789012abcdef/publish'
        progress:
          percentage: 42
          mandatory:
            - id: citizenship
              name: Citizenship
            - id: language
              name: Language
            - id: area
              name: Area
            - id: skills
              name: Key skills
            - id: contact
              name: Contacts
            - id: education
              name: Education
          recommended:
            - id: salary
              name: Salary
            - id: middle_name
              name: Middle name
            - id: work_ticket
              name: Work permit
            - id: site
              name: Site
            - id: recommendation
              name: Recommendation
            - id: birth_date
              name: Date of Birth
        moderation_note:
          - id: bad
            name: The summary is sloppy
          - id: block_no_education_place_or_date
            name: There is no information about the educational institution and the date of graduation
            field: education
    VacanciesVacancies:
      value:
        per_page: 1
        items:
          - salary:
              to: null
              from: 30000
              currency: RUR
              gross: true
            salary_range:
              from: 30000
              to: null
              currency: RUR
              gross: true
              mode:
                id: MONTH
                name: Per month
              frequency:
                id: MONTHLY
                name: Monthly
            name: Secretary
            insider_interview:
              id: '12345'
              url: 'https://hh.ru/interview/12345?employerId=777'
            area:
              url: 'https://api.hh.ru/areas/1'
              id: '1'
              name: Moscow
            url: 'https://api.hh.ru/vacancies/8331228'
            published_at: '2013-07-08T16:17:21+0400'
            relations: []
            employer:
              logo_urls:
                '90': 'https://hh.ru/employer-logo/289027.png'
                '240': 'https://hh.ru/employer-logo/289169.png'
                original: 'https://hh.ru/file/2352807.png'
              name: HeadHunter
              url: 'https://api.hh.ru/employers/1455'
              alternate_url: 'https://hh.ru/employer/1455'
              id: '1455'
              trusted: true
              accredited_it_employer: false
            contacts:
              name: Name
              email: user@example.com
              phones:
                - country: '7'
                  city: '985'
                  number: 000-00-00
                  comment: null
            response_letter_required: true
            address:
              city: Moscow
              street: Godovikova Street
              building: 9c10
              description: Passport is required at the checkpoint
              lat: 55.807794
              lng: 37.638699
              metro_stations:
                - station_id: '6.8'
                  station_name: Alexeevskaya
                  line_id: '6'
                  line_name: Kaluzhsko-Rizhskaya
                  lat: 55.807794
                  lng: 37.638699
            sort_point_distance: 226.001293
            alternate_url: 'https://hh.ru/vacancy/8331228'
            apply_alternate_url: 'https://hh.ru/applicant/vacancy_response?vacancyId=8331228'
            department:
              id: HH-1455-TECH
              name: 'HeadHunter::Technical department'
            type:
              id: open
              name: Opened
            id: '8331228'
            has_test: true
            response_url: null
            snippet:
              requirement: High education
              responsibility: Document management
            schedule:
              id: fullDay
              name: Full day
            counters:
              responses: 0
            professional_roles:
              - id: '90'
                name: Guard
            accept_incomplete_resumes: false
        page: 0
        pages: 13
        found: 13
        clusters: null
        arguments:
          - argument: area
            value: '1'
            value_description: Moscow
            disable_url: 'https://...'
            cluster_group:
              id: area
              name: Region
          - argument: area
            value: '2'
            value_description: St. Petersburg
            disable_url: 'https://...'
            cluster_group:
              id: area
              name: Region
          - argument: text
            value: Manager
            value_description: null
            disable_url: 'https://...'
            cluster_group: null
          - argument: search_field
            value: name
            value_description: in vacancy name
            disable_url: 'https://...'
            cluster_group: null
          - argument: experience
            value: between3And6
            value_description: Between 3 and 6 years
            disable_url: 'https://...'
            cluster_group:
              id: experience
              name: experience
          - argument: employment
            value: full
            value_description: Full time
            disable_url: 'https://...'
            cluster_group:
              id: employment
              name: Employment type
          - argument: schedule
            value: fullDay
            value_description: Full day
            disable_url: 'https://...'
            cluster_group:
              id: schedule
              name: Work schedule
          - argument: metro
            value: '2.133'
            value_description: Sokol
            disable_url: 'https://...'
            cluster_group:
              id: metro
              name: Metro
            metro_type: station
            hex_color: 13703a
          - argument: industry
            value: '51'
            value_description: Other
            disable_url: 'https://...'
            cluster_group:
              id: industry
              name: Company branch
          - argument: industry
            value: '51.675'
            value_description: Energy saving
            disable_url: 'https://...'
            cluster_group:
              id: sub_industry
              name: Company's sphere of activity
          - argument: label
            value: not_from_agency
            value_description: No vacancies from agencies
            disable_url: 'https://...'
            cluster_group:
              id: label
              name: Exclusion
          - argument: currency
            value: USD
            value_description: null
            disable_url: 'https://...'
            cluster_group: null
          - argument: only_with_salary
            value: 'true'
            value_description: Do not show resumes without salary specified
            disable_url: 'https://...'
            cluster_group:
              id: salary
              name: Salary
          - argument: salary
            value: '1500'
            value_description: from 1500 USD
            disable_url: 'https://...'
            cluster_group:
              id: salary
              name: Salary
          - argument: bottom_lat
            value: '55.58'
            value_description: null
            disable_url: 'https://...'
            cluster_group: null
          - argument: left_lng
            value: '37.52'
            value_description: null
            disable_url: 'https://...'
            cluster_group: null
          - argument: top_lat
            value: '55.74'
            value_description: null
            disable_url: 'https://...'
            cluster_group: null
          - argument: right_lng
            value: '37.86'
            value_description: null
            disable_url: 'https://...'
            cluster_group: null
          - argument: date_from
            value: '2017-02-01'
            value_description: null
            disable_url: 'https://...'
            cluster_group: null
          - argument: date_to
            value: '2017-02-10'
            value_description: null
            disable_url: 'https://...'
            cluster_group: null
          - argument: order_by
            value: salary_desc
            value_description: by salary descending
            disable_url: 'https://...'
            cluster_group: null
          - argument: sort_point_lat
            value: '55.74'
            value_description: null
            disable_url: 'https://...'
            cluster_group: null
          - argument: sort_point_lng
            value: '37.86'
            value_description: null
            disable_url: 'https://...'
            cluster_group: null
          - argument: period
            value: '7'
            value_description: last week
            disable_url: 'https://...'
            cluster_group: null
          - argument: employer_id
            value: '1455'
            value_description: HeadHunter
            disable_url: 'https://...'
            cluster_group: null
          - argument: search_period
            value: '7'
            value_description: last week
            disable_url: 'https://...'
            cluster_group: null
          - argument: no_magic
            value: 'true'
            value_description: null
            disable_url: 'https://...'
            cluster_group: null
          - argument: host
            value: hh.kz
            value_description: null
            disable_url: 'https://...'
            cluster_group: null
          - argument: per_page
            value: '10'
            value_description: null
            disable_url: 'https://...'
            cluster_group: null
          - argument: page
            value: '0'
            value_description: null
            disable_url: 'https://...'
            cluster_group: null
          - argument: professional_role
            value: '90'
            value_description: Security guard
            disable_url: 'https://...'
            cluster_group:
              id: professional_role
              name: Professional role
        fixes: null
        suggests: null
    VacanciesVacanciesFavorited:
      value:
        items:
          - id: '239'
            premium: false
            name: TEST_VACANCY 1
            department: null
            has_test: false
            response_letter_required: false
            area:
              id: '1'
              name: Moscow
              url: 'https://api.hh.ru/areas/1'
            salary:
              from: 1209
              to: 1508
              currency: USD
              gross: true
            salary_range:
              from: 1209
              to: 1508
              currency: USD
              gross: true
              mode:
                id: MONTH
                name: Per month
              frequency:
                id: MONTHLY
                name: Monthly
            type:
              id: open
              name: Open
            address: null
            response_url: null
            sort_point_distance: null
            published_at: '2022-09-19T12:31:51+0300'
            created_at: '2022-09-19T12:31:51+0300'
            archived: false
            apply_alternate_url: 'https://hh.ru/applicant/vacancy_response?vacancyId=239'
            insider_interview: null
            url: 'https://api.hh.ru/vacancies/239?host=hh.ru'
            adv_response_url: 'https://api.hh.ru/vacancies/239/adv_response?host=hh.ru'
            alternate_url: 'https://hh.ru/vacancy/239'
            relations:
              - favorited
            employer:
              id: '275'
              name: JAFJGESKCUOPG
              url: 'https://api.hh.ru/employers/275'
              alternate_url: 'https://hh.ru/employer/275'
              logo_urls: null
              vacancies_url: 'https://api.hh.ru/vacancies?employer_id=275'
              trusted: true
        found: 20
        pages: 1
        per_page: 20
        page: 0
    ArtifactsArtifactsPortfolio:
      value:
        items:
          - id: '92278992'
            state:
              id: ok
              name: ok
            small: 'http://...'
            medium: 'http://...'
            description: Description
        found: 1
        pages: 1
        page: 0
        per_page: 1
    ServicesMethodAccess:
      value:
        items:
          - id: '3'
            description: Having access to view a resume that has a response or invitation
            access:
              has_access: true
          - id: '4'
            description: Availability of access to resume viewing
            access:
              has_access: false
    MailTemplatesMailTemplates:
      value:
        - id: invite_mail
          name: Invitation to a phone interview
          text: |-
            Dear [Name]!

            [Company] is looking for candidates on the position "[Vacancy]".
            Your CV is very interesting for us.
            You can find the job description on the [SiteName]
            Log in to your account, and on the "Applications to Vacancies" page you'll find the link to the job description.
            If you have interested, please, call [HRPhone] ([HRName]).

            Thank you
            [HRName]
          type: EMAIL
          variables:
            - id: Name
              name: Applicant name
            - id: Vacancy
              name: Vacancy
            - id: HRName
              name: My name
            - id: HRPhone
              name: My phone
            - id: HREmail
              name: My email
            - id: SiteName
              name: HH site
            - id: Company
              name: Company
          template_modified: false
          employer_state: PHONE_INTERVIEW
        - id: response_invite_mail
          name: Invitation to a phone interview for responded applicant
          text: |-
            Dear [Name]!

            Thank you for your application for our job "[Vacancy]". Your CV is very interesting and we would like to invite you to the interview. Please, call [HRPhone] ([HRName]).

            Thank you
            [HRName]
          type: EMAIL
          variables:
            - id: Name
              name: Applicant name
            - id: Vacancy
              name: Vacancy
            - id: HRName
              name: My name
            - id: HRPhone
              name: My phone
            - id: HREmail
              name: My email
            - id: SiteName
              name: HH site
            - id: Company
              name: Company
          template_modified: false
          employer_state: PHONE_INTERVIEW
        - id: another_vacancy_response_invite_mail
          name: Invitation to a phone interview related to another vacancy
          text: |-
            Dear [Name]!

             Your CV is very interesting and we would like to invite you to the interview. Please, call [HRPhone] ([HRName]).

            Thank you
            [HRName]
          type: EMAIL
          variables:
            - id: Name
              name: Applicant name
            - id: Vacancy
              name: Vacancy
            - id: HRName
              name: My name
            - id: HRPhone
              name: My phone
            - id: HREmail
              name: My email
            - id: SiteName
              name: HH site
            - id: Company
              name: Company
          template_modified: false
          employer_state: PHONE_INTERVIEW
        - id: invite_sms
          name: SMS invitation to a phone interview
          text: '[Company] invites you for interview [HRPhone] [HRName]'
          type: SMS
          variables:
            - id: HRName
              name: My name
            - id: HRPhone
              name: My phone
            - id: HREmail
              name: My email
            - id: Company
              name: Company
          template_modified: false
          employer_state: PHONE_INTERVIEW
    DistrictsDistricts:
      value:
        - id: '1'
          name: Khoroshevo-Mnevniki
          area_id: '1'
        - id: '2'
          name: Aviastroitelnyy
          area_id: '88'
        - id: '3'
          name: Leninskiy
          area_id: '96'
    SalaryStatisticsEvaluation:
      value:
        market_salary:
          upper: 50000
          minimum: 20000
          median: 35000
          average: 50054
          maximum: 52643
          bottom: 28500
        resulting_parameters:
          areas:
            - id: '10010'
              name: Southern Federal District
          excluded_areas:
            - id: '1530'
              name: Rostov region
          employee_levels:
            - id: specialist
              name: Specialist
          industries:
            - id: '7'
              name: 'Information technology, system integration, Internet'
          specialities:
            - id: '1200000'
              name: Operation of information systems
          sources:
            - SALARIES
            - RESUMES
            - VACANCIES
          indirect_calculation: null
          positions_count: 1648
          employers_count: 21
    VacanciesMatchList:
      value:
        per_page: 20
        items:
          - negotiations_state: null
            employer_negotiations_state: null
            can_invite: true
            negotiations_actions:
              - id: invitation
                name: Invite
                enabled: true
                hidden: false
                method: POST
                url: 'https://api.hh.ru/negotiations/invited'
                resulting_employer_state:
                  id: invitation
                  name: Invitation
                templates:
                  - id: invite
                    name: Invite
                    quick: false
                    url: 'https://api.hh.ru/message_templates/invite?resume_id=0123456789abcdef&vacancy_id=123456'
                arguments:
                  - id: resume_id
                    required: true
                    required_arguments: []
                  - id: vacancy_id
                    required: true
                    required_arguments: []
                  - id: message
                    required: true
                    required_arguments: []
                  - id: send_sms
                    required: false
                    required_arguments:
                      - id: message
                  - id: address_id
                    required: false
                    required_arguments:
                      - id: message
            id: '123456'
            premium: true
            address:
              city: Kaluga
              street: Lenina
              building: '51'
              description: null
              lat: 55.324417
              lng: 86.116411
              raw: 'Kaluga, Lenina, 51'
              metro: null
              metro_stations: []
              id: '321123'
            alternate_url: 'https://hh.ru/vacancy/123456'
            salary:
              to: null
              from: 100000
              currency: RUR
              gross: true
            salary_range:
              from: 100000
              to: null
              currency: RUR
              gross: true
              mode:
                id: MONTH
                name: Per month
              frequency:
                id: MONTHLY
                name: Monthly
            name: 'Testing automation specialist (Java, Selenium)'
            area:
              url: 'https://api.hh.ru/areas/1'
              id: '1'
              name: Moscow
            url: 'https://api.hh.ru/vacancies/123456'
            published_at: '2013-10-11T13:27:16+0400'
            relations: []
            employer:
              url: 'https://api.hh.ru/employers/1455'
              alternate_url: 'https://hh.ru/employer/1455'
              logo_urls:
                '90': 'https://hh.ru/employer-logo/1455.png'
                '240': 'https://hh.ru/employer-logo/1455.png'
                original: 'https://hh.ru/file/1455.png'
              name: HeadHunter
              id: '1455'
              trusted: true
              badges:
                - type: employer-hh-rating
                  description: 2nd place in the Rating of Employers in Russia (small companies)
                  url: 'https://rating.hh.ru/profile/rating2020'
                  position: '2'
                  year: 2020
            response_letter_required: false
            type:
              id: open
              name: Open
            created_at: '2012-10-11T13:27:16+0400'
            apply_alternate_url: 'https://hh.ru/applicant/vacancy_response?vacancyId=123456'
            archived: false
            department: null
            has_test: true
            manager:
              first_name: Ivan
              last_name: Ivanovsky
              id: '3'
              middle_name: Ivanovich
            vacancy_properties:
              properties:
                - property_type: HH_PAY_FOR_PERFORMANCE
                  start_time: '2024-09-14T02:51:16.061+03:00'
                  end_time: '2024-10-14T02:51:16.061+03:00'
                  parameters: []
        page: 0
        pages: 1
        found: 1
    NegotiationsNegotiationsStatisticsEmployer:
      value:
        employer_statistics:
          received: 20
          viewed_percent: 23
          replied_percent: 0
          average_reply_time: 1
          politeness:
            index: 62
            index_change: 0
            hint: 'You have a medium value of politeness index. This is good, but you can increase it.'
            description: An applicant see the politeness index after he has been responded to a vacancy. The companies with low politeness index lose the applicants trust and may miss suitable candidates
            article_url: 'https://hh.ru/article/23734'
    VacanciesPreferredNegotiationsOrder:
      value:
        order_type:
          id: created_at
          name: by date of creation
    ResumeProfileResumeProfileUpdateRequestBody:
      value:
        additional_properties:
          any_job: true
        creds:
          question_to_answer_map:
            '14':
              - '27'
        current_screen_id: experience
        profile:
          address_coordinates:
            lat: 1
            lng: 1
          area:
            id: '1'
            name: Москва
            url: 'https://api.host/areas/1'
          birth_date: '1999-02-02'
          citizenship:
            - id: '113'
              name: Россия
              url: 'https://api.host/areas/113'
          driver_license_types:
            - id: A
            - id: B
          education:
            additional:
              - id: '2'
                name: Курс Дополнительное образование 2
                organization: Организация Дополнительное образование 2
                result: Специализация Дополнительное образование 2
                resumes:
                  - id: resume_hash_1
                  - id: resume_hash_2
                year: 2000
              - id: '1'
                name: Курс Дополнительное образование 1
                organization: Организация Дополнительное образование 1
                result: Специализация Дополнительное образование 1
                resumes:
                  - id: resume_hash_1
                year: 1999
            attestation:
              - id: '2'
                name: Название Теста 2
                organization: Организация Теста 2
                result: Специализация Теста 2
                resumes:
                  - id: resume_hash_1
                  - id: resume_hash_2
                year: 2002
              - id: '1'
                name: Название Теста 1
                organization: Организация Теста 1
                result: Специализация Теста 1
                resumes: []
                year: 2001
            elementary:
              - id: '2'
                name: Учебное заведение 2
                resumes:
                  - id: resume_hash_1
                  - id: resume_hash_2
                year: 2002
              - id: '1'
                name: Учебное заведение 1
                resumes: []
                year: 2001
            level:
              id: secondary
              name: rb.edit.education.level.secondary
            primary:
              - education_level:
                  id: higher
                  name: rb.edit.education.level.higher
                id: '2'
                name: Учебное заведение 2
                name_id: null
                organization: Факультет 2
                organization_id: null
                result: Специализация 2
                result_id: null
                resumes:
                  - id: resume_hash_1
                  - id: resume_hash_2
                year: 2002
              - education_level:
                  id: higher
                  name: rb.edit.education.level.higher
                id: '1'
                name: Учебное заведение 1
                name_id: null
                organization: Факультет 1
                organization_id: null
                result: Специализация 1
                result_id: null
                resumes: []
                year: 2001
          first_name: Александр
          gender:
            id: male
            name: gender.male
          has_vehicle: true
          language:
            - id: rus
              level:
                id: l1
                name: Родной
              name: Русский
          last_name: Пушкин
          metro:
            id: '1.54'
            lat: 55.774072
            line:
              hex_color: E42313
              id: '1'
              name: Сокольническая
            lng: 37.654565
            name: Комсомольская
            order: 5
          middle_name: Сергеевич
          preferred_work_all_areas: false
          preferred_work_areas:
            - area:
                id: '1'
                name: Москва
                url: 'https://api.host/areas/1'
              districts:
                - area_id: '2'
                  id: '1'
                  name: Петродворцовый
                - area_id: '2'
                  id: '2'
                  name: Петродворцовый
              lines:
                - hex_color: E42313
                  id: '1'
                  name: Сокольническая
              stations:
                - id: '8.1'
                  lat: 55.751933
                  line:
                    hex_color: FFCD1C
                    id: '8'
                    name: metroline.8
                  lng: 37.717444
                  name: metro.1
                  order: 4
          relocation:
            area:
              - id: '2'
                name: Санкт-Петербург
                url: 'https://api.host/areas/2'
            type:
              id: relocation_possible
              name: готов к переезду
          status:
            id: new
            name: ожидает модерации
          work_ticket:
            - id: '113'
              name: Россия
              url: 'https://api.host/areas/113'
        resume:
          experience:
            - area:
                id: '1'
                name: Moscow
                url: 'https://api.hh.ru/areas/1'
              company: Roga i kopita
              company_id: null
              company_url: 'https://example.com/'
              description: Rabotal
              employer: null
              end: null
              industries: []
              position: position
              start: '2010-01-01'
    AreasCountries:
      value:
        - url: 'https://api.hh.ru/areas/113'
          id: '113'
          name: Russia
        - url: 'https://api.hh.ru/areas/6'
          id: '6'
          name: Australia
    VacancyDraftVacancyDraftCreate:
      value:
        description: Sales manager experience would be an asset
        key_skills:
          - name: Cold sales
          - name: Promo activities
        schedule:
          id: flyInFlyOut
        experience:
          id: moreThan6
        employment:
          id: full
        name: Sales manager
        areas:
          - id: '1'
          - id: '7'
        type:
          id: open
        department:
          id: '1'
          name: Special department
        professional_roles:
          - id: '59'
        response_letter_required: true
        salary:
          from: 100
          to: 500
          currency: USD
          gross: true
        salary_range:
          from: 100
          to: 500
          gross: true
          currency: USD
          mode:
            id: MONTH
          frequency:
            id: MONTHLY
        contacts:
          name: Ivanov Ivan
          email: i.ivanov@example.com
          phones:
            - comment: from 10 AM to 8 PM
              formatted: '79198883344'
        accept_handicapped: true
        accept_kids: false
        code: code-1234
        response_notifications: true
        allow_messages: true
        billing_type:
          id: standard
        address:
          id: '123'
          show_metro_only: true
        test:
          id: '42'
          required: true
        branded_template:
          id: marketing
        driver_license_types:
          - id: A
          - id: B
        accept_incomplete_resumes: false
        working_days:
          - id: only_saturday_and_sunday
        working_time_intervals:
          - id: from_four_to_six_hours_in_a_day
        working_time_modes:
          - id: start_after_sixteen
        work_format:
          - id: ON_SITE
        working_hours:
          - id: HOURS_4
        work_schedule_by_days:
          - id: WEEKEND
        night_shifts: true
        internship: false
        accept_temporary: false
        languages:
          - id: spa
            level:
              id: b2
          - id: ita
            level:
              id: a1
        with_zp: true
        employer_service_id: '8734562'
    ResumesMineResumes:
      value:
        items:
          - last_name: Ivanov
            first_name: Ivan
            middle_name: Ivanovich
            title: First vacancy
            created_at: '2015-05-10T00:00:00+0300'
            updated_at: '2015-05-10T00:00:00+0300'
            area:
              id: '1'
              name: Moscow
              url: 'https://api.hh.ru/areas/1'
            age: 43
            gender:
              id: male
              name: Male
            salary:
              amount: 1000
              currency: USD
            photo:
              '40': 'https://hhcdn.ru...'
              '100': 'https://hhcdn.ru...'
              '500': 'https://hhcdn.ru...'
              id: '1'
              small: 'https://hhcdn.ru...'
              medium: 'https://hhcdn.ru...'
            total_experience:
              months: 14
            certificate: []
            hidden_fields:
              - id: names_and_photo
                name: Full Name and photo
              - id: phones
                name: All phone numbers listed in the resume
              - id: email
                name: Email
              - id: other_contacts
                name: 'Other contacts (Skype, social networks)'
              - id: experience
                name: All employers
            actions:
              download:
                pdf:
                  url: 'https://api.hh.ru/resumes/01234567890abcdef/download/IvanovIvanIvanovich.pdf?type=pdf'
                rtf:
                  url: 'https://api.hh.ru/resumes/01234567890abcdef/download/IvanovIvanIvanovich.rtf?type=rtf'
            url: 'https://api.hh.ru/resumes/01234567890abcdef'
            alternate_url: 'https://hh.ru/resume/01234567890abcdef'
            id: 01234567890abcdef
            real_id: '1234'
            download:
              pdf:
                url: 'https://api.hh.ru/resumes/01234567890abcdef/download/IvanovIvanIvanovich.pdf?type=pdf'
              rtf:
                url: 'https://api.hh.ru/resumes/01234567890abcdef/download/IvanovIvanIvanovich.rtf?type=rtf'
            platform:
              id: headhunter
            education:
              level:
                id: secondary
                name: Secondary
              primary: []
            experience:
              - start: '2011-01-02'
                end: '2012-02-06'
                company: Company
                company_id: null
                industry:
                  id: '1'
                  name: Banks/Credit/Investments/Finance
                industries: []
                area:
                  id: '1'
                  name: Moscow
                  url: 'https://api.hh.ru/areas/1'
                company_url: 'http://url.ru'
                employer: null
                position: Director
            marked: false
            finished: true
            status:
              id: published
              name: published
            access:
              type:
                id: clients
                name: is visible to all companies registered on Headhunter
            auto_hide_time:
              id: month_10
              name: 10 months
            paid_services:
              - id: resume_marked
                name: Bright resume
                active: false
            blocked: false
            can_publish_or_update: false
            next_publish_at: '2015-05-10T00:00:00+0300'
            contact:
              - type:
                  id: cell
                  name: Cellphone
                contact_value: +7 (926) 222-22-22
                kind: phone
                preferred: false
                comment: Mobile
                need_verification: true
                verified: false
              - type:
                  id: email
                  name: Email
                preferred: true
                contact_value: my-email@example.com
                kind: email
            visible: true
            created: '2015-05-10T00:00:00+0300'
            updated: '2015-05-10T00:00:00+0300'
            similar_vacancies:
              url: 'https://api.hh.ru/resumes/01234567890abcdef/similar_vacancies'
              counters:
                total: 0
            new_views: 0
            total_views: 0
            views_url: 'https://api.hh.ru/resumes/01234567890abcdef/views'
        found: 1
        pages: 1
        per_page: 1
        page: 0
    ArtifactsArtifactConditions:
      value:
        fields:
          description:
            max_length: 255
            min_length: 0
            required: false
          file:
            max_size: 6291456
            mime_type:
              - image/jpeg
              - image/png
              - image/psd
            required: true
          type:
            required: true
        counters:
          max: 20
          uploaded: 2
    NegotiationsNegotiationItem:
      value:
        id: '123'
        state:
          id: invitation
          name: Invitation
        hidden: false
        created_at: '2013-10-05T19:51:38+0400'
        updated_at: '2013-10-07T18:30:57+0400'
        url: 'https://api.hh.ru/negotiations/123'
        phone_calls:
          picked_up_phone_by_opponent: true
          items:
            - id: 123
              status: call_in_progress
              creation_time: '2022-03-04T16:39:58.857853Z'
              last_change_time: null
              duration_seconds: null
            - id: 111
              status: call_ended
              creation_time: '2022-03-01T16:39:58.857853Z'
              last_change_time: '2022-03-01T16:41:58.857853Z'
              duration_seconds: 120
        has_updates: true
        viewed_by_opponent: true
        messaging_status: ok
        decline_allowed: true
        source: NEGOTIATION
    ResumeResumeViewApplicant:
      value:
        last_name: Ivanov
        first_name: Ivan
        middle_name: null
        title: API Test Resume
        created_at: '2023-05-25T14:19:02+0300'
        updated_at: '2023-05-25T14:19:03+0300'
        area:
          id: '1'
          name: Moscow
          url: 'https://api.hh.ru/areas/1'
        age: null
        gender:
          id: male
          name: Male
        salary:
          amount: 10000
          currency: USD
        photo: null
        total_experience:
          months: 14
        certificate: []
        hidden_fields: []
        actions:
          download:
            pdf:
              url: 'https://api.hh.ru/resumes/ca9fb415848/download/pdf-file.pdf?type=pdf'
            rtf:
              url: 'https://api.hh.ru/resumes/ca9fb415848/download/rtf-file.rtf?type=rtf'
        alternate_url: 'https://hh.ru/resume/ca9fb415848'
        id: ca9fb415848
        real_id: '1234'
        download:
          pdf:
            url: 'https://api.hh.ru/resumes/ca9fb415848/download/pdf-file.pdf?type=pdf'
          rtf:
            url: 'https://api.hh.ru/resumes/ca9fb415848/download/rtf-file.rtf?type=rtf'
        platform:
          id: headhunter
        resume_locale:
          id: RU
          name: English
        skills: Team management
        citizenship:
          - id: '113'
            name: Russia
            url: 'https://api.hh.ru/areas/113'
        work_ticket: []
        access:
          type:
            id: clients
            name: every company on HeadHunter
        birth_date: null
        contact:
          - type:
              id: cell
              name: Cell phone
            contact_value: +7 (495) 552-73-67
            kind: phone
            preferred: false
            comment: Call after 12 AM
            need_verification: true
            verified: false
          - type:
              id: email
              name: Email
            preferred: true
            contact_value: my-email@example.com
            kind: email
        education:
          level:
            id: master
            name: Master
          primary:
            - id: '1'
              name: Massachusetts Institute of Technology
              organization: Massachusetts Institute of Technology
              result: Massachusetts Institute of Technology
              year: 1988
              name_id: null
              organization_id: null
              result_id: null
              university_acronym: MIT
              education_level:
                id: master
                name: Master
          additional: []
          attestation: []
          elementary: []
        employment:
          id: full
          name: Full-time employment
        employments:
          - id: full
            name: Full-time employment
        experience:
          - start: '2011-01-02'
            end: '2012-02-06'
            company: Company
            company_id: null
            industry:
              id: '1'
              name: Banking
            industries: []
            area:
              id: '1'
              name: Moscow
              url: 'https://api.hh.ru/areas/1'
            company_url: 'http://url.ru'
            employer: null
            position: CEO
            description: Managed a department
        language:
          - id: chv
            name: Russian
            level:
              id: a1
              name: A1 — Elementary
        metro: null
        moderation_note: []
        recommendation: []
        relocation:
          type:
            id: no_relocation
            name: not ready to relocate
          area: []
          district: []
        schedule:
          id: fullDay
          name: Full day
        schedules:
          - id: fullDay
            name: Full day
        site: []
        travel_time:
          id: any
          name: Does not matter
        business_trip_readiness:
          id: never
          name: not ready for business trip
        next_publish_at: '2023-05-25T18:19:03+0300'
        can_publish_or_update: false
        publish_url: 'https://api.hh.ru/resumes/ca9fb415848/publish'
        paid_services:
          - id: resume_autoupdating
            name: Resume autoupdating
            active: false
          - id: resume_marked
            name: Marked resume
            active: false
        finished: true
        blocked: false
        status:
          id: published
          name: published
        portfolio: []
        tags:
          - id: EXPERT_IS_WORKING
        skill_set: []
        has_vehicle: null
        driver_license_types: []
        professional_roles:
          - id: '124'
            name: Tester
        progress:
          percentage: 55
          mandatory: []
          recommended:
            - id: birth_date
              name: Date of birth
            - id: portfolio
              name: Portfolio
            - id: photo
              name: Photo
            - id: driver_license_types
              name: Types of driver license
            - id: district
              name: District
            - id: hidden_fields
              name: Hidden fields list
            - id: work_ticket
              name: Work permit
            - id: education
              name: Education
            - id: has_vehicle
              name: Has auto
            - id: salary
              name: Salary
            - id: skill_set
              name: Skill set
            - id: recommendation
              name: Recommendations
            - id: middle_name
              name: Middle name
            - id: metro
              name: Nearest metro station
            - id: site
              name: Additional ways of communication
        creds:
          questions:
            '14':
              question_id: '14'
              question_title: 'Have you ever worked as a cook, baker, or pastry chef before?'
              view_title: null
              skip_title_at_view: true
              question_type: single_choice
              possible_answers:
                - '27'
                - '28'
              description: null
              is_active: true
              required: true
            '15':
              question_id: '15'
              question_title: Do you have a culinary background?
              view_title: null
              skip_title_at_view: true
              question_type: single_choice
              possible_answers:
                - '29'
                - '30'
              description: null
              is_active: true
              required: true
          answers:
            '27':
              answer_group: positive
              answer_id: '27'
              ask_questions_after: []
              description: null
              positive_title: 'Any experience as a cook, baker or pastry chef'
              skip_at_result: false
              title: 'Yes'
            '28':
              answer_group: negative
              answer_id: '28'
              ask_questions_after: []
              description: null
              positive_title: 'No experience as a cook, baker or pastry chef'
              skip_at_result: true
              title: No experience
            '29':
              answer_group: positive
              answer_id: '29'
              ask_questions_after: []
              description: null
              positive_title: Have a culinary background
              skip_at_result: false
              title: 'Yes, I do'
            '30':
              answer_group: negative
              answer_id: '30'
              ask_questions_after: []
              description: null
              positive_title: No culinary education
              skip_at_result: true
              title: No education
          question_to_answer_map:
            '14':
              - '27'
        _progress:
          percentage: 55
          mandatory: []
          recommended:
            - birth_date
            - portfolio
            - photo
            - driver_license_types
            - district
            - hidden_fields
            - work_ticket
            - education
            - has_vehicle
            - salary
            - skill_set
            - recommendation
            - middle_name
            - metro
            - site
        total_views: 0
        new_views: 0
        views_url: 'https://api.hh.ru/resumes/ca9fb415848/views'
    VacanciesDeletedVacancyList:
      value:
        found: 1
        page: 0
        pages: 1
        per_page: 20
        items:
          - salary:
              to: null
              from: 30000
              currency: RUR
              gross: true
            salary_range:
              from: 30000
              to: null
              currency: RUR
              gross: true
              mode:
                id: MONTH
                name: Per month
              frequency:
                id: MONTHLY
                name: Monthly
            name: Secretary
            area:
              url: 'https://api.hh.ru/areas/1'
              id: '1'
              name: Moscow
            url: 'https://api.hh.ru/vacancies/8331228'
            published_at: '2013-07-08T16:17:21+0400'
            relations: []
            employer:
              logo_urls:
                '90': 'https://hh.ru/employer-logo/289027.png'
                '240': 'https://hh.ru/employer-logo/289169.png'
                original: 'https://hh.ru/file/2352807.png'
              name: HeadHunter
              url: 'https://api.hh.ru/employers/1455'
              alternate_url: 'https://hh.ru/employer/1455'
              id: '1455'
              trusted: true
            response_letter_required: true
            address: null
            alternate_url: 'https://hh.ru/vacancy/8331228'
            apply_alternate_url: 'https://hh.ru/applicant/vacancy_response?vacancyId=8331228'
            department:
              id: 18320489-18320489-dept1
              name: 'HeadHunter::Technical department'
            premium: false
            type:
              id: open
              name: Open
            id: '8331228'
            archived: true
            has_test: false
            archived_at: '2023-04-25T18:13:13+0300'
            counters:
              responses: 0
              invitations_and_responses: 0
            vacancy_properties:
              appearance:
                title: Standard
              properties:
                - property_type: HH_STANDARD
                  start_time: '2024-12-16T11:55:05.067+03:00'
                  end_time: '2025-01-15T11:55:05.067+03:00'
                  parameters: []
            closed_for_applicants: false
            created_at: '2023-04-25T18:13:11+0300'
    NegotiationsListResponse:
      value:
        found: 1
        pages: 1
        per_page: 20
        page: 0
        items:
          - id: '123'
            state:
              id: invitation
              name: Invitation
            hidden: false
            created_at: '2013-10-05T19:51:38+0400'
            updated_at: '2013-10-07T18:30:57+0400'
            url: 'https://api.hh.ru/negotiations/123'
            phone_calls:
              picked_up_phone_by_opponent: true
              items:
                - id: 123
                  status: call_in_progress
                  creation_time: '2022-03-04T16:39:58.857853Z'
                  last_change_time: null
                  duration_seconds: null
                - id: 111
                  status: call_ended
                  creation_time: '2022-03-01T16:39:58.857853Z'
                  last_change_time: '2022-03-01T16:41:58.857853Z'
                  duration_seconds: 120
            has_updates: true
            viewed_by_opponent: true
            messaging_status: ok
            decline_allowed: true
            source: NEGOTIATION
            tags:
              - id: AUTO_RESPONSE
    ApplicantCommentsAddApplicantCommentExample:
      value:
        author:
          full_name: Ivanova Maria Ivanovna
        created_at: '2015-08-27T10:30:14+0300'
        id: '123654'
        is_mine: true
        text: do not consider necessary
        access_type:
          id: owner
          name: Visible only to me
    ResumesEditResume:
      value:
        language:
          - id: rus
            name: Russian
            level:
              id: l1
              name: native
          - id: eng
            name: English
            level:
              id: b2
              name: advanced
    ResumesAccessTypes:
      value:
        items:
          - id: everyone
            name: visible to entire internet
          - id: no_one
            name: invisible
          - id: clients
            name: is visible to all companies registered on Headhunter
          - id: whitelist
            name: visible to selected companies
            list_url: 'https://api.hh.ru/resumes/012345abcde/whitelist'
            total: 3
            limit: 2000
          - id: blacklist
            name: hidden from selected companies
            list_url: 'https://api.hh.ru/resumes/012345abcde/blacklist'
            total: 5
            limit: 2000
            active: true
          - id: direct
            name: available only by direct link
        auto_hide_time_options:
          - id: month_12
            name: 1 year
          - id: month_10
            name: 10 months
            active: true
          - id: month_8
            name: 8 months
    VacanciesActiveList:
      value:
        found: 1
        page: 0
        pages: 1
        per_page: 20
        items:
          - salary:
              to: null
              from: 30000
              currency: RUR
              gross: true
            salary_range:
              from: 30000
              to: null
              currency: RUR
              gross: true
              mode:
                id: MONTH
                name: Per month
              frequency:
                id: MONTHLY
                name: Monthly
            name: Secretary
            area:
              url: 'https://api.hh.ru/areas/1'
              id: '1'
              name: Moscow
            url: 'https://api.hh.ru/vacancies/8331228'
            published_at: '2013-07-08T16:17:21+0400'
            relations: []
            employer:
              logo_urls:
                '90': 'https://hh.ru/employer-logo/289027.png'
                '240': 'https://hh.ru/employer-logo/289169.png'
                original: 'https://hh.ru/file/2352807.png'
              name: HeadHunter
              url: 'https://api.hh.ru/employers/1455'
              alternate_url: 'https://hh.ru/employer/1455'
              id: '1455'
              trusted: true
              accredited_it_employer: false
              badges:
                - type: employer-hh-rating
                  description: 2nd place in the Rating of Employers in Russia (small companies)
                  url: 'https://rating.hh.ru/profile/rating2020'
                  position: '2'
                  year: 2020
            response_letter_required: true
            address:
              city: Kaluga
              street: Lenina
              building: '51'
              description: null
              lat: 55.324417
              lng: 86.116411
              raw: 'Kaluga, Lenina, 51'
              metro: null
              metro_stations: []
              id: '321123'
            alternate_url: 'https://hh.ru/vacancy/8331228'
            apply_alternate_url: 'https://hh.ru/applicant/vacancy_response?vacancyId=8331228'
            department:
              id: 18320489-18320489-dept1
              name: 'HeadHunter::Technical department'
            premium: false
            type:
              id: open
              name: Open
            id: '8331228'
            archived: false
            counters:
              views: 100500
              responses: 5
              unread_responses: 3
              resumes_in_progress: 5
              invitations: 10
              invitations_and_responses: 14
              calls: 99
              new_missed_calls: 11
            expires_at: '2013-07-08T16:17:21+0400'
            has_updates: false
            billing_type:
              id: standard
              name: Standard
            can_upgrade_billing_type: true
            manager:
              first_name: John
              last_name: Smith
              id: '5032'
              middle_name: null
            created_at: '2012-10-11T13:27:16+0400'
            has_test: true
            negotiations_state: null
            auction:
              campaign_creation_status: CAMPAIGN_CREATED
              campaign_status: ACTIVE
            vacancy_properties:
              properties:
                - property_type: HH_PAY_FOR_PERFORMANCE
                  start_time: '2024-09-14T02:51:16.061+03:00'
                  end_time: '2024-10-14T02:51:16.061+03:00'
                  parameters: []
    VacanciesVacancyProlongateAvailable:
      value:
        id: '123456789'
        expires_at: '2015-11-19T17:10:48+0300'
        actions:
          - id: prolongate
            enabled: true
            url: 'https://api.hh.ru/vacancies/123456789/prolongate'
            method: POST
    DictionariesFaculties:
      value:
        - id: '23'
          name: Faculty of Physics and Chemistry
    DictionariesSalaryStatisticsSalaryAreas:
      value:
        - id: '1'
          name: Russia
          areas:
            - id: '2'
              name: Altai region
              areas:
                - id: '3'
                  name: Aleysk
                  areas: []
    ResumesResumeVisibilityListSearchResponse:
      value:
        found: 2
        page: 0
        pages: 1
        per_page: 20
        items:
          - id: '1455'
            name: HeadHunter
            url: 'https://api.hh.ru/employers/1455'
            alternate_url: 'https://hh.ru/employer/1455'
            logo_urls:
              '90': 'https://hhcdn.ru/employer-logo/1455-small.jpeg'
              '240': 'https://hhcdn.ru/employer-logo/1455-big.jpeg'
              original: 'https://hhcdn.ru/employer-logo/1455.jpeg'
            selected: true
          - id: '87891'
            name: 'HeadHunter: Kazakhstan'
            url: 'https://api.hh.ru/employers/87891'
            alternate_url: 'https://hh.ru/employer/87891'
            logo_urls:
              '90': 'https://hh.ru/employer/logo/1455'
              '240': 'https://hh.ru/employer/logo/1455'
              original: 'https://hh.ru/employer/logo/1455'
            selected: false
    NegotiationsCollectionNegotiations:
      value:
        items:
          - id: '1359972474'
            state:
              id: response
              name: Response
            created_at: '2022-05-19T18:14:13+0300'
            updated_at: '2022-05-19T18:14:13+0300'
            resume:
              last_name: Ivanov
              first_name: Ivan
              middle_name: Ivanovich
              title: Beginner specialist
              created_at: '2022-05-19T11:19:47+0300'
              updated_at: '2022-05-20T10:49:47+0300'
              area:
                id: '1'
                name: Moscow
                url: 'https://api.hh.ru/areas/1'
              age: 55
              gender:
                id: male
                name: Male
              salary:
                amount: 1500
                currency: USD
              photo: null
              total_experience:
                months: 17
              certificate: []
              owner:
                id: '54761929'
                comments:
                  url: 'https://api.hh.ru/applicant_comments/54761929'
                  counters:
                    total: 0
              can_view_full_info: true
              negotiations_history:
                url: 'https://api.hh.ru/resumes/0123456789abcdef/negotiations_history'
              hidden_fields: []
              actions:
                download:
                  pdf:
                    url: 'https://api.hh.ru/resumes/0123456789abcdef/download/Lndihedidxsoacg%20Fndihedhjdxkxxy%20Mndihedjsdlshsf.pdf?type=pdf&topic_id=1359972474&vacancy_id=30251545'
                  rtf:
                    url: 'https://api.hh.ru/resumes/0123456789abcdef/download/Lndihedidxsoacg%20Fndihedhjdxkxxy%20Mndihedjsdlshsf.rtf?type=rtf&topic_id=1359972474&vacancy_id=30251545'
              url: 'https://api.hh.ru/resumes/0123456789abcdef?topic_id=1359972474'
              alternate_url: 'https://hh.ru/resume/0123456789abcdef?t=1359972474&vacancyId=30251545'
              id: 0123456789abcdef
              real_id: '1234'
              download:
                pdf:
                  url: 'https://api.hh.ru/resumes/0123456789abcdef/download/Lndihedidxsoacg%20Fndihedhjdxkxxy%20Mndihedjsdlshsf.pdf?type=pdf&topic_id=1359972474&vacancy_id=30251545'
                rtf:
                  url: 'https://api.hh.ru/resumes/0123456789abcdef/download/Lndihedidxsoacg%20Fndihedhjdxkxxy%20Mndihedjsdlshsf.rtf?type=rtf&topic_id=1359972474&vacancy_id=30251545'
              education:
                level:
                  id: higher
                  name: Higher
                primary:
                  - id: '1'
                    name: 'Russian State Social University, Moscow'
                    organization: Faculty of Information Technology
                    result: ''
                    year: 2019
                    name_id: '39420'
                    organization_id: null
                    result_id: null
              experience:
                - start: '2021-01-04'
                  end: '2022-05-19'
                  company: DHL Express
                  company_id: '272'
                  industry: null
                  industries:
                    - id: '5.467'
                      name: 'Courier, postal delivery'
                    - id: '5.461'
                      name: Air transportation
                    - id: '5.465'
                      name: 'Transport and logistics complexes, ports (air, water, railway)'
                    - id: '5.464'
                      name: Sea and river transportation
                    - id: '5.463'
                      name: Railway transportation
                  area:
                    id: '1'
                    name: Moscow
                    url: 'https://api.hh.ru/areas/1'
                  company_url: 'http://some-kind.ru'
                  employer:
                    id: '272'
                    name: DHL Express
                    url: 'https://api.hh.ru/employers/272'
                    alternate_url: 'https://hh.ru/employer/272'
                    logo_urls:
                      '90': 'https://hhcdn.ru/employer-logo/272-small.jpeg'
                      '240': 'https://hhcdn.ru/employer-logo/272-big.jpeg'
                      original: 'https://hhcdn.ru/employer-logo/272.jpeg'
                  position: Tester
              favorited: false
              viewed: false
              marked: false
            viewed_by_opponent: true
            has_updates: true
            messages_url: 'https://api.hh.ru/negotiations/1359972474/messages'
            url: 'https://api.hh.ru/negotiations/1359972474'
            counters:
              messages: 0
              unread_messages: 0
            chat_states:
              response_reminder_state:
                allowed: false
            source: NEGOTIATION
            chat_id: 1831
            messaging_status: ok
            employer_state:
              id: response
              name: Response
            funnel_stage:
              id: '12345'
              state:
                id: response
                name: Response
              substate: null
            templates:
              - id: interview
                url: 'https://api.hh.ru/message_templates/interview?topic_id=1359972474'
                name: Invitation to Interview
                quick: false
              - id: consider
                url: 'https://api.hh.ru/message_templates/consider?topic_id=1359972474'
                name: Invitation to Consider
                quick: false
              - id: invite
                url: 'https://api.hh.ru/message_templates/invite?topic_id=1359972474'
                name: Invitation to Phone interview
                quick: false
              - id: invite_after_response
                url: 'https://api.hh.ru/message_templates/invite_after_response?topic_id=1359972474'
                name: Invitation of the responding applicant for a telephone interview
                quick: false
              - id: assessment_owner_tool
                url: 'https://api.hh.ru/message_templates/assessment_owner_tool?topic_id=1359972474'
                name: Invitation to Assessment (owner tool)
                quick: false
              - id: hired
                url: 'https://api.hh.ru/message_templates/hired?topic_id=1359972474'
                name: Invitation to Hired
                quick: false
              - id: discard_after_interview
                url: 'https://api.hh.ru/message_templates/discard_after_interview?topic_id=1359972474'
                name: Discard after interview
                quick: false
              - id: discard_after_response
                url: 'https://api.hh.ru/message_templates/discard_after_response?topic_id=1359972474'
                name: Discard to the applicant who responded to the vacancy
                quick: false
              - id: quick_discard_after_response
                url: 'https://api.hh.ru/message_templates/quick_discard_after_response?topic_id=1359972474'
                name: The pattern of a quick response failure
                quick: true
              - id: offer
                url: 'https://api.hh.ru/message_templates/offer?topic_id=1359972474'
                name: Invitation to Offer
                quick: false
            actions:
              - id: interview
                name: Interview
                method: PUT
                enabled: true
                hidden: false
                url: 'https://api.hh.ru/negotiations/interview/1359972474'
                templates:
                  - id: interview
                    url: 'https://api.hh.ru/message_templates/interview?topic_id=1359972474'
                    name: Invitation to Interview
                    quick: false
                arguments:
                  - id: message
                    required: false
                    required_arguments: []
                  - id: send_sms
                    required: false
                    required_arguments:
                      - id: message
                  - id: address_id
                    required: false
                    required_arguments:
                      - id: message
                resulting_employer_state:
                  id: interview
                  name: Interview
              - id: consider
                name: Consider
                method: PUT
                enabled: true
                hidden: false
                url: 'https://api.hh.ru/negotiations/consider/1359972474'
                templates:
                  - id: consider
                    url: 'https://api.hh.ru/message_templates/consider?topic_id=1359972474'
                    name: Invitation to Consider
                    quick: false
                arguments:
                  - id: message
                    required: false
                    required_arguments: []
                  - id: send_sms
                    required: false
                    required_arguments:
                      - id: message
                resulting_employer_state:
                  id: consider
                  name: Consider
              - id: phone_interview
                name: Phone interview
                method: PUT
                enabled: true
                hidden: false
                url: 'https://api.hh.ru/negotiations/phone_interview/1359972474'
                templates:
                  - id: invite
                    url: 'https://api.hh.ru/message_templates/invite?topic_id=1359972474'
                    name: Invitation to Phone interview
                    quick: false
                  - id: invite_after_response
                    url: 'https://api.hh.ru/message_templates/invite_after_response?topic_id=1359972474'
                    name: Invitation to Phone interview after response
                    quick: false
                arguments:
                  - id: message
                    required: false
                    required_arguments: []
                  - id: send_sms
                    required: false
                    required_arguments:
                      - id: message
                  - id: address_id
                    required: false
                    required_arguments:
                      - id: message
                resulting_employer_state:
                  id: phone_interview
                  name: Phone interview
              - id: assessment
                name: Assessment
                method: PUT
                enabled: true
                hidden: false
                url: 'https://api.hh.ru/negotiations/assessment/1359972474'
                templates:
                  - id: assessment_owner_tool
                    url: 'https://api.hh.ru/message_templates/assessment_owner_tool?topic_id=1359972474'
                    name: Invitation to Assessment (owner tool)
                    quick: false
                arguments:
                  - id: message
                    required: false
                    required_arguments: []
                  - id: send_sms
                    required: false
                    required_arguments:
                      - id: message
                resulting_employer_state:
                  id: assessment
                  name: Assessment
              - id: hired
                name: Hired
                method: PUT
                enabled: true
                hidden: false
                url: 'https://api.hh.ru/negotiations/hired/1359972474'
                templates:
                  - id: hired
                    url: 'https://api.hh.ru/message_templates/hired?topic_id=1359972474'
                    name: Invitation to Hired
                    quick: false
                arguments:
                  - id: message
                    required: false
                    required_arguments: []
                  - id: send_sms
                    required: false
                    required_arguments:
                      - id: message
                  - id: address_id
                    required: false
                    required_arguments:
                      - id: message
                resulting_employer_state:
                  id: hired
                  name: Hired
              - id: discard_by_employer
                name: Discard
                method: PUT
                enabled: true
                hidden: false
                url: 'https://api.hh.ru/negotiations/discard_by_employer/1359972474'
                templates:
                  - id: discard_after_interview
                    url: 'https://api.hh.ru/message_templates/discard_after_interview?topic_id=1359972474'
                    name: Discard
                    quick: false
                  - id: discard_after_response
                    url: 'https://api.hh.ru/message_templates/discard_after_response?topic_id=1359972474'
                    name: Discard after response
                    quick: false
                  - id: quick_discard_after_response
                    url: 'https://api.hh.ru/message_templates/quick_discard_after_response?topic_id=1359972474'
                    name: Template of discard after response
                    quick: true
                arguments:
                  - id: message
                    required: false
                    required_arguments: []
                resulting_employer_state:
                  id: discard_by_employer
                  name: Discard
              - id: offer
                name: Offer
                method: PUT
                enabled: true
                hidden: false
                url: 'https://api.hh.ru/negotiations/offer/1359972474'
                templates:
                  - id: offer
                    url: 'https://api.hh.ru/message_templates/offer?topic_id=1359972474'
                    name: Invitation to Offer
                    quick: false
                arguments:
                  - id: message
                    required: false
                    required_arguments: []
                  - id: send_sms
                    required: false
                    required_arguments:
                      - id: message
                resulting_employer_state:
                  id: offer
                  name: Offer
            tags:
              - id: AUTO_RESPONSE
              - id: AUTO_RESPONSE_HH_PRO
        found: 1
        pages: 1
        per_page: 20
        page: 0
        ordered_by:
          id: last_change_time_except_employer_inbox
          name: By the date of creation and activity of the applicant
    VacanciesVacancyConditions:
      value:
        accept_handicapped:
          required: false
        accept_incomplete_resumes:
          required: false
        accept_kids:
          required: false
        accept_temporary:
          required: false
        address:
          fields:
            show_metro_only:
              required: false
          required: false
        allow_messages:
          required: false
        area:
          required: true
        billing_type:
          required: true
        branded_template:
          max_length: 256
          min_length: 0
          required: false
        code:
          max_length: 50
          min_length: 0
          required: false
        contacts:
          fields:
            email:
              max_length: 255
              required: false
            name:
              max_length: 255
              min_length: 0
              required: true
            phones:
              fields:
                comment:
                  max_length: 255
                  min_length: 0
                  required: false
                number:
                  max_length: 21
                  min_length: 7
                  required: true
              max_count: 2
              min_count: 0
              required: true
          required: false
        custom_employer_name:
          max_length: 150
          min_length: 1
          required: false
        department:
          max_length: 32
          min_length: 0
          required: false
        description:
          max_length: 10000
          min_length: 150
          required: true
        driver_license_types:
          max_count: 10
          min_count: 0
          required: false
        employment:
          required: false
        experience:
          required: false
        key_skills:
          max_count: 30
          min_count: 0
          required: false
        languages:
          required: false
        manager:
          required: false
        name:
          max_length: 100
          min_length: 1
          required: true
        professional_roles:
          max_count: 1
          min_count: 1
          required: true
        response_letter_required:
          required: false
        response_notifications:
          required: false
        response_url:
          max_length: 511
          min_length: 0
          regexp: '^(http|https)://.+$'
          required: false
        salary:
          fields:
            currency:
              required: false
            from:
              max_value: 2147483647
              min_value: 0
              required: false
            gross:
              required: false
            to:
              max_value: 2147483647
              min_value: 0
              required: false
          required: false
        salary_range:
          fields:
            currency:
              required: true
            frequency:
              required: false
            from:
              max_value: 2147483647
              min_value: 0
              required: false
            gross:
              required: true
            mode:
              required: true
            to:
              max_value: 2147483647
              min_value: 0
              required: false
          required: false
        schedule:
          required: false
        test:
          fields:
            required:
              required: false
          required: false
        type:
          required: true
        working_days:
          max_count: 10
          min_count: 0
          required: false
        working_time_intervals:
          max_count: 10
          min_count: 0
          required: false
        working_time_modes:
          max_count: 10
          min_count: 0
          required: false
    ResumesResumeConditions:
      value:
        access:
          fields:
            type:
              required: true
          required: true
        area:
          required: true
        auto_hide_time:
          required: false
        birth_date:
          max_date: '2009-04-24'
          min_date: '1900-01-01'
          required: false
        business_trip_readiness:
          required: true
        citizenship:
          max_count: 3
          min_count: 1
          required: true
        contact:
          fields:
            comment:
              max_length: 255
              min_length: 1
              required: false
            preferred:
              required: true
            type:
              required: true
            value:
              required: true
          max_count: 4
          min_count: 1
          required: true
        district:
          required: false
        driver_license_types:
          max_count: null
          min_count: 0
          required: false
        education:
          fields:
            additional:
              fields:
                name:
                  max_length: 512
                  min_length: 1
                  required: true
                organization:
                  max_length: 128
                  min_length: 1
                  required: true
                result:
                  max_length: 128
                  min_length: 1
                  required: false
                year:
                  max_value: 2033
                  min_value: 1950
                  required: true
              max_count: 100
              min_count: 0
              required: false
            attestation:
              fields:
                name:
                  max_length: 512
                  min_length: 1
                  required: true
                organization:
                  max_length: 128
                  min_length: 1
                  required: true
                result:
                  max_length: 128
                  min_length: 1
                  required: false
                year:
                  max_value: 2033
                  min_value: 1950
                  required: true
              max_count: 64
              min_count: 0
              required: false
            elementary:
              fields:
                name:
                  max_length: 512
                  min_length: 1
                  required: true
                year:
                  max_value: 2033
                  min_value: 1950
                  required: true
              max_count: 64
              min_count: 0
              required: false
            level:
              required: true
            primary:
              fields:
                name:
                  max_length: 512
                  min_length: 1
                  required: true
                organization:
                  max_length: 128
                  min_length: 1
                  required: false
                result:
                  max_length: 128
                  min_length: 1
                  required: false
                year:
                  max_value: 2033
                  min_value: 1950
                  required: true
              max_count: 64
              min_count: 1
              required: true
          required: true
        employment:
          required: true
        employments:
          max_count: null
          min_count: 1
          required: true
        experience:
          fields:
            area:
              required: false
            company:
              max_length: 512
              min_length: 1
              required: true
            company_url:
              max_length: 255
              min_length: 1
              required: false
            description:
              max_length: 32768
              min_length: 1
              required: true
            end:
              max_date: '2023-04-24'
              min_date: '1900-01-01'
              required: false
            industries:
              max_count: 5
              min_count: 0
              required: false
            industry:
              required: false
            position:
              max_length: 512
              min_length: 1
              required: true
            start:
              max_date: '2023-04-24'
              min_date: '1900-01-01'
              required: true
          max_count: 64
          min_count: 0
          required: false
        first_name:
          max_length: 100
          min_length: 1
          regexp: '^[ ]*[A-Z][a-z]*([ ʼ’''`-][A-Z][a-z]*)*[ ]*$'
          required: true
        gender:
          required: true
        has_vehicle:
          required: false
        hidden_fields:
          max_count: null
          min_count: 0
          required: false
        language:
          fields:
            id:
              required: true
            level:
              required: true
          max_count: null
          min_count: 1
          required: true
        last_name:
          max_length: 100
          min_length: 1
          regexp: '^[ ]*[A-Z][a-z]*([ ʼ’''`-][A-Z][a-z]*)*[ ]*$'
          required: true
        metro:
          required: false
        middle_name:
          max_length: 100
          min_length: 1
          regexp: '^[ ]*[A-Z][a-z]*([ ʼ’''`-][A-Z][a-z]*)*[ ]*$'
          required: false
        photo:
          required: false
        portfolio:
          max_count: null
          min_count: 0
          required: false
        professional_roles:
          max_count: 5
          min_count: 1
          required: true
        recommendation:
          fields:
            name:
              max_length: 128
              min_length: 1
              required: true
            organization:
              max_length: 128
              min_length: 1
              required: true
            position:
              max_length: 128
              min_length: 1
              required: true
          max_count: null
          min_count: 0
          required: false
        relocation:
          fields:
            area:
              max_count: null
              min_count: 0
              required: false
            district:
              max_count: 512
              min_count: 0
              required: false
            type:
              required: true
          required: false
        resume_locale:
          required: true
        salary:
          fields:
            amount:
              max_value: null
              min_value: 0
              required: true
            currency:
              required: true
          required: false
        schedule:
          required: true
        schedules:
          max_count: null
          min_count: 1
          required: true
        site:
          fields:
            type:
              required: true
            url:
              max_length: 200
              min_length: 1
              required: true
          max_count: 10
          min_count: 0
          required: false
        skill_set:
          max_count: 30
          max_length: 100
          min_count: 1
          min_length: 1
          required: true
        skills:
          max_length: 32768
          min_length: 1
          required: false
        title:
          max_length: 100
          min_length: 2
          not_in:
            - TEST_RESUME
          required: true
        travel_time:
          required: true
        work_ticket:
          max_count: 8
          min_count: 0
          required: false
    VacancyDraftVacancyDraftFull:
      value:
        description: Description
        key_skills:
          - name: Reception of visitors
          - name: Primary document management
        schedule:
          id: fullDay
          name: Full day
        accept_handicapped: false
        accept_kids: false
        experience:
          id: between1And3
          name: From 1 to 3 years
        address:
          city: Moscow
          street: ul. Dinamo
          building: '10'
          description: Turn to the right under the sign
          lat: 55.807794
          lng: 37.638699
          metro_stations:
            - station_id: '6.8'
              station_name: Dinamo
              line_id: '2'
              line_name: Zamoskvoretskaya
              lat: 55.789704
              lng: 37.558212
          id: '4321234'
          show_metro_only: true
        employer:
          id: '4011061'
          name: LLC Sibneft
          url: 'https://localhost:2000/employers/4011061'
          alternate_url: 'https://hh.ru/employer/4011061'
          logo_urls:
            '90': 'https://hh.ru/employer/logo/3568'
            '240': 'https://hh.ru/employer/logo/3569'
        code: HRR-3487
        department:
          id: HH-1455-TECH
          name: 'HeadHunter::Technical department'
        branded_template:
          id: marketing
          name: Marketing
        division:
          id: '123456'
        employment:
          id: full
          name: Full-time
        salary:
          to: null
          from: 30000
          currency: RUR
          gross: true
        salary_range:
          from: 30000
          to: null
          gross: true
          currency: RUR
          mode:
            id: MONTH
            name: Per month
          frequency:
            id: MONTHLY
            name: Monthly
        name: Secretary
        manager:
          id: '657438'
        has_test: false
        areas:
          - url: 'https://api.hh.ru/areas/1'
            id: '1'
            name: Moscow
        response_letter_required: true
        type:
          id: open
          name: Open
        response_notifications: false
        response_url: null
        test:
          required: false
        contacts:
          name: Name
          email: user@example.com
          phones:
            - formatted: +7 (495) 711-11-11
              comment: null
        billing_type:
          id: standard
          name: Standard
        allow_messages: true
        driver_license_types:
          - id: A
          - id: B
        accept_incomplete_resumes: false
        working_days:
          - id: only_saturday_and_sunday
            name: Work only on Saturdays and Sundays
        working_time_intervals:
          - id: from_four_to_six_hours_in_a_day
            name: Work shifts of 4-6 hours per day
        working_time_modes:
          - id: start_after_sixteen
            name: 'Working after 16:00'
        work_format:
          - id: ON_SITE
            name: On site
        working_hours:
          - id: HOURS_4
            name: 4 hours
        work_schedule_by_days:
          - id: WEEKEND
            name: On weekends
        night_shifts: true
        internship: false
        accept_temporary: false
        languages:
          - id: spa
            name: Spanish
            level:
              id: b2
              name: B2 — Upper-intermediate
          - id: ita
            name: Italian
            level:
              id: a1
              name: A1 — Elementary
        professional_roles:
          - id: '96'
            name: 'Programmer, developer'
        with_zp: false
        closed_for_applicants: false
        employer_service_id: '4325621'
        meta_info:
          completed_fields_percentage: 100
          draft_id: '1110031'
          insufficient_publications: null
          insufficient_quotas: null
          last_change_time: null
          publication_ready: true
          required_publications: null
          scheduled_at: null
          auto_publication:
            bill_uid: 4011054/3
            cart_id: '5967030'
    VacanciesVacancyStats:
      value:
        items:
          - date: '2017-01-10'
            responses: 1
            views: 36
          - date: '2017-01-11'
            responses: 4
            views: 35
          - date: '2017-01-12'
            responses: 1
            views: 32
          - date: '2017-01-13'
            responses: null
            views: null
          - date: '2017-01-14'
            responses: null
            views: null
    NegotiationsNegotiationMessageTemplates:
      value:
        mail:
          text: 'Hello Ivan Ivanovich! Thank you for your response to the vacancy... '
          template_modified: false
          employer_state: PHONE_INTERVIEW
    EmployerDictionariesTests:
      value:
        items:
          - id: '75169'
            name: Basic test of C++ knowledge
          - id: '75168'
            name: Logical test
    NegotiationsNegotiationsStatisticsManager:
      value:
        manager_statistics:
          received: 20
          viewed_percent: 23
          replied_percent: 0
          average_reply_time: 1
          politeness:
            index: 19
            index_change: 0
            hint: 'You have a low value of politeness index, but You can increase it'
            description: An applicant see the politeness index after he has been responded to a vacancy. The companies with low politeness index lose the applicants trust and may miss suitable candidates
            article_url: 'https://hh.ru/article/23734'
    EmployersEmployersBlacklisted:
      value:
        items:
          - id: '40'
            name: test name
            url: 'https://api.hh.ru/employers/40'
            alternate_url: 'https://hh.ru/employer/40'
            logo_urls:
              '90': 'https://hhcdn.ru/employer-logo/00003.jpeg'
              '240': 'https://hhcdn.ru/employer-logo/00004.jpeg'
              original: 'https://hhcdn.ru/employer-logo-original/1.jpeg'
            vacancies_url: 'https://api.hh.ru/vacancies?employer_id=40'
            open_vacancies: 0
        found: 1
        pages: 1
        per_page: 20
        page: 0
        limit_reached: false
    VacancyCreate:
      value:
        previous_id: '123456'
        description: Best job ever
        key_skills:
          - name: Cold calling
          - name: Sales promotion
        schedule:
          id: flyInFlyOut
        experience:
          id: moreThan6
        employment:
          id: full
        name: Sales manager
        area:
          id: '1'
        type:
          id: open
        professional_roles:
          - id: '59'
        response_letter_required: true
        salary:
          from: 100
          to: 500
          gross: true
          currency: USD
        salary_range:
          from: 100
          to: 500
          gross: true
          currency: USD
          mode:
            id: MONTH
          frequency:
            id: MONTHLY
        contacts:
          name: Ivanov Ivan
          email: i.ivanov@example.com
          phones:
            - country: '7'
              city: '495'
              number: '1234567'
              comment: from 10 to 20
              formatted: '79198883344'
        accept_handicapped: true
        accept_kids: false
        code: code-1234
        response_notifications: true
        allow_messages: true
        billing_type:
          id: standard
        address:
          id: '123'
          show_metro_only: true
        manager:
          id: '321'
        test:
          id: '42'
          required: true
        branded_template:
          id: marketing
        driver_license_types:
          - id: A
          - id: B
        accept_incomplete_resumes: false
        working_days:
          - id: only_saturday_and_sunday
        working_time_intervals:
          - id: from_four_to_six_hours_in_a_day
        working_time_modes:
          - id: start_after_sixteen
        work_format:
          - id: ON_SITE
        working_hours:
          - id: HOURS_4
        work_schedule_by_days:
          - id: WEEKEND
        night_shifts: true
        internship: false
        languages:
          - id: eng
            level:
              id: a1
        accept_temporary: true
    NegotiationsMessageGet:
      value:
        found: 1
        pages: 1
        per_page: 20
        page: 0
        items:
          - id: '123'
            viewed_by_me: true
            viewed_by_opponent: true
            created_at: '2013-10-07T18:30:57+0400'
            text: A major bank invites you for a job with salary that Arab sheikhs can only dream of
            state:
              id: invitation
              name: Invitation
            author:
              participant_type: employer
            address:
              building: '10'
              city: Moscow
              description: Turn right following the sign
              lat: 35
              lng: 30
              metro:
                lat: 55.789704
                line_id: '2'
                line_name: Zamoskvoretskaya
                lng: 37.558212
                station_id: '2.34'
                station_name: Dinamo
              metro_stations:
                - lat: 55.789704
                  line_id: '2'
                  line_name: Zamoskvoretskaya
                  lng: 37.558212
                  station_id: '2.34'
                  station_name: Dinamo
              street: ul. Dinamo
            assessments:
              - id: '123'
                name: Dynamic numerical ability test
                actions:
                  - id: proceed
                    name: Go to testing
                    enabled: true
                    alternate_url: 'https://hh.ru/applicant/assessment/123'
            editable: false
          - id: '124'
            viewed_by_me: true
            viewed_by_opponent: false
            created_at: '2013-10-08T10:12:23+0400'
            text: Give me a camel and a horse!
            state:
              id: text
              name: Text
            author:
              participant_type: applicant
            address: null
            editable: false
    ResumeProfileResumeProfileResponse:
      value:
        additional_properties:
          any_job: true
        conditions:
          access:
            fields:
              type:
                required: true
            required: true
          area:
            required: true
          birth_date:
            max_date: '2009-02-16'
            min_date: '1900-01-01'
            required: false
          business_trip_readiness:
            required: true
          citizenship:
            max_count: 3
            min_count: 1
            required: true
          contact:
            fields:
              comment:
                max_length: 255
                min_length: 1
                required: false
              preferred:
                required: true
              type:
                required: true
              value:
                required: true
            max_count: 4
            min_count: 1
            required: true
          district:
            required: false
          driver_license_types:
            max_count: null
            min_count: 0
            required: false
          education:
            fields:
              additional:
                fields:
                  name:
                    max_length: 512
                    min_length: 1
                    required: true
                  organization:
                    max_length: 128
                    min_length: 1
                    required: true
                  result:
                    max_length: 128
                    min_length: 1
                    required: false
                  year:
                    max_value: 2033
                    min_value: 1950
                    required: true
                max_count: 100
                min_count: 0
                required: false
              attestation:
                fields:
                  name:
                    max_length: 512
                    min_length: 1
                    required: true
                  organization:
                    max_length: 128
                    min_length: 1
                    required: true
                  result:
                    max_length: 128
                    min_length: 1
                    required: false
                  year:
                    max_value: 2033
                    min_value: 1950
                    required: true
                max_count: 64
                min_count: 0
                required: false
              elementary:
                fields:
                  name:
                    max_length: 512
                    min_length: 1
                    required: true
                  year:
                    max_value: 2033
                    min_value: 1950
                    required: true
                max_count: 64
                min_count: 0
                required: false
              level:
                required: true
              primary:
                fields:
                  name:
                    max_length: 512
                    min_length: 1
                    required: true
                  organization:
                    max_length: 128
                    min_length: 1
                    required: false
                  result:
                    max_length: 128
                    min_length: 1
                    required: false
                  year:
                    max_value: 2033
                    min_value: 1950
                    required: true
                max_count: 64
                min_count: 1
                required: true
            required: true
          employment:
            required: true
          employments:
            max_count: null
            min_count: 1
            required: true
          experience:
            fields:
              area:
                required: false
              company:
                max_length: 512
                min_length: 1
                required: true
              company_url:
                max_length: 255
                min_length: 1
                required: false
              description:
                max_length: 32768
                min_length: 1
                required: true
              end:
                max_date: '2023-02-16'
                min_date: '1900-01-01'
                required: false
              industries:
                max_count: 5
                min_count: 0
                required: false
              industry:
                required: false
              position:
                max_length: 512
                min_length: 1
                required: true
              start:
                max_date: '2023-02-16'
                min_date: '1900-01-01'
                required: true
            max_count: 64
            min_count: 0
            required: false
          first_name:
            max_length: 100
            min_length: 1
            regexp: '^[ ]*[A-ZЁ-ЯÇƏĞİÖŞÜӘҒҚҢӨҰҮҺІҐ][a-zа-їўçəıǝğöşüәғқңөұүһіґ]*([ ʼ’''`-][A-ZЁ-ЯÇƏĞİÖŞÜӘҒҚҢӨҰҮҺІҐ][a-zа-їўçəıǝğöşüәғқңөұүһіґ]*)*[ ]*$'
            required: true
          gender:
            required: true
          has_vehicle:
            required: false
          hidden_fields:
            max_count: null
            min_count: 0
            required: false
          language:
            fields:
              id:
                required: true
              level:
                required: true
            max_count: null
            min_count: 1
            required: true
          last_name:
            max_length: 100
            min_length: 1
            regexp: '^[ ]*[A-ZЁ-ЯÇƏĞİÖŞÜӘҒҚҢӨҰҮҺІҐ][a-zа-їўçəıǝğöşüәғқңөұүһіґ]*([ ʼ’''`-][A-ZЁ-ЯÇƏĞİÖŞÜӘҒҚҢӨҰҮҺІҐ][a-zа-їўçəıǝğöşüәғқңөұүһіґ]*)*[ ]*$'
            required: true
          metro:
            required: false
          middle_name:
            max_length: 100
            min_length: 1
            regexp: '^[ ]*[A-ZЁ-ЯÇƏĞİÖŞÜӘҒҚҢӨҰҮҺІҐ][a-zа-їўçəıǝğöşüәғқңөұүһіґ]*([ ʼ’''`-][A-ZЁ-ЯÇƏĞİÖŞÜӘҒҚҢӨҰҮҺІҐ][a-zа-їўçəıǝğöşüәғқңөұүһіґ]*|[ ʼ’''`-][a-zа-їўçəıǝğöşüәғқңөұүһіґ]+)*[ ]*$'
            required: false
          photo:
            required: false
          portfolio:
            max_count: null
            min_count: 0
            required: false
          professional_roles:
            max_count: 5
            min_count: 1
            required: true
          recommendation:
            fields:
              name:
                max_length: 128
                min_length: 1
                required: true
              organization:
                max_length: 128
                min_length: 1
                required: true
              position:
                max_length: 128
                min_length: 1
                required: true
            max_count: null
            min_count: 0
            required: false
          relocation:
            fields:
              area:
                max_count: null
                min_count: 0
                required: false
              district:
                max_count: 512
                min_count: 0
                required: false
              type:
                required: true
            required: false
          resume_locale:
            required: true
          salary:
            fields:
              amount:
                max_value: null
                min_value: 0
                required: true
              currency:
                required: true
            required: false
          schedule:
            required: true
          schedules:
            max_count: null
            min_count: 1
            required: true
          site:
            fields:
              type:
                required: true
              url:
                max_length: 200
                min_length: 1
                required: true
            max_count: 10
            min_count: 0
            required: false
          skill_set:
            max_count: 30
            max_length: 100
            min_count: 1
            min_length: 1
            required: true
          skills:
            max_length: 32768
            min_length: 1
            required: false
          specialization:
            max_count: 3
            min_count: 0
            required: false
          title:
            max_length: 100
            min_length: 2
            not_in:
              - IOS Developer3
              - Начинающий специалист
            required: true
          travel_time:
            required: true
          work_ticket:
            max_count: 8
            min_count: 0
            required: false
        creds:
          answers:
            '27':
              answer_group: positive
              answer_id: '27'
              ask_questions_after: []
              description: null
              positive_title: 'Есть опыт работы поваром, пекарем или кондитером'
              skip_at_result: false
              title: Да
            '28':
              answer_group: negative
              answer_id: '28'
              ask_questions_after: []
              description: null
              positive_title: 'Нет опыта работы поваром, пекарем или кондитером'
              skip_at_result: true
              title: Нет опыта
            '29':
              answer_group: positive
              answer_id: '29'
              ask_questions_after: []
              description: null
              positive_title: Есть кулинарное образование
              skip_at_result: false
              title: 'Да, есть'
            '30':
              answer_group: negative
              answer_id: '30'
              ask_questions_after: []
              description: null
              positive_title: Нет кулинарного образования
              skip_at_result: true
              title: Нет образования
          question_to_answer_map:
            '14':
              - '27'
          questions:
            '14':
              description: null
              is_active: true
              possible_answers:
                - '27'
                - '28'
              question_id: '14'
              question_title: 'Работали раньше поваром, пекарем или кондитером?'
              question_type: single_choice
              required: true
              skip_title_at_view: true
              view_title: null
            '15':
              description: null
              is_active: true
              possible_answers:
                - '29'
                - '30'
              question_id: '15'
              question_title: У вас есть кулинарное образование?
              question_type: single_choice
              required: true
              skip_title_at_view: true
              view_title: null
        next_incomplete_screen_id: experience
        profile:
          address_coordinates:
            lat: 1
            lng: 1
          area:
            id: '1'
            lat: 1
            lng: 1
            name: Москва
            url: 'https://api.host/areas/1'
          birth_date: '1999-02-02'
          citizenship:
            - id: '113'
              name: Россия
              url: 'https://api.host/areas/113'
          driver_license_types:
            - id: A
            - id: B
          education:
            additional:
              - id: '2'
                name: Курс Дополнительное образование 2
                organization: Организация Дополнительное образование 2
                result: Специализация Дополнительное образование 2
                resumes:
                  - id: resume_hash_1
                  - id: resume_hash_2
                year: 2000
              - id: '1'
                name: Курс Дополнительное образование 1
                organization: Организация Дополнительное образование 1
                result: Специализация Дополнительное образование 1
                resumes:
                  - id: resume_hash_1
                year: 1999
            attestation:
              - id: '2'
                name: Название Теста 2
                organization: Организация Теста 2
                result: Специализация Теста 2
                resumes:
                  - id: resume_hash_1
                  - id: resume_hash_2
                year: 2002
              - id: '1'
                name: Название Теста 1
                organization: Организация Теста 1
                result: Специализация Теста 1
                resumes: []
                year: 2001
            elementary:
              - id: '2'
                name: Учебное заведение 2
                resumes:
                  - id: resume_hash_1
                  - id: resume_hash_2
                year: 2002
              - id: '1'
                name: Учебное заведение 1
                resumes: []
                year: 2001
            level:
              id: secondary
              name: rb.edit.education.level.secondary
            primary:
              - education_level:
                  id: higher
                  name: rb.edit.education.level.higher
                id: '2'
                name: Учебное заведение 2
                name_id: null
                organization: Факультет 2
                organization_id: null
                result: Специализация 2
                result_id: null
                resumes:
                  - id: resume_hash_1
                  - id: resume_hash_2
                university_acronym: Акроним названия учебного заведения 2
                year: 2002
              - education_level:
                  id: higher
                  name: rb.edit.education.level.higher
                id: '1'
                name: Учебное заведение 1
                name_id: null
                organization: Факультет 1
                organization_id: null
                result: Специализация 1
                result_id: null
                resumes: []
                university_acronym: null
                year: 2001
          first_name: Александр
          gender:
            id: male
            name: gender.male
          has_vehicle: true
          language:
            - id: rus
              level:
                id: l1
                name: Родной
              name: Русский
          last_name: Пушкин
          metro:
            id: '1.54'
            lat: 55.774072
            line:
              hex_color: E42313
              id: '1'
              name: Сокольническая
            lng: 37.654565
            name: Комсомольская
            order: 5
          middle_name: Сергеевич
          preferred_work_all_areas: false
          preferred_work_areas:
            - area:
                id: '1'
                name: area.1
                url: 'https://api.host/areas/1?locale=EN&host=hh.kz'
              districts:
                - area_id: '1'
                  id: '1'
                  name: district.1
                  url: 'https://api.host/areas/1/districts?locale=EN&host=hh.kz'
                - area_id: '1'
                  id: '2'
                  name: district.2
                  url: 'https://api.host/areas/1/districts?locale=EN&host=hh.kz'
              lines:
                - hex_color: 4FB04F
                  id: '2'
                  name: metroline.2
              stations:
                - id: '8.1'
                  lat: 55.751933
                  line:
                    hex_color: FFCD1C
                    id: '8'
                    name: metroline.8
                  lng: 37.717444
                  name: metro.1
                  order: 4
          relocation:
            area:
              - id: '2'
                name: Санкт-Петербург
                url: 'https://api.host/areas/2'
            type:
              id: relocation_possible
              name: готов к переезду
          status:
            id: new
            name: ожидает модерации
          work_ticket:
            - id: '113'
              name: Россия
              url: 'https://api.host/areas/113'
        profile_conditions:
          address_coordinates:
            fields:
              lat:
                required: true
              lng:
                required: true
            required: false
          area:
            required: true
          birth_date:
            max_date: '2009-10-09'
            min_date: '1900-01-01'
            required: false
          citizenship:
            max_count: 3
            min_count: 1
            required: true
          driver_license_types:
            max_count: null
            min_count: 0
            required: false
          first_name:
            max_length: 100
            min_length: 1
            regexp: '^[ ]*[A-ZЁ-ЯÇƏĞİÖŞÜӘҒҚҢӨҰҮҺІҐ][a-zа-їўçəıǝğöşüәғқңөұүһіґ]*([ ʼ’''`-][A-ZЁ-ЯÇƏĞİÖŞÜӘҒҚҢӨҰҮҺІҐ][a-zа-їўçəıǝğöşüәғқңөұүһіґ]*)*[ ]*$'
            required: true
          gender:
            required: true
          has_vehicle:
            required: false
          language:
            fields:
              id:
                required: true
              level:
                required: true
            max_count: null
            min_count: 1
            required: true
          last_name:
            max_length: 100
            min_length: 1
            regexp: '^[ ]*[A-ZЁ-ЯÇƏĞİÖŞÜӘҒҚҢӨҰҮҺІҐ][a-zа-їўçəıǝğöşüәғқңөұүһіґ]*([ ʼ’''`-][A-ZЁ-ЯÇƏĞİÖŞÜӘҒҚҢӨҰҮҺІҐ][a-zа-їўçəıǝğöşüәғқңөұүһіґ]*)*[ ]*$'
            required: true
          metro:
            required: false
          middle_name:
            max_length: 100
            min_length: 1
            regexp: '^[ ]*[A-ZЁ-ЯÇƏĞİÖŞÜӘҒҚҢӨҰҮҺІҐ][a-zа-їўçəıǝğöşüәғқңөұүһіґ]*([ ʼ’''`-][A-ZЁ-ЯÇƏĞİÖŞÜӘҒҚҢӨҰҮҺІҐ][a-zа-їўçəıǝğöşüәғқңөұүһіґ]*|[ ʼ’''`-][a-zа-їўçəıǝğöşüәғқңөұүһіґ]+)*[ ]*$'
            required: false
          preferred_work_all_areas:
            required: false
          preferred_work_areas:
            fields:
              area:
                required: true
              districts:
                max_count: 16
                min_count: 0
                required: false
              lines:
                max_count: 8
                min_count: 0
                required: false
              stations:
                max_count: 32
                min_count: 0
                required: false
            max_count: 16
            min_count: 0
            required: false
          work_ticket:
            max_count: 8
            min_count: 0
            required: false
        resume:
          access:
            type:
              id: clients
              name: 'видно всем компаниям, зарегистрированным на HeadHunter'
          actions:
            download:
              pdf:
                url: 'https://api.hh.ru/resumes/123abc123abc123abc123abc123abc123abc12/download/%D0%9F%D1%83%D1%88%D0%BA%D0%B8%D0%BD%20%D0%90%D0%BB%D0%B5%D0%BA%D1%81%D0%B0%D0%BD%D0%B4%D1%80%20%D0%A1%D0%B5%D1%80%D0%B3%D0%B5%D0%B5%D0%B2%D0%B8%D1%87.pdf?type=pdf'
              rtf:
                url: 'https://api.hh.ru/resumes/123abc123abc123abc123abc123abc123abc12/download/%D0%9F%D1%83%D1%88%D0%BA%D0%B8%D0%BD%20%D0%90%D0%BB%D0%B5%D0%BA%D1%81%D0%B0%D0%BD%D0%B4%D1%80%20%D0%A1%D0%B5%D1%80%D0%B3%D0%B5%D0%B5%D0%B2%D0%B8%D1%87.rtf?type=rtf'
          age: 41
          alternate_url: 'https://hh.ru/resume/123abc123abc123abc123abc123abc123abc12'
          area:
            id: '1'
            name: Москва
            url: 'https://api.hh.ru/areas/1'
          auto_hide_time:
            id: month_10
            name: 10 месяцев
          blocked: false
          can_publish_or_update: true
          certificate: []
          contact:
            - comment: Mobile
              contact_value: +7 (495) 552-73-67
              kind: phone
              need_verification: true
              preferred: true
              type:
                id: cell
                name: Мобильный телефон
              verified: false
            - contact_value: my-email@example.com
              kind: email
              preferred: false
              type:
                id: email
                name: Эл. почта
          created: '2023-02-15T09:04:07+0300'
          created_at: '2023-02-15T09:04:07+0300'
          download:
            pdf:
              url: 'https://api.hh.ru/resumes/123abc123abc123abc123abc123abc123abc12/download/%D0%9F%D1%83%D1%88%D0%BA%D0%B8%D0%BD%20%D0%90%D0%BB%D0%B5%D0%BA%D1%81%D0%B0%D0%BD%D0%B4%D1%80%20%D0%A1%D0%B5%D1%80%D0%B3%D0%B5%D0%B5%D0%B2%D0%B8%D1%87.pdf?type=pdf'
            rtf:
              url: 'https://api.hh.ru/resumes/123abc123abc123abc123abc123abc123abc12/download/%D0%9F%D1%83%D1%88%D0%BA%D0%B8%D0%BD%20%D0%90%D0%BB%D0%B5%D0%BA%D1%81%D0%B0%D0%BD%D0%B4%D1%80%20%D0%A1%D0%B5%D1%80%D0%B3%D0%B5%D0%B5%D0%B2%D0%B8%D1%87.rtf?type=rtf'
          education:
            level:
              id: higher
              name: Высшее
            primary:
              - education_level:
                  id: higher
                  name: Высшее
                id: '1'
                name: 'Московский государственный университет им. М.В. Ломоносова, Москва'
                name_id: null
                organization: Высшая школа бизнеса
                organization_id: null
                result: Прикладная математика
                result_id: null
                university_acronym: МГУ
                year: 2016
          experience:
            - area: null
              company: HeadHunter
              company_id: null
              company_url: null
              employer: null
              end: null
              industries: []
              industry: null
              position: QA Engineer
              start: '2012-07-15'
            - area: null
              company: Luxoft Personnel
              company_id: null
              company_url: null
              employer: null
              end: '2012-06-15'
              industries: []
              industry: null
              position: QA Engineer
              start: '2007-03-10'
          finished: true
          first_name: Александр
          gender:
            id: male
            name: Мужской
          hidden_fields: []
          id: 123abc123abc123abc123abc123abc123abc12
          last_name: Пушкин
          marked: false
          middle_name: Сергеевич
          moderation_note: []
          next_publish_at: '2023-02-15T13:04:07+0300'
          paid_services: []
          photo: null
          platform:
            id: headhunter
          publish_url: 'https://api.hh.ru/resumes/123abc123abc123abc123abc123abc123abc12/publish'
          real_id: '1234'
          salary:
            amount: 150000
            currency: RUR
          similar_vacancies:
            counters:
              total: 0
            url: 'https://api.hh.ru/resumes/123abc123abc123abc123abc123abc123abc12/similar_vacancies'
          status:
            id: published
            name: опубликовано
          title: QA Team Lead
          total_experience:
            months: 192
          updated: '2023-02-15T09:04:07+0300'
          updated_at: '2023-02-15T09:04:07+0300'
          url: 'https://api.hh.ru/resumes/123abc123abc123abc123abc123abc123abc12'
          visible: true
        resumes:
          - conditions:
              education:
                fields:
                  additional:
                    fields:
                      name:
                        max_length: 512
                        min_length: 1
                        required: true
                      organization:
                        max_length: 128
                        min_length: 1
                        required: true
                      result:
                        max_length: 128
                        min_length: 1
                        required: false
                      year:
                        max_value: 2033
                        min_value: 1950
                        required: true
                    max_count: 100
                    min_count: 0
                    required: false
                  attestation:
                    fields:
                      name:
                        max_length: 512
                        min_length: 1
                        required: true
                      organization:
                        max_length: 128
                        min_length: 1
                        required: true
                      result:
                        max_length: 128
                        min_length: 1
                        required: false
                      year:
                        max_value: 2033
                        min_value: 1950
                        required: true
                    max_count: 64
                    min_count: 0
                    required: false
                  elementary:
                    fields:
                      name:
                        max_length: 512
                        min_length: 1
                        required: true
                      year:
                        max_value: 2033
                        min_value: 1950
                        required: true
                    max_count: 64
                    min_count: 0
                    required: false
                  level:
                    required: true
                  primary:
                    fields:
                      name:
                        max_length: 512
                        min_length: 1
                        required: true
                      organization:
                        max_length: 128
                        min_length: 1
                        required: false
                      result:
                        max_length: 128
                        min_length: 1
                        required: false
                      year:
                        max_value: 2033
                        min_value: 1950
                        required: true
                    max_count: 64
                    min_count: 1
                    required: true
                required: true
              experience:
                fields:
                  area:
                    required: false
                  company:
                    max_length: 512
                    min_length: 1
                    required: true
                  company_url:
                    max_length: 255
                    min_length: 1
                    required: false
                  description:
                    max_length: 32768
                    min_length: 1
                    required: true
                  end:
                    max_date: '2023-02-16'
                    min_date: '1900-01-01'
                    required: false
                  industries:
                    max_count: 5
                    min_count: 0
                    required: false
                  industry:
                    required: false
                  position:
                    max_length: 512
                    min_length: 1
                    required: true
                  start:
                    max_date: '2023-02-16'
                    min_date: '1900-01-01'
                    required: true
                max_count: 64
                min_count: 0
                required: false
            resume:
              id: abc123
              photo:
                '40': 'https://hhcdn.ru/photo/1.jpeg'
                '100': 'https://hhcdn.ru/photo/2.jpeg'
                '500': 'https://hhcdn.ru/photo/3.jpeg'
                id: '1'
                medium: 'https://hhcdn.ru/photo/3.jpeg'
                small: 'https://hhcdn.ru/photo/2.jpeg'
              status:
                id: new
                name: ожидает модерации
              title: Бухгалтер
        screens:
          - fields_options:
              professional_roles:
                visibility: show
              title:
                visibility: show
            messages:
              moderation_note:
                - fields:
                    - title
                    - professional_roles
                  text: 'Нецензурщина в title, professionalRole'
            screen_content:
              - content_id: '14'
                content_type: cred
            screen_id: professional_role
            screen_type: static
            title: Роль
          - fields_options:
              area:
                visibility: show
              birth_date:
                visibility: show
              citizenship:
                visibility: show
              first_name:
                visibility: show
              gender:
                visibility: show
              last_name:
                visibility: show
              middle_name:
                visibility: show
              work_ticket:
                visibility: show
            screen_content: []
            screen_id: common
            screen_type: static
            title: Основное
          - fields_options:
              education:
                fields:
                  level:
                    visibility: show
            screen_content: []
            screen_id: education_level
            screen_type: static
            title: Уровень образования
          - fields_options:
              education:
                fields:
                  primary:
                    visibility: show
            screen_content: []
            screen_id: education
            screen_type: static
            title: Образование
          - fields_options:
              experience:
                visibility: show
            screen_content: []
            screen_id: experience
            screen_type: static
            title: Опыт работы
          - fields_options:
              skill_set:
                visibility: show
            screen_content: []
            screen_id: keyskills
            screen_type: static
            title: Ключевые навыки
        skills_with_levels:
          - category: SKILL
            id: 100051
            level:
              id: 50
              internal_id: a1
              name: Basic
              rank: 0
            name: MS Excel
            theory:
              attempted_at: '2022-10-15T01:00:05Z'
              id: 95
              level:
                id: 50
                internal_id: a1
                name: Basic
                rank: 0
              method:
                branding_settings:
                  age_label: 0+
                  cta_button_enabled: false
                  enabled: false
                description: Пройдите тест и получите подтверждённый навык в резюме. Это выделит вас среди других кандидатов
                icon:
                  dark:
                    original: 'https://hhcdn.ru/verification-method/3696131.png'
                  defaults:
                    original: 'https://hhcdn.ru/verification-method/3696131.png'
                  light:
                    original: 'https://hhcdn.ru/verification-method/3696131.png'
                id: 115
                name: Базовый тест по MS Excel
                platform: KAK_DELA_QUIZ
                source:
                  description: 'Аудиторско-консалтинговая компания, входит в «большую четвёрку» аудиторских компаний'
                  headline:
                    dark:
                      original: 'https://hhcdn.ru/verification-method/3696132.png'
                    defaults:
                      original: 'https://hhcdn.ru/verification-method/3696132.png'
                    light:
                      original: 'https://hhcdn.ru/verification-method/3696132.png'
                  href: b1.ru
                  icon:
                    dark:
                      original: 'https://hhcdn.ru/verification-method/3696132.png'
                    defaults:
                      original: 'https://hhcdn.ru/verification-method/3696132.png'
                    light:
                      original: 'https://hhcdn.ru/verification-method/3696132.png'
                  id: 1150
                  name: Ernst&Young
              result:
                score:
                  actual: 18
                  max: 20
                status: SUCCESS
                type: SCORE
              validity:
                state: EXPIRED
                valid_until: '2022-10-15T01:00:05Z'
            verifications:
              - attempted_at: '2022-10-15T01:00:05Z'
                id: 95
                level:
                  id: 50
                  internal_id: a1
                  name: Basic
                  rank: 0
                method:
                  branding_settings:
                    age_label: 0+
                    cta_button_enabled: false
                    enabled: false
                  description: Пройдите тест и получите подтверждённый навык в резюме. Это выделит вас среди других кандидатов
                  icon:
                    dark:
                      original: 'https://hhcdn.ru/verification-method/3696131.png'
                    defaults:
                      original: 'https://hhcdn.ru/verification-method/3696131.png'
                    light:
                      original: 'https://hhcdn.ru/verification-method/3696131.png'
                  id: 115
                  name: Базовый тест по MS Excel
                  platform: KAK_DELA_QUIZ
                  source:
                    description: 'Аудиторско-консалтинговая компания, входит в «большую четвёрку» аудиторских компаний'
                    headline:
                      dark:
                        original: 'https://hhcdn.ru/verification-method/3696132.png'
                      defaults:
                        original: 'https://hhcdn.ru/verification-method/3696132.png'
                      light:
                        original: 'https://hhcdn.ru/verification-method/3696132.png'
                    href: b1.ru
                    icon:
                      dark:
                        original: 'https://hhcdn.ru/verification-method/3696132.png'
                      defaults:
                        original: 'https://hhcdn.ru/verification-method/3696132.png'
                      light:
                        original: 'https://hhcdn.ru/verification-method/3696132.png'
                    id: 1150
                    name: Ernst&Young
                result:
                  score:
                    actual: 18
                    max: 20
                  status: SUCCESS
                  type: SCORE
                validity:
                  state: EXPIRED
                  valid_until: '2022-10-15T01:00:05Z'
            verified: true
            verified_by: THEORY
    VacanciesAvailableVacancyType:
      value:
        items:
          - name: 'Standard: without updates'
            description: It automatically rises in search results every 3 days; displays for 30 days. The vacancy is visible to invited applicants only. Applicants who have not been invited cannot view the vacancy nor find it using a search form
            available_publications_count: 21
            vacancy_billing_type:
              id: standart
            vacancy_types:
              - id: closed
              - id: open
            publications:
              - name: Moscow and the Moscow Oblast
                count: 10
                areas_url: 'https://api.hh.ru/areas?price_region_id=1000224&vacancy_publication_flag=true'
              - name: In any region
                count: 11
                areas_url: 'https://api.hh.ru/areas?vacancy_publication_flag=true'
          - name: 'Premium: one week in the top results'
            description: 'For the first 7 days, your publication will be highlighted, branded with your company logo, and remain in the top search results. The vacancy will be e-mailed to suitable candidates and it will be posted for 30 days'
            available_publications_count: 0
            vacancy_billing_type:
              id: free
            vacancy_types:
              - id: open
            publications: []
    SuggestsResumeSearchKeyword:
      value:
        items:
          - text: Moscow
          - text: Bridges
          - text: Moscow State Law Academy
    ApplicantCommentsApplicantCommentsListExample:
      value:
        found: 2
        page: 0
        pages: 1
        per_page: 20
        items:
          - author:
              full_name: Ivanov Ivan Ivanovich
            created_at: '2015-08-27T10:19:55+0300'
            id: '123456'
            is_mine: true
            text: |-
              look at this candidate
              now!
            access_type:
              id: coworkers
              name: Visible to me and my colleagues
          - author:
              full_name: Ivanova Maria Ivanovna
            created_at: '2015-08-27T10:30:14+0300'
            id: '123654'
            is_mine: false
            text: do not consider necessary
            access_type:
              id: owner
              name: Visible only to me
    ResumesResumeViewHistory:
      value:
        per_page: 20
        items:
          - created_at: '2014-02-05T19:05:58+0400'
            viewed: true
            employer:
              logo_urls:
                '90': 'https://hh.ru/employer/logo/1455'
              vacancies_url: 'https://api.hh.ru/vacancies?employer_id=1455'
              name: HeadHunter
              url: 'https://api.hh.ru/employers/1455'
              alternate_url: 'https://hh.ru/employer/1455'
              id: '1455'
        page: 0
        pages: 1
        found: 1
        resume:
          id: 555aaaabbbfrfs123
          title: Manager
          url: 'https://api.hh.ru/resumes/555aaaabbbfrfs123'
          alternate_url: 'https://hh.ru/resumes/555aaaabbbfrfs123'
    EmployerManagerTypes:
      value:
        items:
          - id: manager
            name: Manager
            available_permissions:
              - id: can_create_vacancy
                name: Creation and extension of vacancies
              - id: can_view_resume_contacts
                name: View contacts of the applicant
    AreasAreaItem:
      value:
        name: Kazakhstan
        id: '40'
        parent_id: null
        areas:
          - name: Abai
            id: '6251'
            parent_id: '40'
            areas: []
    SavedSearchesSavedSearchResumeItem:
      value:
        id: '609535'
        name: Managers in Moscow
        created_at: '2015-01-01T13:12:17+0400'
        subscription: true
        items:
          count: 55
          url: 'https://api.hh.ru/resumes?order_by=publication_time&saved_search_id=123456&text=manager&area=1'
        new_items:
          count: 15
          url: 'https://api.hh.ru/resumes?order_by=publication_time&saved_search_id=123456&text=manager&area=1&last_used=2015-11-12T18%3A06%3A04%2B0300'
    ResumesSuitableResumes:
      value:
        items:
          - last_name: Ivanov
            first_name: Ivan
            middle_name: null
            title: API Test
            created_at: '2023-07-18T14:12:38+0300'
            updated_at: '2023-07-18T14:12:38+0300'
            area:
              id: '1'
              name: Moscow
              url: 'https://...'
            age: null
            gender:
              id: male
              name: Male
            salary: null
            photo: null
            total_experience:
              months: 14
            certificate: []
            hidden_fields: []
            actions:
              download:
                pdf:
                  url: 'https://...?type=pdf'
                rtf:
                  url: 'https://...?type=rtf'
            url: 'https://...'
            alternate_url: 'https://...'
            id: someid
            real_id: '1234'
            download:
              pdf:
                url: 'https://.../download/...?type=pdf'
              rtf:
                url: 'https://.../download/...?type=rtf'
            platform:
              id: headhunter
            education:
              level:
                id: master
                name: Master
              primary:
                - id: '1'
                  name: testUniversity
                  organization: testFaculty
                  result: testSpeciality
                  year: 1988
                  name_id: null
                  organization_id: null
                  result_id: null
                  university_acronym: testUniversityAcronym
                  education_level:
                    id: master
                    name: Master
            experience:
              - start: '2011-01-02'
                end: '2012-02-06'
                company: Company
                company_id: null
                industry:
                  id: '1'
                  name: Banking
                industries: []
                area:
                  id: '1'
                  name: Moscow
                  url: 'https://...'
                company_url: 'http://url.ru'
                employer: null
                position: CEO
            marked: false
            finished: true
            status:
              id: published
              name: published
            access:
              type:
                id: direct
                name: available only by direct link
            requires_completion: false
            has_errors: false
        found: 1
        pages: 1
        per_page: 1
        page: 0
        overall:
          not_published: 0
          already_applied: 0
          unavailable: 0
    EmployersEmployerDepartments:
      value:
        items:
          - id: 18320489-18320489-dept1
            name: DEPT#1
          - id: 18320489-18320489-dept2
            name: DEPT#2
    DictionariesSalaryStatisticsProfessionalAreas:
      value:
        - id: '1030000'
          name: Administrative support
          specializations:
            - id: '1030015'
              name: Archive
              description: 'Organization of social work with employees, distribution of material and social assistance funds'
    NegotiationsMessageSent:
      value:
        id: '124'
        viewed_by_me: true
        viewed_by_opponent: false
        created_at: '2013-10-08T10:12:23+0400'
        text: Message text
        state:
          id: text
          name: Text
        author:
          participant_type: applicant
        address: null
        editable: false
    SavedSearchesSavedSearchVacancyItem:
      value:
        id: '123'
        name: Test autosearch
        created_at: '2014-04-11T13:12:17+0400'
        subscription: true
        items:
          count: 304234
          url: 'https://api.hh.ru/vacancies?area=1&saved_search_id=123'
        new_items:
          count: 12
          url: 'https://api.hh.ru/vacancies?area=1&saved_search_id=123&date_from=2014-01-11T13%3A12%3A17%2B0400'
    SuggestsVacancySearchKeyword:
      value:
        items:
          - text: Java
          - text: JavaScript
          - text: Java programmer
    EmployerManagers:
      value:
        items:
          - id: '1507922'
            email: employer@example.com
            full_name: Ivanov Ivan Ivanovich
            last_name: Ivanov
            first_name: Ivan
            middle_name: Ivanovich
            vacancies_count: 0
            phone:
              country: '7'
              city: '495'
              number: '1568055'
              comment: from 9 to 17
            additional_phone:
              country: '7'
              city: '916'
              number: '4555555'
              comment: personal
            position: HR manager
            area:
              id: '1'
              name: Moscow
              url: 'https://api.hh.ru/areas/1'
        found: 1
        page: 0
        pages: 1
        per_page: 20
    EmployersEmployersExample:
      value:
        per_page: 20
        page: 0
        pages: 1
        found: 1
        items:
          - id: '1455'
            name: HeadHunter
            url: 'https://api.hh.ru/employers/1455'
            alternate_url: 'https://hh.ru/employer/1455'
            vacancies_url: 'https://api.hh.ru/vacancies?employer_id=1455'
            open_vacancies: 19
            logo_urls:
              '90': 'https://hh.ru/employer-logo/289027.png'
              '240': 'https://hh.ru/employer-logo/289169.png'
              original: 'https://hh.ru/file/2352807.png'
    ResumesGetResumeVisibilityList:
      value:
        found: 1
        page: 0
        pages: 1
        per_page: 20
        limit: 2000
        items:
          - id: '1455'
            name: HeadHunter
            url: 'https://api.hh.ru/employers/1455'
            alternate_url: 'https://hh.ru/employer/1455'
            logo_urls:
              '90': 'https://hhcdn.ru/employer-logo/1455-small.jpeg'
              '240': 'https://hhcdn.ru/employer-logo/1455-big.jpeg'
              original: 'https://hhcdn.ru/employer-logo/1455.jpeg'
    NegotiationsEmployerListResponse:
      value:
        collections:
          - id: somecollection
            name: Collection name
            description: Collection description
            url: 'https://api.hh.ru/negotiations/somecollection?vacancy_id=123456'
            counters:
              with_updates: 4
              total: 5
            order_types:
              - id: created_at
                name: by created date
                url: 'https://api.hh.ru/negotiations/somecollection?vacancy_id=123456&order_by=created_at'
              - id: relevance
                name: relevance
                url: 'https://api.hh.ru/negotiations/somecollection?vacancy_id=123456&order_by=relevance'
          - id: anothercollection
            name: Another collection name
            description: Another collection description
            url: 'https://api.hh.ru/negotiations/anothercollection?vacancy_id=123456'
            counters:
              with_updates: 0
              total: 1
            order_types:
              - id: created_at
                name: by created date
                url: 'https://api.hh.ru/negotiations/anothercollection?vacancy_id=123456&order_by=created_at'
        generated_collections:
          - id: some_generated_collection
            name: Generated collection's name
            description: Generated collection's description
            url: 'https://api.hh.ru/negotiations/some_generated_collection?vacancy_id=123456'
            counters:
              with_updates: 4
              total: 5
            order_types:
              - id: created_at
                name: by created date
                url: 'https://api.hh.ru/negotiations/some_generated_collection?vacancy_id=123456&order_by=created_at'
              - id: relevance
                name: relevance
                url: 'https://api.hh.ru/negotiations/some_generated_collection?vacancy_id=123456&order_by=relevance'
        employer_states:
          - id: response
            name: Response
          - id: invitation
            name: Invitation
          - id: discard
            name: Discard
          - id: discard
            name: Rejection
          - id: discard_after_interview
            name: Rejected after interview
    AddEmployerManager:
      value:
        last_name: Fedotov
        first_name: Tim
        middle_name: Illonovich
        manager_type:
          id: manager
        is_main_contact_person: false
        position: Adaptation manager
        email: employer@example.com
        area:
          id: '1'
        phone:
          country: '7'
          city: '495'
          number: '1568055'
          comment: from 9 to 17
        additional_phone:
          country: '7'
          city: '916'
          number: '4555555'
          comment: personal
        permissions:
          - id: can_create_vacancy
          - id: can_view_resume_contacts
    ResumesPostResumeVisibilityListBody:
      value:
        items:
          - id: '407'
          - id: '412'
    ResumeProfileResumeProfileDictionaries:
      value:
        resume_any_job_titles:
          items:
            - name: Водитель
              role_ids:
                - '21'
            - name: Официант
              role_ids:
                - '25'
        resume_default_titles:
          items:
            - name: Начинающий специалист
              role_ids:
                - '40'
        resume_popular_titles:
          items:
            - name: Водитель
              role_ids:
                - '21'
            - name: Начинающий специалист
              role_ids:
                - '40'
        resume_profile_communication_methods:
          items:
            - title: Телега
              type: telegram
            - title: Вацап
              type: whatsapp
    SuggestsCompanies:
      value:
        items:
          - text: HeadHunter
            id: '1455'
            url: 'http:/hh.ru'
            industries:
              - id: '7.541'
                name: Internet company
            logo_urls:
              '90': 'https://hh.ru/employer-logo/289055.png'
            area:
              id: '113'
              name: Russia
    ServicesEmployerServices:
      value:
        items:
          - id: '12345678'
            service_type:
              id: API_UNLIMITED
              name: HH API access
            activated_at: '2018-02-01T12:00:00+0300'
            expires_at: '2019-01-31T12:00:00+0300'
            balance: null
          - id: '12345680'
            service_type:
              id: API_LIMITED
              name: HH API request packet
            activated_at: '2019-02-01T12:00:00+0300'
            expires_at: '2020-01-31T12:00:00+0300'
            balance:
              actual: 10000
              initial: 10000
    ResumesCreationAvailability:
      value:
        is_creation_available: true
        max: 20
        created: 2
        remaining: 18
    SuggestsFieldsOfStudy:
      value:
        items:
          - id: '382'
            text: 'Refrigerating, cryogenic technology and air conditioning (engineer)'
    ResumesCreateResume:
      value:
        title: RESUME
        gender:
          id: male
          name: null
        education:
          primary:
            - id: '1'
              name: testUniversity
              organization: testFaculty
              result: testSpeciality
              year: 1988
              organization_id: null
              name_id: null
              result_id: null
              university_acronym: testUniversityAcronym
              education_level:
                id: master
                name: Master
          elementary: null
          additional: null
          attestation: null
          level:
            id: master
            name: Master
        experience:
          - company: Company
            area: null
            industry: null
            industries: []
            position: CEO
            start: '2011-01-02'
            end: '2012-02-06'
            employer: null
            description: Used to manage a department
            company_id: null
            company_url: 'http://url.ru'
        area:
          id: '1'
        photo: null
        language:
          - id: eng
            name: English
            level:
              id: a1
              name: A1
        skills: Description of skills in a free manner
        citizenship:
          - id: '113'
        portfolio: null
        last_name: Ivanov
        first_name: Ivan
        contact:
          - type:
              id: email
              name: Email
            preferred: true
            value: my-email@example.com
          - type:
              id: cell
              name: Mobile phone
            preferred: false
            verified: false
            comment: Comment
            value:
              country: '7'
              city: '955'
              number: '0000000'
              formatted: 7-955-000-0000
            need_verification: false
    DictionariesIndustries:
      value:
        - id: '49'
          name: Public Services
          industries:
            - id: '49.408'
              name: Funeral Services
    VacancyDraftVacancyDraftItems:
      value:
        items:
          - areas:
              - id: '4786'
                name: Artishta
              - id: '4787'
                name: Bachatskii
              - id: '1231'
                name: Belovo
            completed_fields_percentage: 100
            draft_id: '1110032'
            insufficient_publications:
              - publication_type: standard
                billing_type:
                  id: standard
                  name: Standard
                vacancy_type: open
                count: 2
            insufficient_quotas:
              - publication_type: standard
                billing_type:
                  id: standard
                  name: Standard
                vacancy_type: open
                count: 1
            last_change_time: '2021-05-18T11:20:48+03:00'
            name: Retail department manager
            publication_ready: true
            publication_type: standard
            billing_type:
              id: standard
              name: Standard
            vacancy_type: open
            required_publications:
              - publication_type: standard
                billing_type:
                  id: standard
                  name: Standard
                vacancy_type: open
                count: 3
            scheduled_at: '2022-01-31T12:00:00+0300'
            auto_publication: null
            suitable_applicants:
              active: 123
              total: 9999
            url: 'https://api.hh.ru/vacancies/drafts/1110032'
            vacancy_properties:
              id: HH_STANDARD
              appearance:
                title: Standard
              properties:
                - property_type: HH_STANDARD
                  parameters: []
                  platform: HH
          - areas:
              - id: '2842'
                name: Balikchi
            completed_fields_percentage: 100
            draft_id: '1110031'
            insufficient_publications: null
            insufficient_quotas: null
            last_change_time: null
            name: Curator
            publication_ready: true
            publication_type: standard_plus
            scheduled_at: null
            billing_type:
              id: standard_plus
              name: Standard plus
            vacancy_type: open
            required_publications: null
            auto_publication:
              bill_uid: 4011054/3
              cart_id: '5967030'
            url: 'https://api.hh.ru/vacancies/drafts/1110031'
            vacancy_properties:
              id: HH_STANDARD_PLUS
              appearance:
                title: Standard plus
              properties:
                - property_type: HH_STANDARD_PLUS
                  parameters: []
                  platform: HH
        found: 2
        page: 0
        pages: 1
        per_page: 20
    VacanciesVacancyUpgradeList:
      value:
        items:
          - vacancy_billing_type:
              id: premium
              name: «Premium» Publication
              description: Maximum responses per week
            actions:
              - type: direct_upgrade
              - type: activate
                cart_id: 5967035
                url: 'https://hh.ru/employer/invoice/finish?cartId=5967035'
              - type: buy
                url: 'https://hh.ru/employer/invoice/purchase?code=VPREM&count=1'
                price:
                  amount: '10152.0'
                  currency_code: RUR
            without_action: null
          - vacancy_billing_type:
              id: standard_plus
              name: «Standard Plus» publication
              description: Maximum responses per month
            actions: []
            without_action:
              - reason: Vacancy upgrade quota exceeded
    EmployersEmployerVacancyAreas:
      value:
        found: 1
        items:
          - id: '1'
            name: Moscow
            url: 'https://api.hh.ru...'
        page: 0
        pages: 1
        per_page: 1
    VacanciesVacancyForManager:
      value:
        id: '8331228'
        previous_id: '123456'
        description: The job is good
        branded_description: <style>...</style><div>...</div><script></script>
        key_skills:
          - name: Visitor reception
          - name: Source document circulation
        schedule:
          id: fullDay
          name: Full time
        accept_handicapped: false
        accept_kids: false
        experience:
          id: between3And6
          name: Between 3 and 6 years
        address:
          city: Moscow
          street: Godovikova Street
          building: 9c10
          description: A passport is required on the reception
          raw: 'Moscow, Godovikova Street, 9'
          lat: 55.807794
          lng: 37.638699
          metro:
            station_name: Alexeevskaya
            line_name: Kaluzhsko-Rizhskaya
            station_id: '6.8'
            line_id: '6'
            lat: 55.807794
            lng: 37.638699
          metro_stations:
            - station_name: Alexeevskaya
              line_name: Kaluzhsko-Rizhskaya
              station_id: '6.8'
              line_id: '6'
              lat: 55.807794
              lng: 37.638699
          id: '9'
        alternate_url: 'https://hh.ru/vacancy/8331228'
        apply_alternate_url: 'https://hh.ru/applicant/vacancy_response?vacancyId=8331228'
        code: HHR-3487
        department:
          id: 18320489-18320489-dept1
          name: 'HeadHunter::Technical department'
        employment:
          id: full
          name: Full time
        salary:
          to: null
          from: 30000
          currency: RUR
          gross: true
        salary_range:
          from: 30000
          to: null
          currency: RUR
          gross: true
          mode:
            id: MONTH
            name: Per month
          frequency:
            id: MONTHLY
            name: Monthly
        archived: false
        name: Secretary
        insider_interview:
          id: '12345'
          url: 'https://hh.ru/interview/12345?employerId=777'
        area:
          url: 'https://api.hh.ru/areas/1?locale=EN'
          id: '1'
          name: Moscow
        initial_created_at: '2013-06-08T16:17:21+0400'
        created_at: '2013-07-08T16:17:21+0400'
        published_at: '2013-07-08T16:17:21+0400'
        expires_at: '2013-08-08T16:17:21+0400'
        employer:
          logo_urls:
            '90': 'https://hh.ru/employer-logo/289027.png'
            '240': 'https://hh.ru/employer-logo/289169.png'
            original: 'https://hh.ru/file/2352807.png'
          name: HeadHunter
          url: 'https://api.hh.ru/employers/1455?locale=EN'
          alternate_url: 'https://hh.ru/employer/1455'
          id: '1455'
          trusted: true
          blacklisted: false
          badges:
            - type: employer-hh-rating
              description: 2nd place in the Rating of Employers in Russia (small companies)
              url: 'https://rating.hh.ru/profile/rating2020'
              position: '2'
              year: 2020
        manager:
          id: '1'
        response_letter_required: true
        response_notifications: true
        branded_template:
          id: '1'
          name: test
        can_upgrade_billing_type: true
        type:
          id: open
          name: Open
        has_test: true
        response_url: null
        test:
          required: false
        contacts:
          name: First name
          email: user@example.com
          phones:
            - comment: null
              city: '985'
              number: 000-00-00
              country: '7'
        billing_type:
          id: standard
          name: Standard
        allow_messages: true
        premium: true
        driver_license_types:
          - id: A
          - id: B
        accept_incomplete_resumes: false
        working_days:
          - id: only_saturday_and_sunday
            name: Work only on Saturdays and Sundays
        working_time_intervals:
          - id: from_four_to_six_hours_in_a_day
            name: Work shifts of 4-6 hours per day
        working_time_modes:
          - id: start_after_sixteen
            name: 'Working after 16:00'
        work_format:
          - id: ON_SITE
            name: Working on-site
        working_hours:
          - id: HOURS_4
            name: 4 hours
        work_schedule_by_days:
          - id: WEEKEND
            name: On weekends
        night_shifts: true
        internship: false
        accept_temporary: false
        professional_roles:
          - id: '96'
            name: Software Developer
        languages:
          - id: eng
            name: English
            level:
              id: b2
              name: B2 — Upper intermediate
        hidden: false
        approved: false
        vacancy_properties:
          properties:
            - property_type: HH_PAY_FOR_PERFORMANCE
              start_time: '2024-09-14T02:51:16.061+03:00'
              end_time: '2024-10-14T02:51:16.061+03:00'
              parameters: []
    MailTemplatesMailTemplateInput:
      value:
        text: 'We found your resume very interesting. We would like to invite you for an interview. Please call us during business hours: [HRPhone] ([HRName]).'
    ResumesResumeNegotiationsHistory:
      value:
        vacancies:
          - id: '321'
            name: Test vacancy
            url: 'https://api.hh.ru/vacancies/321'
            archived: false
            can_edit: true
            items:
              - employer_state:
                  id: offer
                  name: Offer
                created_at: '2017-01-30T15:06:47+0300'
                with_message: true
            negotiations_url: 'https://api.hh.ru/negotiations/123'
            messages_url: 'https://api.hh.ru/negotiations/123/messages'
    ResumesSearchForResumes:
      value:
        items:
          - id: ABCDEF01234567890
            real_id: '1234'
            last_name: null
            first_name: null
            middle_name: null
            title: TEST_RESUME
            created_at: '2023-08-04T16:20:48+0300'
            updated_at: '2023-08-04T16:20:48+0300'
            area:
              id: '1'
              name: Moscow
              url: 'https://api.hh.ru/areas/1'
            age: 56
            gender:
              id: male
              name: Male
            salary:
              amount: 1500
              currency: USD
            photo: null
            total_experience:
              months: 18
            certificate: []
            owner:
              id: '54751619'
              comments:
                url: 'https://api.hh.ru/applicant_comments/54752012'
                counters:
                  total: 1
            can_view_full_info: false
            negotiations_history:
              url: 'https://api.hh.ru/resumes/ABCDEF01234567890/negotiations_history'
            hidden_fields: []
            actions:
              download:
                pdf:
                  url: 'https://api.hh.ru/resumes/ABCDEF01234567890/download/Lnhfbjibfvcixqb%20Fnhfbjiaxluffhw%20Mnhfbjicdkicrzl.pdf?type=pdf'
                rtf:
                  url: 'https://api.hh.ru/resumes/ABCDEF01234567890/download/Lnhfbjibfvcixqb%20Fnhfbjiaxluffhw%20Mnhfbjicdkicrzl.rtf?type=rtf'
              get_with_contact:
                url: 'https://api.hh.ru/resumes/ABCDEF01234567890?with_contact=ab65a8562d85e1798ad90d67fe8f5253'
              download_with_contact:
                pdf:
                  url: 'https://api.hh.ru/resumes/ABCDEF01234567890/download/Lnhfbjibfvcixqb%20Fnhfbjiaxluffhw%20Mnhfbjicdkicrzl.pdf?type=pdf&with_contact=ab65a8562d85e1798ad90d67fe8f5253'
                rtf:
                  url: 'https://api.hh.ru/resumes/ABCDEF01234567890/download/Lnhfbjibfvcixqb%20Fnhfbjiaxluffhw%20Mnhfbjicdkicrzl.pdf?type=rtf&with_contact=ab65a8562d85e1798ad90d67fe8f5253'
            url: 'https://api.hh.ru/resumes/ABCDEF01234567890'
            alternate_url: 'https://hh.ru/resume/ABCDEF01234567890'
            download:
              pdf:
                url: 'https://api.hh.ru/resumes/ABCDEF01234567890/download/Lnhfbjibfvcixqb%20Fnhfbjiaxluffhw%20Mnhfbjicdkicrzl.pdf?type=pdf'
              rtf:
                url: 'https://api.hh.ru/resumes/ABCDEF01234567890/download/Lnhfbjibfvcixqb%20Fnhfbjiaxluffhw%20Mnhfbjicdkicrzl.pdf?type=rtf'
            platform:
              id: headhunter
            education:
              level:
                id: higher
                name: Higher
              primary:
                - id: '1'
                  name: MIT
                  organization: Aerospace
                  result: 'Architect, master of architecture'
                  year: 2020
                  name_id: null
                  organization_id: null
                  result_id: null
                  university_acronym: testUniversityAcronym
                  education_level:
                    id: master
                    name: Master
            experience:
              - start: '2022-03-22'
                end: '2023-08-04'
                company: NASA
                company_id: '2'
                industry:
                  id: '52'
                  name: 'Arts, culture'
                industries:
                  - id: '19.623'
                    name: 'Joinery and construction products (promotion, wholesale)'
                  - id: '52.651'
                    name: 'Archive, library, art history'
                area:
                  id: '1'
                  name: Moscow
                  url: 'https://api.hh.ru/areas/1'
                company_url: 'http://some-kind.ru'
                employer: null
                position: Tester
            favorited: true
            viewed: false
            marked: false
            last_negotiation: null
        found: 1
        pages: 1
        per_page: 20
        page: 0
    EditEmployerManagers:
      value:
        position: Adaptation manager
        phone:
          country: '7'
          city: '495'
          number: '1568055'
          comment: 'from 9:00 AM to 5:00 PM'
        additional_phone:
          country: '7'
          city: '916'
          number: '4555555'
          comment: personal
        permissions:
          - id: can_create_vacancy
            name: Creation and extension of vacancies
          - id: can_view_resume_contacts
            name: View contacts of the applicant
    VacanciesArchivedVacancyList:
      value:
        found: 1
        page: 0
        pages: 1
        per_page: 20
        items:
          - salary:
              to: null
              from: 30000
              currency: RUR
              gross: true
            salary_range:
              from: 30000
              to: null
              currency: RUR
              gross: true
              mode:
                id: MONTH
                name: Per month
              frequency:
                id: MONTHLY
                name: Monthly
            name: Secretary
            area:
              url: 'https://api.hh.ru/areas/1'
              id: '1'
              name: Moscow
            url: 'https://api.hh.ru/vacancies/8331228'
            published_at: '2013-07-08T16:17:21+0400'
            relations: []
            employer:
              logo_urls:
                '90': 'https://hh.ru/employer-logo/289027.png'
                '240': 'https://hh.ru/employer-logo/289169.png'
                original: 'https://hh.ru/file/2352807.png'
              name: HeadHunter
              url: 'https://api.hh.ru/employers/1455'
              alternate_url: 'https://hh.ru/employer/1455'
              id: '1455'
              trusted: true
              accredited_it_employer: false
            response_letter_required: true
            address: null
            alternate_url: 'https://hh.ru/vacancy/8331228'
            apply_alternate_url: 'https://hh.ru/applicant/vacancy_response?vacancyId=8331228'
            department:
              id: 18320489-18320489-dept1
              name: 'HeadHunter::Technical department'
            premium: false
            type:
              id: open
              name: Open
            id: '8331228'
            archived: true
            counters:
              responses: 3
              invitations_and_responses: 5
            archived_at: '2013-08-08T16:17:21+0400'
            created_at: '2012-07-08T16:17:21+0400'
            vacancy_properties:
              appearance:
                title: Standard
              properties:
                - property_type: HH_STANDARD
                  start_time: '2024-12-16T11:55:05.067+03:00'
                  end_time: '2025-01-15T11:55:05.067+03:00'
                  parameters: []
            closed_for_applicants: false
            has_test: false
    LocalesResumeLocales:
      value:
        - id: RU
          name: Russian
        - id: EN
          name: English
    MetroMetro:
      value:
        - id: '1'
          url: 'https://api.hh.ru/metro/1'
          name: Moscow
          lines:
            - hex_color: '339999'
              id: '11'
              name: Kakhovskaya
              stations:
                - id: '11.46'
                  name: Kashirskaya
                  lat: 55.654327
                  lng: 37.647705
                  order: 0
                  line:
                    id: '11'
                    hex_color: 88CDCF
                    name: Kakhovskaya
    SavedSearchesSavedSearchResumes:
      value:
        per_page: 0
        page: 0
        pages: 1
        found: 2
        items:
          - id: '609535'
            name: Managers in Moscow
            created_at: '2015-01-01T13:12:17+0400'
            subscription: true
            items:
              count: 55
              url: 'https://api.hh.ru/resumes?order_by=publication_time&saved_search_id=123456&text=manager&area=1'
            new_items:
              count: 15
              url: 'https://api.hh.ru/resumes?order_by=publication_time&saved_search_id=123456&text=manager&area=1&last_used=2015-11-12T18%3A06%3A04%2B0300'
    SuggestsEducationalInstitutions:
      value:
        items:
          - acronym: Bauman MSTU
            text: 'Bauman Moscow State Technical University, Moscow'
            synonyms: formerly Bauman MHTS
            id: '38921'
            area:
              id: '1'
              name: Moscow
    ResumesByStatus:
      value:
        counters:
          suitable: 1
          not_published: 0
          already_applied: 0
          unavailable: 0
        suitable:
          - last_name: Ivanov
            first_name: Ivan
            middle_name: null
            title: API Test Resume
            created_at: '2023-09-26T14:08:07+0300'
            updated_at: '2023-09-26T14:08:09+0300'
            area:
              id: '1'
              name: Moscow
              url: 'https://...'
            age: null
            gender:
              id: male
              name: Male
            salary: null
            photo: null
            total_experience:
              months: 14
            certificate: []
            hidden_fields: []
            actions:
              download:
                pdf:
                  url: 'https://...?type=pdf'
                rtf:
                  url: 'https://...?type=rtf'
            url: 'https://...'
            alternate_url: 'https://...'
            id: someid
            real_id: '1234'
            download:
              pdf:
                url: 'https://.../download/...?type=pdf'
              rtf:
                url: 'https://.../download/...?type=rtf'
            platform:
              id: headhunter
            education:
              level:
                id: master
                name: Master
              primary:
                - id: '1'
                  name: testUniversity
                  organization: testFaculty
                  result: testSpeciality
                  year: 1988
                  name_id: null
                  organization_id: null
                  result_id: null
                  university_acronym: testUniversityAcronym
                  education_level:
                    id: master
                    name: Master
            experience:
              - start: '2011-01-02'
                end: '2012-02-06'
                company: Company
                company_id: null
                industry:
                  id: '1'
                  name: Banking
                industries: []
                area:
                  id: '1'
                  name: Moscow
                  url: 'https://...'
                company_url: 'http://url.ru'
                employer: null
                position: CEO
            marked: false
            finished: true
            status:
              id: published
              name: published
            access:
              type:
                id: no_one
                name: visible for no one
            requires_completion: false
            has_errors: false
        not_published: []
        already_applied: []
        unavailable: []
    ClickmeStatisticsResponse:
      value:
        items:
          - clickme_account_id: '456789'
            clickme_account_title: Main
            vacancy_id: '12345'
            vacancy_title: Delivery Driver
            url: 'https://hh.ru/vacancy/12345'
            campaign_id: '67890'
            campaign_type: MULTI_PLACEMENT
            campaign_title: Looking for a Delivery Driver
            impressions: 456
            clicks: 234
            responses: 12
            amount: 6780.99
            date_start: '2024-09-02'
            date_end: '2024-09-22'
    SuggestsSkillSet:
      value:
        items:
          - text: Heating and cooling systems
            id: '2716'
          - text: Cold shop
            id: '3019'
          - text: Cold calling
            id: '3018'
    ArtifactsArtifactUpload:
      value:
        id: '123456'
        medium: null
        small: null
        state:
          id: processing
          name: in process
    VacanciesVacancyForApplicant:
      value:
        id: '8331228'
        description: The job is good
        branded_description: <style>...</style><div>...</div><script></script>
        key_skills:
          - name: Visitor reception
          - name: Source document circulation
        schedule:
          id: fullDay
          name: Full time
        accept_handicapped: false
        accept_kids: false
        experience:
          id: between3And6
          name: Between 3 and 6 years
        address:
          city: Moscow
          street: Godovikova Street
          building: 9c10
          description: A passport is required on the reception
          lat: 55.807794
          lng: 37.638699
          metro_stations:
            - station_name: Alexeevskaya
              line_name: Kaluzhsko-Rizhskaya
              station_id: '6.8'
              line_id: '6'
              lat: 55.807794
              lng: 37.638699
        alternate_url: 'https://hh.ru/vacancy/8331228'
        apply_alternate_url: 'https://hh.ru/applicant/vacancy_response?vacancyId=8331228'
        code: HHR-3487
        department:
          id: 18320489-18320489-dept1
          name: 'HeadHunter::Technical department'
        employment:
          id: full
          name: Full time
        salary:
          to: null
          from: 30000
          currency: RUR
          gross: true
        salary_range:
          from: 30000
          to: null
          currency: RUR
          gross: true
          mode:
            id: MONTH
            name: Per month
          frequency:
            id: MONTHLY
            name: Monthly
        archived: false
        name: Secretary
        insider_interview:
          id: '12345'
          url: 'https://hh.ru/interview/12345?employerId=777'
        area:
          url: 'https://api.hh.ru/areas/1?locale=EN'
          id: '1'
          name: Moscow
        initial_created_at: '2013-06-08T16:17:21+0400'
        created_at: '2013-07-08T16:17:21+0400'
        published_at: '2013-07-08T16:17:21+0400'
        expires_at: '2013-08-08T16:17:21+0400'
        employer:
          logo_urls:
            '90': 'https://hh.ru/employer-logo/289027.png'
            '240': 'https://hh.ru/employer-logo/289169.png'
            original: 'https://hh.ru/file/2352807.png'
          name: HeadHunter
          url: 'https://api.hh.ru/employers/1455?locale=EN'
          alternate_url: 'https://hh.ru/employer/1455'
          id: '1455'
          trusted: true
          blacklisted: false
          badges:
            - type: employer-hh-rating
              description: 2nd place in the Rating of Employers in Russia (small companies)
              url: 'https://rating.hh.ru/profile/rating2020'
              position: '2'
              year: 2020
        manager:
          id: '1'
        response_letter_required: true
        response_notifications: true
        branded_template:
          id: '1'
          name: test
        can_upgrade_billing_type: true
        type:
          id: open
          name: Open
        has_test: true
        response_url: null
        test:
          required: false
        contacts:
          name: First name
          email: user@example.com
          phones:
            - comment: null
              city: '985'
              number: 000-00-00
              country: '7'
        billing_type:
          id: standard
          name: Standard
        allow_messages: true
        premium: true
        driver_license_types:
          - id: A
          - id: B
        accept_incomplete_resumes: false
        working_days:
          - id: only_saturday_and_sunday
            name: Work only on Saturdays and Sundays
        working_time_intervals:
          - id: from_four_to_six_hours_in_a_day
            name: Work shifts of 4-6 hours per day
        working_time_modes:
          - id: start_after_sixteen
            name: 'Working after 16:00'
        work_format:
          - id: ON_SITE
            name: Working on-site
        working_hours:
          - id: HOURS_4
            name: 4 hours
        work_schedule_by_days:
          - id: WEEKEND
            name: On weekends
        night_shifts: true
        internship: false
        accept_temporary: false
        professional_roles:
          - id: '96'
            name: Software Developer
        languages:
          - id: eng
            name: English
            level:
              id: b2
              name: B2 — Upper intermediate
        hidden: false
        approved: false
    EmployersEmployerInfoExample:
      value:
        name: HeadHunter
        type: company
        id: '1455'
        site_url: 'https://hh.ru'
        description: Description
        branded_description: <style>...</style><div>...</div><script></script>
        vacancies_url: 'https://api.hh.ru/vacancies?employer_id=1455'
        open_vacancies: 19
        alternate_url: 'https://hh.ru/employer/1455'
        insider_interviews:
          - url: 'https://hh.ru/interview/12345?employerId=1455'
            id: '12345'
            title: The best of the best
          - url: 'https://hh.ru/interview/54321?employerId=1455'
            id: '54321'
            title: Success story
        logo_urls:
          '90': 'https://hh.ru/employer-logo/289027.png'
          '240': 'https://hh.ru/employer-logo/289169.png'
          original: 'https://hh.ru/file/2352807.png'
        area:
          url: 'https://api.hh.ru/areas/113'
          id: '113'
          name: Russia
        trusted: true
        accredited_it_employer: true
        relations: []
        industries:
          - id: '7.540'
            name: Software development
          - id: '9.399'
            name: Mobile communication
        applicant_services:
          target_employer:
            count: 2
    Id:
      value:
        id: '754'
    DictionariesDictionaries:
      value:
        vacancy_label:
          - id: with_address
            name: With address only
          - id: accept_handicapped
            name: Only vacancies suitable for people with a disability
          - id: not_from_agency
            name: No vacancies from agencies
          - id: accept_kids
            name: Only available to candidates aged 14+
          - id: accredited_it
            name: Vacancies from accredited IT employers
          - id: low_performance
            name: Only vacancies with less than 10 responses
          - id: internship
            name: Internship only
        resume_access_type:
          - id: no_one
            name: invisible
          - id: whitelist
            name: visible to selected companies
          - id: blacklist
            name: hidden from selected companies
          - id: clients
            name: is visible to all companies registered on Headhunter
          - id: everyone
            name: visible to entire internet
          - id: direct
            name: available only by direct link
        vacancy_search_order:
          - id: publication_time
            name: by date
          - id: salary_desc
            name: by salary descending
          - id: salary_asc
            name: by salary ascending
          - id: relevance
            name: by relevance
          - id: distance
            name: by distance
        vacancy_search_fields:
          - id: name
            name: in vacancy name
          - id: company_name
            name: in company name
          - id: description
            name: in vacancy description
        gender:
          - id: male
            name: Male
          - id: female
            name: Female
        preferred_contact_type:
          - id: home
            name: Home phone
          - id: work
            name: Work phone
          - id: cell
            name: Cellphone
          - id: email
            name: Email
        travel_time:
          - id: any
            name: Doesn't matter
          - id: less_than_hour
            name: Up to one hour
          - id: from_hour_to_one_and_half
            name: Up to 90 minutes
        relocation_type:
          - id: no_relocation
            name: not ready to relocate
          - id: relocation_possible
            name: ready to relocate
          - id: relocation_desirable
            name: willing to relocate
        business_trip_readiness:
          - id: ready
            name: prepared for business trips
          - id: sometimes
            name: prepared for occasional business trips
          - id: never
            name: not prepared for business trips
        resume_contacts_site_type:
          - id: personal
            name: Another website
          - id: moi_krug
            name: Moikrug.ru
          - id: livejournal
            name: liveJournal
          - id: linkedin
            name: LinkedIn
          - id: freelance
            name: Free-lance.ru
          - id: skype
            name: Skype
        employer_type:
          - id: company
            name: Direct employer
          - id: agency
            name: Recruitment agency
          - id: project_director
            name: Project manager
          - id: private_recruiter
            name: Private recruiter
          - id: self_employed
            name: Self employed
          - id: private_individual
            name: Private individual
        employer_relation:
          - id: blacklisted
            name: Hidden from job search
        negotiations_state:
          - id: response
            name: Response
          - id: invitation
            name: Invitation
          - id: discard
            name: Discard
          - id: hidden
            name: Hidden
        applicant_negotiation_status:
          - id: all
            name: All
          - id: active
            name: Active
          - id: invitations
            name: Active invitations
          - id: response
            name: Active responses
          - id: discard
            name: Denied
          - id: archived
            name: Archived
          - id: non_archived
            name: All except archived ones
          - id: deleted
            name: Hidden
        negotiations_participant_type:
          - id: applicant
            name: Applicant
          - id: employer
            name: Employer
        negotiations_order:
          - id: updated_at
            name: by updated date
          - id: created_at
            name: by created date
        resume_moderation_note:
          - id: bad
            name: The resume looks messy.
          - id: block_full_name
            name: The resume doesn't have the candidate's full name.
          - id: bad_description
            name: Please specify the desired position to increase your chances of finding a job.
          - id: block_no_education_place_or_date
            name: There is no data about the school or the graduation date.
          - id: bad_education
            name: Poor description of education.
          - id: bad_education_student
            name: 'Please specify the full name of the educational institution, the college and the planned graduation year.'
          - id: block_no_function
            name: Please describe your responsibilities and functions in detail.
          - id: block_work_place
            name: Recent work experience not specified
          - id: no_company_name
            name: Please specify the name of the job.
          - id: no_company_description
            name: Please specify the field of expertise for the companies where you worked.
          - id: no_position
            name: The positions are not fully described.
          - id: no_date
            name: There are no start or end dates.
          - id: bad_function
            name: Your functions and responsibilities are not clearly described.
          - id: not_enough_information
            name: 'Please specify more additional information: proficiency in foreign languages, knowledge of computer programming, etc.'
          - id: lot_information
            name: There is too much additional information.
          - id: no_recommendation
            name: You have not submitted any recommendation.
          - id: careless_additional_information
            name: Please take a look at the Key Skills section and specify the corresponding information that will distinguish you as a candidate for the desired position. Please check spelling and typing errors.
          - id: careless_photo
            name: We recommend you to change your CV photo. Choose a photo of yourself in a suit or casual clothes.
          - id: careless_key_skill_information
            name: 'Edit the Key Skills section of your resume, as the information provided does not quite fit the format and/or contains typos.'
          - id: incorrect_phone_number
            name: 'The phone number you have provided on your resume does not exist. If the phone number is correct, please contact Support'
          - id: block_obscenity
            name: Resume contains an obscenity
          - id: block_obscenity_name
            name: An obscenity in the full name
          - id: block_obscenity_title
            name: An obscenity in the job title
          - id: block_obscenity_experience
            name: An obscenity in the "Experience" field
          - id: block_obscenity_skills
            name: An obscenity in the "Additional information" field
          - id: block_obscenity_key_skills
            name: An obscenity in the "Key skills" field
          - id: block_obscenity_education
            name: An obscenity in the "Education" field
          - id: block_obscenity_additional_education
            name: An obscenity in the "Professional Development and Courses" field
          - id: block_obscenity_attestation_education
            name: An obscenity in the "Tests and Exams" field
          - id: block_obscenity_elementary_education
            name: An obscenity in the "Primary Education" field
          - id: block_obscenity_recommendation
            name: An obscenity in the "Recommendations" field
          - id: block_experience_in_one_place
            name: Specify your experience in each company separately
          - id: experience_caps
            name: Make sure that in the "Experience" field capital letters are used only at the beginning of sentences or in proper names
          - id: experience_multilang
            name: Provide the experience information in one language
          - id: experience_spelling
            name: Correct spelling in the "Experience" field
          - id: block_experience_in_additional_information
            name: Provide experience information in the "Experience" field
          - id: additional_information_caps
            name: Make sure that in the "Additional information" field the CAPITAL LETTERS are used only at the beginning of sentences or in proper names
          - id: additional_information_multilang
            name: Provide the additional information in one language
          - id: additional_information_spelling
            name: Correct spelling in the "Additional information" field
        vacancy_relation:
          - id: favorited
            name: Favorited
          - id: got_response
            name: You have sent a resume
          - id: got_invitation
            name: You have been invited
          - id: got_rejection
            name: Your resume was rejected
          - id: blacklisted
            name: Hidden from search results
          - id: got_question
            name: You asked a question about the vacancy
        resume_status:
          - id: not_published
            name: not published
          - id: published
            name: published
          - id: blocked
            name: blocked
          - id: on_moderation
            name: on moderation
        resume_search_logic:
          - id: all
            name: All the words
          - id: any
            name: Any of the words
          - id: phrase
            name: Exact phrase
          - id: except
            name: No matches
        resume_search_fields:
          - id: everywhere
            name: everywhere
          - id: title
            name: in resume name
          - id: education
            name: in education
          - id: skills
            name: in key skills
          - id: experience
            name: in work experience
          - id: experience_company
            name: in companies and industries
          - id: experience_position
            name: in job titles
          - id: experience_description
            name: in job duties
        messaging_status:
          - id: archived
            name: The job has been archived
          - id: ok
            name: Messaging available
          - id: disabled_by_employer
            name: The employer has disabled messaging
          - id: in_a_row_limit
            name: You have sent 5 messages in a row. Please wait for a response before writing more
          - id: overall_limit
            name: Exceeded number of messages
          - id: no_invitation
            name: Messaging is available only after an invitation
          - id: resume_deleted
            name: Resume has been deleted
          - id: prohibited
            name: Messaging unavailable
        employer_active_vacancies_order:
          - id: name_asc
            name: by title
          - id: name_desc
            name: 'by title, in reverse order'
          - id: expiration_date_asc
            name: by date
          - id: expiration_date_desc
            name: by date (descending)
          - id: unseen_responses_asc
            name: unseen responses count
          - id: unseen_responses_desc
            name: unseen responses count (descending)
        employer_archived_vacancies_order:
          - id: name_asc
            name: by title
          - id: name_desc
            name: 'by title, in reverse order'
          - id: archive_time_asc
            name: by date archived
          - id: archive_time_desc
            name: by date archived (descending)
        employer_hidden_vacancies_order:
          - id: name_asc
            name: by title
          - id: name_desc
            name: 'by title, in reverse order'
          - id: archive_time_asc
            name: by date archived
          - id: archive_time_desc
            name: by date archived (descending)
        applicant_comments_order:
          - id: creation_time_desc
            name: by post date – descending
          - id: creation_time_asc
            name: by post date
        vacancy_not_prolonged_reason:
          - id: vacancy_archived
            name: An archived or blocked vacancy cannot be extended.
          - id: vacancy_not_premoderated
            name: The vacancy did not pass the pre-moderation.
          - id: standard_plus_cannot_be_closed
            name: The Standard+ vacancy cannot be closed.
          - id: pfp_publication_is_updated_automatically
            name: 'PFP vacancy will not be updated: it is updated automatically.'
          - id: free_prolongation_not_available
            name: The free vacancy cannot be updated.
          - id: not_enough_quotas
            name: The vacancy cannot be updated. The posting quota has been exceeded.
          - id: not_enough_purchased_services
            name: The vacancy cannot be updated. Insufficient services purchased.
          - id: not_enough_division_services
            name: Vacancy cannot be updated. The division has insufficient services.
          - id: vacancy_publication_disabled_in_area
            name: 'Vacancies in this region cannot be published. To place vacancies in Baltic states, contact your personal manager'
        resume_hidden_fields:
          - id: names_and_photo
            name: Full Name and photo
          - id: phones
            name: All phone numbers listed in the resume
          - id: email
            name: Email
          - id: other_contacts
            name: 'Other contacts (Skype, social networks)'
          - id: experience
            name: All employers
        phone_call_status:
          - id: pick_successful
            name: Connection setup
          - id: calling
            name: Calling
          - id: did_not_connect
            name: The number is currently unavailable
          - id: call_in_progress
            name: Phone call is in progress
          - id: call_error
            name: Technical failure
          - id: call_ended
            name: Phone call is finished
        experience:
          - id: noExperience
            name: No experience
          - id: between1And3
            name: Between 1 and 3 years
          - id: between3And6
            name: Between 3 and 6 years
          - id: moreThan6
            name: More than 6 years
        employment:
          - id: full
            name: Full time
          - id: part
            name: Part time
          - id: project
            name: Project work
          - id: volunteer
            name: Volunteering
          - id: probation
            name: Work placement
        schedule:
          - id: fullDay
            name: Full day
            uid: full_day
          - id: shift
            name: Shift schedule
            uid: shift
          - id: flexible
            name: Flexible schedule
            uid: flexible
          - id: remote
            name: Remote working
            uid: remote
          - id: flyInFlyOut
            name: Rotation based work
            uid: fly_in_fly_out
        education_level:
          - id: secondary
            name: Secondary
          - id: special_secondary
            name: Vocational secondary
          - id: unfinished_higher
            name: Incomplete higher
          - id: higher
            name: Higher
          - id: bachelor
            name: Bachelor
          - id: master
            name: Master
          - id: candidate
            name: PhD
          - id: doctor
            name: Doctor of Sciences
        currency:
          - code: AZN
            abbr: AZN
            name: Manats
            default: false
            rate: 0.027728
            in_use: false
          - code: BYR
            abbr: BYN
            name: Belarusian rubles
            default: false
            rate: 0.042685
            in_use: false
          - code: EUR
            abbr: EUR
            name: Euro
            default: false
            rate: 0.015982
            in_use: true
          - code: GEL
            abbr: GEL
            name: Georgian lari
            default: false
            rate: 0.0344
            in_use: false
          - code: KGS
            abbr: KGS
            name: Kyrgyzstani som
            default: false
            rate: 1.356611
            in_use: false
          - code: KZT
            abbr: KZT
            name: Tenge
            default: false
            rate: 7.809145
            in_use: false
          - code: RUR
            abbr: RUB
            name: Rubles
            default: true
            rate: 1
            in_use: true
          - code: UAH
            abbr: UAH
            name: Hryvnias
            default: false
            rate: 0.596833
            in_use: false
          - code: USD
            abbr: USD
            name: Dollars
            default: false
            rate: 0.016311
            in_use: true
          - code: UZS
            abbr: som
            name: Uzbekistani som
            default: false
            rate: 177.916948
            in_use: false
        vacancy_billing_type:
          - id: free
            name: Free
          - id: standard
            name: Standard
          - id: standard_plus
            name: Standard plus
          - id: premium
            name: Premium
        applicant_comment_access_type:
          - id: coworkers
            name: Visible to me and my colleagues
          - id: owner
            name: Visible only to me
        vacancy_cluster:
          - id: area
            name: Region
          - id: metro
            name: Metro
          - id: salary
            name: Salary
          - id: professional_area
            name: Industry
          - id: specialization
            name: Specialist field
          - id: industry
            name: Company branch
          - id: sub_industry
            name: Company's sphere of activity
          - id: experience
            name: Work experience
          - id: employment
            name: Employment type
          - id: schedule
            name: Work schedule
          - id: label
            name: Exclusion
          - id: professional_role
            name: Professional role
          - id: district
            name: District
        driver_license_types:
          - id: A
          - id: B
          - id: C
          - id: D
          - id: E
          - id: BE
          - id: CE
          - id: DE
          - id: TM
          - id: TB
        language_level:
          - id: a1
            name: A1 — Basic
          - id: a2
            name: A2 — Elementary
          - id: b1
            name: B1 — Intermediate
          - id: b2
            name: B2 — Upper Intermediate
          - id: c1
            name: C1 — Advanced
          - id: c2
            name: C2 — Proficiency
          - id: l1
            name: Native
        working_days:
          - id: only_saturday_and_sunday
            name: Work only on Sat and Sun
        working_time_intervals:
          - id: from_four_to_six_hours_in_a_day
            name: 4 to 6 hour shifts
        working_time_modes:
          - id: start_after_sixteen
            name: 'You can start working after 16:00'
        vacancy_type:
          - id: closed
            name: Closed
          - id: open
            name: Open
          - id: anonymous
            name: Anonymous
          - id: direct
            name: Advertising
        resume_search_label:
          - id: only_with_photo
            name: Only with photo
          - id: only_with_salary
            name: Do not show resumes without salary specified
          - id: only_with_age
            name: Do not show resumes without age specified
          - id: only_with_gender
            name: Don’t show CV with no gender indicated
          - id: only_with_vehicle
            name: Has own vehicle
          - id: exclude_viewed_by_user_id
            name: Hide the resumes I have already viewed
          - id: exclude_viewed_by_employer_id
            name: Hide the resumes our company have viewed
          - id: only_in_responses
            name: Show only the ones from responses and invitations
        resume_search_relocation:
          - id: living_or_relocation
            name: Living in the selected regions or willing to move there
          - id: living
            name: Living in the selected regions
          - id: living_but_relocation
            name: Living in the selected regions and willing to move anywhere
          - id: relocation
            name: 'Not living in the selected regions, but willing to move there'
        resume_search_order:
          - id: publication_time
            name: by change date
          - id: salary_desc
            name: by salary descending
          - id: salary_asc
            name: by salary ascending
          - id: relevance
            name: by relevance
        resume_search_experience_period:
          - id: all_time
            name: all time experience
          - id: last_year
            name: last year
          - id: last_three_years
            name: over the past three years
          - id: last_six_years
            name: over the past six years
        job_search_statuses_applicant:
          - id: active_search
            name: Actively searching for a job
          - id: looking_for_offers
            name: Considering incoming offers
          - id: not_looking_for_job
            name: I am not looking for a job
          - id: has_job_offer
            name: 'I have been offered a job, still thinking'
          - id: accepted_job_offer
            name: I am already starting my new job
        job_search_statuses_employer:
          - id: active_search
            name: Actively searching for a job
          - id: looking_for_offers
            name: Considers offers
          - id: not_looking_for_job
            name: Not looking for a job
          - id: has_job_offer
            name: 'Offered a job, is now deciding'
          - id: accepted_job_offer
            name: Started the new job
        resume_employment_form:
          - id: FULL
            name: Full-time job
          - id: PART_TIME
            name: Part-time job
          - id: INTERNSHIP
            name: Internship
          - id: VOLUNTEER
            name: Volunteering
        resume_work_format:
          - id: ON_SITE
            name: On-site
          - id: REMOTE
            name: Remote
          - id: HYBRID
            name: Hybrid
          - id: FIELD_WORK
            name: Travel-based
          - id: FLY_IN_FLY_OUT
            name: Shift work
        employment_form:
          - id: FULL
            name: full
          - id: PART
            name: part
          - id: PROJECT
            name: project
          - id: FLY_IN_FLY_OUT
            name: fly in fly out
        work_format:
          - id: ON_SITE
            name: on site
          - id: REMOTE
            name: remote
          - id: HYBRID
            name: hybrid
          - id: FIELD_WORK
            name: field work
        working_hours:
          - id: HOURS_2
            name: 2 hours
          - id: HOURS_4
            name: 4 hours
        fly_in_fly_out_duration:
          - id: DAYS_15
            name: 15 days
          - id: DAYS_20
            name: 20 days
        work_schedule_by_days:
          - id: SEVEN_ON_ZERO_OFF
            name: 7/0
          - id: FIVE_ON_TWO_OFF
            name: 5/2
        salary_range_mode:
          - id: MONTH
            name: per month
          - id: HOUR
            name: per hour
          - id: SHIFT
            name: per shift
          - id: SERVICE
            name: for service
          - id: FLY_IN_FLY_OUT
            name: for fly in fly out
        salary_range_frequency:
          - id: DAILY
            name: daily
          - id: WEEKLY
            name: weekly
          - id: TWICE_PER_MONTH
            name: twice per month
          - id: MONTHLY
            name: monthly
          - id: PER_PROJECT
            name: per project
        age_restriction:
          - id: AGE_14_PLUS
            name: 14 and older
          - id: AGE_16_PLUS
            name: 16 and older
    LocalesLocales:
      value:
        - id: RU
          name: Russian
          current: false
        - id: EN
          name: English
          current: true
    NegotiationsNegotiationTestResults:
      value:
        test_result:
          name: name
          score: 100
          mark: EXCELLENT
          duration: 10
          tasks:
            - question: How are you?
              closed_answers:
                - value: fine
                  selected: true
                  correct: false
                - value: good
                  selected: false
                  correct: true
              opened_answer:
                value: ' «average»'
                mark: UNFAIR
            - question: What is your last think about?
              closed_answers: []
              opened_answer:
                value: api hh.ru
                mark: EXCELLENT
    Languages:
      value:
        - id: ita
          name: Italian
          uid: '17'
        - id: nld
          name: Dutch
          uid: '11'
        - id: ell
          name: Greek
          uid: '12'
    ArtifactsArtifactsPhoto:
      value:
        items:
          - id: '92278992'
            state:
              id: ok
              name: ok
            small: 'http://...'
            medium: 'http://...'
        found: 1
        pages: 1
        page: 0
        per_page: 1
  parameters:
    HHUserAgent:
      description: |
        Application name and developer's contact email (see [Information about user agent](#section/General-information/Request-requirements))
      example: MyApp/1.0 (my-app-feedback@example.com)
      in: header
      name: HH-User-Agent
      required: true
      schema:
        type: string
    Locale:
      description: |
        Locale identifier ([List of locales](#tag/Public-directories/operation/get-locales))
      example: EN
      in: query
      name: locale
      required: false
      schema:
        default: RU
        type: string
    Host:
      description: |
        Domain ([Choosing the domain](#section/General-information/Host-selection))
      example: hh.ru
      in: query
      name: host
      required: false
      schema:
        default: hh.ru
        enum:
          - hh.ru
          - rabota.by
          - hh1.az
          - hh.uz
          - hh.kz
          - headhunter.ge
          - headhunter.kg
        type: string
  responses:
    SuccessCreated:
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Id'
      description: Successfully created
    ErrorBadArgument:
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorsCommonBadArgumentErrors'
      description: Error in the request parameter
    ErrorSavedSearchNotFound:
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorsSavedSearchNotFoundErrors'
      description: Autosearch or manager is not found
    ErrorNotFound:
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorsCommonNotFoundErrors'
      description: Not found or not available to the current user
    ErrorBadAuthorization:
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorsCommonBadAuthorizationErrors'
      description: Authorization error
    ErrorBothChangedConflict:
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorsCommonConflictBothChangedErrors'
      description: Conflict of simultaneously parameter changing
    SuccessNoContent:
      description: Successful response
  schemas:
    ErrorsResumePhoneGenerateCodeForbiddenErrors:
      allOf:
        - $ref: '#/components/schemas/ErrorsCommonErrorRequestId'
        - properties:
            description:
              deprecated: true
              description: Error description
              type: string
            errors:
              description: Array with error data
              items:
                $ref: '#/components/schemas/ErrorsResumePhoneGenerateCodeForbiddenError'
              minItems: 1
              type: array
          required:
            - errors
          type: object
      description: Information about occurred errors
      title: Errors with resumes
    ErrorsCommonErrorRequestId:
      description: The request_id is given in the body to simplify to issue resolution when contacting hh.ru support (api@hh.ru)
      properties:
        request_id:
          description: Request ID
          example: q1ww2e2r4ty
          type: string
      required:
        - request_id
      title: Error field with request_id
      type: object
    ErrorsResumePhoneGenerateCodeForbiddenError:
      additionalProperties: false
      properties:
        type:
          description: Text identifier of the error type
          enum:
            - resume_phone_generate
          example: resume_phone_generate
          type: string
        value:
          description: |
            General errors:
              * `too_early` — The time until the next possible code generation has not expired
          enum:
            - too_early
          example: too_early
          type: string
      required:
        - type
        - value
      title: Error
      type: object
    ApplicantCommentsApplicantCommentItem:
      properties:
        access_type:
          allOf:
            - $ref: '#/components/schemas/ApplicantCommentsAccessType'
            - type: object
          description: 'Access type. Possible values are provided in the [dictionaries](#tag/Public-directories/operation/get-dictionaries) in `applicant_comment_access_type` field'
        author:
          allOf:
            - $ref: '#/components/schemas/ApplicantCommentsAuthor'
            - type: object
          description: Comment author
        created_at:
          description: Date of comment creation
          type: string
        id:
          description: Unique comment ID
          type: string
        is_mine:
          description: Was the comment written by the current user?
          type: boolean
        text:
          description: Comment text. It may contain newline characters
          type: string
      required:
        - author
        - created_at
        - id
        - is_mine
        - text
        - access_type
      title: Comment
    ApplicantCommentsAuthor:
      properties:
        full_name:
          description: Comment author full name
          type: string
      required:
        - full_name
      title: Comment author
    ApplicantCommentsAccessType:
      properties:
        id:
          description: Access type ID
          type: string
        name:
          description: Access type name
          type: string
      required:
        - id
        - name
      title: Access type
    ResumePhoneGenerateCodeGenerateCode:
      properties:
        can_request_code_again_in:
          description: Nearest possible code resend in seconds
          example: 15
          type: number
        code_length:
          description: Length of the generated code
          example: 4
          type: number
        notification_type:
          description: Type of the generated message
          example: sms
          type: string
      title: Generated Code
      type: object
    DictionariesCountriesResponse:
      items:
        $ref: '#/components/schemas/_IncludesArea'
      title: List of countries
      type: array
    _IncludesArea:
      properties:
        id:
          description: 'Area ID from the [directory](#tag/Public-directories/operation/get-areas)'
          type: string
        name:
          description: Area name
          type: string
        url:
          description: URL
          type: string
      required:
        - id
        - name
        - url
      title: Area
      type: object
    ResumesSearchForResumesResponse:
      allOf:
        - $ref: '#/components/schemas/_IncludesPagination'
          type: object
        - $ref: '#/components/schemas/ResumesSearchForResumesItems'
          type: object
      title: Resume search results
      type: object
    ResumesSearchForResumesItems:
      properties:
        items:
          description: Array of the resumes found
          items:
            $ref: '#/components/schemas/ResumesSearchForResumesItem'
          type: array
      required:
        - items
      title: Resumes found
      type: object
    ResumesSearchForResumesItem:
      anyOf:
        - $ref: '#/components/schemas/ResumesSearchForEmployerAndApplicant'
      title: Resume found
      type: object
    ResumesSearchForEmployerAndApplicant:
      allOf:
        - $ref: '#/components/schemas/ResumeResumeShort'
        - $ref: '#/components/schemas/ResumeObjectsLastNegotiations'
        - $ref: '#/components/schemas/ResumesSearchForResumesPrivateFields'
        - properties:
            contacts_open_until_date:
              description: Date of hiding contacts in format `YYYY-MM-DD`
              nullable: true
              type: string
            job_search_status:
              allOf:
                - $ref: '#/components/schemas/_IncludesIdNameLastChangeTime'
              description: 'To get data, you need to pass the parameter `with_job_search_status=true`'
            url:
              description: Link to the resume
              type: string
          type: object
      title: Resume found for employer and applicant
      type: object
    ResumeObjectsLastNegotiations:
      properties:
        last_negotiation:
          description: Information about the last status in negotiation history
          nullable: true
          oneOf:
            - $ref: '#/components/schemas/ResumesNegotiationNano'
            - $ref: '#/components/schemas/_IncludesNullableObject'
          type: object
      title: Last status in negotiation history
      type: object
    _IncludesNullableObject:
      description: Object with `null` value
      enum:
        - null
      nullable: true
      title: Null-object
      type: string
    ResumesNegotiationNano:
      properties:
        created_at:
          description: Date of the response/invitation status change
          type: string
        employer_state:
          allOf:
            - description: The response/invitation
              type: object
            - $ref: '#/components/schemas/_IncludesIdName'
      required:
        - employer_state
        - created_at
      title: Basic information about response/invitation
      type: object
    _IncludesIdName:
      allOf:
        - $ref: '#/components/schemas/_IncludesId'
        - properties:
            name:
              description: Name
              type: string
          required:
            - name
          type: object
      title: Object name and ID fields
      type: object
    _IncludesId:
      properties:
        id:
          description: ID
          type: string
      required:
        - id
      title: Object ID
      type: object
    ResumesSearchForResumesPrivateFields:
      properties: {}
      title: Private fields when searching resumes
      type: object
    ResumeResumeShort:
      allOf:
        - $ref: '#/components/schemas/ResumeResumeCommon'
        - properties:
            actions:
              $ref: '#/components/schemas/ResumeObjectsActions'
            experience:
              description: 'The experience object lacks the description (the description field), and the position (the position field) is available only in the latest experience'
              items:
                $ref: '#/components/schemas/ResumeObjectsExperienceShort'
              minItems: 0
              type: array
            favorited:
              description: Whether the resume is added to favorited
              type: boolean
            marked:
              description: Is the resume highlighted in the search
              type: boolean
            negotiations_history:
              allOf:
                - $ref: '#/components/schemas/ResumeObjectsNegotiationsHistoryUrl'
              description: Brief history of responses/invitations for the resume
              type: object
            owner:
              allOf:
                - $ref: '#/components/schemas/ResumeObjectsOwner'
              description: Info about resume owner
              type: object
            photo:
              $ref: '#/components/schemas/ResumeObjectsOneOfPhotoNoId'
            tags:
              description: Resume tags
              items:
                $ref: '#/components/schemas/_IncludesId'
              type: array
            viewed:
              description: Whether the resume is viewed by the employer
              type: boolean
          required:
            - created_at
            - updated_at
            - certificate
            - education
            - experience
            - download
            - hidden_fields
            - owner
            - negotiations_history
            - favorited
            - actions
          type: object
      title: Resume info
      type: object
    ResumeObjectsOwner:
      properties:
        comments:
          allOf:
            - $ref: '#/components/schemas/ResumeObjectsOwnerComments'
          description: |
            Section [Comments about the resume owner](#tag/Applicant-comments/operation/get-applicant-comments-list)
          type: object
        id:
          description: Resume owner ID
          type: string
      required:
        - id
        - comments
      title: The resume owner
      type: object
    ResumeObjectsOwnerComments:
      properties:
        counters:
          allOf:
            - $ref: '#/components/schemas/ResumeObjectsOwnerCommentsCounters'
          description: Information on the number of comments
          type: object
        url:
          description: The URL to perform a GET request to obtain the list of comments
          type: string
      required:
        - url
        - counters
      title: Comments about the resume owner
      type: object
    ResumeObjectsOwnerCommentsCounters:
      properties:
        total:
          description: Total number of comments
          type: number
      required:
        - total
      title: Total number of comments
      type: object
    ResumeObjectsOneOfPhotoNoId:
      description: Applicant photo
      nullable: true
      oneOf:
        - $ref: '#/components/schemas/ResumeObjectsPhotoNoId'
        - $ref: '#/components/schemas/_IncludesNullableObject'
      title: Photo
      type: object
    ResumeObjectsPhotoNoId:
      properties:
        '40':
          deprecated: true
          description: URL of the image of 40x40 px resolution. This URL provides access to the image for a limited time after receiving a response. The application should be ready to receive `404 Not Found` as a response to the image request
          nullable: true
          type: string
        '100':
          deprecated: true
          description: URL of the image of 100x100 px resolution. This URL provides access to the image for a limited time after receiving a response. The application should be ready to receive `404 Not Found` as a response to the image request
          nullable: true
          type: string
        '500':
          deprecated: true
          description: URL of the image of 500x500 px resolution. This URL provides access to the image for a limited time after receiving a response. The application should be ready to receive `404 Not Found` as a response to the image request
          nullable: true
          type: string
        medium:
          description: Medium image URL. This URL provides access to the image for a limited time after receiving a response. The application should be ready to receive `404 Not Found` as a response to the image request
          type: string
        small:
          description: Small image URL. This URL provides access to the image for a limited time after receiving a response. The application should be ready to receive `404 Not Found` as a response to the image request
          type: string
      required:
        - small
        - medium
      title: User photo
      type: object
    ResumeObjectsExperienceShort:
      allOf:
        - $ref: '#/components/schemas/ResumeObjectsExperiencePropertiesShort'
      required:
        - start
        - position
        - industries
      title: Experience in an organization
    ResumeObjectsExperiencePropertiesShort:
      properties:
        area:
          description: 'Region of the organization. An entry in the [directory of regions](#tag/Public-directories/operation/get-areas)'
          nullable: true
          oneOf:
            - $ref: '#/components/schemas/_IncludesIdNameUrl'
            - $ref: '#/components/schemas/_IncludesNullableObject'
          type: object
        company:
          description: Organization name
          nullable: true
          type: string
        company_id:
          description: Unique identifier of the organization
          nullable: true
          type: string
        company_url:
          description: Company website
          nullable: true
          type: string
        employer:
          description: Employer
          nullable: true
          oneOf:
            - $ref: '#/components/schemas/EmployersEmployerInfoShort'
            - $ref: '#/components/schemas/_IncludesNullableObject'
          type: object
        end:
          description: End date (`YYYY-MM-DD`)
          nullable: true
          type: string
        industries:
          description: 'A list of the company''s industries. Possible values are listed in [directory of industries](#tag/Public-directories/operation/get-industries)'
          items:
            $ref: '#/components/schemas/_IncludesIdName'
          type: array
        industry:
          description: Company's industry
          nullable: true
          oneOf:
            - $ref: '#/components/schemas/ResumeObjectsIndustry'
            - $ref: '#/components/schemas/_IncludesNullableObject'
          type: object
        position:
          description: Position
          type: string
        start:
          description: Start date (`YYYY-MM-DD`)
          type: string
      title: Experience in an organization
      type: object
    _IncludesIdNameUrl:
      allOf:
        - $ref: '#/components/schemas/_IncludesIdName'
        - properties:
            url:
              description: URL for getting info about the field
              type: string
          required:
            - url
          type: object
      title: 'Object with ID, name, and URL'
      type: object
    EmployersEmployerInfoShort:
      properties:
        alternate_url:
          description: URL for getting employer description on site
          type: string
        id:
          description: Employer ID
          type: string
        logo_urls:
          description: |
            Links to images of employer logos in different sizes. `original` is a raw logo that can be large in size. If the logo originally uploaded by the company is smaller than 240px and/or 90px on the smaller side, then the corresponding keys will contain links to images of the original size. The object may be `null` if the company has not loaded a logo. The client must provide for the possibility of the absence of a logo on the specified link (response with the code `404 Not Found`). A company may not have 90 and 240 logos
          nullable: true
          oneOf:
            - $ref: '#/components/schemas/_IncludesLogoUrls'
            - $ref: '#/components/schemas/_IncludesNullableObject'
          type: object
        name:
          description: Employer name
          type: string
        url:
          description: URL for getting full employer description
          type: string
      required:
        - id
        - name
        - url
        - alternate_url
      title: Employer
      type: object
    _IncludesLogoUrls:
      properties:
        '90':
          description: URL of logo with minimum side size of 90px
          type: string
        '240':
          description: URL of logo with minimum side size of 90px 240px
          type: string
        original:
          description: URL of original size logo
          type: string
      required:
        - original
      title: Link to logo
      type: object
    ResumeObjectsIndustry:
      deprecated: true
      properties:
        id:
          description: Industry ID
          type: string
        name:
          description: Industry name
          type: string
      required:
        - id
        - name
      title: Industry
      type: object
    ResumeObjectsNegotiationsHistoryUrl:
      properties:
        url:
          description: 'The URL to perform a GET request to obtain the [detailed history of responses/invitations](#tag/Employer-responsesinvitations/operation/get-resume-negotiations-history) for the resume'
          type: string
      required:
        - url
      title: History of responses/invitations for the resume
      type: object
    ResumeObjectsActions:
      allOf:
        - $ref: '#/components/schemas/ResumeObjectsActionsForOwner'
        - properties:
            download_with_contact:
              $ref: '#/components/schemas/ResumeObjectsOneOfDownloadOrNullableObject'
            get_with_contact:
              $ref: '#/components/schemas/ResumeObjectsOneOfUrlOrNullableObject'
          type: object
      title: Actions with resume
      type: object
    ResumeObjectsActionsForOwner:
      properties:
        download:
          allOf:
            - $ref: '#/components/schemas/ResumeObjectsDownload'
          description: |
            Links to download a resume in multiple formats ([learn more](#tag/Resume-view/operation/get-resume)) ('actions' attribute)
          type: object
      required:
        - download
      title: Actions with resume on behalf of the owner
      type: object
    ResumeObjectsDownload:
      properties:
        pdf:
          allOf:
            - $ref: '#/components/schemas/ResumeObjectsDownloadPdfRtf'
          description: PDF resume
          type: object
        rtf:
          allOf:
            - $ref: '#/components/schemas/ResumeObjectsDownloadPdfRtf'
          description: RTF resume
          type: object
      required:
        - pdf
        - rtf
      title: Resume download
      type: object
    ResumeObjectsDownloadPdfRtf:
      properties:
        url:
          description: A link to download a PDF/RTF resume
          type: string
      required:
        - url
      title: PDF/RTF resume
      type: object
    ResumeObjectsOneOfUrlOrNullableObject:
      description: |
        Link to receive a resume with contacts (the service is wasted). The link returns an object similar to [viewing resume](#tag/Resume-view/operation/get-resume). Link is returned if the employer has a suitable paid service for accessing contact information, and the contacts in the resume have not been opened yet
      nullable: true
      oneOf:
        - $ref: '#/components/schemas/_IncludesUrl'
        - $ref: '#/components/schemas/_IncludesNullableObject'
      title: Link to receive a resume with contacts
      type: object
    _IncludesUrl:
      properties:
        url:
          description: Link to obtain elements
          type: string
      required:
        - url
      title: URL
      type: object
    ResumeObjectsOneOfDownloadOrNullableObject:
      description: |
        Links for downloading resumes with contacts (the service is wasted) in several formats ([more](#tag/Resume-view/operation/get-resume)) ('actions' attribute). Links are returned if the employer has a suitable paid service for accessing contact information, and the contacts in the resume have not been opened yet
      nullable: true
      oneOf:
        - $ref: '#/components/schemas/ResumeObjectsDownload'
        - $ref: '#/components/schemas/_IncludesNullableObject'
      title: Links for downloading resumes with contacts
      type: object
    ResumeResumeCommon:
      allOf:
        - $ref: '#/components/schemas/ResumeResumeNano'
        - $ref: '#/components/schemas/ResumeResumeEmploymentTerms'
        - properties:
            age:
              description: Age
              nullable: true
              type: number
            area:
              $ref: '#/components/schemas/ResumeObjectsArea'
            can_view_full_info:
              description: Whether the employer can view contact information in the resume
              nullable: true
              type: boolean
            certificate:
              description: Applicant's certificate list
              items:
                $ref: '#/components/schemas/ResumeObjectsCertificate'
              minItems: 0
              type: array
            created_at:
              description: Date and time the resume was created
              type: string
            download:
              allOf:
                - $ref: '#/components/schemas/ResumeObjectsDownload'
              description: Resume download links for different formats
              type: object
            education:
              allOf:
                - $ref: '#/components/schemas/ResumeObjectsEducation'
              description: |
                Applicant education.

                Features when saving education: 

                * If you submit both higher education and secondary education and the education level is "secondary", only secondary education will be saved. 
                * If you submit both higher education and secondary education and the education level is "higher", only higher education will be saved
              type: object
            first_name:
              description: First name
              nullable: true
              type: string
            gender:
              $ref: '#/components/schemas/ResumeObjectsGender'
            hidden_fields:
              description: |
                List of hidden fields. Possible element values are listed in the `resume_hidden_fields` field of the [directory](#tag/Public-directories/operation/get-dictionaries)"
              items:
                $ref: '#/components/schemas/_IncludesIdName'
              minItems: 0
              type: array
            last_name:
              description: Last name
              nullable: true
              type: string
            marked:
              default: false
              description: Whether the resume is marked in the search
              type: boolean
            middle_name:
              description: Middle name
              nullable: true
              type: string
            platform:
              allOf:
                - $ref: '#/components/schemas/_IncludesId'
              description: The platform on which the resume was posted
              type: object
            real_id:
              description: Unique resume ID
              type: string
            salary:
              $ref: '#/components/schemas/ResumeObjectsSalaryProperties'
            total_experience:
              $ref: '#/components/schemas/ResumeObjectsTotalExperience'
            updated_at:
              description: Date and time the resume was updated
              type: string
          required:
            - real_id
            - created_at
            - updated_at
            - certificate
            - education
            - experience
            - download
            - hidden_fields
          type: object
      title: Resume info
      type: object
    ResumeObjectsArea:
      description: 'Area of residence. The [areas](#tag/Public-directories/operation/get-areas) directory entry'
      nullable: true
      oneOf:
        - $ref: '#/components/schemas/_IncludesIdNameUrl'
        - $ref: '#/components/schemas/_IncludesNullableObject'
      title: Area
      type: object
    ResumeObjectsEducation:
      properties:
        additional:
          description: List of training courses
          items:
            $ref: '#/components/schemas/ResumeObjectsEducationAdditional'
          nullable: true
          type: array
        attestation:
          description: List of passed tests or exams
          items:
            $ref: '#/components/schemas/ResumeObjectsEducationAdditional'
          nullable: true
          type: array
        elementary:
          description: Secondary education. This field is usually filled in only in the absence of higher education
          items:
            $ref: '#/components/schemas/ResumeObjectsEducationElementary'
          nullable: true
          type: array
        level:
          $ref: '#/components/schemas/_IncludesEducationLevel'
          description: 'Education level. Possible values are listed in the `education_level` field of [directories](#tag/Public-directories/operation/get-dictionaries)'
        primary:
          description: List of degrees higher than secondary education
          items:
            $ref: '#/components/schemas/ResumeObjectsEducationPrimary'
          nullable: true
          type: array
      required:
        - level
      title: Education
      type: object
    ResumeObjectsEducationAdditional:
      properties:
        id:
          description: ID
          nullable: true
          type: string
        name:
          description: Course/test/exam name
          type: string
        organization:
          description: The organization that conducted the courses/test/exam
          type: string
        result:
          description: Profession/specialist area
          nullable: true
          type: string
        year:
          description: Year of graduation or year the test/exam was passed
          type: number
      required:
        - name
        - year
      title: Additional education
      type: object
    ResumeObjectsEducationPrimary:
      properties:
        education_level:
          $ref: '#/components/schemas/_IncludesEducationLevel'
          description: 'Education level. Possible values are listed in the `education_level` field of [directories](#tag/Public-directories/operation/get-dictionaries)'
        id:
          description: ID
          nullable: true
          type: string
        name:
          description: Name of educational institution
          type: string
        name_id:
          description: Educational institution ID
          nullable: true
          type: string
        organization:
          description: Faculty
          nullable: true
          type: string
        organization_id:
          description: Faculty ID
          nullable: true
          type: string
        result:
          description: Profession/specialist area
          nullable: true
          type: string
        result_id:
          description: Profession/specialist area ID
          nullable: true
          type: string
        university_acronym:
          description: Short name of education institution
          nullable: true
          type: string
        year:
          description: Year of graduation
          type: number
      required:
        - name
        - year
      title: Higher education
      type: object
    _IncludesEducationLevel:
      nullable: true
      oneOf:
        - $ref: '#/components/schemas/_IncludesIdName'
        - $ref: '#/components/schemas/_IncludesNullableObject'
      title: Уровень образования
      type: object
    ResumeObjectsEducationElementary:
      properties:
        id:
          description: ID
          nullable: true
          type: string
        name:
          description: Name of educational institution
          type: string
        year:
          description: Year of graduation
          type: number
      required:
        - year
        - name
      title: Secondary education
      type: object
    ResumeObjectsCertificate:
      properties:
        achieved_at:
          description: Issue date (`YYYY-MM-DD`)
          type: string
        owner:
          description: To whom the certificate is issued. Returns only for certificates with `type = microsoft`
          nullable: true
          type: string
        title:
          description: Certificate name
          type: string
        type:
          description: |
            Certificate type. Available values:

            * `custom`;
            * `microsoft`
          type: string
        url:
          description: A link to the page with the certificate description
          nullable: true
          type: string
      title: Certificate
      type: object
    ResumeObjectsTotalExperience:
      nullable: true
      properties:
        months:
          description: 'The total working months, rounded up to a month'
          nullable: true
          type: number
      title: Total experience
      type: object
    ResumeResumeNano:
      properties:
        alternate_url:
          description: Resume URL on the site
          type: string
        id:
          description: Resume ID
          type: string
        title:
          description: Desired position
          nullable: true
          type: string
      required:
        - id
        - title
        - alternate_url
      title: Resume abstract
      type: object
    ResumeResumeEmploymentTerms:
      properties:
        employment_form:
          $ref: '#/components/schemas/ResumeObjectsEmploymentFormEmploymentFormResponse'
        work_format:
          $ref: '#/components/schemas/ResumeObjectsWorkFormatWorkFormatResponse'
      title: 'Блок, касающийся условий занятости для ответа на запрос'
      type: object
    ResumeObjectsWorkFormatWorkFormatResponse:
      description: List of work formats
      items:
        $ref: '#/components/schemas/ResumeObjectsWorkFormatWorkFormatItemResponse'
      title: List of work formats
      type: array
    ResumeObjectsWorkFormatWorkFormatItemResponse:
      allOf:
        - $ref: '#/components/schemas/ResumeObjectsWorkFormatWorkFormatItem'
        - properties:
            name:
              description: Название формата работы
              type: string
          type: object
      title: The format of the work
      type: object
    ResumeObjectsWorkFormatWorkFormatItem:
      properties:
        id:
          description: 'Values from [dictionary work_format](#tag/Public-directories/operation/get-dictionaries)'
          type: string
      title: The format of the work
      type: object
    ResumeObjectsEmploymentFormEmploymentFormResponse:
      description: List of types
      items:
        $ref: '#/components/schemas/ResumeObjectsEmploymentFormEmploymentFormItemResponse'
      title: Type of employments
      type: array
    ResumeObjectsEmploymentFormEmploymentFormItemResponse:
      allOf:
        - $ref: '#/components/schemas/ResumeObjectsEmploymentFormEmploymentFormItem'
        - properties:
            name:
              description: Название типа занятости
              type: string
          type: object
      title: Type of employment
      type: object
    ResumeObjectsEmploymentFormEmploymentFormItem:
      properties:
        id:
          description: 'Values from [dictionary employment_form](#tag/Public-directories/operation/get-dictionaries)'
          type: string
      title: Type of employment
      type: object
    ResumeObjectsGender:
      description: 'Applicant''s gender. Possible values are listed in the `gender` field of [directories](#tag/Public-directories/operation/get-dictionaries)'
      nullable: true
      oneOf:
        - $ref: '#/components/schemas/_IncludesIdName'
        - $ref: '#/components/schemas/_IncludesNullableObject'
      title: Applicant's gender
      type: object
    ResumeObjectsSalaryProperties:
      nullable: true
      properties:
        amount:
          description: Amount
          nullable: true
          type: number
        currency:
          description: 'Currency ID. Possible values are listed in the `currency` array in the [field directories](#tag/Public-directories/operation/get-dictionaries)'
          nullable: true
          type: string
      title: Salary
      type: object
    _IncludesIdNameLastChangeTime:
      allOf:
        - $ref: '#/components/schemas/_IncludesIdName'
        - properties:
            last_change_time:
              description: Last change time
              type: string
          type: object
      title: 'Object ID, name and last change time fields'
      type: object
    _IncludesPagination:
      properties:
        found:
          description: Number of results found
          example: 6
          type: integer
        page:
          description: Page number
          example: 1
          type: integer
        pages:
          description: Total pages
          example: 2
          type: integer
        per_page:
          description: Results per page
          example: 5
          type: integer
      required:
        - found
        - page
        - pages
        - per_page
      title: Pagination
      type: object
    NegotiationsNegotiationGetResponse:
      anyOf:
        - $ref: '#/components/schemas/NegotiationsApplicantNegotiation'
        - $ref: '#/components/schemas/NegotiationsEmployerNegotiation'
      title: Successful response
      type: object
    NegotiationsEmployerNegotiation:
      allOf:
        - $ref: '#/components/schemas/NegotiationsObjectsTopicItemCommon'
        - $ref: '#/components/schemas/NegotiationsNegotiationCommonFields'
        - properties:
            resume:
              description: Resume short view
              nullable: true
              oneOf:
                - $ref: '#/components/schemas/_IncludesNullableObject'
                - $ref: '#/components/schemas/NegotiationsObjectsEmployerTopicResume'
              type: object
            vacancy:
              description: Vacancy short view
              nullable: true
              oneOf:
                - $ref: '#/components/schemas/VacanciesNegotiationsVacancyShort'
                - $ref: '#/components/schemas/_IncludesNullableObject'
              type: object
          type: object
      title: Negotiation information (employer)
      type: object
    NegotiationsObjectsEmployerTopicResume:
      allOf:
        - $ref: '#/components/schemas/ResumeResumeShort'
        - $ref: '#/components/schemas/_IncludesUrl'
        - properties:
            contacts_open_until_date:
              description: Date of hiding contacts in format `YYYY-MM-DD`
              nullable: true
              type: string
            job_search_status:
              allOf:
                - $ref: '#/components/schemas/_IncludesIdNameLastChangeTime'
              description: |
                To obtain data, specify the query parameter `with_job_search_status=true`. 
                Directory with possible values: `job_search_statuses_employer`  in [/dictionaries](#tag/Public-directories/operation/get-dictionaries)
            skill_set:
              description: Key skills (list of unique strings)
              items:
                type: string
              nullable: true
              type: array
          type: object
      title: Resume summary
    NegotiationsObjectsTopicItemCommon:
      properties:
        applicant_question_state:
          description: Is it a question before the answer
          type: boolean
        counters:
          $ref: '#/components/schemas/NegotiationsObjectsCounters'
        created_at:
          description: Date and time when the negotiation was created
          type: string
        has_updates:
          $ref: '#/components/schemas/VacancyHasUpdates'
        id:
          description: Negotiation ID
          type: string
        messages_url:
          deprecated: true
          description: 'A URL to perform a GET request to obtain the [list of messages for the response/invitation](#tag/Negotiations-(responsesinvitations)-for-applicants/operation/get-negotiation-messages). If `can_edit` is `false`, the field value should be ignored'
          type: string
        messaging_status:
          description: |
            The current messaging status.

            Possible values are specified in the `messaging_status` field in [directories of fields](#tag/Public-directories/operation/get-dictionaries)
          type: string
        professional_roles:
          oneOf:
            - $ref: '#/components/schemas/VacancyProfessionalRoles'
            - $ref: '#/components/schemas/_IncludesNullableObject'
        source:
          description: Negotiation source
          enum:
            - NEGOTIATION
            - PHONE_CALL
            - CHAT
            - VR
            - AUTO_INVITE
            - APPLICANT_QUESTIONS
            - AUTO_RESPONSE
            - AUTO_RESPONSE_HH_PRO
            - CLICKME_CPA
            - REGISTRATION
          type: string
        state:
          allOf:
            - $ref: '#/components/schemas/_IncludesIdName'
          description: |
            Current negotiation state.

            Possible values are specified in the `negotiations_state` field in [directories of fields](#tag/Public-directories/operation/get-dictionaries)
          type: object
        updated_at:
          description: Date and time when the negotiation was updated
          type: string
        viewed_by_opponent:
          description: Whether the recipient viewed the negotiation
          type: boolean
      required:
        - id
        - state
        - created_at
        - updated_at
        - has_updates
        - viewed_by_opponent
        - messaging_status
      title: Negotiation
      type: object
    NegotiationsObjectsCounters:
      properties:
        messages:
          description: Total count of messages
          type: number
        unread_messages:
          description: Count of messages unread by the employer
          type: number
      title: Counters
      type: object
    VacancyProfessionalRoles:
      description: List of professional roles
      items:
        $ref: '#/components/schemas/VacancyProfessionalRoleItem'
      title: List of professional roles
      type: array
    VacancyProfessionalRoleItem:
      properties:
        id:
          description: 'Professional role ID. Element of the [professional_roles](#tag/Public-directories/operation/get-professional-roles-dictionary)'
          type: string
      title: Professional Role Object
      type: object
    VacancyHasUpdates:
      description: Whether there are updates calling for attention in the applications/invitations for the vacancy
      title: Update for this vacancy
      type: boolean
    VacanciesNegotiationsVacancyShort:
      properties:
        address:
          $ref: '#/components/schemas/VacancyAddressRawOutput'
        alternate_url:
          description: Link to the vacancy on the website
          type: string
        apply_alternate_url:
          description: Link to the application for the vacancy on the website
          type: string
        archived:
          description: Whether the vacancy is archived
          type: boolean
        area:
          $ref: '#/components/schemas/_IncludesArea'
        created_at:
          description: Date and time of the vacancy publication
          type: string
        department:
          $ref: '#/components/schemas/VacanciesObjectsDepartment'
        employer:
          $ref: '#/components/schemas/VacanciesObjectsEmployer'
        has_test:
          description: Whether a test assignment is attached to the vacancy
          type: boolean
        id:
          description: Vacancy ID
          type: string
        insider_interview:
          $ref: '#/components/schemas/VacanciesObjectsInsiderInterview'
        name:
          description: Vacancy name
          type: string
        premium:
          description: Whether it is a premium vacancy
          type: boolean
        professional_roles:
          $ref: '#/components/schemas/VacancyProfessionalRolesOutput'
        published_at:
          description: Date and time of the vacancy publication
          type: string
        response_letter_required:
          description: Whether a cover letter is required
          type: boolean
        response_url:
          description: Response URL for direct vacancies (`type.id=direct`)
          nullable: true
          type: string
        salary:
          $ref: '#/components/schemas/VacancySalary'
          deprecated: true
        salary_range:
          nullable: true
          oneOf:
            - $ref: '#/components/schemas/VacancySalaryRangeSalaryRangeOutput'
            - $ref: '#/components/schemas/_IncludesNullableObject'
          type: object
        show_contacts:
          $ref: '#/components/schemas/VacancyShowContactsNotNull'
        show_logo_in_search:
          description: Should the logo for the vacancy be displayed in search results
          nullable: true
          type: boolean
        sort_point_distance:
          description: |
            Distance in metres between the sorting centre (indicated by parameters `sort_point_lat` and `sort_point_lng`) and the address indicated in the vacancy. If the address only includes metro stations, it shows the distance between the sorting centre and the average geometric point of the indicated stations.

            `sort_point_distance` value is only shown if parameters for `sort_point_lat`, `sort_point_lgn` and `order_by=distance` are indicated
          nullable: true
          type: number
        type:
          $ref: '#/components/schemas/VacancyTypeOutput'
        url:
          description: Vacancy URL
          type: string
      required:
        - id
        - premium
        - name
        - department
        - response_letter_required
        - area
        - salary
        - salary_range
        - type
        - published_at
        - archived
        - apply_alternate_url
        - url
        - alternate_url
        - employer
        - has_test
        - show_contacts
      title: Short vacancy
      type: object
    VacancyShowContactsNotNull:
      description: Доступны ли контакты в вакансии
      title: Доступны ли контакты в вакансии
      type: boolean
    VacanciesObjectsInsiderInterview:
      description: Info on interview about life in the company
      nullable: true
      oneOf:
        - $ref: '#/components/schemas/VacancyInsiderInterview'
        - $ref: '#/components/schemas/_IncludesNullableObject'
      title: Object
      type: object
    VacancyInsiderInterview:
      properties:
        id:
          description: Interview ID
          type: string
        url:
          description: Interview URL
          type: string
      required:
        - id
        - url
      title: Info on interview about life in the company
      type: object
    VacancyTypeOutput:
      allOf:
        - $ref: '#/components/schemas/VacancyType'
        - properties:
            name:
              description: Vacancy type name
              type: string
          type: object
      title: Vacancy type
      type: object
    VacancyType:
      description: Vacancy type
      properties:
        id:
          description: 'Type from [vacancy_type dictionary](#tag/Public-directories/operation/get-dictionaries)'
          type: string
      required:
        - id
      title: Vacancy type
      type: object
    VacanciesObjectsEmployer:
      description: Info on employer's company
      nullable: true
      oneOf:
        - $ref: '#/components/schemas/VacanciesObjectsVacanciesEmployer'
        - $ref: '#/components/schemas/_IncludesNullableObject'
      title: Object
      type: object
    VacanciesObjectsVacanciesEmployer:
      anyOf:
        - $ref: '#/components/schemas/VacanciesEmployerPublic'
      title: Vacancies
    VacanciesEmployerPublic:
      properties:
        accredited_it_employer:
          description: Flag that indicates that the employer is a verified IT employer
          type: boolean
        alternate_url:
          description: Link to company site
          example: 'https://hh.ru/employer/1455'
          nullable: true
          type: string
        employer_rating:
          $ref: '#/components/schemas/VacanciesEmployerRating'
        id:
          description: Company ID
          example: '1455'
          nullable: true
          type: string
        logo_urls:
          description: Links to employer's logos of different size
          nullable: true
          oneOf:
            - $ref: '#/components/schemas/_IncludesLogoUrls'
            - $ref: '#/components/schemas/_IncludesNullableObject'
          type: object
        name:
          description: Company name
          example: HeadHunter
          type: string
        trusted:
          description: Flag that shows whether the company has passed verification on the site
          type: boolean
        url:
          description: URL for GET request to get information about the company
          example: 'https://api.hh.ru/employers/1455'
          nullable: true
          type: string
        vacancies_url:
          description: Link to vacancy search results for the company
          example: 'https://api.hh.ru/vacancies?employer_id=1455'
          nullable: true
          type: string
      required:
        - name
        - trusted
      title: Info on employer's company
      type: object
    VacanciesEmployerRating:
      properties:
        reviews_count:
          description: Number of reviews
          example: 700
        total_rating:
          description: Joint company rating
          example: '4.3'
          type: string
      required:
        - total_rating
        - reviews_count
      title: Information about the employer's rating
      type: object
    VacancySalaryRangeSalaryRangeOutput:
      description: Salary
      properties:
        currency:
          description: 'Currency code from the [currency dictionaries](#tag/Public-directories/operation/get-dictionaries)'
          type: string
        frequency:
          nullable: true
          oneOf:
            - $ref: '#/components/schemas/VacancySalaryRangeSalaryRangeFrequencyOutput'
            - $ref: '#/components/schemas/_IncludesNullableObject'
          type: object
        from:
          description: Lower earnings limit
          nullable: true
          type: integer
        gross:
          description: An indication that the salary limits are specified before deduction of taxes
          type: boolean
        mode:
          $ref: '#/components/schemas/VacancySalaryRangeSalaryRangeModeOutput'
        to:
          description: Upper salary limit
          nullable: true
          type: integer
      required:
        - currency
        - mode
        - gross
      title: Salary
      type: object
    VacancySalaryRangeSalaryRangeModeOutput:
      allOf:
        - $ref: '#/components/schemas/VacancySalaryRangeSalaryRangeMode'
        - properties:
            name:
              description: The name of the salary range mode value
              type: string
          type: object
      title: The name of the salary range mode value
      type: object
    VacancySalaryRangeSalaryRangeMode:
      properties:
        id:
          description: 'Value from [dictionary salary_range_mode](#tag/Public-directories/operation/get-dictionaries)'
          type: string
      title: Salary mode
      type: object
    VacancySalaryRangeSalaryRangeFrequencyOutput:
      allOf:
        - $ref: '#/components/schemas/VacancySalaryRangeSalaryRangeFrequency'
        - properties:
            name:
              description: The name of the salary range frequency value
              type: string
          type: object
      title: The name of the salary range frequency value
      type: object
    VacancySalaryRangeSalaryRangeFrequency:
      properties:
        id:
          description: 'Value from [dictionary salary_range_frequency](#tag/Public-directories/operation/get-dictionaries)'
          type: string
      title: Salary frequency
      type: object
    VacanciesObjectsDepartment:
      description: Object with information about a company department
      nullable: true
      oneOf:
        - $ref: '#/components/schemas/VacancyDepartmentOutput'
        - $ref: '#/components/schemas/_IncludesNullableObject'
      title: Object
      type: object
    VacancyDepartmentOutput:
      allOf:
        - $ref: '#/components/schemas/VacancyDepartment'
        - properties:
            name:
              description: Department name
              type: string
          type: object
      nullable: true
      title: Department
      type: object
    VacancyDepartment:
      nullable: true
      properties:
        id:
          description: 'Department [from dictionary](https://api.hh.ru/openapi/en/redoc#tag/Employer-info/operation/get-employer-departments) on behalf of which the vacancy is posted (if this option is available to the company)'
          type: string
      title: Department
      type: object
    VacancyAddressRawOutput:
      description: Address
      nullable: true
      properties:
        building:
          description: Building
          nullable: true
          type: string
        city:
          description: City
          nullable: true
          type: string
        description:
          description: Description
          nullable: true
          type: string
        id:
          description: 'Address from the [list of available employer addresses](https://api.hh.ru/openapi/en/redoc#tag/Employer-addresses)'
          nullable: true
          type: string
        lat:
          description: Latitude
          nullable: true
          type: number
        lng:
          description: Longitude
          nullable: true
          type: number
        metro:
          nullable: true
          oneOf:
            - $ref: '#/components/schemas/_IncludesNullableObject'
            - $ref: '#/components/schemas/_IncludesMetroStation'
          type: object
        metro_stations:
          items:
            $ref: '#/components/schemas/_IncludesMetroStation'
          minItems: 0
          type: array
        raw:
          description: Full address
          nullable: true
          type: string
        street:
          description: Street
          nullable: true
          type: string
      title: Address
      type: object
    _IncludesMetroStation:
      properties:
        lat:
          description: Latitude of the station location
          nullable: true
          type: number
        line_id:
          description: Line ID
          type: string
        line_name:
          description: Line name
          type: string
        lng:
          description: Longitude of the station location
          nullable: true
          type: number
        station_id:
          description: Metro station ID
          type: string
        station_name:
          description: Station name
          type: string
      required:
        - station_id
        - station_name
        - line_id
        - line_name
        - lat
        - lng
      title: Metro station
      type: object
    VacancySalary:
      deprecated: true
      description: Salary
      nullable: true
      properties:
        currency:
          description: 'Currency code from the [currency dictionaries](#tag/Public-directories/operation/get-dictionaries)'
          nullable: true
          type: string
        from:
          description: Lower earnings limit
          nullable: true
          type: integer
        gross:
          description: An indication that the salary limits are specified before deduction of taxes
          nullable: true
          type: boolean
        to:
          description: Upper salary limit
          nullable: true
          type: integer
      title: Salary
      type: object
    VacancyProfessionalRolesOutput:
      description: List of professional roles
      items:
        $ref: '#/components/schemas/VacancyProfessionalRoleItemOutput'
      title: Professional roles
      type: array
    VacancyProfessionalRoleItemOutput:
      allOf:
        - $ref: '#/components/schemas/VacancyProfessionalRoleItem'
        - properties:
            name:
              description: Professional role name
              type: string
          type: object
      title: Professional role name
    NegotiationsNegotiationCommonFields:
      properties:
        actions:
          description: |
            Possible [negotiation actions](https://github.com/hhru/api/blob/master/docs_eng/employer_negotiations.md#actions-info)
          items:
            $ref: '#/components/schemas/VacancyNegotiationActions'
          minItems: 0
          type: array
        employer_state:
          $ref: '#/components/schemas/EmployersEmployersState'
        funnel_stage:
          description: Information about a funnel's stage
          nullable: true
          oneOf:
            - $ref: '#/components/schemas/EmployersFunnelStage'
            - $ref: '#/components/schemas/_IncludesNullableObject'
          type: object
        tags:
          description: Теги к работадательскому отклику
          items:
            $ref: '#/components/schemas/_IncludesId'
          type: array
        templates:
          description: Email templates
          items:
            $ref: '#/components/schemas/VacancyTemplates'
          type: array
        test_result:
          anyOf:
            - $ref: '#/components/schemas/_IncludesNullableObject'
            - $ref: '#/components/schemas/SkillVerificationsTestResultWithUrl'
          description: |
            Test's [result](#tag/Employer-responsesinvitations/operation/get-negotiation-test-results)
          nullable: true
          type: object
      title: Common negotiation information
      type: object
    VacancyTemplates:
      properties:
        id:
          description: Template ID
          type: string
        name:
          description: Template name
          type: string
        url:
          description: Template URL
          type: string
      required:
        - id
        - name
        - quick
        - url
      title: Template
      type: object
    SkillVerificationsTestResultWithUrl:
      allOf:
        - $ref: '#/components/schemas/SkillVerificationsTestResultNano'
        - properties:
            alternate_url:
              description: Link to the test result on the website
              type: string
            url:
              description: Link to the test result
              type: string
          required:
            - url
            - alternate_url
          type: object
      title: The test result with links
      type: object
    SkillVerificationsTestResultNano:
      description: Short information about the test result
      properties:
        mark:
          description: |
            Differentiated assessment for the test:

            * `UNFAIR` — from 0 to 14 points;
            * `FAIR` — from 15 to 44 points;
            * `GOOD` — from 45 to 79 points;
            * `EXCELLENT` — from 80 to 100 points
          enum:
            - UNFAIR
            - FAIR
            - GOOD
            - EXCELLENT
          type: string
        score:
          description: The test result in points (from 0 to 100)
          type: integer
      required:
        - score
        - type
      title: Short information about the test result
      type: object
    EmployersEmployersState:
      properties:
        id:
          description: Response state ID
          type: string
        name:
          description: State name
          type: string
      required:
        - id
        - name
      title: States information
      type: object
    VacancyNegotiationActions:
      properties:
        arguments:
          description: Mandatory and additional arguments for the request
          items:
            $ref: '#/components/schemas/VacancyArguments'
          type: array
        enabled:
          description: Whether an action can be performed
          type: boolean
        hidden:
          description: Whether the collection is hidden
          type: boolean
        id:
          description: Action ID
          type: string
        method:
          description: HTTP method to perform
          type: string
        name:
          description: Action name
          type: string
        resulting_employer_state:
          description: 'Documentation [Employer''s response/invitation status](#tag/Employer-responsesinvitations) to be assigned after the action is performed. If the action does not change the state, the value is `null`'
          nullable: true
          oneOf:
            - $ref: '#/components/schemas/_IncludesIdName'
            - $ref: '#/components/schemas/_IncludesNullableObject'
          type: object
        sub_actions:
          description: Actions to move a response/invitation to substate
          items:
            $ref: '#/components/schemas/VacancyNegotiationSubActions'
          minItems: 0
          type: array
        templates:
          description: Email templates
          items:
            $ref: '#/components/schemas/VacancyTemplates'
          type: array
        url:
          description: URL to send the request to
          type: string
      required:
        - id
        - name
        - hidden
        - enabled
        - method
        - url
        - templates
        - arguments
      title: Action on response/invitation
      type: object
    VacancyArguments:
      properties:
        id:
          description: |
            Argument ID. Possible values:

            * `resume_id` — resume ID.
            * `vacancy_id` — vacancy ID.
            * `message` — a message that will be sent to the applicant's email. Use [templates](#tag/Employer-responsesinvitations/operation/get-mail-templates) to obtain texts.
            * `send_sms` — whether to notify the applicant of the invitation via SMS. Default is `false`. Note: the SMS message text is not customizable
            * `address_id` — [address ID](#tag/Employer-addresses), that will be specified in the invitation
          enum:
            - resume_id
            - vacancy_id
            - message
            - send_sms
            - address_id
          type: string
        required:
          description: Whether the argument is mandatory
          type: boolean
        required_arguments:
          description: 'Arguments that must also be specified if this argument is specified. For example, the address is optional, but you must also specify a message when you pass the address'
          items:
            $ref: '#/components/schemas/_IncludesId'
          type: array
      required:
        - id
        - required
        - required_arguments
      title: An argument for the request
      type: object
    VacancyNegotiationSubActions:
      properties:
        id:
          description: Action ID
          type: string
        method:
          description: HTTP method to perform
          type: string
        name:
          description: Substate name
          type: string
        url:
          description: URL to send the request to
          type: string
      required:
        - id
        - name
        - method
        - url
      title: Action on response/invitation
      type: object
    EmployersFunnelStage:
      properties:
        id:
          description: Id of the stage
          type: string
        state:
          $ref: '#/components/schemas/EmployersEmployersState'
        substate:
          description: Information about a stage's sub state
          nullable: true
          oneOf:
            - $ref: '#/components/schemas/EmployersFunnelSubstate'
            - $ref: '#/components/schemas/_IncludesNullableObject'
          type: object
      required:
        - id
        - state
      title: Information about a funnel's stage
      type: object
    EmployersFunnelSubstate:
      properties:
        name:
          description: Name of the stage's sub state (provided by an employer)
          type: string
      required:
        - name
      title: Information about a stage's sub state
      type: object
    NegotiationsApplicantNegotiation:
      allOf:
        - $ref: '#/components/schemas/NegotiationsObjectsTopicItem'
        - properties:
            resume:
              description: Resume short view
              nullable: true
              oneOf:
                - $ref: '#/components/schemas/NegotiationsObjectsTopicResume'
                - $ref: '#/components/schemas/_IncludesNullableObject'
              type: object
            url:
              description: Link to the full negotiation
              type: string
          required:
            - url
          type: object
      title: Negotiation information (applicant)
      type: object
    NegotiationsObjectsTopicResume:
      allOf:
        - $ref: '#/components/schemas/ResumeResumeNanoWithUrl'
        - properties:
            created_at:
              description: Date and time the resume was created
              type: string
            updated_at:
              description: Date and time the resume was updated
              type: string
          required:
            - created_at
            - updated_at
          type: object
      title: Resume abstract
      type: object
    ResumeResumeNanoWithUrl:
      allOf:
        - $ref: '#/components/schemas/ResumeResumeNano'
        - $ref: '#/components/schemas/_IncludesUrl'
      title: Resume abstract
      type: object
    NegotiationsObjectsTopicItem:
      allOf:
        - $ref: '#/components/schemas/NegotiationsObjectsTopicItemCommon'
        - properties:
            decline_allowed:
              description: 'If `true`, the decline message to the employer automatically hides the negotiation'
              type: boolean
            hidden:
              description: Whether the current negotiation is hidden from the applicant
              type: boolean
            job_search_status:
              description: 'Applicant''s job search status. To obtain this field, specify the `with_job_search_status=true` parameter'
              nullable: true
              oneOf:
                - $ref: '#/components/schemas/_IncludesIdName'
                - $ref: '#/components/schemas/_IncludesNullableObject'
              type: object
            phone_calls:
              description: Phone call history
              nullable: true
              oneOf:
                - $ref: '#/components/schemas/NegotiationsPhoneCalls'
                - $ref: '#/components/schemas/_IncludesNullableObject'
              type: object
            tags:
              description: Tags (a list of unique objects)
              items:
                $ref: '#/components/schemas/_IncludesId'
              type: array
            vacancy:
              description: Vacancy short view
              nullable: true
              oneOf:
                - $ref: '#/components/schemas/_IncludesNullableObject'
                - $ref: '#/components/schemas/VacanciesNegotiationsVacancyShort'
              type: object
          required:
            - hidden
            - decline_allowed
          type: object
      title: Negotiation
      type: object
    NegotiationsPhoneCalls:
      properties:
        items:
          description: List of calls
          items:
            $ref: '#/components/schemas/NegotiationsPhoneCallItem'
          type: array
        picked_up_phone_by_opponent:
          description: Whether the employer answered the applicant at least once
          type: boolean
      required:
        - picked_up_phone_by_opponent
        - items
      title: Phone call history
      type: object
    NegotiationsPhoneCallItem:
      properties:
        creation_time:
          description: Date and time when the call was started
          type: string
        duration_seconds:
          description: Phone call duration in seconds
          nullable: true
          type: number
        id:
          description: Phone call ID
          type: number
        last_change_time:
          description: Date and time when the call was updated
          nullable: true
          type: string
        status:
          description: |
            Phone call status.

            Possible values are specified in the `phone_call_status` field in [directories of fields](#tag/Public-directories/operation/get-dictionaries)
          type: string
      required:
        - id
        - status
        - creation_time
      title: Phone call
      type: object
    ErrorsDraftError:
      additionalProperties: false
      properties:
        type:
          description: A text identifier of the error class
          enum:
            - vacancy
          example: vacancy
          type: string
        value:
          description: An error value
          enum:
            - vacancy_draft_limit_exceeded
          example: vacancy_draft_limit_exceeded
          type: string
      required:
        - type
        - value
      title: Error
      type: object
    SavedSearchesSavedSearchResponse:
      allOf:
        - $ref: '#/components/schemas/SavedSearchesSavedSearchItems'
          type: object
        - $ref: '#/components/schemas/_IncludesPagination'
          type: object
      title: Successful response
    SavedSearchesSavedSearchItems:
      properties:
        items:
          description: List of saved vacancy searches
          items:
            $ref: '#/components/schemas/SavedSearchesSavedSearchItem'
          minItems: 0
          type: array
      required:
        - items
      title: List of saved vacancy searches
    SavedSearchesSavedSearchItem:
      properties:
        created_at:
          description: Creation date and time
          type: string
        id:
          description: Saved search ID
          type: string
        items:
          allOf:
            - $ref: '#/components/schemas/_IncludesCountUrl'
            - description: Vacancy/resume list data
              type: object
        name:
          description: Saved search name
          type: string
        new_items:
          allOf:
            - $ref: '#/components/schemas/_IncludesCountUrl'
            - description: |
                Information on list of vacancies/resumes appeared since the last item view. Upon requesting a `new_items` reference the new item count resets (a short delay is possible)

                The `new_items.count` refreshes once an hour. So, the real number of new items found may differ from this count value
              type: object
        subscription:
          description: Subscription status
          type: boolean
      required:
        - id
        - name
        - created_at
        - subscription
        - items
        - new_items
      title: Saved vacancy/resume search
      type: object
    _IncludesCountUrl:
      properties:
        count:
          description: Number of elements
          type: number
        url:
          description: Link to obtain elements
          type: string
      required:
        - count
        - url
      title: Elements
      type: object
    WebhookSubscriptionsOutput:
      additionalProperties: false
      properties:
        items:
          description: List of user subscriptions
          items:
            $ref: '#/components/schemas/WebhookSubscriptionItem'
          minItems: 0
          type: array
      required:
        - items
      title: Object with subscriptions
      type: object
    WebhookSubscriptionItem:
      allOf:
        - $ref: '#/components/schemas/WebhookSubscriptionCommonItem'
        - additionalProperties: false
          properties:
            id:
              description: Subscription ID
              example: q1ww2e2r4ty
              type: string
          required:
            - id
          type: object
      title: User subscription
    WebhookSubscriptionCommonItem:
      properties:
        actions:
          description: List of events
          discriminator:
            mapping:
              NEGOTIATION_EMPLOYER_STATE_CHANGE: '#/components/schemas/WebhookActionNegotiationEmployerStateChange'
              NEW_NEGOTIATION_VACANCY: '#/components/schemas/WebhookActionNewNegotiationVacancy'
              NEW_RESPONSE_OR_INVITATION_VACANCY: '#/components/schemas/WebhookActionNewResponseOrInvitationVacancy'
              VACANCY_ARCHIVATION: '#/components/schemas/WebhookActionVacancyArchivation'
              VACANCY_CHANGE: '#/components/schemas/WebhookActionVacancyChange'
              VACANCY_PROLONGATION: '#/components/schemas/WebhookActionVacancyProlongation'
              VACANCY_PUBLICATION_FOR_VACANCY_MANAGER: '#/components/schemas/WebhookActionVacancyPublicationForVacancyManager'
            propertyName: type
          items:
            anyOf:
              - $ref: '#/components/schemas/WebhookActionNewNegotiationVacancy'
              - $ref: '#/components/schemas/WebhookActionNewResponseOrInvitationVacancy'
              - $ref: '#/components/schemas/WebhookActionVacancyArchivation'
              - $ref: '#/components/schemas/WebhookActionVacancyChange'
              - $ref: '#/components/schemas/WebhookActionVacancyProlongation'
              - $ref: '#/components/schemas/WebhookActionVacancyPublicationForVacancyManager'
              - $ref: '#/components/schemas/WebhookActionNegotiationEmployerStateChange'
          minItems: 1
          type: array
        url:
          description: URL for POST-request after event happening
          example: 'http://www.example.com'
          format: uri
          type: string
      required:
        - url
        - actions
      title: Subscription object
      type: object
    WebhookActionVacancyChange:
      additionalProperties: false
      properties:
        settings:
          anyOf:
            - $ref: '#/components/schemas/WebhookActionVacancyOnlyMineSettings'
            - $ref: '#/components/schemas/_IncludesNullableObject'
          nullable: true
        type:
          description: |
            Vacancy change. Accumulates changes that are made in last few seconds and sends a webhook containing the time of the last change.

            If you make two changes within a second apart, the service sends only one webhook, which contains the time of the last change. If you make only one change, the service sends a webhook with delay of several seconds
          enum:
            - VACANCY_CHANGE
          type: string
      required:
        - type
      title: Subscription on VACANCY_CHANGE
      type: object
    WebhookActionVacancyOnlyMineSettings:
      additionalProperties: false
      properties:
        vacancies_only_mine:
          default: false
          description: |
            If `true`, the service sends notifications only about vacancies of the current user.

            Default value is `false` — the service sends notifications about all vacancies in access
          type: boolean
      title: Subscribe only on my vacancies
      type: object
    WebhookActionNewResponseOrInvitationVacancy:
      additionalProperties: false
      properties:
        settings:
          anyOf:
            - $ref: '#/components/schemas/WebhookActionVacancyOnlyMineSettings'
            - $ref: '#/components/schemas/_IncludesNullableObject'
          nullable: true
        type:
          description: New vacancy response or invitation. This event triggers both by response from an applicant and by invitation from the employer
          enum:
            - NEW_RESPONSE_OR_INVITATION_VACANCY
          type: string
      required:
        - type
      title: Subscription on NEW_RESPONSE_OR_INVITATION_VACANCY
      type: object
    WebhookActionVacancyArchivation:
      additionalProperties: false
      properties:
        settings:
          anyOf:
            - $ref: '#/components/schemas/WebhookActionVacancyOnlyMineSettings'
            - $ref: '#/components/schemas/_IncludesNullableObject'
          nullable: true
        type:
          description: Vacancy archiving
          enum:
            - VACANCY_ARCHIVATION
          type: string
      required:
        - type
      title: Subscription on VACANCY_ARCHIVATION
      type: object
    WebhookActionVacancyPublicationForVacancyManager:
      additionalProperties: false
      properties:
        type:
          description: |
            Vacancy publication. This event triggers only by vacancy publication that is made by a vacancy owner. 

            Such publication may be:
            * a standard vacancy publication
            * a publication of suspended vacancy
            * a publication from a draft
          enum:
            - VACANCY_PUBLICATION_FOR_VACANCY_MANAGER
          type: string
      required:
        - type
      title: Subscription on VACANCY_PUBLICATION_FOR_VACANCY_MANAGER
      type: object
    WebhookActionNegotiationEmployerStateChange:
      additionalProperties: false
      properties:
        settings:
          anyOf:
            - $ref: '#/components/schemas/WebhookActionVacancyOnlyMineSettings'
            - $ref: '#/components/schemas/_IncludesNullableObject'
          nullable: true
        type:
          description: |
            Moving a candidate's resume in another vacancy state.

            Contains the following information:

            * who has moved the resume; 
            * the resume identifier;
            * initial resume state; 
            * new resume state
          enum:
            - NEGOTIATION_EMPLOYER_STATE_CHANGE
          type: string
      required:
        - type
      title: Subscription on NEGOTIATION_EMPLOYER_STATE_CHANGE
      type: object
    WebhookActionVacancyProlongation:
      additionalProperties: false
      properties:
        settings:
          anyOf:
            - $ref: '#/components/schemas/WebhookActionVacancyOnlyMineSettings'
            - $ref: '#/components/schemas/_IncludesNullableObject'
          nullable: true
        type:
          description: Vacancy prolongation
          enum:
            - VACANCY_PROLONGATION
          type: string
      required:
        - type
      title: Subscription on VACANCY_PROLONGATION
      type: object
    WebhookActionNewNegotiationVacancy:
      additionalProperties: false
      properties:
        settings:
          anyOf:
            - $ref: '#/components/schemas/WebhookActionVacancyOnlyMineSettings'
            - $ref: '#/components/schemas/_IncludesNullableObject'
          nullable: true
        type:
          description: New vacancy response. This event triggers only by response from an applicant
          enum:
            - NEW_NEGOTIATION_VACANCY
          type: string
      required:
        - type
      title: Subscription on NEW_NEGOTIATION_VACANCY
      type: object
    VacancyDraftDraftResponseSchema:
      allOf:
        - $ref: '#/components/schemas/Id'
        - example:
            $ref: '#/components/examples/VacancyDraftVacancyDraftResponse/value'
          properties:
            ignored_fields:
              description: Fields that were not saved when you created the draft because they were not filled correctly
              items:
                description: Name of the ignored field
                type: string
              type: array
            name:
              description: Draft title
              type: string
            publication_ready:
              description: Vacancy draft is ready for publication
              type: boolean
            validation_errors:
              description: Saved fields with corresponding errors that must be resolved for the draft-based vacancy to be published successfully
              items:
                $ref: '#/components/schemas/VacancyDraftDraftVacancyError'
              type: array
          required:
            - name
            - publication_ready
          type: object
      title: Response to the vacancy draft publication
      type: object
    VacancyDraftDraftVacancyError:
      properties:
        reason:
          description: The reason for the error
          type: string
        value:
          description: Name of the field with error
          type: string
      required:
        - value
      title: Error
      type: object
    Id:
      description: Information about the created object
      nullable: false
      properties:
        id:
          description: Created object ID
          example: '22'
          type: string
      required:
        - id
      title: Created object ID
      type: object
    EmployerServicesEmployerServices:
      properties:
        items:
          items:
            $ref: '#/components/schemas/EmployerServicesEmployerServiceItem'
          minItems: 0
          title: List of services
          type: array
      required:
        - items
      title: List of services
    EmployerServicesEmployerServiceItem:
      properties:
        activated_at:
          description: 'Service activation time (in the format [ISO 8601](http://en.wikipedia.org/wiki/ISO_8601) with to-the-second accuracy `YYYY-MM-DDThh:mm:ss±hhmm`)'
          pattern: '^\d{4}-[01]\d-[0-3]\dT[0-2]\d:[0-5]\d:[0-5]\d(?:\.\d+)?((\+|-)[0-1][0-9]{3})?$'
          type: string
        balance:
          description: Balance is up-to-date for packet services
          nullable: true
          oneOf:
            - $ref: '#/components/schemas/_IncludesNullableObject'
            - $ref: '#/components/schemas/EmployerServicesBalance'
          type: object
        expires_at:
          description: 'Service expiration time (in the format [ISO 8601](http://en.wikipedia.org/wiki/ISO_8601) with to-the-second accuracy `YYYY-MM-DDThh:mm:ss±hhmm`)'
          pattern: '^\d{4}-[01]\d-[0-3]\dT[0-2]\d:[0-5]\d:[0-5]\d(?:\.\d+)?((\+|-)[0-1][0-9]{3})?$'
          type: string
        id:
          description: Service ID
          type: string
        service_type:
          $ref: '#/components/schemas/EmployerServicesServiceType'
          description: Service type
      required:
        - id
        - service_type
        - activated_at
        - expires_at
      title: Service
    EmployerServicesServiceType:
      properties:
        id:
          description: Service type ID
          type: string
        name:
          description: Localized name of service type
          type: string
      required:
        - id
        - name
      title: Service type
    EmployerServicesBalance:
      properties:
        actual:
          description: Current balance value
          type: integer
        initial:
          description: Balance value at the time of service activation
          type: integer
      required:
        - actual
        - initial
      title: Balance of services
      type: object
    VacanciesPreferredNegotiationsOrderRequest:
      properties:
        order:
          description: 'Sorting option ID. Possible values are listed in the `order_types` field of [collections of responses and invitations](#tag/Employer-responsesinvitations/operation/get-negotiations). API does not support some kinds of sorting'
          type: string
      required:
        - order
      title: Preferred sorting of responses
      type: object
    EmployersVacancyBrandedTemplatesList:
      properties:
        items:
          description: List of branded vacancy templates
          items:
            properties:
              id:
                description: Branded vacancy template ID
                minLength: 1
                type: string
              name:
                description: Branded vacancy template name
                type: string
              version_id:
                description: |
                  Branded vacancy template version ID. 
                  It is null when constructor template is used
                nullable: true
                type: string
            required:
              - id
              - version_id
              - name
            type: object
          type: array
      required:
        - items
      title: Successfull response
      type: object
    EmployerServicesMethodAccess:
      properties:
        items:
          items:
            $ref: '#/components/schemas/EmployerServicesMethodAccessItem'
          minItems: 0
          title: List of groups with access to paid methods
          type: array
      required:
        - items
      title: List of groups with access to paid methods
    EmployerServicesMethodAccessItem:
      properties:
        access:
          description: Information about access to the paid method
          properties:
            has_access:
              description: Indicates whether there is access to a group of methods
              type: boolean
          required:
            - has_access
          type: object
        description:
          description: Methods groups description
          type: string
        id:
          description: Methods groups ID
          type: string
      required:
        - id
        - description
        - access
      title: Methods groups
    VacanciesVacanciesResponse:
      allOf:
        - $ref: '#/components/schemas/VacanciesVacanciesItems'
          type: object
        - $ref: '#/components/schemas/_IncludesPagination'
          type: object
        - $ref: '#/components/schemas/VacanciesClusters'
          type: object
        - $ref: '#/components/schemas/VacanciesArguments'
          type: object
        - properties:
            alternate_url:
              description: Link to the vacancy
              nullable: true
              type: string
            fixes:
              $ref: '#/components/schemas/VacanciesFixes'
            suggests:
              $ref: '#/components/schemas/VacanciesSuggests'
          type: object
      title: Successful response
    VacanciesClusters:
      properties:
        clusters:
          description: 'Array of [search clusters](#tag/Vacancy-search/Clusters-of-vacancy-search)'
          items:
            $ref: '#/components/schemas/VacanciesClusterItem'
          nullable: true
          type: array
      title: Clusters in vacancy search
      type: object
    VacanciesClusterItem:
      properties:
        id:
          description: Cluster ID
          type: string
        items:
          description: 'The search query array in this cluster, specifying additional parameters'
          items:
            $ref: '#/components/schemas/VacanciesItemsOfClusterItem'
          type: array
        name:
          description: Cluster type name
          type: string
      required:
        - id
        - name
        - items
      title: Cluster
      type: object
    VacanciesItemsOfClusterItem:
      properties:
        count:
          description: Number of vacancies in this cluster element
          type: number
        metro_line:
          nullable: true
          oneOf:
            - $ref: '#/components/schemas/_IncludesNullableObject'
            - $ref: '#/components/schemas/_IncludesClusterMetroLine'
          type: object
        metro_station:
          nullable: true
          oneOf:
            - $ref: '#/components/schemas/_IncludesNullableObject'
            - $ref: '#/components/schemas/_IncludesClusterMetroStation'
          type: object
        name:
          description: Name of cluster element
          type: string
        type:
          description: Type of value related to the group
          enum:
            - metro_station
            - metro_line
          nullable: true
          type: string
        url:
          description: Link to search results for this cluster element
          type: string
      required:
        - name
        - url
        - count
      title: Search request in a cluster
      type: object
    _IncludesClusterMetroStation:
      properties:
        area:
          allOf:
            - description: Region where the station is
              type: object
            - $ref: '#/components/schemas/_IncludesArea'
        hex_color:
          description: Line color in HEX format `RRGGBB` (from `000000` to `FFFFFF`)
          type: string
        id:
          description: Metro station ID
          type: string
        lat:
          description: Latitude
          type: number
        lng:
          description: Longitude
          type: number
        order:
          description: Sequential number of the station in a metro line
          type: number
      required:
        - id
        - hex_color
        - lat
        - lng
        - order
        - area
      title: Metro station
      type: object
    _IncludesClusterMetroLine:
      properties:
        area:
          allOf:
            - description: Region (city) where the line is
              type: object
            - $ref: '#/components/schemas/_IncludesArea'
        hex_color:
          description: Line color in HEX format `RRGGBB` (from `000000` to `FFFFFF`)
          type: string
        id:
          description: Line ID
          type: string
      required:
        - id
        - hex_color
        - area
      title: Metro line
      type: object
    VacanciesArguments:
      properties:
        arguments:
          description: |
            Array of search parameters that were specified in the request.

            Returns only if the `describe_arguments=true` parameter is specified. The array only includes those arguments that affect vacancy search. Unknown arguments are ignored. An array item with one argument value can be repeated several times if the argument has several values
          items:
            $ref: '#/components/schemas/VacanciesArgumentItem'
          nullable: true
          type: array
      title: Selected arguments in a vacancy search
      type: object
    VacanciesArgumentItem:
      properties:
        argument:
          description: Vacancy search parameter
          type: string
        cluster_group:
          description: Cluster group related to this argument
          nullable: true
          oneOf:
            - $ref: '#/components/schemas/_IncludesIdName'
            - $ref: '#/components/schemas/_IncludesNullableObject'
          type: object
        disable_url:
          description: URL of the resulting vacancy search if this argument is no longer selected
          type: string
        hex_color:
          description: HEX color code of the line `RRGGBB` (from `000000` to `FFFFFF`). Returns only for the `metro` argument
          nullable: true
          type: string
        metro_type:
          description: Metro station or line (`station`/`line`). Returns only for the `metro` argument
          nullable: true
          type: string
        name:
          description: Name of a value
          nullable: true
          type: string
        value:
          description: Parameter value
          type: string
        value_description:
          description: Parameter description
          nullable: true
          type: string
      required:
        - argument
        - value
        - disable_url
      title: Search argument
      type: object
    VacanciesVacanciesItems:
      properties:
        items:
          description: Vacancy list
          items:
            $ref: '#/components/schemas/VacanciesVacanciesItem'
          minItems: 0
          type: array
      required:
        - items
      title: Vacancy list
    VacanciesVacanciesItem:
      allOf:
        - $ref: '#/components/schemas/VacanciesStandardVacancyFields'
        - $ref: '#/components/schemas/VacanciesAdditionalVacancyFields'
        - properties:
            show_logo_in_search:
              description: Should the logo for the vacancy be displayed in search results
              nullable: true
              type: boolean
            video_vacancy:
              nullable: true
              oneOf:
                - $ref: '#/components/schemas/VacancyVideoVacancyVideoVacancyItem'
                - $ref: '#/components/schemas/_IncludesNullableObject'
              type: object
          type: object
      title: Vacancy
    VacancyVideoVacancyVideoVacancyItem:
      additionalProperties: false
      description: 'Данные по видео вакансии, либо `null`, если она не подключена'
      properties:
        cover_picture:
          nullable: true
          oneOf:
            - $ref: '#/components/schemas/VacancyVideoVacancyCoverPicture'
            - $ref: '#/components/schemas/_IncludesNullableObject'
          type: object
        snippet_picture:
          nullable: true
          oneOf:
            - $ref: '#/components/schemas/VacancyVideoVacancySnippetPicture'
            - $ref: '#/components/schemas/_IncludesNullableObject'
          type: object
        snippet_picture_url:
          deprecated: true
          description: Ссылка на версию обложки для сниппета
          nullable: true
          type: string
        snippet_video:
          nullable: true
          oneOf:
            - $ref: '#/components/schemas/VacancyVideoVacancyVideo'
            - $ref: '#/components/schemas/_IncludesNullableObject'
          type: object
        snippet_video_url:
          deprecated: true
          description: Ссылка на версию видео для сниппета
          nullable: true
          type: string
        video:
          $ref: '#/components/schemas/VacancyVideoVacancyVideo'
          nullable: false
        video_url:
          deprecated: true
          description: Ссылка для скачивания видео
          minLength: 1
          nullable: false
          type: string
      title: Видео вакансия
      type: object
    VacancyVideoVacancyCoverPicture:
      additionalProperties: false
      description: 'Обложка видео вакансии, либо `null`, если обложка отсутствует'
      properties:
        resized_height:
          description: Высота изображения
          type: number
        resized_path:
          description: Ссылка на изображение
          minLength: 1
          nullable: false
          type: string
        resized_width:
          description: Ширина изображения
          type: number
      required:
        - resized_path
        - resized_width
        - resized_height
      title: Обложка видео вакансии
      type: object
    VacancyVideoVacancySnippetPicture:
      additionalProperties: false
      description: Обложка видео сниппета
      properties:
        url:
          description: Ссылка на изображение
          minLength: 1
          nullable: false
          type: string
      required:
        - url
      title: Обложка видео сниппета
      type: object
    VacancyVideoVacancyVideo:
      additionalProperties: false
      description: Данные по видео
      properties:
        upload_id:
          description: Идентификатор видео
          minLength: 1
          nullable: false
          type: string
        url:
          description: Ссылка на видео
          minLength: 1
          nullable: false
          type: string
      required:
        - upload_id
        - url
      title: Видео
      type: object
    VacanciesAdditionalVacancyFields:
      properties:
        counters:
          $ref: '#/components/schemas/VacancyCounters'
        employment:
          $ref: '#/components/schemas/VacancyEmploymentOutput'
          deprecated: true
        employment_form:
          $ref: '#/components/schemas/VacancyEmploymentFormOutput'
        experience:
          $ref: '#/components/schemas/VacancyExperienceOutput'
        snippet:
          $ref: '#/components/schemas/VacancySnippet'
          description: 'Additional text snippets on the found vacancy. If a snippet text contains search term (parameter `text`), it will be highlighted with tag `highlighttext`'
        sort_point_distance:
          $ref: '#/components/schemas/VacancySortPointDistance'
      required:
        - snippet
      title: Vacancy
      type: object
    VacancySortPointDistance:
      description: |
        Distance in metres between the sorting centre (indicated by parameters `sort_point_lat` and `sort_point_lng`) and the address indicated in the vacancy. If the address only includes metro stations, it shows the distance between the sorting centre and the average geometric point of the indicated stations.

        `sort_point_distance` value is only shown if parameters for `sort_point_lat`, `sort_point_lgn` and `order_by=distance` are indicated
      nullable: true
      title: Distance between the sorting center and the address specified in the vacancy
      type: number
    VacancyCounters:
      description: |
        Number of responses/invitations. An applicant authorization and an application authorization can use query-parameter `responses_count_enabled=true`
      properties:
        responses:
          description: Number of responses to the vacancy since posting
          type: number
        total_responses:
          description: Number of responses to the vacancy since creation
          type: number
      title: Counters
      type: object
    VacancyEmploymentFormOutput:
      allOf:
        - $ref: '#/components/schemas/VacancyEmploymentForm'
        - properties:
            name:
              description: The name of the type of employment
              type: string
          type: object
      nullable: true
      title: Type of employment
      type: object
    VacancyEmploymentForm:
      nullable: true
      properties:
        id:
          description: 'Values from [dictionary employment_form](#tag/Public-directories/operation/get-dictionaries)'
          type: string
      title: Type of employment
      type: object
    VacancyExperienceOutput:
      allOf:
        - $ref: '#/components/schemas/VacancyExperience'
        - properties:
            name:
              description: Experience name
              type: string
          type: object
      nullable: true
      title: Experience
      type: object
    VacancyExperience:
      nullable: true
      properties:
        id:
          description: 'Required work experience from the [experience dictionary](#tag/Public-directories/operation/get-dictionaries)'
          type: string
      title: Work experience
      type: object
    VacancySnippet:
      properties:
        requirement:
          description: Vacancy requirements snippet if available in the description text
          nullable: true
          type: string
        responsibility:
          description: Vacancy responsibilities snippet if available in the description text
          nullable: true
          type: string
      title: Additional text snippets
      type: object
    VacancyEmploymentOutput:
      allOf:
        - $ref: '#/components/schemas/VacancyEmployment'
        - properties:
            name:
              description: Name of the employment type
              type: string
          type: object
      deprecated: true
      nullable: true
      title: Employment type
      type: object
    VacancyEmployment:
      deprecated: true
      nullable: true
      properties:
        id:
          description: 'Employment type from the [employment dictionary](#tag/Public-directories/operation/get-dictionaries)'
          nullable: true
          type: string
      title: Type of employment
      type: object
    VacanciesStandardVacancyFields:
      properties:
        accept_incomplete_resumes:
          $ref: '#/components/schemas/VacancyAcceptIncompleteResumes'
        accept_temporary:
          $ref: '#/components/schemas/VacancyAcceptTemporary'
        address:
          $ref: '#/components/schemas/VacancyAddressRawOutput'
        alternate_url:
          description: Link to the vacancy on site
          type: string
        apply_alternate_url:
          description: Link to the vacancy job application on site
          type: string
        archived:
          description: Whether the vacancy is archived
          nullable: true
          type: boolean
        area:
          $ref: '#/components/schemas/_IncludesArea'
        contacts:
          $ref: '#/components/schemas/VacancyContactsOutput'
        created_at:
          description: Date and time of the vacancy publication
          type: string
        department:
          $ref: '#/components/schemas/VacanciesObjectsDepartment'
        employer:
          $ref: '#/components/schemas/VacanciesEmployerPublic'
        fly_in_fly_out_duration:
          $ref: '#/components/schemas/VacancyFlyInFlyOutDurationFlyInFlyOutDurationOutput'
        has_test:
          description: Whether a test assignment is attached to the vacancy
          type: boolean
        id:
          description: The vacancy ID
          type: string
        insider_interview:
          $ref: '#/components/schemas/VacanciesObjectsInsiderInterview'
        internship:
          $ref: '#/components/schemas/VacancyInternship'
        metro_stations:
          $ref: '#/components/schemas/_IncludesMetroStation'
        name:
          $ref: '#/components/schemas/VacancyName'
        night_shifts:
          $ref: '#/components/schemas/VacancyNightShifts'
        premium:
          description: Whether the vacancy is the premium one
          nullable: true
          type: boolean
        professional_roles:
          $ref: '#/components/schemas/VacancyProfessionalRolesOutput'
        published_at:
          description: Date and time of the vacancy publication
          type: string
        relations:
          $ref: '#/components/schemas/VacancyRelations'
        response_letter_required:
          $ref: '#/components/schemas/VacancyResponseLetterRequired'
        response_url:
          $ref: '#/components/schemas/VacancyResponseUrl'
        salary:
          $ref: '#/components/schemas/VacancySalary'
          deprecated: true
        salary_range:
          nullable: true
          oneOf:
            - $ref: '#/components/schemas/VacancySalaryRangeSalaryRangeOutput'
            - $ref: '#/components/schemas/_IncludesNullableObject'
          type: object
        schedule:
          deprecated: true
          nullable: true
          oneOf:
            - $ref: '#/components/schemas/VacancyScheduleOutput'
            - $ref: '#/components/schemas/_IncludesNullableObject'
          type: object
        show_contacts:
          $ref: '#/components/schemas/VacancyShowContacts'
        sort_point_distance:
          $ref: '#/components/schemas/VacancySortPointDistance'
        type:
          $ref: '#/components/schemas/VacancyTypeOutput'
        url:
          description: The vacancy URL
          type: string
        work_format:
          $ref: '#/components/schemas/VacancyWorkFormatWorkFormatOutput'
        work_schedule_by_days:
          $ref: '#/components/schemas/VacancyWorkScheduleByDaysWorkScheduleByDaysOutput'
        working_days:
          $ref: '#/components/schemas/VacancyWorkingDaysOutput'
          deprecated: true
        working_hours:
          $ref: '#/components/schemas/VacancyWorkingHoursWorkingHoursOutput'
        working_time_intervals:
          $ref: '#/components/schemas/VacancyWorkingTimeIntervalsOutput'
          deprecated: true
        working_time_modes:
          $ref: '#/components/schemas/VacancyWorkingTimeModesOutput'
          deprecated: true
      required:
        - id
        - name
        - department
        - has_test
        - response_letter_required
        - area
        - salary
        - salary_range
        - type
        - published_at
        - apply_alternate_url
        - url
        - alternate_url
        - relations
        - employer
        - accept_incomplete_resumes
        - professional_roles
      title: Vacancy
      type: object
    VacancyResponseUrl:
      description: Response URL for direct vacancies (`type.id=direct`)
      nullable: true
      title: URL
      type: string
    VacancyWorkingTimeModesOutput:
      deprecated: true
      description: List of working time modes
      items:
        $ref: '#/components/schemas/VacancyWorkingTimeModeItemOutput'
      nullable: true
      title: Working time modes
      type: array
    VacancyWorkingTimeModeItemOutput:
      allOf:
        - $ref: '#/components/schemas/VacancyWorkingTimeModeItem'
        - properties:
            name:
              description: Working interval name
              type: string
          type: object
      deprecated: true
      nullable: true
      title: Working interval name
      type: object
    VacancyWorkingTimeModeItem:
      deprecated: true
      properties:
        id:
          description: 'Working time modes from the [working_time_modes dictionary](#tag/Public-directories/operation/get-dictionaries)'
          type: string
      title: Working time modes
      type: object
    VacancyRelations:
      description: 'Returns vacancy relations of the applicant. Values from `vacancy_relation` field of [dictionaries](#tag/Public-directories/operation/get-dictionaries)'
      items:
        $ref: '#/components/schemas/VacancyRelationItem'
      title: Vacancy relations of the applicant
      type: array
    VacancyRelationItem:
      enum:
        - favorited
        - got_response
        - got_invitation
        - got_rejection
        - blacklisted
        - null
      nullable: true
      title: Relation text identifier
      type: string
    VacancyFlyInFlyOutDurationFlyInFlyOutDurationOutput:
      description: Fly in fly out duration options
      items:
        $ref: '#/components/schemas/VacancyFlyInFlyOutDurationFlyInFlyOutDurationItemOutput'
      nullable: true
      title: Fly in fly out duration options
      type: array
    VacancyFlyInFlyOutDurationFlyInFlyOutDurationItemOutput:
      allOf:
        - $ref: '#/components/schemas/VacancyFlyInFlyOutDurationFlyInFlyOutDurationItem'
        - properties:
            name:
              description: The name of the fly in fly out duration option
              type: string
          type: object
      nullable: true
      title: The name of the fly in fly out duration option
      type: object
    VacancyFlyInFlyOutDurationFlyInFlyOutDurationItem:
      properties:
        id:
          description: 'Values from [dictionary fly_in_fly_out_duration](#tag/Public-directories/operation/get-dictionaries)'
          type: string
      title: Fly in fly out duration
      type: object
    VacancyResponseLetterRequired:
      description: Request a cover letter
      title: Cover letter
      type: boolean
    VacancyAcceptIncompleteResumes:
      description: Whether it is possible to apply with an incomplete resume
      title: Incomplete resume
      type: boolean
    VacancyWorkScheduleByDaysWorkScheduleByDaysOutput:
      description: List of work schedules by days
      items:
        $ref: '#/components/schemas/VacancyWorkScheduleByDaysWorkScheduleByDaysItemOutput'
      nullable: true
      title: Work schedule by days
      type: array
    VacancyWorkScheduleByDaysWorkScheduleByDaysItemOutput:
      allOf:
        - $ref: '#/components/schemas/VacancyWorkScheduleByDaysWorkScheduleByDaysItem'
        - properties:
            name:
              description: Name of the work schedule by days
              type: string
          type: object
      nullable: true
      title: Name of the work schedule by days
      type: object
    VacancyWorkScheduleByDaysWorkScheduleByDaysItem:
      properties:
        id:
          description: 'Values from [dictionary work_schedule_by_days](#tag/Public-directories/operation/get-dictionaries)'
          type: string
      title: Work schedule by days
      type: object
    VacancyWorkFormatWorkFormatOutput:
      description: List of work formats
      items:
        $ref: '#/components/schemas/VacancyWorkFormatWorkFormatItemOutput'
      nullable: true
      title: Work formats
      type: array
    VacancyWorkFormatWorkFormatItemOutput:
      allOf:
        - $ref: '#/components/schemas/VacancyWorkFormatWorkFormatItem'
        - properties:
            name:
              description: Name of the work format
              type: string
          type: object
      nullable: true
      title: Name of the work format
      type: object
    VacancyWorkFormatWorkFormatItem:
      properties:
        id:
          description: 'Values from [dictionary work_format](#tag/Public-directories/operation/get-dictionaries)'
          type: string
      title: The format of the work
      type: object
    VacancyAcceptTemporary:
      description: Indication that temporary employment is available for the position
      nullable: true
      title: Temporary employment
      type: boolean
    VacancyWorkingHoursWorkingHoursOutput:
      description: List of options for working hours per day
      items:
        $ref: '#/components/schemas/VacancyWorkingHoursWorkingHoursItemOutput'
      nullable: true
      title: Options for working hours per day
      type: array
    VacancyWorkingHoursWorkingHoursItemOutput:
      allOf:
        - $ref: '#/components/schemas/VacancyWorkingHoursWorkingHoursItem'
        - properties:
            name:
              description: Working hours per day
              type: string
          type: object
      nullable: true
      title: Working hours per day
      type: object
    VacancyWorkingHoursWorkingHoursItem:
      properties:
        id:
          description: 'Values from [dictionary working_hours](#tag/Public-directories/operation/get-dictionaries)'
          type: string
      title: Working hours per day
      type: object
    VacancyInternship:
      description: Internship
      nullable: true
      title: Internship
      type: boolean
    VacancyNightShifts:
      description: Night shifts
      nullable: true
      title: Night shifts
      type: boolean
    VacancyWorkingDaysOutput:
      deprecated: true
      description: List of working days
      items:
        $ref: '#/components/schemas/VacancyWorkingDayItemOutput'
      nullable: true
      title: List of working days
      type: array
    VacancyWorkingDayItemOutput:
      allOf:
        - $ref: '#/components/schemas/VacancyWorkingDayItem'
        - properties:
            name:
              description: Working day name
              type: string
          type: object
      deprecated: true
      nullable: true
      title: Working days list
      type: object
    VacancyWorkingDayItem:
      deprecated: true
      properties:
        id:
          description: 'Work days from [working_days dictionary](#tag/Public-directories/operation/get-dictionaries)'
          type: string
      title: Work Day
      type: object
    VacancyContactsOutput:
      description: Contact information
      nullable: true
      properties:
        call_tracking_enabled:
          description: Flag of virtual number connection
          nullable: true
          type: boolean
        email:
          description: Email. Value must fit the email format
          nullable: true
          type: string
        name:
          description: Contact name
          nullable: true
          type: string
        phones:
          description: The list of contact numbers
          items:
            $ref: '#/components/schemas/VacancyPhoneItem'
          nullable: true
          type: array
      title: Contact information
      type: object
    VacancyPhoneItem:
      properties:
        city:
          description: City code
          type: string
        comment:
          description: Comment (a convenient time to call this number)
          nullable: true
          type: string
        country:
          description: Country code
          type: string
        formatted:
          description: Phone number
          type: string
        number:
          description: Phone number
          type: string
      title: Contact number object
      type: object
    VacancyName:
      description: Name
      title: Name
      type: string
    VacancyShowContacts:
      description: Доступны ли контакты в вакансии
      nullable: true
      title: Доступны ли контакты в вакансии
      type: boolean
    VacancyWorkingTimeIntervalsOutput:
      deprecated: true
      description: The list with working time intervals
      items:
        $ref: '#/components/schemas/VacancyWorkingTimeIntervalItemOutput'
      nullable: true
      title: Working interval
      type: array
    VacancyWorkingTimeIntervalItemOutput:
      allOf:
        - $ref: '#/components/schemas/VacancyWorkingTimeIntervalItem'
        - properties:
            name:
              description: Working interval name
              type: string
          type: object
      deprecated: true
      nullable: true
      title: Working interval name
      type: object
    VacancyWorkingTimeIntervalItem:
      deprecated: true
      properties:
        id:
          description: 'Working time period from the [working_time_intervals dictionary](#tag/Public-directories/operation/get-dictionaries)'
          type: string
      title: Working time period
      type: object
    VacancyScheduleOutput:
      allOf:
        - $ref: '#/components/schemas/VacancySchedule'
        - properties:
            name:
              description: Schedule name
              type: string
          type: object
      deprecated: true
      title: Schedule
      type: object
    VacancySchedule:
      deprecated: true
      nullable: true
      properties:
        id:
          description: 'Work schedule from the [schedule dictionary](#tag/Public-directories/operation/get-dictionaries)'
          nullable: true
          type: string
      title: Schedule
      type: object
    VacanciesSuggests:
      nullable: true
      properties:
        found:
          description: Number of results found for suggested text
          type: integer
        value:
          description: Suggested text
          type: string
      title: Corrections suggested for the text of query
      type: object
    VacanciesFixes:
      nullable: true
      properties:
        fixed:
          description: Fixed text
          type: string
        original:
          description: Original text
          type: string
      title: Fixes applied to the text of query
      type: object
    DictionariesSkillsResponse:
      description: The list of key skills
      properties:
        items:
          description: Key skill array
          items:
            $ref: '#/components/schemas/_IncludesSkillSetItem'
          type: array
      required:
        - items
      title: The list of key skills
      type: object
    _IncludesSkillSetItem:
      properties:
        id:
          description: Key skill ID
          type: string
        text:
          description: Key skill name
          type: string
      required:
        - id
        - text
      title: Key skill
      type: object
    NegotiationsNegotiationTestResultsResponse:
      properties:
        test_result:
          description: Applicant's completed tests
          properties:
            duration:
              description: 'Time taken to complete the test, in seconds'
              type: number
            mark:
              description: |
                Differentiated assessment for the test:
                * `UNFAIR` — from 0 to 14 points;
                * `FAIR` — from 15 to 44 points;
                * `GOOD` — from 45 to 79 points;
                * `EXCELLENT` — from 80 to 100 points
              enum:
                - UNFAIR
                - FAIR
                - GOOD
                - EXCELLENT
              type: string
            name:
              description: Test name
              type: string
            score:
              description: The result of passing the test in points (from 0 to 100)
              type: number
            tasks:
              items:
                $ref: '#/components/schemas/SkillVerificationsTestResultTasks'
              type: array
          required:
            - name
            - score
            - mark
            - duration
            - tasks
          type: object
      required:
        - test_result
      title: Information about completed tests
      type: object
    SkillVerificationsTestResultTasks:
      properties:
        closed_answers:
          description: Answers to closed questions
          items:
            properties:
              correct:
                description: Is the answer correct
                type: boolean
              selected:
                description: Is the answer selected
                type: boolean
              value:
                description: A variant of the answer to the question
                type: string
            type: object
          type: array
        opened_answer:
          description: Answer to open question
          nullable: true
          oneOf:
            - $ref: '#/components/schemas/SkillVerificationsOpenedAnswer'
            - $ref: '#/components/schemas/_IncludesNullableObject'
          type: object
        question:
          description: Question text
          type: string
      required:
        - question
        - closed_answers
      title: Test questions
      type: object
    SkillVerificationsOpenedAnswer:
      properties:
        mark:
          description: |
            Differentiated assessment for the response from the employer:
            * `UNFAIR` — 0 points;
            * `FAIR` — 30 points;
            * `GOOD` — 60 points;
            * `EXCELLENT` — 100 points
          enum:
            - UNFAIR
            - FAIR
            - GOOD
            - EXCELLENT
          type: string
        value:
          description: Answer to the question
          type: string
      required:
        - value
        - mark
      title: Answer to an open question
      type: object
    VacancyDuplicates:
      additionalProperties: false
      properties:
        found:
          description: Total number of vacancy duplicates
          type: number
        has_duplicates:
          description: Whether the vacancy duplicates exist
          type: boolean
        items:
          description: The list of vacancy duplicate identifiers
          items:
            type: number
          type: array
      required:
        - has_duplicates
        - found
        - items
      title: Checking for duplicates of a vacancy
      type: object
    DictionariesAreaResponse:
      items:
        $ref: '#/components/schemas/DictionariesAreaItem'
      title: List of regions
      type: array
    DictionariesAreaItem:
      allOf:
        - $ref: '#/components/schemas/DictionariesAreaCommon'
        - properties:
            areas:
              description: Child regions
              items:
                $ref: '#/components/schemas/DictionariesAreaItem'
              minItems: 0
              type: array
          required:
            - areas
          type: object
      title: Region
      type: object
    DictionariesAreaCommon:
      properties:
        id:
          description: Region ID
          type: string
        name:
          description: Region name
          type: string
        name_prepositional:
          description: |
            Applicable only to Russian localization.

            Region name in prepositional case
          nullable: true
          type: string
        parent_id:
          description: Parent region ID
          nullable: true
          type: string
      required:
        - id
        - name
      title: Region
    ArtifactsPortfolioDescription:
      properties:
        description:
          description: Image description
          type: string
      required:
        - description
      title: Image description
    ApplicantCommentsApplicantCommentsList:
      allOf:
        - $ref: '#/components/schemas/ApplicantCommentsApplicantCommentItems'
          type: object
        - $ref: '#/components/schemas/_IncludesPagination'
          type: object
      title: Successful response
    ApplicantCommentsApplicantCommentItems:
      properties:
        items:
          description: List of comments
          items:
            $ref: '#/components/schemas/ApplicantCommentsApplicantCommentItem'
          minItems: 0
          type: array
      required:
        - items
      title: Collection with list of comments
    ResumeProfileResumeProfileCreateRequestBody:
      allOf:
        - $ref: '#/components/schemas/ResumeProfileResumeProfileCreateRequestBaseBody'
        - properties:
            additional_properties:
              $ref: '#/components/schemas/ResumeProfileAdditionalProperties'
            clone_resume_id:
              description: 'Идентификатор(хеш) резюме, которое клонируется'
              type: string
            update_profile:
              description: Обновлять ли профиль (на данный момент ФИО)
              type: boolean
          type: object
      title: Создание резюме-профиля
      type: object
    ResumeProfileAdditionalProperties:
      nullable: true
      properties:
        any_job:
          description: Создано ли резюме через "любая работа"
          type: boolean
        job_by_education:
          description: Флаг для следующего экрана необходимо ли считать профессии по образованию
          type: boolean
      title: Дополнительные параметры экранов создания резюме
      type: object
    ResumeProfileResumeProfileCreateRequestBaseBody:
      description: Создание резюме и профиля и получение в ответ схемы с полями резюме-профиля
      properties:
        entry_point:
          description: Точка входа (default - по умолчанию; vacancy_response - отклик на вакансию; onboarding_short - онбординг; onboarding_area_creds - онбординг с кредами; возможны другие варианты)
          enum:
            - default
            - vacancy_response
            - onboarding_short
            - onboarding_area_creds
          type: string
        lat:
          description: Широта
          format: double
          type: number
        lng:
          description: Долгота
          format: double
          type: number
        vacancy_id:
          description: 'Id вакансии на которую откликаемся, заполняется для точки входа "vacancy_response"'
          type: integer
      title: Создание резюме и профиля
      type: object
    ResumesGetResumeVisibilityListResponse:
      allOf:
        - $ref: '#/components/schemas/_IncludesPagination'
          type: object
        - $ref: '#/components/schemas/ResumesGetResumeVisibilityListProperties'
          type: object
      title: List of employers for which the resume should be visible or hidden
      type: object
    ResumesGetResumeVisibilityListProperties:
      properties:
        items:
          description: List od employers
          items:
            $ref: '#/components/schemas/ResumesGetResumeVisibilityListItem'
          type: array
        limit:
          description: The maximum number of items in the list
          type: number
      required:
        - limit
        - items
      title: List of Resume Visibility Properties
      type: object
    ResumesGetResumeVisibilityListItem:
      properties:
        alternate_url:
          description: Link to employer description on the website
          type: string
        id:
          description: Employer ID
          type: string
        logo_urls:
          $ref: '#/components/schemas/_IncludesLogoUrls90'
          description: Image of the employer's logo. The client should take into account the probable resource unavailability after following the specified link
        name:
          description: Employer name
          type: string
        url:
          description: Link to detailed employer description
          type: string
      required:
        - id
        - name
        - url
        - alternate_url
        - logo_urls
      title: List of employers
      type: object
    _IncludesLogoUrls90:
      properties:
        '90':
          description: URL of logo with minimum side size of 90px
          type: string
      required:
        - '90'
      title: Link to logo
      type: object
    ErrorsCommonNotFoundErrors:
      allOf:
        - $ref: '#/components/schemas/ErrorsCommonErrorRequestId'
        - properties:
            description:
              deprecated: true
              description: Error description
              type: string
            errors:
              description: Array with the information on each error
              items:
                $ref: '#/components/schemas/ErrorsCommonNotFoundError'
              minItems: 1
              type: array
          required:
            - errors
          type: object
      description: Information on the occured errors
      title: Not found
    ErrorsCommonNotFoundError:
      additionalProperties: false
      properties:
        type:
          description: A text identifier of the error class
          enum:
            - not_found
          example: not_found
          type: string
      required:
        - type
      title: Error
      type: object
    EmployerManagersEmployerManagerLimits:
      properties:
        left:
          allOf:
            - $ref: '#/components/schemas/EmployerManagersResumeView'
          description: 'Number of remaining resume views. This value includes the limit of views for the company. As a result, it may be lower than the number of views available to the current user'
        limits:
          allOf:
            - $ref: '#/components/schemas/EmployerManagersResumeView'
          description: Limit for resume views
        spend:
          allOf:
            - $ref: '#/components/schemas/EmployerManagersResumeView'
          description: Number of viewed resumes
      required:
        - limits
        - spend
        - left
      title: Daily limit of resume views
    EmployerManagersResumeView:
      properties:
        resume_view:
          description: Resume views
          type: integer
        resume_view_from_api:
          description: Resume views from the API. It returns if it is supported by current resume access configuration for the employer
          type: integer
      required:
        - resume_view
      title: Resume views
    ErrorsArtifactUploadBadJsonData:
      anyOf:
        - $ref: '#/components/schemas/ErrorsArtifactUploadErrors'
        - $ref: '#/components/schemas/ErrorsCommonBadArgumentErrors'
      title: Errors
    ErrorsArtifactUploadErrors:
      allOf:
        - $ref: '#/components/schemas/ErrorsCommonErrorRequestId'
        - properties:
            errors:
              description: Array with the information on each error
              items:
                $ref: '#/components/schemas/ErrorsArtifactUploadError'
              minItems: 1
              type: array
          required:
            - errors
          type: object
      description: Information about occurred errors
      title: Invalid json
    ErrorsArtifactUploadError:
      additionalProperties: false
      properties:
        type:
          description: |
            A text identifier of the error class. Possible values:
            * `artifacts`— an adding of an artifact error
          enum:
            - artifacts
          example: artifacts
          type: string
        value:
          description: |
            Name of a field with an error. Possible values:
            * `file` — no file or multiple files were specified.
            * `type` — incorrect `type` value.
            * `description` — description is too long.
            * `limit_exceeded` — number of artifacts is on the limit.
            * `unknown_format` — file format is unknown
          enum:
            - file
            - type
            - description
            - limit_exceeded
            - unknown_format
          example: limit_exceeded
          type: string
      required:
        - type
        - value
      title: Artifact adding error
      type: object
    ErrorsCommonBadArgumentErrors:
      allOf:
        - $ref: '#/components/schemas/ErrorsCommonErrorRequestId'
        - properties:
            bad_argument:
              deprecated: true
              type: string
            bad_arguments:
              deprecated: true
              items:
                properties:
                  description:
                    type: string
                  name:
                    description: The field where the error occurred
                    type: string
                type: object
              type: array
            description:
              deprecated: true
              description: Error description
              type: string
            errors:
              description: Array with error data
              items:
                $ref: '#/components/schemas/ErrorsCommonBadArgumentError'
              minItems: 1
              type: array
          required:
            - errors
          type: object
      description: Information about errors that occurred
      title: Errors in Request Parameters
    ErrorsCommonBadArgumentError:
      additionalProperties: false
      properties:
        reason:
          description: Error description
          example: too_long_value
          type: string
        type:
          description: The error type textual ID
          enum:
            - bad_argument
          example: bad_argument
          type: string
        value:
          description: |
            Name of the field containing an error
          example: resume_id
          type: string
      required:
        - type
      title: Request Parameter Error
      type: object
    ErrorsBadRequestPublishResumeErrors:
      allOf:
        - $ref: '#/components/schemas/ErrorsCommonErrorRequestId'
        - properties:
            description:
              description: |
                Description of the error reason. Possible reasons:

                * Mandatory fields are empty.

                  To understand what fields are not filled in exactly, use the [resume view](#tag/Resume.-Viewing-info/operation/get-resume) method. Mandatory fields are listed in the `progress.mandatory` field.

                * Some fields have not been edited after banning by a moderator.
                * The resume is being checked by a moderator
              type: string
            errors:
              description: Array with the information on each error
              items:
                $ref: '#/components/schemas/ErrorsBadRequestPublishResumeError'
              minItems: 1
              type: array
          required:
            - errors
          type: object
      description: Information about occurred errors
      title: Resume publication errors
    ErrorsBadRequestPublishResumeError:
      additionalProperties: false
      properties:
        type:
          description: A text identifier of the error class
          enum:
            - bad_request
          example: bad_request
          type: string
      required:
        - type
      title: Resume publication error
      type: object
    ErrorsNegotiationNegotiationsBadAuthorizationErrors:
      description: Information on the occurred errors
      oneOf:
        - $ref: '#/components/schemas/ErrorsVacancyApplyForbiddenErrors'
        - $ref: '#/components/schemas/ErrorsCommonBadAuthorizationErrors'
      title: Bad authorization
    ErrorsVacancyApplyForbiddenErrors:
      allOf:
        - $ref: '#/components/schemas/ErrorsCommonErrorRequestId'
        - properties:
            bad_argument:
              deprecated: true
              enum:
                - vacancy_id
                - resume_id
              type: string
            bad_arguments:
              deprecated: true
              items:
                properties:
                  description:
                    type: string
                  name:
                    description: |
                      Field with error. 
                      Possible values:
                      * `vacancy_id` - invalid region identifier passed
                      * `resume_id` - invalid region identifier passed
                    enum:
                      - vacancy_id
                      - resume_id
                    type: string
                type: object
              type: array
            description:
              description: Error description
              example: Forbidden
              type: string
            errors:
              description: Array with the information on each error
              items:
                $ref: '#/components/schemas/ErrorsVacancyApplyForbiddenError'
              minItems: 1
              type: array
          required:
            - errors
          type: object
      description: Information on the occurred errors
      title: Errors of vacancy application
    ErrorsVacancyApplyForbiddenError:
      additionalProperties: false
      properties:
        type:
          description: The text identifier of the error class
          enum:
            - negotiations
          example: negotiations
          type: string
        value:
          description: |
            Vacancy negotiation error:
              * `invalid_vacancy` — the vacancy from the response/invitation is archived or hidden.
              * `resume_not_found` — the resume from the response/invitation is hidden, deleted, or not found.
              * `already_applied` — the system already contains response/invitation for the specified vacancy (`resume_id` + `vacancy_id` combination).
              * `test_required` — an applicant should pass a test to apply.
              * `resume_visibility_conflict` — it is impossible to apply for an anonymous vacancy with a resume of `whitelist` [type](#tag/Resume-visibility-lists/operation/get-resume-access-types).
              * `edit_forbidden` — vacancy editing is unavailable.
              * `application_denied` — a common error, additional information is not available.
              * `limit_exceeded` — the limit on the responses/invitations is exceeded.
              * `wrong_state` — the response/invitation action in this status is impossible.
              * `empty_message` — the empty message text is sent.
              * `too_long_message` — too long message text is sent.
              * `inappropriate_language_message` — the message text is sent, which contains inappropriate language.
              * `resource_policy_violation_message` — the message text is sent, which contains resource policy violation.
              * `address_not_found` — the address sent for the action does not exist or belongs to another employer.
              * `not_enough_purchased_services` — the required paid services are not available. This usually refers to [access to the resume database](https://hh.ru/price#dbaccess).
              * `in_a_row_limit` — the number of successive messages is exceeded. Wait for the partner's reply to the message.
              * `overall_limit` — messages limit exceeded.
              * `no_invitation` — negotiations are unavailable as there is no invitation in the response.
              * `message_cannot_be_empty` — negotiation message cannot be empty.
              * `disabled_by_employer` — negotiation by response is disabled by the employer.
              * `resume_deleted` — the resume that is referenced in the response is deleted or hidden.
              * `archived` — the vacancy that is referenced in the response is archived.
              * `chat_archived` — the response/invitation is archived.
              * `topic_archived` — the response/invitation is archived
              * `chat_is_not_ready` — operation temporary unavailable, awaiting for chat creation
          enum:
            - invalid_vacancy
            - resume_not_found
            - already_applied
            - test_required
            - resume_visibility_conflict
            - edit_forbidden
            - application_denied
            - limit_exceeded
            - wrong_state
            - empty_message
            - too_long_message
            - inappropriate_language_message
            - resource_policy_violation_message
            - address_not_found
            - not_enough_purchased_services
            - in_a_row_limit
            - overall_limit
            - no_invitation
            - message_cannot_be_empty
            - disabled_by_employer
            - resume_deleted
            - archived
            - chat_archived
            - topic_archived
            - chat_is_not_ready
          example: invalid_vacancy
          type: string
      required:
        - type
        - value
      title: An error of vacancy negotiation
      type: object
    ErrorsCommonBadAuthorizationErrors:
      allOf:
        - $ref: '#/components/schemas/ErrorsCommonErrorRequestId'
        - properties:
            description:
              description: Error description
              example: Forbidden
              type: string
            errors:
              description: Array with the information on each error
              items:
                $ref: '#/components/schemas/ErrorsCommonBadAuthorizationCommonAndEmployerError'
              minItems: 1
              type: array
            oauth_error:
              description: |
                Authorization errors:
                  * `token-revoked` — The token was revoked by the user, the application should [request new authorization](#tag/Employer-authorization/operation/authorize)
                  * `token-expired` — `access_token` lifetime has elapsed, you should [get a `refresh_token`](#tag/Employer-authorization/operation/authorize)
              enum:
                - token-revoked
                - token-expired
                - bad-auth-type
                - client-id-deleted
              example: token-revoked
              type: string
          required:
            - errors
          type: object
      description: Information on the occurred errors
      title: Bad authorization
    ErrorsCommonBadAuthorizationCommonAndEmployerError:
      anyOf:
        - $ref: '#/components/schemas/ErrorsCommonBadAuthorizationError'
        - $ref: '#/components/schemas/ErrorsCommonBadAuthorizationEmployerError'
        - $ref: '#/components/schemas/ErrorsCommonCaptchaError'
      title: Common error and employer authorization error
    ErrorsCommonBadAuthorizationEmployerError:
      additionalProperties: false
      properties:
        allowed_accounts:
          description: |
            List of the accounts available for this token if the Work Account in use is blocked. Applicable for the employer authorization only
          items:
            $ref: '#/components/schemas/ManagerAccount'
          minItems: 1
          type: array
        type:
          description: A text identifier of the error class
          enum:
            - forbidden
            - oauth
            - manager_extra_accounts
            - manager_accounts
            - negotiations
          example: oauth
          type: string
        value:
          description: |
            General errors:
              * `bad_authorization` — Authorization token doesn't exist or is not valid
              * `token_expired` — Access_token validity period has expired, it is necessary to [refresh the access_token](#section/Authorization/Obtaining-access-and-refresh-tokens)
              * `token_revoked` — The token is revoked by user or server, the application should [request a new authorization](https://github.com/hhru/api/blob/master/docs_eng/authorization.md)
              * `application_not_found` — Your application has been deleted
              * `used_manager_account_forbidden` — [Work Account is blocked](https://github.com/hhru/api/blob/master/docs_eng/errors.md#manager-accounts-blocked)
              * `manager_extra_account_not_found` — Incorrect Account ID in the header
              * `user_auth_expected` — Application authorization has been provided, but method requires [user authorization](#section/Authorization/User-authorization)
              * `application_auth_expected` — User authorization has been provided, but method requires [application authorization](#section/Authorization/Obtaining-application-authorization)
              * `application_auth_expected` — Employer on additional check
              * `employer_on_additional_check_restricted` — Employer on additional check
          enum:
            - bad_authorization
            - token_expired
            - token_revoked
            - application_not_found
            - manager_extra_account_not_found
            - used_manager_account_forbidden
            - user_auth_expected
            - application_auth_expected
            - employer_on_additional_check_restricted
          example: bad_authorization
          type: string
      required:
        - type
      title: Employer Error
      type: object
    ManagerAccount:
      additionalProperties: false
      description: Information about the manager's working account
      properties:
        employer:
          $ref: '#/components/schemas/ManagerAccountCompany'
        id:
          description: Manager's work account ID
          example: '12345678'
          type: string
      required:
        - id
        - employer
      title: Manager's work account
      type: object
    ManagerAccountCompany:
      additionalProperties: false
      description: Information about the company to which the manager's work account is linked
      properties:
        id:
          description: Company ID
          example: '1455'
          type: string
        name:
          description: Company name
          example: HeadHunter
          type: string
      required:
        - id
        - name
      title: Company
      type: object
    ErrorsCommonCaptchaError:
      additionalProperties: false
      properties:
        captcha_url:
          description: |
            URL of web page on which you can enter a captcha. 
            After the captcha is entered, the API request should be performed successfully. 
            Application should add in `captcha_url` the mandatory `backurl` parameter, on which the request is redirected. 
            The `backurl` parameter contains a schema, for example, `https://` or an application schema <a name="captcha_operation"></a>
          example: 'https://hh.ru/account/captcha?state=...'
          type: string
        fallback_url:
          description: URL of web page on which you can enter a captcha. Similar to the captcha_url parameter
          example: 'https://hh.ru/auth/employer?captcha=true&backurl=...'
          type: string
        type:
          description: A text identifier of the error class
          enum:
            - captcha_required
            - employer_registration_change_email
            - employer_resume_view
          example: captcha_required
          type: string
        value:
          description: |
            A captcha is required if value is `captcha_required`
          enum:
            - captcha_required
          example: captcha_required
          type: string
      required:
        - type
        - value
      title: A captcha is required
      type: object
    ErrorsCommonBadAuthorizationError:
      additionalProperties: false
      properties:
        type:
          description: A text identifier of the error class
          enum:
            - forbidden
            - oauth
          example: oauth
          type: string
        value:
          description: |
            General errors:
              * `bad_authorization` — Authorization token doesn't exist or is not valid
              * `token_expired` — Access_token validity period has expired, it is necessary to [refresh the access_token](#section/Authorization/Obtaining-access-and-refresh-tokens)
              * `token_revoked` — The token is revoked by user or server, the application should [request a new authorization](https://github.com/hhru/api/blob/master/docs_eng/authorization.md)
              * `application_not_found` — Your application has been deleted
              * `user_auth_expected` — Application authorization has been provided, but method requires [user authorization](#section/Authorization/User-authorization)
              * `application_auth_expected` — User authorization has been provided, but method requires [application authorization](#section/Authorization/Obtaining-application-authorization)
              * `hiring_manager` — User is hiring manager and has no access to this endpoint
          enum:
            - bad_authorization
            - token_expired
            - token_revoked
            - application_not_found
            - user_auth_expected
            - application_auth_expected
          example: bad_authorization
          type: string
      required:
        - type
      title: Common Error
      type: object
    EmployersEmployersList:
      properties:
        found:
          description: Number of results found
          type: integer
        items:
          description: Employers found
          items:
            $ref: '#/components/schemas/EmployersEmployerItem'
          minItems: 0
          type: array
        page:
          description: Page number
          type: integer
        pages:
          description: Total pages
          type: integer
        per_page:
          description: Results per page
          type: integer
      required:
        - items
        - found
        - page
        - pages
        - per_page
      title: Successful response
    EmployersEmployerItem:
      allOf:
        - $ref: '#/components/schemas/EmployersEmployerItemShort'
        - properties:
            open_vacancies:
              description: Number of employer's open vacancies
              type: number
          required:
            - open_vacancies
          type: object
      title: Employer
    EmployersEmployerItemShort:
      properties:
        alternate_url:
          description: Link to employer description on the website
          type: string
        id:
          description: Employer's ID
          type: string
        logo_urls:
          description: |
            Links to employer logos of different size. `original` — an unedited logo, which can be big in size. If the originally uploaded logo is smaller than 240px and/or 90px in its smaller side, the corresponding keys will have links to the original images. Object can be `null`, if the company has not uploaded its logo. The client should foresee the possibility of the logo missing in the indicated link (response with the `404 Not Found` code).  A company may not have 90 and 240 logos
          nullable: true
          oneOf:
            - $ref: '#/components/schemas/_IncludesLogoUrls'
            - $ref: '#/components/schemas/_IncludesNullableObject'
          type: object
        name:
          description: Employer's name
          type: string
        url:
          description: Link to full description of the employer
          type: string
        vacancies_url:
          description: Link for vacancy search results of this employer
          type: string
      required:
        - id
        - name
        - url
        - alternate_url
        - vacancies_url
      title: Employer
    ErrorsNegotiationEditMessageForbiddenErrors:
      anyOf:
        - $ref: '#/components/schemas/ErrorsCommonBadAuthorizationErrors'
        - $ref: '#/components/schemas/ErrorsNegotiationEditMessageErrors'
      title: Errors
    ErrorsNegotiationEditMessageErrors:
      allOf:
        - $ref: '#/components/schemas/ErrorsCommonErrorRequestId'
        - properties:
            description:
              description: Errors description
              type: string
            errors:
              description: Array with the information on each error
              items:
                $ref: '#/components/schemas/ErrorsNegotiationEditMessageError'
              minItems: 1
              type: array
          required:
            - errors
          type: object
      description: Information about occurred errors
      title: Negotiations (responses/invitations) errors
    ErrorsNegotiationEditMessageError:
      additionalProperties: false
      properties:
        description:
          description: Error description
          type: string
        type:
          description: The type of error
          enum:
            - negotiations
          example: negotiations
          type: string
        value:
          description: |
            The reason for the error:

            * `message_cannot_be_empty` — negotiation message cannot be empty.
            * `message_already_viewed` — editing the message is not allowed. The receiving party has already read the message.
            * `vacancy_not_found` — the vacancy from the response/invitation not found
            * `resume_not_found` — the CV from the response/invitation was hidden or deleted, or not found.
            * `vacancy_archived` — the vacancy referenced in the response is archived
          enum:
            - message_cannot_be_empty
            - message_already_viewed
            - vacancy_not_found
            - resume_not_found
            - vacancy_archived
            - disabled_by_employer
          example: message_already_viewed
          type: string
      required:
        - type
        - value
      title: Error
      type: object
    ErrorsEmployerBlacklistedNotFoundErrors:
      allOf:
        - $ref: '#/components/schemas/ErrorsCommonErrorRequestId'
        - properties:
            description:
              description: Errors description
              type: string
            errors:
              description: Array with the information on each error
              items:
                $ref: '#/components/schemas/ErrorsEmployerBlacklistedNotFoundError'
              minItems: 1
              type: array
          required:
            - errors
          type: object
      description: Information on the occured errors
      title: Not found
    ErrorsEmployerBlacklistedNotFoundError:
      additionalProperties: false
      properties:
        type:
          description: A text identifier of the error class
          enum:
            - employers_blacklist
          example: employers_blacklist
          type: string
        value:
          description: |
            Name of the field containing an error. Possible values:
            * `not_found` — the employer is not found
          enum:
            - not_found
          example: not_found
          type: string
      required:
        - type
        - value
      title: Error
      type: object
    ResumeStatusReadiness:
      allOf:
        - $ref: '#/components/schemas/ResumeStatus'
        - $ref: '#/components/schemas/ResumeReadiness'
      description: Information about resume status and readiness for publication
      title: Resume status and readiness
      type: object
    ResumeStatus:
      properties:
        blocked:
          description: 'Whether the resume is blocked ([more info](#tag/Resume.-Viewing-information/Resume-status))'
          type: boolean
        can_publish_or_update:
          description: Whether the resume can be published or updated
          nullable: true
          type: boolean
        finished:
          description: Whether the resume is filled out
          type: boolean
        status:
          $ref: '#/components/schemas/_IncludesIdName'
          description: |
            [Resume status](#tag/Resume.-Viewing-information/Resume-status)
      required:
        - blocked
        - finished
        - status
      title: Resume status
      type: object
    ResumeReadiness:
      properties:
        moderation_note:
          description: |
            Moderator's notes.
            In some cases, comments may be accompanied by [resume blocking](#tag/Resume.-Viewing-information/Resume-status).
            A complete list of possible comments is available in the `resume_moderation_note` field [in the field directory](#tag/Public-directories/operation/get-dictionaries)
          items:
            $ref: '#/components/schemas/ResumeObjectsModerationNote'
          type: array
        progress:
          $ref: '#/components/schemas/ResumeObjectsProgress'
        publish_url:
          description: URL for publication or updating of the resume
          type: string
      required:
        - publish_url
        - progress
        - moderation_note
      title: Resume checking
      type: object
    ResumeObjectsModerationNote:
      description: |
        Moderator notes.

        In some cases notes can be associated with the [resume ban](#tag/Resume.-Viewing-information/Resume-status).

        The full list of possible notes is available in the `resume_moderation_note` field of [directories](#tag/Public-directories/operation/get-dictionaries)
      properties:
        field:
          description: The resume field that the note is related to
          type: string
        id:
          description: Note ID
          type: string
        name:
          description: Note description
          type: string
        pointer:
          description: Path to the parameter that the note is related to
          type: string
      required:
        - id
        - name
      title: Moderation notes
      type: object
    ResumeObjectsProgress:
      description: Information about the resume completeness
      properties:
        mandatory:
          description: The list of fields that are mandatory but are not filled in
          items:
            $ref: '#/components/schemas/_IncludesIdName'
          type: array
        percentage:
          description: Percentage of resume completeness
          type: number
        recommended:
          description: The list of fields that are recommended but are not filled in
          items:
            $ref: '#/components/schemas/_IncludesIdName'
          type: array
      required:
        - percentage
        - mandatory
        - recommended
      title: Resume completeness
      type: object
    VacanciesVacanciesBlacklistedResponse:
      allOf:
        - $ref: '#/components/schemas/_IncludesPagination'
          type: object
        - $ref: '#/components/schemas/VacanciesVacanciesBlacklisted'
          type: object
      title: Hidden vacancies
      type: object
    VacanciesVacanciesBlacklisted:
      properties:
        items:
          description: Array of hidden vacancies
          items:
            $ref: '#/components/schemas/VacanciesVacanciesBlacklistedItem'
          type: array
        limit_reached:
          description: Whether the maximum number of items in the list is exceeded
          type: boolean
      title: Hidden vacancies
    VacanciesVacanciesBlacklistedItem:
      properties:
        address:
          $ref: '#/components/schemas/VacancyAddress'
        adv_response_url:
          description: URL for keeping record of apply button clicks
          type: string
        alternate_url:
          description: Link to the vacancy on site
          type: string
        apply_alternate_url:
          description: Link to the vacancy job application on site
          type: string
        archived:
          description: Whether the vacancy is archived
          type: boolean
        area:
          $ref: '#/components/schemas/_IncludesArea'
        created_at:
          description: Date and time of the vacancy publication
          type: string
        department:
          $ref: '#/components/schemas/VacancyDepartment'
        employer:
          $ref: '#/components/schemas/VacanciesEmployerPublic'
        has_test:
          description: Whether a test assignment is attached to the vacancy
          type: boolean
        id:
          description: The vacancy ID
          type: string
        insider_interview:
          $ref: '#/components/schemas/VacanciesObjectsInsiderInterview'
        name:
          $ref: '#/components/schemas/VacancyName'
        premium:
          description: Whether the vacancy is the premium one
          type: boolean
        published_at:
          description: Date and time of the vacancy publication
          type: string
        relations:
          $ref: '#/components/schemas/VacancyRelations'
        response_letter_required:
          $ref: '#/components/schemas/VacancyResponseLetterRequired'
        response_url:
          $ref: '#/components/schemas/VacancyResponseUrl'
        salary:
          $ref: '#/components/schemas/VacancySalary'
          deprecated: true
        salary_range:
          nullable: true
          oneOf:
            - $ref: '#/components/schemas/VacancySalaryRangeSalaryRangeOutput'
            - $ref: '#/components/schemas/_IncludesNullableObject'
          type: object
        show_contacts:
          $ref: '#/components/schemas/VacancyShowContactsNotNull'
        sort_point_distance:
          $ref: '#/components/schemas/VacancySortPointDistance'
        type:
          $ref: '#/components/schemas/VacancyTypeOutput'
        url:
          description: The vacancy URL
          type: string
      required:
        - id
        - premium
        - name
        - department
        - has_test
        - response_letter_required
        - area
        - salary
        - salary_range
        - type
        - published_at
        - archived
        - apply_alternate_url
        - url
        - alternate_url
        - relations
        - employer
      title: Hidden vacancy
      type: object
    VacancyAddress:
      description: Address
      nullable: true
      properties:
        id:
          description: 'Address from the [list of available employer addresses](#tag/Employer-addresses/operation/get-employer-addresses)'
          nullable: true
          type: string
        show_metro_only:
          description: Only show subway station info for the specified address
          nullable: true
          type: boolean
      title: Address
      type: object
    AuthRefreshToken:
      additionalProperties: false
      properties:
        grant_type:
          description: Token request method
          enum:
            - refresh_token
          example: refresh_token
          type: string
        refresh_token:
          description: 'Refresh token obtained previously when [getting a pair of tokens](#section/Authorization/Obtaining-access-and-refresh-tokens) or updating the pair'
          example: xuLNvUSv7FYM4MPfXDP9aJWe
          minLength: 1
          type: string
      required:
        - grant_type
        - refresh_token
      title: Parameters for Updating Refresh-Access Token Pair
      type: object
    MeChangeName:
      properties:
        first_name:
          description: First name
          example: Ivan
          minLength: 1
          type: string
        last_name:
          description: Last name
          example: Ivanov
          minLength: 1
          type: string
        middle_name:
          description: 'Middle name, field can be empty'
          example: Ivanovich
          minLength: 0
          type: string
      required:
        - last_name
        - first_name
        - middle_name
      title: Full name
      type: object
    ErrorsVacancyApplyBadRequestErrors:
      allOf:
        - $ref: '#/components/schemas/ErrorsCommonErrorRequestId'
        - properties:
            bad_argument:
              deprecated: true
              enum:
                - vacancy_id
                - resume_id
              type: string
            bad_arguments:
              deprecated: true
              items:
                properties:
                  description:
                    type: string
                  name:
                    description: |
                      Field with error. 
                      Possible values:
                      * `vacancy_id` — invalid vacancy identifier passed
                      * `resume_id` — invalid resume identifier passed
                    enum:
                      - vacancy_id
                      - resume_id
                    type: string
                type: object
              type: array
            description:
              description: Error description
              type: string
            errors:
              description: Array with the information on each error
              items:
                $ref: '#/components/schemas/ErrorsVacancyApplyBadRequestError'
              minItems: 1
              type: array
          required:
            - errors
          type: object
      description: Information on the occurred errors
      title: Errors of vacancy application
    ErrorsVacancyApplyBadRequestError:
      additionalProperties: false
      properties:
        type:
          description: The text identifier of the error class
          enum:
            - negotiations
          example: negotiations
          type: string
        value:
          description: |
            The name of the error field:

            * `vacancy_not_found` — the vacancy is not found.
            * `resume_not_found` — the resume from the response/invitation is hidden, deleted, or not found.
            * `limit_exceeded` — the limit of the responses/invitations is exceeded
            * `resource_policy_violation` — the response violates resource policy
            * `inappropriate_language` — the response contains inappropriate language
          enum:
            - vacancy_not_found
            - resume_not_found
            - limit_exceeded
            - resource_policy_violation
            - inappropriate_language
          example: vacancy_not_found
          type: string
      required:
        - type
        - value
      title: An error in the request parameter
      type: object
    NegotiationsMessagesGetResponse:
      allOf:
        - $ref: '#/components/schemas/_IncludesPagination'
        - properties:
            items:
              description: List of messages
              items:
                $ref: '#/components/schemas/NegotiationsMessagesGet'
              type: array
          type: object
      description: View the list of messages in the response
      title: List of messages
    NegotiationsMessagesGet:
      allOf:
        - $ref: '#/components/schemas/NegotiationsMessage'
        - properties:
            address:
              $ref: '#/components/schemas/VacancyAddressRawOutput'
            assessments:
              description: Assessment tools linked to the message
              items:
                $ref: '#/components/schemas/NegotiationsAssessment'
              type: array
          type: object
      description: Message in negotiation
      title: Message in negotiation
      type: object
    NegotiationsMessage:
      description: Whether the message is read
      properties:
        author:
          $ref: '#/components/schemas/NegotiationsAuthor'
        created_at:
          description: Date of the message sending
          type: string
        editable:
          description: Whether the message is editable
          type: boolean
        id:
          description: Message ID
          type: string
        read:
          description: Whether the message is read
          type: boolean
        state:
          allOf:
            - $ref: '#/components/schemas/_IncludesIdName'
          description: Message state
          type: object
        text:
          description: Message text
          nullable: true
          type: string
        viewed_by_me:
          description: Whether the applicant has viewed the message
          type: boolean
        viewed_by_opponent:
          description: Whether the employer has viewed the message
          type: boolean
      required:
        - id
        - viewed_by_me
        - viewed_by_opponent
        - editable
        - created_at
        - text
        - state
        - author
        - address
      title: Message
      type: object
    NegotiationsAuthor:
      description: Author of the message
      properties:
        participant_type:
          description: 'Participant type: `applicant` or `employer`'
          type: string
      required:
        - participant_type
      title: Author of the message
      type: object
    NegotiationsAssessment:
      allOf:
        - $ref: '#/components/schemas/_IncludesIdName'
        - properties:
            actions:
              description: Assessment tools
              items:
                $ref: '#/components/schemas/NegotiationsAction'
              type: array
          required:
            - actions
          type: object
      description: Tests and questionnaires designed to be taken by applicants
      title: Assessment tools
      type: object
    NegotiationsAction:
      description: |
        Depending on the assessment tool state, specific actions on it can be available or not
      properties:
        alternate_url:
          description: Link to a website clicking on which will initiate the action
          type: string
        disable_reason:
          description: Explanation why the action is unavailable
          type: string
        enabled:
          description: Whether the action is available
          type: boolean
        id:
          description: Action type
          type: string
        name:
          description: Action description
          type: string
      required:
        - id
        - name
        - enabled
      title: Action on the tool
      type: object
    ErrorsCommonCaptchaErrors:
      allOf:
        - $ref: '#/components/schemas/ErrorsCommonErrorRequestId'
        - properties:
            description:
              description: Error description
              example: Forbidden
              type: string
            errors:
              description: Array with the information on each error
              items:
                $ref: '#/components/schemas/ErrorsCommonCaptchaError'
              minItems: 1
              type: array
          required:
            - errors
          type: object
      description: Information on the occurred errors
      title: Bad authorization
    SuggestsPositions:
      additionalProperties: false
      description: Resume position suggestions
      properties:
        items:
          description: Info on resume positions found
          items:
            $ref: '#/components/schemas/SuggestsPositionItem'
          title: Array of resume positions found
          type: array
      required:
        - items
      title: Resume position suggestions
      type: object
    SuggestsPositionItem:
      properties:
        id:
          description: Position ID
          example: '2063'
          type: string
        professional_roles:
          description: Info on professional roles corresponding to the position
          items:
            $ref: '#/components/schemas/SuggestsProfessionalRoleItemWithName'
          minItems: 1
          title: Array of professional roles corresponding to the position
          type: array
        specializations:
          description: Info on specializations corresponding to the position
          items:
            $ref: '#/components/schemas/SuggestsSpecializationsWithName'
          minItems: 1
          title: Array of specializations corresponding to the position
          type: array
        text:
          description: Position name
          example: Personal driver
          type: string
      required:
        - id
        - text
        - professional_roles
      title: Information about the positions found
      type: object
    SuggestsProfessionalRoleItemWithName:
      properties:
        accept_incomplete_resumes:
          description: Professional role for which incomplete resume responses can be accepted
          example: true
          type: boolean
        id:
          description: Professional role ID
          example: '21'
          type: string
        name:
          description: Professional role name
          example: Driver
          type: string
      required:
        - id
        - name
        - accept_incomplete_resumes
      title: Information about found professional roles with the name
      type: object
    SuggestsSpecializationsWithName:
      properties:
        id:
          description: Specialization ID
          example: '21.17'
          type: string
        name:
          description: Specialization name
          example: Truck haulage
          type: string
        profarea_id:
          description: Professional role ID
          example: '21'
          type: string
        profarea_name:
          description: Professional role name
          example: 'Transport, logistics'
          type: string
      required:
        - id
        - name
        - profarea_id
        - profarea_name
      title: Information about found specializations with the name
      type: object
    DictionariesFacultiesResponse:
      items:
        $ref: '#/components/schemas/_IncludesIdName'
      title: List of faculties
      type: array
    VacancyDraftVacancyDraftEdit:
      allOf:
        - $ref: '#/components/schemas/VacancyDraftVacancyDraftBodyCommon'
        - $ref: '#/components/schemas/VacancyDraftVacancyDraftAnyOfCreateFieldsOrWithProperties'
      title: An object for editing a vacancy draft
    VacancyDraftVacancyDraftAnyOfCreateFieldsOrWithProperties:
      anyOf:
        - $ref: '#/components/schemas/VacancyDraftVacancyDraftTypeBillingType'
      description: Fields passed in the request to create drafts
      title: Fields passed in the request to create drafts
      type: object
    VacancyDraftVacancyDraftTypeBillingType:
      properties:
        billing_type:
          anyOf:
            - $ref: '#/components/schemas/VacancyDraftBillingType'
            - $ref: '#/components/schemas/_IncludesNullableObject'
        type:
          anyOf:
            - $ref: '#/components/schemas/VacancyDraftType'
            - $ref: '#/components/schemas/_IncludesNullableObject'
      title: Vacancy attributes
      type: object
    VacancyDraftType:
      nullable: true
      properties:
        id:
          description: 'Type from [vacancy_type directory](#tag/Public-directories/operation/get-dictionaries)'
          minLength: 1
          type: string
      title: Type
      type: object
    VacancyDraftBillingType:
      nullable: true
      properties:
        id:
          description: 'Billing type from the [vacancy_billing_type directory](#tag/Public-directories/operation/get-dictionaries)'
          type: string
      title: Billing type
      type: object
    VacancyDraftVacancyDraftBodyCommon:
      properties:
        accept_handicapped:
          anyOf:
            - $ref: '#/components/schemas/VacancyAcceptHandicapped'
            - $ref: '#/components/schemas/_IncludesNullableObject'
        accept_incomplete_resumes:
          anyOf:
            - $ref: '#/components/schemas/VacancyAcceptIncompleteResumes'
            - $ref: '#/components/schemas/_IncludesNullableObject'
        accept_kids:
          anyOf:
            - $ref: '#/components/schemas/VacancyAcceptKids'
            - $ref: '#/components/schemas/_IncludesNullableObject'
        accept_temporary:
          anyOf:
            - $ref: '#/components/schemas/VacancyAcceptTemporary'
            - $ref: '#/components/schemas/_IncludesNullableObject'
        address:
          anyOf:
            - $ref: '#/components/schemas/VacancyDraftAddress'
            - $ref: '#/components/schemas/_IncludesNullableObject'
        allow_messages:
          anyOf:
            - $ref: '#/components/schemas/VacancyAllowMessages'
            - $ref: '#/components/schemas/_IncludesNullableObject'
        area:
          anyOf:
            - $ref: '#/components/schemas/VacancyArea'
            - $ref: '#/components/schemas/_IncludesNullableObject'
          deprecated: true
        areas:
          anyOf:
            - $ref: '#/components/schemas/VacancyDraftAreas'
            - $ref: '#/components/schemas/_IncludesNullableObject'
          description: Maximum 50 elements
        assigned_manager_id:
          $ref: '#/components/schemas/VacancyDraftAssignedManagerId'
        branded_template:
          anyOf:
            - $ref: '#/components/schemas/VacancyDraftBrandedTemplate'
            - $ref: '#/components/schemas/_IncludesNullableObject'
        code:
          anyOf:
            - $ref: '#/components/schemas/VacancyDraftCode'
            - $ref: '#/components/schemas/_IncludesNullableObject'
        contacts:
          anyOf:
            - $ref: '#/components/schemas/VacancyDraftContacts'
            - $ref: '#/components/schemas/_IncludesNullableObject'
        custom_employer_name:
          anyOf:
            - $ref: '#/components/schemas/VacancyCustomEmployerName'
            - $ref: '#/components/schemas/_IncludesNullableObject'
        department:
          anyOf:
            - $ref: '#/components/schemas/VacancyDepartment'
            - $ref: '#/components/schemas/_IncludesNullableObject'
        description:
          anyOf:
            - $ref: '#/components/schemas/VacancyDraftDescription'
            - $ref: '#/components/schemas/_IncludesNullableObject'
        driver_license_types:
          anyOf:
            - $ref: '#/components/schemas/VacancyDriverLicenseTypes'
            - $ref: '#/components/schemas/_IncludesNullableObject'
        employment:
          anyOf:
            - $ref: '#/components/schemas/VacancyDraftEmployment'
            - $ref: '#/components/schemas/_IncludesNullableObject'
          deprecated: true
        employment_form:
          anyOf:
            - $ref: '#/components/schemas/VacancyEmploymentForm'
            - $ref: '#/components/schemas/_IncludesNullableObject'
        experience:
          anyOf:
            - $ref: '#/components/schemas/VacancyExperience'
            - $ref: '#/components/schemas/_IncludesNullableObject'
        fly_in_fly_out_duration:
          anyOf:
            - $ref: '#/components/schemas/VacancyFlyInFlyOutDurationFlyInFlyOutDuration'
            - $ref: '#/components/schemas/_IncludesNullableObject'
          default:
            - id: DAYS_30
          description: Список вариантов длительности вахты (в ближайшие полгода станет обязательным полем!)
        internship:
          anyOf:
            - $ref: '#/components/schemas/VacancyInternship'
            - $ref: '#/components/schemas/_IncludesNullableObject'
        key_skills:
          anyOf:
            - $ref: '#/components/schemas/VacancyDraftKeySkills'
            - $ref: '#/components/schemas/_IncludesNullableObject'
        languages:
          anyOf:
            - $ref: '#/components/schemas/VacancyLanguages'
            - $ref: '#/components/schemas/_IncludesNullableObject'
        name:
          anyOf:
            - $ref: '#/components/schemas/VacancyDraftName'
            - $ref: '#/components/schemas/_IncludesNullableObject'
        night_shifts:
          anyOf:
            - $ref: '#/components/schemas/VacancyNightShifts'
            - $ref: '#/components/schemas/_IncludesNullableObject'
        professional_roles:
          anyOf:
            - $ref: '#/components/schemas/VacancyDraftProfessionalRoles'
            - $ref: '#/components/schemas/_IncludesNullableObject'
        response_letter_required:
          anyOf:
            - $ref: '#/components/schemas/VacancyResponseLetterRequired'
            - $ref: '#/components/schemas/_IncludesNullableObject'
        response_notifications:
          anyOf:
            - $ref: '#/components/schemas/VacancyResponseNotifications'
            - $ref: '#/components/schemas/_IncludesNullableObject'
        response_url:
          anyOf:
            - $ref: '#/components/schemas/VacancyDraftResponseUrl'
            - $ref: '#/components/schemas/_IncludesNullableObject'
        salary:
          anyOf:
            - $ref: '#/components/schemas/VacancySalary'
            - $ref: '#/components/schemas/_IncludesNullableObject'
          deprecated: true
        salary_range:
          anyOf:
            - $ref: '#/components/schemas/VacancySalaryRangeSalaryRange'
            - $ref: '#/components/schemas/_IncludesNullableObject'
        schedule:
          anyOf:
            - $ref: '#/components/schemas/VacancySchedule'
            - $ref: '#/components/schemas/_IncludesNullableObject'
          deprecated: true
        scheduled_at:
          nullable: true
          oneOf:
            - $ref: '#/components/schemas/VacancyDraftScheduledAt'
            - $ref: '#/components/schemas/_IncludesNullableObject'
          type: string
        test:
          anyOf:
            - $ref: '#/components/schemas/VacancyDraftTest'
            - $ref: '#/components/schemas/_IncludesNullableObject'
        with_zp:
          anyOf:
            - $ref: '#/components/schemas/VacancyDraftWithZp'
            - $ref: '#/components/schemas/_IncludesNullableObject'
        work_format:
          anyOf:
            - $ref: '#/components/schemas/VacancyWorkFormatWorkFormat'
            - $ref: '#/components/schemas/_IncludesNullableObject'
        work_schedule_by_days:
          anyOf:
            - $ref: '#/components/schemas/VacancyWorkScheduleByDaysWorkScheduleByDays'
            - $ref: '#/components/schemas/_IncludesNullableObject'
        working_days:
          anyOf:
            - $ref: '#/components/schemas/VacancyWorkingDays'
            - $ref: '#/components/schemas/_IncludesNullableObject'
          deprecated: true
        working_hours:
          anyOf:
            - $ref: '#/components/schemas/VacancyWorkingHoursWorkingHours'
            - $ref: '#/components/schemas/_IncludesNullableObject'
        working_time_intervals:
          anyOf:
            - $ref: '#/components/schemas/VacancyWorkingTimeIntervals'
            - $ref: '#/components/schemas/_IncludesNullableObject'
          deprecated: true
        working_time_modes:
          anyOf:
            - $ref: '#/components/schemas/VacancyWorkingTimeModes'
            - $ref: '#/components/schemas/_IncludesNullableObject'
          deprecated: true
      title: Vacancy draft object
      type: object
    VacancyArea:
      properties:
        id:
          description: 'City of posting from [directory](#tag/Public-directories/operation/get-areas)'
          example: '1625'
          pattern: ^\d+$
          type: string
      required:
        - id
      title: Area
      type: object
    VacancyDraftEmployment:
      nullable: true
      properties:
        id:
          description: 'Type of employment from [employment directory](#tag/Public-directories/operation/get-dictionaries). By default or as a result of an error, the field is set to `full`'
          nullable: true
          type: string
      title: Type of employment
      type: object
    VacancyDraftResponseUrl:
      description: Application URL for direct vacancies (`type.id=direct`)
      minLength: 1
      nullable: true
      title: URL
      type: string
    VacancyFlyInFlyOutDurationFlyInFlyOutDuration:
      description: List of fly in fly out duration options (in the next six months it will become a required field!)
      items:
        $ref: '#/components/schemas/VacancyFlyInFlyOutDurationFlyInFlyOutDurationItem'
      nullable: true
      title: Fly in fly out duration
      type: array
    VacancyDriverLicenseTypes:
      description: List of required driver's license categories
      items:
        $ref: '#/components/schemas/VacancyDriverLicenceTypeItem'
      title: Driver's license category
      type: array
    VacancyDriverLicenceTypeItem:
      properties:
        id:
          description: 'Driver''s license category. item of the [driver_license_types](#tag/Public-directories/operation/get-dictionaries) dictionary'
          type: string
      title: Driver's License Category
      type: object
    VacancyCustomEmployerName:
      description: 'Company name for an anonymous vacancy (`type.id=anonymous`), e.g. "large Russian bank". Field will be required if you choose anonymous type of vacancy'
      nullable: true
      title: Company name
      type: string
    VacancyDraftBrandedTemplate:
      description: |
        One of the available [branded employer vacancy template](#tag/Employer-info/operation/get-vacancy-branded-templates-list), or `null` if not used by the company
      properties:
        id:
          description: 'Branded vacancy template ID of the available [branded employer vacancy template](#tag/Employer-info/operation/get-vacancy-branded-templates-list)'
          type: string
      required:
        - id
      title: Branded template
      type: object
    VacancyDraftWithZp:
      description: More people will see your job posting. We will place it additionally on Zarplata.ru
      title: Job posting on Zarplata.ru
      type: boolean
    VacancyDraftScheduledAt:
      description: 'Time of scheduled publication of the vacancy (in [ISO 8601](http://en.wikipedia.org/wiki/ISO_8601) format, accurate to the second: `YYYY-MM-DDThh:mm:ss±hhmm`'
      pattern: '^\d{4}-[01]\d-[0-3]\dT[0-2]\d:[0-5]\d:[0-5]\d(?:\.\d+)?((\+|-)[0-1][0-9]{3})?$'
      title: Time of scheduled publication
      type: string
    VacancyDraftAddress:
      description: Address
      nullable: true
      properties:
        id:
          description: 'Address from [list of employer''s available addresses](#tag/Employer-addresses/operation/get-employer-addresses)'
          nullable: true
          pattern: ^\d+$
          type: string
        show_metro_only:
          description: Show only the metro station for this Address
          nullable: true
          type: boolean
      title: Address
      type: object
    VacancyWorkingTimeModes:
      deprecated: true
      description: List of working time modes
      items:
        $ref: '#/components/schemas/VacancyWorkingTimeModeItem'
      nullable: true
      title: Time modes
      type: array
    VacancyAllowMessages:
      description: 'Exchanging [messages with job seekers](https://inboxemp.hh.ru/) regarding this vacancy'
      title: Message permission
      type: boolean
    VacancyAcceptKids:
      description: 'Indication that the position is available to applicants 14 years of age or older [details](https://github.com/hhru/api/blob/master/docs_eng/employer_vacancies_accept_kids.md#accept-kids)'
      title: Applicant from 14 years old
      type: boolean
    VacancyWorkScheduleByDaysWorkScheduleByDays:
      description: List of work schedules by days
      items:
        $ref: '#/components/schemas/VacancyWorkScheduleByDaysWorkScheduleByDaysItem'
      nullable: true
      title: Work schedule by days
      type: array
    VacancyDraftProfessionalRoles:
      description: List of professional roles
      items:
        $ref: '#/components/schemas/VacancyDraftProfessionalRoleItem'
      nullable: true
      title: Professional Roles
      type: array
    VacancyDraftProfessionalRoleItem:
      properties:
        id:
          description: 'Professional role ID. Element of the [professional_roles](#tag/Public-directories/operation/get-professional-roles-dictionary)'
          pattern: ^\d+$
          type: string
      title: Professional role object
      type: object
    VacancySalaryRangeSalaryRange:
      description: Salary
      properties:
        currency:
          description: 'Currency code from the [currency dictionaries](#tag/Public-directories/operation/get-dictionaries)'
          type: string
        frequency:
          nullable: true
          oneOf:
            - $ref: '#/components/schemas/VacancySalaryRangeSalaryRangeFrequency'
            - $ref: '#/components/schemas/_IncludesNullableObject'
          type: object
        from:
          description: Lower earnings limit
          nullable: true
          type: integer
        gross:
          description: An indication that the salary limits are specified before deduction of taxes
          type: boolean
        mode:
          $ref: '#/components/schemas/VacancySalaryRangeSalaryRangeMode'
        to:
          description: Upper salary limit
          nullable: true
          type: integer
      required:
        - currency
        - mode
        - gross
      title: Salary
      type: object
    VacancyDraftKeySkills:
      description: 'List of key skills, max. 30'
      items:
        $ref: '#/components/schemas/VacancyDraftKeySkillItem'
      nullable: true
      title: Key skills
      type: array
    VacancyDraftKeySkillItem:
      nullable: true
      properties:
        name:
          description: Name of key skill (100 characters maximum)
          minLength: 1
          type: string
      title: Key skills object
      type: object
    VacancyDraftTest:
      description: 'Object - [test](#tag/Employer-directories/operation/get-tests-dictionary) for the vacancy'
      nullable: true
      properties:
        id:
          description: The test that will be added to the vacancy
          nullable: true
          pattern: ^\d+$
          type: string
        required:
          description: The flag of the mandatory test when applying for the vacancy
          nullable: true
          type: boolean
      title: Test
      type: object
    VacancyAcceptHandicapped:
      description: An indication that the position is available to applicants with disabilities
      title: Applicant with a disability
      type: boolean
    VacancyWorkingDays:
      deprecated: true
      description: List of work days
      items:
        $ref: '#/components/schemas/VacancyWorkingDayItem'
      nullable: true
      title: List of work days
      type: array
    VacancyDraftContacts:
      description: Contact info
      nullable: true
      properties:
        email:
          description: Email
          nullable: true
          type: string
        name:
          description: Manager's name
          nullable: true
          type: string
        phones:
          description: List of contact phone numbers
          items:
            $ref: '#/components/schemas/VacancyDraftPhoneItem'
          nullable: true
          type: array
      title: Contacts
      type: object
    VacancyDraftPhoneItem:
      oneOf:
        - $ref: '#/components/schemas/VacancyDraftPhone'
        - $ref: '#/components/schemas/VacancyDraftPhoneFormatted'
      title: An object for the phone for communications
    VacancyDraftPhoneFormatted:
      properties:
        comment:
          description: Comment (preferred time for calling this number)
          nullable: true
          type: string
        formatted:
          description: Full phone number
          pattern: ^\d+$
          type: string
      required:
        - formatted
      title: Formatted phone number
      type: object
    VacancyDraftPhone:
      properties:
        city:
          description: City code
          pattern: ^\d+$
          type: string
        comment:
          description: Comment (preferred time for calling this number)
          nullable: true
          type: string
        country:
          description: Country code
          pattern: ^\d+$
          type: string
        number:
          description: Subscriber part of the phone number
          pattern: ^\d+$
          type: string
      required:
        - country
        - city
        - number
      title: Phone for the vacancy draft
      type: object
    VacancyDraftName:
      description: Vacancy name
      minLength: 1
      nullable: true
      title: Name
      type: string
    VacancyWorkingHoursWorkingHours:
      description: List of options for working hours per day
      items:
        $ref: '#/components/schemas/VacancyWorkingHoursWorkingHoursItem'
      nullable: true
      title: Working hours per day
      type: array
    VacancyDraftDescription:
      description: 'Description in HTML, at least 1 character. For a successful publication of the vacancy at least 200 characters are required'
      minLength: 1
      nullable: true
      title: Description
      type: string
    VacancyWorkFormatWorkFormat:
      description: List of work formats
      items:
        $ref: '#/components/schemas/VacancyWorkFormatWorkFormatItem'
      nullable: true
      title: The format of the work
      type: array
    VacancyDraftAssignedManagerId:
      description: ID of the working account of the manager to whom the vacancy will go after publication
      nullable: true
      title: Manager to whom the vacancy will go after publication
      type: string
    VacancyDraftCode:
      description: Internal vacancy code
      minLength: 1
      nullable: true
      title: Vacancy code
      type: string
    VacancyWorkingTimeIntervals:
      deprecated: true
      description: List of work time periods
      items:
        $ref: '#/components/schemas/VacancyWorkingTimeIntervalItem'
      nullable: true
      title: Time periods
      type: array
    VacancyDraftAreas:
      description: Areas list
      items:
        $ref: '#/components/schemas/VacancyArea'
      nullable: true
      title: Vacancy regions
      type: array
    VacancyLanguages:
      description: Array of vacancy languages
      items:
        $ref: '#/components/schemas/VacancyLanguage'
      title: Vacancy languages
      type: array
    VacancyLanguage:
      nullable: true
      properties:
        id:
          description: 'Language ID from [/languages](#tag/Public-directories/operation/get-languages)'
          type: string
        level:
          properties:
            id:
              description: 'Language proficiency. Field `language_level` can be found in the [/dictionaries](#tag/Public-directories/operation/get-dictionaries)'
              type: string
          required:
            - id
          type: object
      required:
        - id
        - level
      title: Language object
      type: object
    VacancyResponseNotifications:
      description: Whether to notify manager about new responses
      title: New responses
      type: boolean
    EmployersEmployersBlacklistedResponse:
      allOf:
        - $ref: '#/components/schemas/_IncludesPagination'
          type: object
        - $ref: '#/components/schemas/EmployersEmployersBlacklisted'
          type: object
      title: Hidden employers
      type: object
    EmployersEmployersBlacklisted:
      properties:
        items:
          description: Array of hidden employers
          items:
            $ref: '#/components/schemas/EmployersEmployersBlacklistedItem'
          type: array
        limit_reached:
          description: Whether the maximum number of items in the list is exceeded
          type: boolean
      title: Blacklist of employers
    EmployersEmployersBlacklistedItem:
      properties:
        alternate_url:
          description: Link to the employer description on the website
          nullable: true
          type: string
        id:
          description: Company ID
          nullable: true
          type: string
        logo_urls:
          description: Links to the employer's logos of different size
          nullable: true
          oneOf:
            - $ref: '#/components/schemas/_IncludesLogoUrls'
            - $ref: '#/components/schemas/_IncludesNullableObject'
          type: object
        name:
          description: Company name
          type: string
        open_vacancies:
          description: Number of employer's opened vacancies
          type: number
        url:
          description: URL for making GET request to get info on the employer
          nullable: true
          type: string
        vacancies_url:
          description: Link for vacancy search results of this employer
          nullable: true
          type: string
      required:
        - name
        - open_vacancies
      title: Info on blacklisted employer
      type: object
    MailTemplatesMailTemplates:
      items:
        $ref: '#/components/schemas/MailTemplatesMailTemplate'
      title: List of available templates for response to an applicant
      type: array
    MailTemplatesMailTemplate:
      properties:
        employer_state:
          description: Corresponding employer state for this template; may be empty if the template is not related to any employer states
          type: string
        id:
          description: Template ID
          type: string
        name:
          description: Template name
          type: string
        template_modified:
          description: Whether this template has been modified by employer or it is a template provided by HeadHunter
          type: boolean
        text:
          description: Template text
          type: string
        type:
          description: Delivery method for the message that is generated via template
          enum:
            - SMS
            - EMAIL
          type: string
        variables:
          description: Variables that can be inserted in the template
          items:
            $ref: '#/components/schemas/_IncludesIdName'
          type: array
      required:
        - id
        - name
        - text
        - variables
        - type
        - template_modified
      title: Template for response to an applicant
    SuggestsSearchKeyword:
      additionalProperties: false
      description: Suggestions for search key words
      properties:
        items:
          items:
            $ref: '#/components/schemas/SuggestsSearchKeywordItem'
          title: Array of key words
          type: array
      required:
        - items
      title: Suggestions for search key words
      type: object
    SuggestsSearchKeywordItem:
      properties:
        text:
          description: Key word
          type: string
      required:
        - text
      title: Key word
      type: object
    EmployerManagersEmployerManagerId:
      properties:
        id:
          description: Manager's ID
          type: string
      required:
        - id
      title: Manager's ID
    ErrorsVacancyAddEditCombinedBadJsonDataErrors:
      anyOf:
        - $ref: '#/components/schemas/ErrorsCommonBadJsonDataErrors'
        - $ref: '#/components/schemas/ErrorsVacancyAddEditBadJsonDataErrors'
      title: Errors
    ErrorsVacancyAddEditBadJsonDataErrors:
      allOf:
        - $ref: '#/components/schemas/ErrorsCommonErrorRequestId'
        - properties:
            errors:
              description: Array with the information on each error
              items:
                $ref: '#/components/schemas/ErrorsVacancyAddEditBadJsonDataError'
              minItems: 1
              type: array
          required:
            - errors
          type: object
      description: Information about occurred errors
      title: Invalid json
    ErrorsVacancyAddEditBadJsonDataError:
      properties:
        description:
          description: Error description
          example: Wrong value
          nullable: true
          type: string
        pointer:
          description: |
            Path to a parameter that has an error.

            The JsonPointer format [RFC 6901](https://tools.ietf.org/html/rfc6901) is used for the specification
          example: /contacts/phones/1/number
          type: string
        reason:
          description: |
            Error reason. Possible values:
              * `required` - missing field in the request
              * `invalid` - invalid value in request field
              * `is_empty` — an empty value
              * `wrong_size` — wrong value size
              * `is_too_short` — the value size is too small
              * `is_too_long` — the value size is too big
              * `currency_code_is_invalid` — the salary currency is incorrect
              * `chosen_area_is_not_a_leaf_or_not_exist` — the vacancy location is incorrect or is not the final region (city, town)
              * `email_in_description` — the vacancy description contains an email
              * `fly_in_fly_out_pay_for_performance` — this is a vacancy with payment for performance — only the "fly in fly out" employment form is available for such vacancies
              * `fly_in_fly_out_incompatible_employment_form` — the fly-in fly-out duration is supported only when employment form is "fly in fly out"
              * `anonymous_vacancy_contains_address` — an anonymous vacancy should not contain the employer's address
              * `anonymous_vacancy_has_real_company_name` — the vacancy title should not contain the employer's company name
              * `only_for_anonymous_type` — this action is only available for anonymous vacancies
              * `address_is_disabled` — address is unavailable
              * `vacancy_type_employer_billing_type_mismatch` — the vacancy type is incompatible with current billing type
              * `only_for_direct_type` — this action is only available for direct vacancies
              * `address_is_empty_with_checked_show_metro_flag` — empty address was entered together with an indication to show the metro station
              * `address_has_no_metro_but_checked_show_metro_flag` — a metro station is not available at the entered address, but the option to show the metro station is selected
              * `default_vacancy_branded_template_is_invalid_or_not_enough_purchased_services` — branded vacancy template is entered incorrectly, or you have not paid for the service allowing you to use a [branded vacancy template](https://hh.ru/price/branding)
              * `department_code_prohibited_in_anonymous_vacancy` — you cannot specify a department code for an anonymous vacancy
              * `branded_template_prohibited_in_anonymous_vacancy` — you cannot use a branded template for an anonymous vacancy
              * `value_conflict_with_business_rules` — you cannot use specified `billing_type`
              * `can_not_edit_vacancy_after_moderation` — you cannot edit vacancy name after moderation
              * `employment_form_uncompatible_with_internship` — employment type is incompatible with shift work and internship employment type
              * `employment_form_uncompatible_with_work_format` — type of employment is incompatible with the specified work format
              * `properties_existence` — property does not exist
          enum:
            - required
            - invalid
            - is_empty
            - wrong_size
            - is_too_short
            - is_too_long
            - currency_code_is_invalid
            - chosen_area_is_not_a_leaf_or_not_exist
            - email_in_description
            - fly_in_fly_out_pay_for_performance
            - fly_in_fly_out_incompatible_employment_form
            - anonymous_vacancy_contains_address
            - anonymous_vacancy_has_real_company_name
            - only_for_anonymous_type
            - address_is_disabled
            - vacancy_type_employer_billing_type_mismatch
            - only_for_direct_type
            - address_is_empty_with_checked_show_metro_flag
            - address_has_no_metro_but_checked_show_metro_flag
            - default_vacancy_branded_template_is_invalid_or_not_enough_purchased_services
            - department_code_prohibited_in_anonymous_vacancy
            - branded_template_prohibited_in_anonymous_vacancy
            - value_conflict_with_business_rules
            - can_not_accept_kids
            - can_not_edit_vacancy_after_moderation
            - employment_form_uncompatible_with_internship
            - employment_form_uncompatible_with_work_format
            - properties_existence
          example: is_empty
          type: string
        type:
          description: A text identifier of the error class
          enum:
            - bad_json_data
            - vacancies
          example: bad_json_data
          type: string
        value:
          description: Name of field with an error
          example: salary
          type: string
      required:
        - type
      title: Vacancy posting and editing error
      type: object
    ErrorsCommonBadJsonDataErrors:
      allOf:
        - $ref: '#/components/schemas/ErrorsCommonErrorRequestId'
        - properties:
            bad_argument:
              deprecated: true
              type: string
            bad_arguments:
              deprecated: true
              items:
                properties:
                  description:
                    type: string
                  name:
                    description: The field where the error occurred
                    type: string
                type: object
              type: array
            description:
              deprecated: true
              description: Error description
              type: string
            errors:
              description: Array with the information on each error
              items:
                anyOf:
                  - $ref: '#/components/schemas/ErrorsCommonBadJsonDataError'
              minItems: 1
              type: array
          required:
            - errors
          type: object
      description: Information about occurred errors
      title: Invalid json
    ErrorsCommonBadJsonDataError:
      properties:
        description:
          description: An error description
          example: Unexpected value
          nullable: true
          type: string
        pointer:
          description: |
            Path to a parameter that has an error.

            The JsonPointer format [RFC 6901](https://tools.ietf.org/html/rfc6901) is used for the specification
          example: /contacts/phones/1/number
          type: string
        reason:
          description: |
            Reasons for an error. Possible values:
              * `required` — absent required field;
              * `invalid` — value is not correct;
              * `size_less_than_min` — empty array
              * `unexpected` — the value is not expected;
              * `greater_than_max` — the value is greater than allowed;
              * `deprecated` — the value is obsolete and no longer used
          enum:
            - required
            - invalid
            - size_less_than_min
            - greater_than_max
            - unexpected
            - deprecated
          example: required
          type: string
        type:
          description: A text identifier of the error class
          enum:
            - bad_json_data
          example: bad_json_data
          type: string
        value:
          description: Name of field with an error
          example: employer_id
          type: string
      required:
        - type
      title: Common error
      type: object
    EmployerManagersAddEmployerManager:
      properties:
        additional_phone:
          allOf:
            - $ref: '#/components/schemas/EmployerManagersPhone'
            - type: object
          description: Additional manager's phone
        area:
          $ref: '#/components/schemas/EmployerManagersAreaId'
        email:
          description: Manager's email
          type: string
        first_name:
          description: Manager's first name
          type: string
        is_main_contact_person:
          description: If manager is the main contact person then `true`
          type: boolean
        last_name:
          description: Manager's last name
          type: string
        manager_type:
          $ref: '#/components/schemas/EmployerManagersManagerTypeId'
        middle_name:
          description: Manager's middle name
          type: string
        permissions:
          description: 'List of [manager''s privileges](#tag/Employer-managers/operation/get-employer-manager-types)'
          items:
            $ref: '#/components/schemas/EmployerManagersPermissions'
          type: array
        phone:
          allOf:
            - $ref: '#/components/schemas/EmployerManagersPhone'
            - type: object
          description: Manager's phone
        position:
          description: Manager's position
          type: string
      required:
        - manager_type
        - email
        - position
        - first_name
        - last_name
        - is_main_contact_person
        - phone
        - area
      title: Info on a new manager
    EmployerManagersPermissions:
      properties:
        id:
          description: Permission ID
          type: string
      required:
        - id
      title: Permissions
    EmployerManagersPhone:
      properties:
        city:
          description: City code
          type: string
        comment:
          description: Comment
          nullable: true
          type: string
        country:
          description: Country code
          type: string
        formatted:
          description: Formatted number
          type: string
        number:
          description: Number
          type: string
      required:
        - country
        - city
        - number
      title: Phone
    EmployerManagersAreaId:
      properties:
        id:
          description: 'Area ID from [directory](#tag/Public-directories/operation/get-areas)'
          type: string
      required:
        - id
      title: Area
    EmployerManagersManagerTypeId:
      properties:
        id:
          description: 'Manager''s [type ID](#tag/Employer-managers/operation/get-employer-manager-types)'
          type: string
      required:
        - id
      title: Manager's type
    WebhookSendObjectBaseUser:
      properties:
        action_type:
          description: Action type
          type: string
        id:
          description: Message ID
          type: string
        payload:
          oneOf:
            - $ref: '#/components/schemas/WebhookPayloadNewNegotiationVacancy'
            - $ref: '#/components/schemas/WebhookPayloadNewResponseOrInvitationVacancy'
            - $ref: '#/components/schemas/WebhookPayloadVacancyArchivation'
            - $ref: '#/components/schemas/WebhookPayloadVacancyPublicationForVacancyManager'
            - $ref: '#/components/schemas/WebhookPayloadVacancyProlongation'
            - $ref: '#/components/schemas/WebhookPayloadVacancyChange'
            - $ref: '#/components/schemas/WebhookPayloadNegotiationEmployerStateChange'
        subscription_id:
          description: Subscription ID
          type: string
        user_id:
          description: User ID
          type: string
      required:
        - id
        - subscription_id
        - action_type
        - user_id
        - payload
      title: Reporting an event on the manager level
      type: object
    WebhookPayloadNegotiationEmployerStateChange:
      description: |
        It contains info about author and his changes of topic status
      properties:
        employer_manager_id:
          description: ID of the manager who made the pass
          type: string
        from_state:
          description: From what status was it passed
          type: string
        resume_id:
          description: Resume ID
          type: string
        to_state:
          description: What status was passed to
          type: string
        topic_id:
          description: Topic ID
          type: string
        transferred_at:
          description: Time of the moving to the new stage
          type: string
        vacancy_id:
          description: Vacancy ID
          type: string
      required:
        - topic_id
        - vacancy_id
        - from_state
        - to_state
        - employer_manager_id
        - resume_id
        - transferred_at
      title: NEGOTIATION_EMPLOYER_STATE_CHANGE
      type: object
    WebhookPayloadVacancyArchivation:
      description: Vacancy archiving
      properties:
        archivation_date:
          description: 'Date of archiving in [ISO 8601](http://en.wikipedia.org/wiki/ISO_8601): `YYYY-MM-DDThh:mm:ss±hhmm`'
          type: string
        vacancy_id:
          description: Vacancy ID
          nullable: true
          type: string
      required:
        - vacancy_id
        - archivation_date
      title: VACANCY_ARCHIVATION
      type: object
    WebhookPayloadVacancyChange:
      description: Vacancy change
      properties:
        change_date:
          description: 'Date of the vacancy change in [ISO 8601](http://en.wikipedia.org/wiki/ISO_8601) format accurate to the second: `YYYY-MM-DDThh:mm:ss±hhmm`'
          type: string
        vacancy_id:
          description: Vacancy ID
          type: string
      required:
        - vacancy_id
        - change_date
      title: VACANCY_CHANGE
      type: object
    WebhookPayloadNewResponseOrInvitationVacancy:
      description: 'New application or invitation to vacancies (unlike the NEW_NEGOTIATION_VACANCY, this event will be triggered by both a response from the applicant and an invitation from the employer)'
      properties:
        employer_id:
          description: Employer ID
          type: string
        response_date:
          description: 'Date of response or invitation in [ISO 8601](http://en.wikipedia.org/wiki/ISO_8601) format, accurate to the second: `YYYY-MM-DDThh:mm:ss±hhmm`'
          type: string
        resume_id:
          description: CV ID
          nullable: true
          type: string
        topic_id:
          description: Topic ID
          type: string
        vacancy_id:
          description: Vacancy ID
          nullable: true
          type: string
      required:
        - topic_id
        - resume_id
        - vacancy_id
        - employer_id
        - response_date
      title: NEW_RESPONSE_OR_INVITATION_VACANCY
      type: object
    WebhookPayloadVacancyPublicationForVacancyManager:
      properties:
        creation_date:
          description: 'Date of the vacancy creation in [ISO 8601](http://en.wikipedia.org/wiki/ISO_8601) format accurate to the second: `YYYY-MM-DDThh:mm:ss±hhmm'
          type: string
        employer_manager_id:
          description: Vacancy moderator ID
          type: string
        vacancy_id:
          description: Vacancy ID
          type: string
      required:
        - vacancy_id
        - employer_manager_id
        - creation_date
      title: VACANCY_PUBLICATION_FOR_VACANCY_MANAGER
      type: object
    WebhookPayloadVacancyProlongation:
      description: Vacancy prolongation
      properties:
        prolongation_date:
          description: 'Vacancy prolongation date in [ISO 8601](http://en.wikipedia.org/wiki/ISO_8601) format accurate to the second: `YYYY-MM-DDThh:mm:ss±hhmm`'
          type: string
        vacancy_id:
          description: Vacancy ID
          type: string
      required:
        - vacancy_id
        - prolongation_date
      title: VACANCY_PROLONGATION
      type: object
    WebhookPayloadNewNegotiationVacancy:
      description: New vacancy response
      properties:
        employer_id:
          description: Employer ID
          type: string
        negotiation_date:
          description: 'Negotiation date in [ISO 8601](http://en.wikipedia.org/wiki/ISO_8601): `YYYY-MM-DDThh:mm:ss±hhmm'
        resume_id:
          description: CV ID
          nullable: true
          type: string
        topic_id:
          description: Topic ID
          type: string
        vacancy_id:
          description: Vacancy ID
          nullable: true
          type: string
      required:
        - topic_id
        - resume_id
        - vacancy_id
        - employer_id
        - negotiation_date
      title: NEW_NEGOTIATION_VACANCY
      type: object
    MeSetInSearch:
      properties:
        is_in_search:
          description: Flag 'Looking for a job'. Allowed values - `true`/`false`
          example: 'true'
          type: string
      required:
        - is_in_search
      title: Flag 'Looking for a job'
      type: object
    ErrorsVacancyErrors:
      allOf:
        - $ref: '#/components/schemas/ErrorsCommonErrorRequestId'
        - properties:
            errors:
              description: Array with the information on each error
              items:
                $ref: '#/components/schemas/ErrorsVacancyError'
              minItems: 1
              type: array
          required:
            - errors
          type: object
      description: Information about occurred errors
      title: Errors
    ErrorsVacancyError:
      additionalProperties: false
      properties:
        found:
          description: Number of vacancy duplicates found
          type: number
        items:
          description: Array of IDs of duplicate vacancies
          items:
            nullable: false
            properties:
              id:
                description: Vacancy ID
                example: 78789890
                type: number
            required:
              - id
            type: object
          minItems: 1
          type: array
        reason:
          description: An error cause
          example: is_empty
          type: string
        type:
          description: An error type
          example: bad_json_data
          type: string
        value:
          description: Name of field with an error
          example: specializations
          type: string
      required:
        - type
        - value
      title: Error
      type: object
    WebhookBadDataError:
      description: Request parameters error
      oneOf:
        - $ref: '#/components/schemas/ErrorsCommonBadJsonDataErrors'
        - $ref: '#/components/schemas/WebhookErrors'
      title: Request parameters error
    WebhookErrors:
      allOf:
        - $ref: '#/components/schemas/ErrorsCommonErrorRequestId'
        - properties:
            errors:
              description: An array with error data
              items:
                $ref: '#/components/schemas/WebhookError'
              minItems: 1
              type: array
          required:
            - errors
          type: object
      description: Information about occurred errors
      title: Business errors
    WebhookError:
      additionalProperties: false
      properties:
        type:
          description: Text identifier of the error type
          example: notifications
          type: string
        value:
          description: |
            Error description:
              * already_exist - The current user/company is already subscribed to this application (including a resume subscription)
          enum:
            - already_exist
          example: already_exist
          type: string
      required:
        - type
        - value
      title: Error
      type: object
    VacanciesPreferredNegotiationsOrder:
      properties:
        order_type:
          allOf:
            - $ref: '#/components/schemas/_IncludesIdName'
          description: Sorting type
      required:
        - order_type
      title: Preferred sorting method for responses
      type: object
    ResumeProfileResumeProfileUpdateRequestBody:
      description: Обновление резюме и профиля и получение в ответ схемы с полями резюме-профиля
      properties:
        additional_properties:
          $ref: '#/components/schemas/ResumeProfileAdditionalProperties'
        creds:
          $ref: '#/components/schemas/CredsCredsUpdate'
        current_screen_id:
          description: 'Экран, который сейчас отображается в визарде'
          type: string
        profile:
          $ref: '#/components/schemas/ProfileProfileUpdate'
        resume:
          $ref: '#/components/schemas/ResumeEditResume'
      required:
        - current_screen_id
        - resume
      title: Обновление резюме и профиля
      type: object
    CredsCredsUpdate:
      properties:
        question_to_answer_map:
          additionalProperties:
            items:
              type: string
            type: array
          title: Выбранные для кредов ответы пользователя
          type: object
      title: Тело кредов для обновления
      type: object
    ResumeEditResume:
      description: Информация о резюме
      properties:
        access:
          description: 'The [resume visibility](#tag/Resume-visibility-lists/operation/get-resume-access-types) section'
          properties:
            type:
              allOf:
                - $ref: '#/components/schemas/_IncludesId'
              description: 'Access type of resume. Possible values are listed in the `resume_access_type` field of [directories](#tag/Public-directories/operation/get-dictionaries)'
          required:
            - type
          type: object
        area:
          allOf:
            - $ref: '#/components/schemas/Id'
          description: 'Area of residence. The [areas](#tag/Public-directories/operation/get-areas) directory entry'
        birth_date:
          description: День рождения (в формате `ГГГГ-ММ-ДД`)
          type: string
        business_trip_readiness:
          allOf:
            - $ref: '#/components/schemas/_IncludesId'
          description: 'Readiness to go on business trips. The [business_trip_readiness](#tag/Public-directories/operation/get-dictionaries) directory entry'
        certificate:
          description: Список сертификатов соискателя
          items:
            properties:
              achieved_at:
                description: Дата получения (в формате `ГГГГ-ММ-ДД`)
                type: string
              owner:
                description: 'На кого выдан сертификат, актуально только для сертификатов с `type = microsoft`'
                type: string
              title:
                description: Название сертификата
                type: string
              type:
                description: |
                  Тип сертификата. Доступные значения: `custom`, `microsoft`
                type: string
              url:
                description: Ссылка на страницу с описанием сертификата
                type: string
            required:
              - title
              - achieved_at
              - type
            type: object
          type: array
        citizenship:
          description: 'Applicant citizenship list. The [areas](#tag/Public-directories/operation/get-areas) directory entries'
          items:
            $ref: '#/components/schemas/_IncludesId'
          type: array
        contact:
          description: Список контактов соискателя
          items:
            description: Контакт
            properties:
              comment:
                description: Комментарий к контакту
                type: string
              preferred:
                description: |
                  Является ли данный способ связи предпочитаемым (обязательно указать один контакт как предпочитаемый `"preferred": true`, в случае если preferred не передан, считаем, что передано значение `false`)
                type: boolean
              type:
                allOf:
                  - $ref: '#/components/schemas/_IncludesId'
                description: 'Contact type. Directory element [preferred_contact_type](#tag/Public-directories/operation/get-dictionaries)'
              value:
                description: Значение контакта
                oneOf:
                  - description: Телефон
                    properties:
                      city:
                        description: Код города (при указании телефона)
                        type: string
                      country:
                        description: Код страны (при указании телефона)
                        type: string
                      formatted:
                        description: Отформатированный номер телефона (при указании телефона)
                        type: string
                      number:
                        description: Номер (при указании телефона)
                        type: string
                    required:
                      - country
                      - city
                      - number
                      - formatted
                    type: object
                  - description: Email
                    type: string
            required:
              - type
              - preferred
            type: object
          type: array
        driver_license_types:
          description: Список категорий водительских прав соискателя
          items:
            properties:
              id:
                description: 'Driver license types. Possible values are listed in the `driver_license_types` field of the [directories of fields](#tag/Public-directories/operation/get-dictionaries). Several values can be specified'
                type: string
            required:
              - id
            type: object
          type: array
        education:
          description: |
            Образование

            Особенности сохранения образования:

            - Если передать и высшее и среднее образование и уровень образования "средний", то сохранится только среднее образование.
            - Если передать и высшее и среднее образование и уровень образования "высшее", то сохранится только высшее образование
          properties:
            additional:
              description: Список курсов повышения квалификации
              items:
                properties:
                  name:
                    description: Название курса / теста
                    type: string
                  organization:
                    description: 'Организация, проводившая курс / тест'
                    type: string
                  result:
                    description: Специальность / специализация
                    type: string
                  year:
                    description: Год окончания / сдачи
                    type: integer
                required:
                  - name
                  - organization
                  - year
                type: object
              type: array
            attestation:
              description: Список пройденных тестов или экзаменов
              items:
                properties:
                  name:
                    description: Название курса / теста
                    type: string
                  organization:
                    description: 'Организация, проводившая курс / тест'
                    type: string
                  result:
                    description: Специальность / специализация
                    type: string
                  year:
                    description: Год окончания / сдачи
                    type: integer
                required:
                  - name
                  - organization
                  - year
                type: object
              type: array
            elementary:
              description: Среднее образование. Обычно заполняется только при отсутствии высшего образования
              items:
                properties:
                  name:
                    description: Название учебного заведения
                    type: string
                  year:
                    description: Год окончания
                    type: integer
                required:
                  - name
                  - year
                type: object
              type: array
            level:
              allOf:
                - $ref: '#/components/schemas/_IncludesId'
              description: 'Education level. Possible values are listed in the `education_level` field of [directories](#tag/Public-directories/operation/get-dictionaries)'
            primary:
              description: Список образований выше среднего
              items:
                properties:
                  name:
                    description: Название учебного заведения
                    type: string
                  name_id:
                    description: 'Educational institution ID, which can be obtained by the [suggestion](#tag/Suggestions/operation/get-educational-institutions-suggests)'
                    type: string
                  organization:
                    description: Факультет
                    type: string
                  organization_id:
                    description: 'College faculties. To see the list of college faculties, you can use the [method of obtaining faculties](#tag/Public-directories/operation/get-faculties)'
                    type: string
                  result:
                    description: Специальность / специализация
                    type: string
                  result_id:
                    description: 'The ID of the specialty/field of study, which can be obtained from [field of study suggestions](#tag/Suggestions/operation/get-fields-of-study-suggestions)'
                    type: string
                  year:
                    description: Год окончания
                    type: integer
                required:
                  - name
                  - year
                type: object
              type: array
          required:
            - elementary
            - additional
            - attestation
            - primary
            - level
          type: object
        employment_form:
          $ref: '#/components/schemas/ResumeObjectsEmploymentFormEmploymentForm'
        employments:
          description: 'List of employment types that are suitable for the applicant. The [employment](#tag/Public-directories/operation/get-dictionaries) directory entries'
          items:
            $ref: '#/components/schemas/_IncludesId'
          type: array
        experience:
          description: Опыт работы
          items:
            properties:
              area:
                allOf:
                  - $ref: '#/components/schemas/_IncludesId'
                description: 'Area of residence. The [areas](#tag/Public-directories/operation/get-areas) directory entry'
              company:
                description: Организация
                type: string
              company_id:
                description: 'The unique identifier of the organization, which can be obtained from [company suggestions](#tag/Suggestions/operation/get-registered-companies-suggests)'
                nullable: true
                type: string
              company_url:
                description: Сайт компании
                type: string
              description:
                description: 'Обязанности, функции, достижения'
                type: string
              end:
                description: Окончание работы (дата в формате `ГГГГ-ММ-ДД`)
                nullable: true
                type: string
              industries:
                description: 'A list of the company''s industries. Possible values are listed in [directory of industries](#tag/Public-directories/operation/get-industries)'
                items:
                  $ref: '#/components/schemas/_IncludesId'
                type: array
              industry:
                deprecated: true
                properties:
                  id:
                    description: Идентификатор поля
                    type: string
                  name:
                    description: Название поля
                    type: string
                required:
                  - id
                  - name
                type: object
              position:
                description: Должность
                type: string
              start:
                description: Начало работы (дата в формате `ГГГГ-ММ-ДД`)
                type: string
            required:
              - industries
              - position
              - start
              - description
            type: object
          type: array
        first_name:
          description: Имя
          type: string
        gender:
          allOf:
            - $ref: '#/components/schemas/Id'
          description: 'Applicant''s gender. Possible values are listed in the `gender` field of [directories](#tag/Public-directories/operation/get-dictionaries)'
        has_vehicle:
          description: Наличие личного автомобиля у соискателя
          type: boolean
        hidden_fields:
          description: 'List of hidden fields. Possible element values are listed in the `resume_hidden_fields` field of the [directory](#tag/Public-directories/operation/get-dictionaries)'
          items:
            $ref: '#/components/schemas/_IncludesId'
          type: array
        language:
          description: 'Список языков, которыми владеет соискатель'
          items:
            properties:
              id:
                description: 'List of languages spoken by the applicant. The [languages](#tag/Public-directories/operation/get-languages) directory entries'
                type: string
              level:
                allOf:
                  - $ref: '#/components/schemas/_IncludesId'
                description: 'Proficiency level. Possible values are listed in the `language_level` field of the [dictionaries](#tag/Public-directories/operation/get-dictionaries)'
            required:
              - id
              - level
            type: object
          type: array
        last_name:
          description: Фамилия
          type: string
        metro:
          allOf:
            - $ref: '#/components/schemas/_IncludesId'
          description: |
            The nearest metro station. The [metro](#tag/Public-directories/operation/get-metro-stations) directory entry. 
            If a metro station not belonging to the specified area is provided, the field will be ignored. It only makes sense to specify this for area with metro stations
        middle_name:
          description: Отчество
          type: string
        photo:
          allOf:
            - $ref: '#/components/schemas/_IncludesId'
          description: 'User photo (see [artifacts](#tag/Artifact-managing))'
        platform:
          $ref: '#/components/schemas/ResumeViewPlatform'
        portfolio:
          description: Список изображений в портфолио пользователя
          items:
            $ref: '#/components/schemas/_IncludesId'
          type: array
        professional_roles:
          description: 'Array of professional roles. The [professional_roles](#tag/Public-directories/operation/get-professional-roles-dictionary) directory entry'
          items:
            $ref: '#/components/schemas/_IncludesId'
          type: array
        recommendation:
          description: Список рекомендаций
          items:
            properties:
              name:
                description: Имя выдавшего рекомендацию
                type: string
              organization:
                description: Организация
                type: string
              position:
                description: Должность
                type: string
            required:
              - name
              - position
              - organization
            type: object
          type: array
        relocation:
          description: Информация о возможности переезда в другой город
          properties:
            area:
              description: 'List of cities for potential relocation. Contains entries of the [directory of regions](#tag/Public-directories/operation/get-areas)'
              items:
                allOf:
                  - $ref: '#/components/schemas/_IncludesId'
                description: Город
              type: array
            type:
              allOf:
                - $ref: '#/components/schemas/_IncludesId'
              description: 'Readiness for relocation. The [relocation_type](#tag/Public-directories/operation/get-dictionaries) directory entry'
          required:
            - type
            - area
          type: object
        resume_locale:
          allOf:
            - $ref: '#/components/schemas/_IncludesId'
          description: 'Resume locale. The [resume locale](#tag/Public-directories/operation/get-locales-for-resume) directory entry'
        salary:
          description: Желаемая зарплата
          properties:
            amount:
              description: Сумма
              type: integer
            currency:
              description: Идентификатор валюты
              type: string
          required:
            - amount
            - currency
          type: object
        schedules:
          description: 'List of working hours that are suitable for the applicant. The [schedule](#tag/Public-directories/operation/get-dictionaries) directory entries'
          items:
            $ref: '#/components/schemas/_IncludesId'
          type: array
        site:
          description: Профили в соц. сетях и других сервисах
          items:
            properties:
              type:
                allOf:
                  - $ref: '#/components/schemas/_IncludesId'
                description: 'Profile type. The [resume_contacts_site_type](#tag/Public-directories/operation/get-dictionaries) directory entry'
              url:
                description: Ссылка на профиль или идентификатор
                type: string
            required:
              - type
            type: object
          type: array
        skill_set:
          description: Ключевые навыки (список уникальных строк)
          items:
            type: string
          type: array
        skills:
          description: 'Дополнительная информация, описание навыков в свободной форме'
          type: string
        specialization:
          description: 'Специализации соискателя. Элементы справочника [specializations](https://github.com/hhru/api/blob/461b16c0b96291bda8db22d3364f42b7fa34eba6/docs/specializations.md)'
          items:
            $ref: '#/components/schemas/_IncludesId'
          type: array
        title:
          description: Желаемая должность
          type: string
        travel_time:
          allOf:
            - $ref: '#/components/schemas/_IncludesId'
          description: 'Acceptable travel time to the place of work. The [travel_time](#tag/Public-directories/operation/get-dictionaries) directory entry'
        work_format:
          $ref: '#/components/schemas/ResumeObjectsWorkFormatWorkFormat'
        work_ticket:
          description: 'List of regions where the applicant has a work permission. The [areas](#tag/Public-directories/operation/get-areas) directory entries'
          items:
            $ref: '#/components/schemas/_IncludesId'
          type: array
      title: Резюме
      type: object
    ResumeViewPlatform:
      description: Ресурс на котором было размещено резюме
      properties:
        id:
          description: Идентификатор ресурса (значения могут быть расширены)
          enum:
            - headhunter
            - zarplata
            - rabota
          type: string
      required:
        - id
      title: Ресурс на котором было размещено резюме
      type: object
    ResumeObjectsEmploymentFormEmploymentForm:
      description: List of types
      items:
        $ref: '#/components/schemas/ResumeObjectsEmploymentFormEmploymentFormItem'
      title: Type of employments
      type: array
    ResumeObjectsWorkFormatWorkFormat:
      description: List of work formats
      items:
        $ref: '#/components/schemas/ResumeObjectsWorkFormatWorkFormatItem'
      title: The format of the work
      type: array
    ProfileProfileUpdate:
      description: Информация о профиле
      properties:
        address_coordinates:
          allOf:
            - $ref: '#/components/schemas/ProfileFieldsAddressCoordinates'
          description: Координаты проживания
          nullable: true
          type: object
        area:
          allOf:
            - $ref: '#/components/schemas/_IncludesArea'
          description: Город проживания
        birth_date:
          description: Дата рождения
          format: date
          type: string
        citizenship:
          description: Список гражданств
          items:
            $ref: '#/components/schemas/_IncludesArea'
          type: array
        communication_methods:
          additionalProperties:
            $ref: '#/components/schemas/ProfileFieldsCommunicationMethod'
          description: Способы коммуникации
          nullable: true
          type: object
        driver_license_types:
          description: Список категорий прав на вождение ТС
          items:
            $ref: '#/components/schemas/_IncludesId'
          type: array
        education:
          allOf:
            - $ref: '#/components/schemas/ProfileFieldsOneOfEducation'
          description: |
            Образование соискателя.

            Особенности сохранения образования:

            * Если передать и высшее и среднее образование и уровень образования "средний", то сохранится только среднее образование.
            * Если передать и высшее и среднее образование и уровень образования "высшее", то сохранится только высшее образование
          nullable: true
          type: object
        first_name:
          description: Имя
          type: string
        gender:
          allOf:
            - $ref: '#/components/schemas/_IncludesIdName'
          description: 'Applicant''s gender. Possible values are listed in the `gender` field of [directories](#tag/Public-directories/operation/get-dictionaries)'
        has_vehicle:
          description: Есть ли личный автомобиль
          type: boolean
        language:
          description: Список уровней владения языками
          items:
            $ref: '#/components/schemas/_IncludesLanguageLevel'
          type: array
        last_name:
          description: Фамилия
          type: string
        metro:
          allOf:
            - $ref: '#/components/schemas/MetroLineStation'
          description: Станция метро
        middle_name:
          description: Отчество
          type: string
        other_communication_methods:
          description: Другие способы коммуникации
          items:
            $ref: '#/components/schemas/ProfileFieldsOtherCommunicationMethod'
          nullable: true
          type: array
        preferred_work_all_areas:
          description: Выбор всех регионов в районах поиска работы
          nullable: true
          type: boolean
        preferred_work_areas:
          description: Предпочтительные районы поиска работы
          items:
            $ref: '#/components/schemas/ProfileFieldsPreferredWorkArea'
          nullable: true
          type: array
        relocation:
          allOf:
            - $ref: '#/components/schemas/ResumeObjectsRelocation'
          description: Возможность переезда
        work_ticket:
          description: 'Список стран, в которых есть разрешение на работу'
          items:
            $ref: '#/components/schemas/_IncludesArea'
          type: array
      title: Профиль
      type: object
    ProfileFieldsOneOfEducation:
      oneOf:
        - $ref: '#/components/schemas/ProfileFieldsEducation'
        - $ref: '#/components/schemas/_IncludesNullableObject'
      title: Образование - поле резюме
    ProfileFieldsEducation:
      properties:
        additional:
          description: Список куров повышения квалификации
          items:
            $ref: '#/components/schemas/ProfileFieldsEducationAdditional'
          nullable: true
          type: array
        attestation:
          description: Список пройденных тестов или экзаменов
          items:
            $ref: '#/components/schemas/ProfileFieldsEducationAdditional'
          nullable: true
          type: array
        elementary:
          description: Среднее образование. Обычно заполняется только при отсутствии высшего образования
          items:
            $ref: '#/components/schemas/ProfileFieldsEducationElementary'
          nullable: true
          type: array
        level:
          $ref: '#/components/schemas/_IncludesEducationLevel'
          description: 'Education level. Possible values are listed in the `education_level` field of [directories](#tag/Public-directories/operation/get-dictionaries)'
        primary:
          description: Список образований выше среднего
          items:
            $ref: '#/components/schemas/ProfileFieldsEducationPrimary'
          nullable: true
          type: array
      required:
        - level
      title: Образование
      type: object
    ProfileFieldsEducationElementary:
      properties:
        id:
          description: Идентификатор
          nullable: true
          type: string
        name:
          description: Название учебного заведения
          type: string
        resumes:
          $ref: '#/components/schemas/ProfileFieldsEducationResumes'
        year:
          description: Год окончания
          type: number
      required:
        - year
        - name
        - resumes
      title: Среднее образование
      type: object
    ProfileFieldsEducationResumes:
      description: Список резюме соискателя где используется образование
      items:
        $ref: '#/components/schemas/ProfileFieldsEducationResumesItem'
      title: Список резюме соискателя где используется образование
      type: array
    ProfileFieldsEducationResumesItem:
      description: Сокращенное представление резюме
      properties:
        id:
          description: Идентификатор резюме
          type: string
      required:
        - id
      title: Сокращенное представление резюме
    ProfileFieldsEducationPrimary:
      properties:
        education_level:
          $ref: '#/components/schemas/_IncludesEducationLevel'
          description: 'Education level. Possible values are listed in the `education_level` field of [directories](#tag/Public-directories/operation/get-dictionaries)'
        id:
          description: Идентификатор
          nullable: true
          type: string
        name:
          description: Название учебного заведения
          type: string
        name_id:
          description: Идентификатор учебного заведения
          nullable: true
          type: string
        organization:
          description: Факультет
          nullable: true
          type: string
        organization_id:
          description: Идентификатор факультета
          nullable: true
          type: string
        result:
          description: Специальность / специализация
          nullable: true
          type: string
        result_id:
          description: Идентификатор специальности / специализации
          nullable: true
          type: string
        resumes:
          $ref: '#/components/schemas/ProfileFieldsEducationResumes'
        university_acronym:
          description: Акроним учебного заведения
          nullable: true
          type: string
        year:
          description: Год окончания
          type: number
      required:
        - name
        - year
        - resumes
      title: Высшее образование
      type: object
    ProfileFieldsEducationAdditional:
      properties:
        id:
          description: Идентификатор
          nullable: true
          type: string
        name:
          description: Название курса / теста
          type: string
        organization:
          description: 'Организация, проводившая курс / тест'
          type: string
        result:
          description: Специальность / специализация
          nullable: true
          type: string
        resumes:
          $ref: '#/components/schemas/ProfileFieldsEducationResumes'
        year:
          description: Год окончания / сдачи
          type: number
      required:
        - name
        - year
        - resumes
      title: Дополнительное образование
      type: object
    ProfileFieldsPreferredWorkArea:
      properties:
        area:
          $ref: '#/components/schemas/_IncludesArea'
          description: 'Город поиска работы, в том числе можно добавить город проживания'
        districts:
          description: |
            Район города для поиска работы, район должен быть обязательно находится в выбранном городе для поиска работы
          items:
            $ref: '#/components/schemas/ProfileFieldsDistrict'
          type: array
        lines:
          description: 'Линии метро для поиска работы, линии метро должны находится в выбранном городе для поиска работы'
          items:
            $ref: '#/components/schemas/MetroMetroLine'
          type: array
        stations:
          description: 'Станции метро для поиска работы, станции метро должны находится в выбранном городе для поиска работы'
          items:
            $ref: '#/components/schemas/MetroLineStation'
          type: array
      required:
        - area
      title: Предпочтительные районы поиска работы
      type: object
    MetroMetroLine:
      properties:
        hex_color:
          description: HEX color `RRGGBB` code of the line (from `000000` to `FFFFFF`)
          pattern: '^[0-9A-Fa-f]{6}$'
          type: string
        id:
          description: Line ID
          type: string
        name:
          description: Line name
          type: string
      required:
        - hex_color
        - id
        - name
      title: Metro line
    MetroLineStation:
      properties:
        id:
          description: Station ID
          type: string
        lat:
          description: Latitude of the station location
          type: number
        line:
          allOf:
            - $ref: '#/components/schemas/MetroMetroLine'
          description: Metro line
        lng:
          description: Longitude of the station location
          type: number
        name:
          description: Station name
          type: string
        order:
          description: 'An order number of the station on its line, starting from 0'
          type: integer
      required:
        - id
        - name
        - lat
        - lng
        - order
        - line
      title: Metro station
    ProfileFieldsDistrict:
      properties:
        area_id:
          description: Идентификатор города к которому принадлежит район
          type: string
        id:
          description: Идентификатор района
          type: string
        name:
          description: Наименование района
          type: string
        url:
          description: URL города к которому принадлежит район
          type: string
      required:
        - id
      title: Район города
      type: object
    ProfileFieldsCommunicationMethod:
      properties:
        description:
          description: Описание способа коммуникации
          nullable: true
          type: string
        error_message:
          description: Сообщение об ошибке
          nullable: true
          type: string
        placeholder:
          description: Плейсхолдер
          nullable: true
          type: string
        position:
          description: Место в списке
          nullable: true
          type: integer
        regexp:
          description: Паттерн для проверки данных
          nullable: true
          type: string
        title:
          description: Название
          nullable: true
          type: string
        value:
          description: Значение
          nullable: true
          type: string
      required:
        - value
      title: Способ коммуникации
      type: object
    ProfileFieldsAddressCoordinates:
      properties:
        lat:
          description: Широта
          format: double
          type: number
        lng:
          description: Долгота
          format: double
          type: number
      required:
        - lat
        - lng
      title: Координаты проживания соискателя
      type: object
    ResumeObjectsRelocation:
      properties:
        area:
          description: |
            Список городов, в которые возможен переезд. Имеет смысл только с соответствующим полем `type`
          items:
            $ref: '#/components/schemas/_IncludesArea'
          type: array
        district:
          items:
            $ref: '#/components/schemas/_IncludesIdName'
          type: array
        type:
          allOf:
            - $ref: '#/components/schemas/_IncludesIdName'
          description: 'Readiness for relocation. The [relocation_type](#tag/Public-directories/operation/get-dictionaries) directory entry'
      required:
        - type
        - area
      title: Возможность переезда
      type: object
    ProfileFieldsOtherCommunicationMethod:
      properties:
        description:
          description: Описание
          nullable: true
          type: string
        value:
          description: 'Значение (url, id в соцсети, телефон и тп)'
          type: string
      required:
        - value
      title: Другие способы коммуникации
      type: object
    _IncludesLanguageLevel:
      allOf:
        - $ref: '#/components/schemas/_IncludesLanguageProperties'
      required:
        - level
      title: Language and proficiency
    _IncludesLanguageProperties:
      allOf:
        - $ref: '#/components/schemas/_IncludesIdName'
        - properties:
            level:
              allOf:
                - $ref: '#/components/schemas/_IncludesIdName'
              description: 'Proficiency level. Possible values are listed in the `language_level` field of the [dictionaries](#tag/Public-directories/operation/get-dictionaries)'
          type: object
      title: Language and proficiency
      type: object
    VacanciesVacancyListResponse:
      anyOf:
        - $ref: '#/components/schemas/VacanciesActiveListItems'
        - $ref: '#/components/schemas/VacanciesMatchListItems'
      title: Successful response
    VacanciesMatchListItems:
      allOf:
        - properties:
            items:
              description: List of vacancies that match the resume
              items:
                $ref: '#/components/schemas/VacanciesMatchListItem'
              minItems: 0
              type: array
          required:
            - items
          type: object
        - $ref: '#/components/schemas/_IncludesPagination'
      title: 'List of vacancies that match the resume (?resume_id={resume_id})'
    VacanciesMatchListItem:
      allOf:
        - $ref: '#/components/schemas/VacanciesVacancyShort'
        - $ref: '#/components/schemas/VacanciesMatchVacancyFields'
        - properties:
            vacancy_constructor_template:
              deprecated: true
              nullable: true
              oneOf:
                - $ref: '#/components/schemas/VacancyVacancyConstructorTemplate'
                - $ref: '#/components/schemas/_IncludesNullableObject'
              type: object
            vacancy_properties:
              $ref: '#/components/schemas/VacancyVacancyProperties'
          type: object
      title: Information about a vacancy that matches the resume
      type: object
    VacanciesVacancyShort:
      properties:
        address:
          $ref: '#/components/schemas/VacancyAddressRawOutput'
        alternate_url:
          description: Link to the vacancy on the website
          type: string
        apply_alternate_url:
          description: Link to the application for the vacancy on the website
          type: string
        archived:
          description: Whether the vacancy is archived
          type: boolean
        area:
          $ref: '#/components/schemas/_IncludesArea'
        department:
          $ref: '#/components/schemas/VacanciesObjectsDepartment'
        employer:
          $ref: '#/components/schemas/VacanciesObjectsEmployer'
        has_test:
          description: Whether a test assignment is attached to the vacancy
          type: boolean
        id:
          description: Vacancy ID
          type: string
        name:
          description: Vacancy name
          type: string
        premium:
          description: Whether it is a premium vacancy
          type: boolean
        published_at:
          description: Date and time of the vacancy publication
          type: string
        relations:
          description: 'Returns vacancy relations of the applicant. Values from `vacancy_relation` field of [dictionaries](#tag/Public-directories/operation/get-dictionaries)'
          items:
            $ref: '#/components/schemas/VacancyRelationItem'
          type: array
        response_letter_required:
          description: Whether a cover letter is required
          type: boolean
        response_url:
          description: Response URL for direct vacancies (`type.id=direct`)
          nullable: true
          type: string
        salary:
          $ref: '#/components/schemas/VacancySalary'
          deprecated: true
        salary_range:
          nullable: true
          oneOf:
            - $ref: '#/components/schemas/VacancySalaryRangeSalaryRangeOutput'
            - $ref: '#/components/schemas/_IncludesNullableObject'
          type: object
        show_contacts:
          $ref: '#/components/schemas/VacancyShowContacts'
        show_logo_in_search:
          description: Should the logo for the vacancy be displayed in search results
          nullable: true
          type: boolean
        type:
          $ref: '#/components/schemas/VacancyTypeOutput'
        url:
          description: Vacancy URL
          type: string
      required:
        - id
        - premium
        - name
        - department
        - response_letter_required
        - area
        - salary
        - salary_range
        - type
        - published_at
        - archived
        - apply_alternate_url
        - url
        - alternate_url
        - relations
        - employer
        - has_test
      title: Short vacancy
      type: object
    VacanciesMatchVacancyFields:
      properties:
        address:
          nullable: true
          oneOf:
            - $ref: '#/components/schemas/VacanciesAddress'
            - $ref: '#/components/schemas/_IncludesNullableObject'
          type: object
        can_invite:
          description: Whether it is possible to invite the specified resume to this vacancy
          type: boolean
        created_at:
          description: Date and time the vacancy was published
          type: string
        employer_negotiations_state:
          description: 'Employer status of the response/invitation for this vacancy with the specified resume, or `null` if there was no response/invitation. Possible values are listed in the `employer_states` field in the [list of employer states by vacancy](#tag/Employer-responsesinvitations/operation/get-negotiations)'
          nullable: true
          oneOf:
            - $ref: '#/components/schemas/_IncludesIdName'
            - $ref: '#/components/schemas/_IncludesNullableObject'
          type: object
        manager:
          $ref: '#/components/schemas/VacancyManagerOutput'
        negotiations_actions:
          description: 'List of possible actions on response/invitation for [creating invitation](#tag/Employer-responsesinvitations/operation/invite-applicant-to-vacancy). If a response cannot be generated (e.g., the required services are not available), then an empty array returns'
          items:
            $ref: '#/components/schemas/VacancyNegotiationActions'
          minItems: 0
          type: array
        negotiations_state:
          description: 'Response/invitation status for this vacancy or `null` if there was no response/invitation. Possible values are listed in the `negotiations_state` field in [directories](#tag/Public-directories/operation/get-dictionaries)'
          nullable: true
          oneOf:
            - $ref: '#/components/schemas/_IncludesIdName'
            - $ref: '#/components/schemas/_IncludesNullableObject'
          type: object
        sort_point_distance:
          description: |
            Distance in metres between the sorting centre (indicated by parameters `sort_point_lat` and `sort_point_lng`) and the address indicated in the vacancy. If the address only includes metro stations, it shows the distance between the sorting centre and the average geometric point of the indicated stations.

            `sort_point_distance` value is only shown if parameters for `sort_point_lat`, `sort_point_lgn` and `order_by=distance` are indicated
          nullable: true
          type: number
        templates:
          description: Mail templates
          items:
            $ref: '#/components/schemas/VacancyTemplates'
          type: array
      required:
        - negotiations_state
        - employer_negotiations_state
        - can_invite
        - negotiations_actions
        - manager
        - created_at
      title: Matching vacancy fields
      type: object
    VacancyManagerOutput:
      properties:
        first_name:
          description: Manager first name
          type: string
        id:
          description: 'Contact person (manager) for the vacancy; by default, the current user'
          type: string
        last_name:
          description: Manager last name
          type: string
        middle_name:
          description: Manager middle name
          nullable: true
          type: string
      required:
        - id
        - first_name
        - last_name
        - middle_name
      title: Manager
      type: object
    VacanciesAddress:
      allOf:
        - $ref: '#/components/schemas/VacancyAddressRawOutput'
        - properties:
            show_metro_only:
              description: Show only metro for the specified address
              nullable: true
              type: boolean
          type: object
      title: Address for vacancy
    VacancyVacancyProperties:
      properties:
        appearance:
          $ref: '#/components/schemas/VacancyVacancyPropertiesAppearance'
        properties:
          description: |
            Vacancy properties.
            Available only for managers of the employer who owns the vacancy
          items:
            properties:
              end_time:
                description: Property end time
                type: string
              parameters:
                description: Property parameters
                items:
                  properties:
                    key:
                      description: Parameter name
                      type: string
                    value:
                      description: Parameter value
                      type: string
                  type: object
                type: array
              property_type:
                $ref: '#/components/schemas/VacancyPublicPropertyTypes'
              start_time:
                description: Property start time
                type: string
            required:
              - parameters
              - property_type
            type: object
          type: array
      required:
        - properties
      title: Vacancy properties
      type: object
    VacancyPublicPropertyTypes:
      description: |
        Property type name:
        * `HH_ANONYMOUS` — Published without company name and logo
        * `HH_STANDARD_PLUS` — With promotion - for fast search
        * `HH_STANDARD` — No promotion - for planned search
        * `HH_FREE` — Free vacancy for candidate search
        * `HH_PREMIUM` — 7 days stays above standard - more people will notice you
        * `HH_ADVERTISING` — Brand promotion and vacancy responses on your website
        * `HH_PAY_FOR_PERFORMANCE` — Vacancy with payment for contacts in responses
        * `ZP_CROSSPOSTING` — Vacancy on hh.ru with additional posting on zarplata.ru
      title: Vacancy property type
      type: string
    VacancyVacancyPropertiesAppearance:
      properties:
        title:
          title: Naming
          type: string
      title: Translations
      type: object
    VacancyVacancyConstructorTemplate:
      description: 'Info on the applied branded template of the vacancy constructor. Only two pictures are supported: at the top and at the bottom of the vacancy'
      properties:
        bottom_picture:
          description: Info on the bottom template picture
          nullable: true
          oneOf:
            - $ref: '#/components/schemas/_IncludesNullableObject'
            - $ref: '#/components/schemas/VacancyPicture'
          type: object
        id:
          description: Template ID
          type: number
        name:
          description: Template name
          type: string
        top_picture:
          description: Info on the top template picture
          nullable: true
          oneOf:
            - $ref: '#/components/schemas/_IncludesNullableObject'
            - $ref: '#/components/schemas/VacancyPicture'
          type: object
      title: Vacancy constructor template
      type: object
    VacancyPicture:
      properties:
        blurred_path:
          description: A path to a small (about 4% of original) blurred picture. Reshape it for viewing as needed
          nullable: true
          type: string
        height:
          description: Picture height
          type: number
        path:
          description: Picture path
          type: string
        width:
          description: Picture width
          type: number
      title: Picture
      type: object
    VacanciesActiveListItems:
      allOf:
        - properties:
            items:
              description: List of active vacancies
              items:
                $ref: '#/components/schemas/VacanciesActiveListItem'
              minItems: 0
              type: array
          required:
            - items
          type: object
        - $ref: '#/components/schemas/_IncludesPagination'
      title: List of active vacancies (?resume_id is not specified)
    VacanciesActiveListItem:
      allOf:
        - $ref: '#/components/schemas/VacanciesVacancyShort'
        - $ref: '#/components/schemas/VacancyBillingTypeObject'
        - $ref: '#/components/schemas/VacanciesActiveVacancyFields'
        - properties: {}
          type: object
      title: Info about active vacancy
      type: object
    VacanciesActiveVacancyFields:
      properties:
        address:
          nullable: true
          oneOf:
            - $ref: '#/components/schemas/VacanciesAddress'
            - $ref: '#/components/schemas/_IncludesNullableObject'
          type: object
        can_upgrade_billing_type:
          $ref: '#/components/schemas/VacancyCanUpgradeBillingType'
        counters:
          $ref: '#/components/schemas/VacancyCountersForActive'
        created_at:
          description: Date and time the vacancy was published
          type: string
        expires_at:
          $ref: '#/components/schemas/VacancyExpiresAt'
        has_updates:
          $ref: '#/components/schemas/VacancyHasUpdates'
        manager:
          $ref: '#/components/schemas/VacancyManagerOutput'
        sort_point_distance:
          description: |
            Distance in meters between the sorting center (specified by the parameters `sort_point_lat`, `sort_point_lng`) and the address specified in the vacancy. If only metro stations are indicated in the address, the distance between the sorting center and the geometric mean point of the specified stations is given.
            The `sort_point_distance` value is returned only if the `sort_point_lat`, `sort_point_lng`, `order_by=distance` parameters are specified
          nullable: true
          type: number
        vacancy_properties:
          $ref: '#/components/schemas/VacancyVacancyProperties'
      required:
        - counters
        - expires_at
        - manager
        - can_upgrade_billing_type
        - has_updates
        - created_at
      title: Fields in the published vacancy
      type: object
    VacancyExpiresAt:
      description: Date and time when vacancy posting expires
      title: Date and time
      type: string
    VacancyCanUpgradeBillingType:
      description: Whether the vacancy billing type can be upgraded
      title: Upgrade billing type
      type: boolean
    VacancyCountersForActive:
      properties:
        calls:
          description: Total number of calls
          type: number
        invitations:
          description: Number of invitations to the vacancy
          type: number
        invitations_and_responses:
          description: Number of invitations and responses to a vacancy
          type: number
        new_missed_calls:
          description: Total number of new missed calls
          type: number
        responses:
          description: Number of responses to the vacancy
          type: number
        resumes_in_progress:
          description: Number of resumes in progress for a vacancy
          type: number
        unread_responses:
          description: Number of non-viewed responses to the vacancy
          type: number
        views:
          description: Number of vacancy views
          type: number
      required:
        - views
        - responses
        - unread_responses
        - resumes_in_progress
        - invitations
      title: Counters
      type: object
    VacancyBillingTypeObject:
      properties:
        billing_type:
          $ref: '#/components/schemas/VacancyBillingTypeOutput'
      title: Billing type
      type: object
    VacancyBillingTypeOutput:
      allOf:
        - $ref: '#/components/schemas/VacancyBillingType'
        - properties:
            name:
              description: Billing type name
              type: string
          type: object
      description: 'Billing type [from vacancy_billing_type dictionary](#tag/Public-directories/operation/get-dictionaries)'
      nullable: true
      title: Vacancy billing type
      type: object
    VacancyBillingType:
      properties:
        id:
          description: 'Billing type [from vacancy_billing_type dictionary](#tag/Public-directories/operation/get-dictionaries)'
          type: string
      required:
        - id
      title: Billing type
      type: object
    NegotiationsNegotiationsStatisticsEmployerResponse:
      properties:
        employer_statistics:
          $ref: '#/components/schemas/NegotiationsNegotiationsStatistics'
      required:
        - employer_statistics
      title: Negotiations statistics for the employer
      type: object
    NegotiationsNegotiationsStatistics:
      properties:
        average_reply_time:
          description: The average time (in days) between receiving a negotiation and sending a message
          nullable: true
          type: number
        politeness:
          description: Politeness index
          nullable: true
          oneOf:
            - $ref: '#/components/schemas/NegotiationsObjectsPoliteness'
            - $ref: '#/components/schemas/_IncludesNullableObject'
          type: object
        received:
          description: The number of negotiations received during the period (last 30 days)
          type: number
        replied_percent:
          description: |
            The percentage of negotiations moved to any other [collection](https://github.com/hhru/api/blob/master/docs_eng/employer_negotiations.md#term-collection) with a message sent, for the period
          nullable: true
          type: number
        viewed_percent:
          description: Percentage of read negotiations for the period
          nullable: true
          type: number
      required:
        - received
      title: Negotiations statistics
      type: object
    NegotiationsObjectsPoliteness:
      properties:
        article_url:
          description: URL to the HH article about politeness index
          type: string
        description:
          description: Current politeness index determination
          type: string
        hint:
          description: Politeness index description
          type: string
        index:
          description: Politeness index value
          type: number
        index_change:
          deprecated: true
          description: Change in the politeness index in the last 24 hours
          type: number
      required:
        - index
        - index_change
        - hint
        - description
        - article_url
      title: Politeness index information
      type: object
    SuggestsErrors:
      allOf:
        - $ref: '#/components/schemas/ErrorsCommonErrorRequestId'
        - properties:
            bad_argument:
              deprecated: true
              enum:
                - locale
                - text
                - area_id
              type: string
            bad_arguments:
              deprecated: true
              items:
                properties:
                  description:
                    type: string
                  name:
                    description: |
                      Field with error. 
                      Possible values:
                      * `locale` — an unsupported language is specified
                      * `text` — the requested text must contain from 2 to 3000 symbols
                      * `area_id` - invalid region identifier passed
                    enum:
                      - locale
                      - text
                      - area_id
                    type: string
                type: object
              type: array
            description:
              deprecated: true
              type: string
            errors:
              items:
                properties:
                  type:
                    enum:
                      - bad_argument
                    type: string
                  value:
                    description: |
                      Error description:
                        * locale — an unsupported language is specified;
                        * text — the requested text must contain from 2 to 3000 symbols
                        * area_id — invalid region identifier passed
                    enum:
                      - locale
                      - text
                      - area_id
                    type: string
                type: object
              type: array
          required:
            - errors
          type: object
      title: Error
    VacancyDraftVacancyDraftCreate:
      allOf:
        - $ref: '#/components/schemas/VacancyDraftVacancyDraftBodyCommon'
        - properties: {}
          type: object
        - $ref: '#/components/schemas/VacancyDraftVacancyDraftAnyOfCreateFieldsOrWithProperties'
      title: An object for creating a vacancy draft
    EmployerManagersManagerData:
      properties:
        additional_phone:
          allOf:
            - $ref: '#/components/schemas/EmployerManagersPhone'
            - type: object
          description: Additional manager's phone
        permissions:
          description: The list of privileges that can be granted to the selected manager type
          items:
            $ref: '#/components/schemas/EmployerManagerTypesAvailablePermissions'
          type: array
        phone:
          allOf:
            - $ref: '#/components/schemas/EmployerManagersPhone'
            - type: object
          description: Manager's phone
        position:
          title: Manager's position
          type: string
      title: JSON with edited manager's parameters
    EmployerManagerTypesAvailablePermissions:
      properties:
        id:
          description: Privilege ID
          type: string
        name:
          description: Privilege name
          type: string
      required:
        - id
        - name
      title: Available permissions types
    ResumeProfileResumeProfileDictionariesResponse:
      properties:
        resume_any_job_titles:
          $ref: '#/components/schemas/ResumeProfileResumeProfileDictionaryTitles'
        resume_default_titles:
          $ref: '#/components/schemas/ResumeProfileResumeProfileDictionaryTitles'
        resume_popular_titles:
          $ref: '#/components/schemas/ResumeProfileResumeProfileDictionaryTitles'
        resume_profile_communication_methods:
          $ref: '#/components/schemas/ResumeProfileResumeProfileDictionaryCommunicationMethods'
      required:
        - resume_default_titles
        - resume_popular_titles
        - resume_any_job_titles
        - resume_profile_communication_methods
      title: Словари резюме-профиля
      type: object
    ResumeProfileResumeProfileDictionaryCommunicationMethods:
      properties:
        items:
          description: Список способов коммуникации профиля соискателя
          items:
            description: Способ коммуникации
            properties:
              description:
                description: Описание способа коммуникации
                nullable: true
                type: string
              error_message:
                description: Сообщение об ошибке
                nullable: true
                type: string
              placeholder:
                description: Плейсхолдер
                nullable: true
                type: string
              position:
                description: Место в списке
                type: integer
              regexp:
                description: Паттерн для проверки данных
                nullable: true
                type: string
              title:
                description: Название
                type: string
              type:
                description: Тип
                type: string
            required:
              - type
              - title
            type: object
          type: array
      required:
        - items
      title: Список способов коммуникации профиля соискателя
      type: object
    ResumeProfileResumeProfileDictionaryTitles:
      properties:
        items:
          description: Список ролей
          items:
            description: Роль
            properties:
              name:
                description: Название роли
                type: string
              role_ids:
                description: Список id роли
                items:
                  type: string
                nullable: true
                type: array
            required:
              - name
            type: object
          type: array
      required:
        - items
      title: Список ролей радужного каталога
      type: object
    ErrorsNegotiationHideResponseTooEarlyErrors:
      anyOf:
        - $ref: '#/components/schemas/ErrorsNegotiationHideResponseErrors'
      title: Errors
    ErrorsNegotiationHideResponseErrors:
      allOf:
        - $ref: '#/components/schemas/ErrorsCommonErrorRequestId'
        - properties:
            errors:
              description: Array with the information on each error
              items:
                $ref: '#/components/schemas/ErrorsNegotiationHideResponseError'
              minItems: 1
              type: array
          required:
            - errors
          type: object
      description: Information about occurred errors
      title: Negotiations (responses/invitations) errors
    ErrorsNegotiationHideResponseError:
      additionalProperties: false
      properties:
        type:
          description: Error type
          enum:
            - negotiations
          example: negotiations
          type: string
        value:
          description: |
            Error reason:
            * `wrong_state` — the response/invitation action is not possible in this status
            * `no_invitation` — negotiations are unavailable as there was no invitation in the response
            * `disabled_by_employer` — negotiation by response is disabled by the employer
            * `chat_is_not_ready` — chat of response/invitation is not ready
          enum:
            - wrong_state
            - no_invitation
            - disabled_by_employer
            - chat_is_not_ready
          example: wrong_state
          type: string
      required:
        - type
        - value
      title: Error
      type: object
    VacanciesVacancyStatsResponse:
      properties:
        items:
          description: Statistics for the last five days of the vacancy life
          items:
            $ref: '#/components/schemas/VacanciesVacancyStatsItem'
          maxItems: 5
          minItems: 5
          type: array
      required:
        - items
      title: Statistics for the last five days of the vacancy life
      type: object
    VacanciesVacancyStatsItem:
      properties:
        date:
          description: Date in `YYYY-MM-DD` format
          type: string
        responses:
          description: Number of vacancy applications. `null` if the date is in the future or no data is available for this date
          nullable: true
          type: number
        views:
          description: Number of vacancy views. `null` if the date is in the future or no data is available for this date
          nullable: true
          type: number
      required:
        - date
      title: Vacancy statistics
      type: object
    DictionariesLangResponse:
      items:
        $ref: '#/components/schemas/DictionariesLangItem'
      title: The list of languages
      type: array
    DictionariesLangItem:
      properties:
        id:
          description: Language ID
          example: ita
          type: string
        name:
          description: Language name
          example: Italian
          type: string
        uid:
          description: Language Universal ID
          example: '17'
          type: string
      required:
        - id
        - name
        - uid
      title: Language
    NegotiationsCollectionNegotiationsResponse:
      allOf:
        - $ref: '#/components/schemas/_IncludesSortingType'
        - $ref: '#/components/schemas/_IncludesPagination'
        - $ref: '#/components/schemas/NegotiationsCollectionNegotiations'
      title: Negotiations of the collection
      type: object
    NegotiationsCollectionNegotiations:
      properties:
        items:
          items:
            allOf:
              - $ref: '#/components/schemas/NegotiationsObjectsTopicItemCommon'
              - $ref: '#/components/schemas/NegotiationsNegotiationCommonFields'
              - properties:
                  resume:
                    anyOf:
                      - $ref: '#/components/schemas/NegotiationsObjectsEmployerTopicResume'
                      - $ref: '#/components/schemas/_IncludesNullableObject'
                    description: Short resume information
                    nullable: true
                    type: object
                  url:
                    description: Link to the full negotiation
                    type: string
                required:
                  - employer_state
                  - templates
                  - actions
                  - url
                type: object
          minItems: 0
          type: array
      required:
        - items
      title: Negotiations of the collection response fields
      type: object
    _IncludesSortingType:
      properties:
        ordered_by:
          allOf:
            - $ref: '#/components/schemas/_IncludesIdName'
          description: Type of sorting used
      required:
        - ordered_by
      title: Sorting
      type: object
    ArtifactsArtifactConditions:
      properties:
        counters:
          allOf:
            - $ref: '#/components/schemas/ArtifactsCounters'
            - type: object
          description: Counter of artifacts of this type
        fields:
          allOf:
            - $ref: '#/components/schemas/ArtifactsFields'
            - type: object
          description: Conditions for artifact fields
      required:
        - fields
        - counters
      title: Conditions for uploading artifacts
      type: object
    ArtifactsFields:
      properties:
        description:
          allOf:
            - $ref: '#/components/schemas/ArtifactsDescription'
            - type: object
          description: Conditions for the `description` field
        file:
          allOf:
            - $ref: '#/components/schemas/ArtifactsFile'
            - type: object
          description: Conditions for the `file` field
        type:
          allOf:
            - $ref: '#/components/schemas/ArtifactsType'
            - type: object
          description: Conditions for the `type` field
      required:
        - description
        - file
        - type
      title: Conditions for artifact fields
    ArtifactsFile:
      properties:
        max_size:
          description: Max file size
          type: number
        mime_type:
          description: 'List of allowed [MIME-types](https://www.iana.org/assignments/media-types/media-types.xhtml) of files'
          items:
            type: string
          type: array
        required:
          description: Whether the `file` field is required
          type: boolean
      required:
        - max_size
        - mime_type
        - required
      title: Conditions for the `file` field
    ArtifactsType:
      properties:
        required:
          description: Whether the `type` field is required
          type: boolean
      required:
        - required
      title: Conditions for `type` field
    ArtifactsDescription:
      properties:
        max_length:
          description: Max size of the `description` text field
          type: number
        min_length:
          description: Min size of the `description` text field
          type: number
        required:
          description: Whether the `description` field is required
          type: boolean
      required:
        - max_length
        - min_length
        - required
      title: Conditions for the `description` field
    ArtifactsCounters:
      properties:
        max:
          description: Maximum number of artifacts of this type
          type: number
        uploaded:
          description: Number of uploaded artifacts of this type
          type: number
      required:
        - max
        - uploaded
      title: Counter of artifacts of this type
    ErrorsResumePhoneConfirmBadArgumentErrors:
      allOf:
        - $ref: '#/components/schemas/ErrorsCommonErrorRequestId'
        - properties:
            description:
              deprecated: true
              description: Error description
              type: string
            errors:
              description: Array with error data
              items:
                $ref: '#/components/schemas/ErrorsResumePhoneConfirmBadArgumentError'
              minItems: 1
              type: array
          required:
            - errors
          type: object
      description: Information about occurred errors
      title: Errors with resumes
    ErrorsResumePhoneConfirmBadArgumentError:
      additionalProperties: false
      properties:
        type:
          description: Text identifier of the error type
          enum:
            - resume_phone_confirm
          example: resume_phone_confirm
          type: string
        value:
          description: Error value
          enum:
            - confirmation_code_expired
          example: confirmation_code_expired
          type: string
      required:
        - type
        - value
      title: Error
      type: object
    ProfessionalRolesCatalog:
      additionalProperties: false
      description: Catalog of professional roles and categories
      properties:
        categories:
          description: Information about the professional role category
          items:
            $ref: '#/components/schemas/ProfessionalRolesCategory'
          minItems: 1
          title: Professional Role Category
          type: array
      required:
        - categories
      title: Catalog of Professional Roles
      type: object
    ProfessionalRolesCategory:
      properties:
        id:
          description: Professional role category ID
          example: '123'
          minLength: 1
          type: string
        name:
          description: Professional role category name
          example: 'Construction industry, real estate'
          minLength: 1
          nullable: true
          type: string
        roles:
          description: |
            List of professional roles included in this category
          items:
            $ref: '#/components/schemas/ProfessionalRolesRole'
          minItems: 1
          type: array
      required:
        - id
        - name
        - roles
      title: Categories of professional roles
      type: object
    ProfessionalRolesRole:
      properties:
        accept_incomplete_resumes:
          description: The role accepts responses with incomplete resumes
          example: true
          type: boolean
        id:
          description: Professional role ID
          example: '1'
          minLength: 1
          type: string
        is_default:
          description: Default role
          example: true
          type: boolean
        name:
          description: Professional role name
          example: Architect
          minLength: 1
          type: string
        search_deprecated:
          description: Deprecation of use in search when composing a search query
          example: true
          type: boolean
        search_deprecated_datetime:
          description: |
            The time from which the deprecation of using the role in the search is in effect when composing a search query.
            The value is indicated in the [ISO 8601 format](https://en.wikipedia.org/wiki/ISO_8601) — with up-to-the-second precision `YYYY-MM-DDThh:mm:ss±hhmm`
          example: '2023-06-01T08:00:00+0300'
          format: date-time
          nullable: true
          type: string
        select_deprecated:
          description: Deprecation of use when creating new entities (resumes or vacancies)
          example: true
          type: boolean
        select_deprecated_datetime:
          description: |
            The time from which the deprecation of using the role when creating new entities will take effect.
            The value is indicated in the [ISO 8601 format](https://en.wikipedia.org/wiki/ISO_8601) — with up-to-the-second precision `YYYY-MM-DDThh:mm:ss±hhmm`
          example: '2023-06-01T08:00:00+0300'
          format: date-time
          nullable: true
          type: string
      required:
        - id
        - name
        - accept_incomplete_resumes
        - is_default
      title: Professional role
      type: object
    VacanciesVacancyProlongate:
      properties:
        actions:
          description: List of available actions to prolong the vacancy. The system supports standard prolongation only
          items:
            oneOf:
              - $ref: '#/components/schemas/VacanciesVacancyProlongateAvailableActions'
              - $ref: '#/components/schemas/VacanciesVacancyProlongateUnavailableActions'
          type: array
        expires_at:
          description: Vacancy expiration date
          type: string
        id:
          description: Vacancy ID
          type: string
      required:
        - id
        - expires_at
        - actions
      title: Information about the vacancy prolongation
      type: object
    VacanciesVacancyProlongateUnavailableActions:
      properties:
        disable_reason:
          allOf:
            - description: 'The reason why prolongation is unavailable. Element of `vacancy_not_prolonged_reason` field in [dictionaries](#tag/Public-directories/operation/get-dictionaries)'
              type: object
            - $ref: '#/components/schemas/_IncludesIdName'
        enabled:
          description: Is the action possible
          type: boolean
        id:
          description: Action ID
          type: string
      required:
        - id
        - enabled
        - disable_reason
      title: Prolongation is impossible
      type: object
    VacanciesVacancyProlongateAvailableActions:
      properties:
        enabled:
          description: Is the action possible
          type: boolean
        id:
          description: Action ID
          type: string
        method:
          description: HTTP-method required to make a query for this action
          type: string
        url:
          description: URL required to make a query for this action
          type: string
      required:
        - id
        - enabled
        - url
        - method
      title: Prolongation is possible
      type: object
    NegotiationsListResponse:
      anyOf:
        - $ref: '#/components/schemas/NegotiationsApplicantNegotiationsResponse'
        - $ref: '#/components/schemas/NegotiationsNegotiationsCollections'
      title: Successful response
    NegotiationsNegotiationsCollections:
      properties:
        collections:
          description: Collections of negotiation for this vacancy
          items:
            $ref: '#/components/schemas/NegotiationsNegotiationsCollection'
          type: array
        employer_states:
          description: |
            Negotiations [states](https://github.com/hhru/api/blob/master/docs/employer_negotiations.md#term-employer-state) for employer
          items:
            $ref: '#/components/schemas/EmployersEmployersState'
          type: array
        generated_collections:
          description: Generated collections of negotiation for this vacancy
          items:
            $ref: '#/components/schemas/NegotiationsNegotiationsCollection'
          type: array
      required:
        - collections
        - generated_collections
        - employer_states
      title: Collections of negotiation
      type: object
    NegotiationsNegotiationsCollection:
      allOf:
        - $ref: '#/components/schemas/NegotiationsObjectsStates'
        - properties:
            counters:
              $ref: '#/components/schemas/NegotiationsObjectsEmployerCounters'
            order_types:
              items:
                $ref: '#/components/schemas/NegotiationsNegotiationsOrderTypes'
              type: array
          required:
            - order_types
          type: object
      title: Collection Information
      type: object
    NegotiationsNegotiationsOrderTypes:
      properties:
        id:
          description: Sorting option ID
          type: string
        name:
          description: Sorting option name
          type: string
        url:
          description: URL to the negotiation collection sorted by the current option
          type: string
      required:
        - id
        - name
        - url
      title: Negotiation sorting options
      type: object
    NegotiationsObjectsEmployerCounters:
      description: Statistics of negotiation collection
      properties:
        total:
          description: Total number of negotiation in the collection
          type: integer
        with_updates:
          description: Number of negotiation in the collection that require attention
          type: integer
      title: Object with statistics
      type: object
    NegotiationsObjectsStates:
      properties:
        description:
          description: Collection description
          type: string
        hidden:
          description: Whether the collection is hidden
          type: boolean
        id:
          description: Collection ID
          type: string
        name:
          description: Collection name
          type: string
        sub_collections:
          description: Collection of substates of negotiations for this vacancy
          items:
            $ref: '#/components/schemas/NegotiationsNegotiationsSubCollection'
          type: array
        url:
          description: |
            URL, a [GET request to which](#tag/Employer-responsesinvitations/operation/get-collection-negotiations-list) gives a list of negotiation in the collection
          type: string
      required:
        - id
        - name
        - description
        - url
      title: Collection Information
      type: object
    NegotiationsNegotiationsSubCollection:
      allOf:
        - $ref: '#/components/schemas/NegotiationsObjectsSubCollections'
        - properties:
            counters:
              $ref: '#/components/schemas/NegotiationsObjectsEmployerCounters'
            order_types:
              items:
                $ref: '#/components/schemas/NegotiationsNegotiationsOrderTypes'
              type: array
          required:
            - order_types
          type: object
      title: Collection Information
      type: object
    NegotiationsObjectsSubCollections:
      properties:
        id:
          description: Sub-state Collection ID
          type: string
        name:
          description: Sub-state Collection name
          type: string
        root_collection:
          description: Mandatory sub-status collection attribute. The collection always contains only one mandatory sub-status collection
          type: boolean
        url:
          description: |
            URL, a [GET request to which](#tag/Employer-responsesinvitations/operation/get-collection-negotiations-list) gives a list of negotiation in the substate collection
          type: string
      required:
        - id
        - name
        - root_collection
        - url
      title: Sub-state Collection Information
      type: object
    NegotiationsApplicantNegotiationsResponse:
      allOf:
        - $ref: '#/components/schemas/NegotiationsListItems'
        - $ref: '#/components/schemas/_IncludesPagination'
      title: Successful response
    NegotiationsListItems:
      properties:
        items:
          description: Negotiation list
          items:
            $ref: '#/components/schemas/NegotiationsListItem'
          minItems: 0
          type: array
      required:
        - items
      title: Negotiation list
      type: object
    NegotiationsListItem:
      allOf:
        - $ref: '#/components/schemas/NegotiationsObjectsTopicItem'
        - properties:
            interview_review:
              allOf:
                - $ref: '#/components/schemas/_IncludesId'
            resume:
              description: Resume short view
              nullable: true
              oneOf:
                - $ref: '#/components/schemas/ResumeResumeNanoWithUrl'
                - $ref: '#/components/schemas/_IncludesNullableObject'
              type: object
            url:
              description: Link to the full version of the negotiation
              type: string
          required:
            - url
          type: object
      title: Negotiation
      type: object
    DictionariesDictResponse:
      description: Directories of fields and entities used in API
      properties:
        age_restriction:
          description: |
            Access to the vacancy from age 14 or 16. Used the `age_restriction` in vacancies and drafts
          items:
            $ref: '#/components/schemas/_IncludesIdName'
          title: Directory for vacancy fields
          type: array
        applicant_comment_access_type:
          description: Type of access to applicant comment
          items:
            $ref: '#/components/schemas/_IncludesIdName'
          title: Other directories
          type: array
        applicant_comments_order:
          description: 'Sorting type of the [applicant comment list](#tag/Applicant-comments/operation/get-applicant-comments-list)'
          items:
            $ref: '#/components/schemas/_IncludesIdName'
          title: Other directories
          type: array
        applicant_negotiation_status:
          description: Response/invite statuses
          items:
            $ref: '#/components/schemas/_IncludesIdName'
          title: Directory for applications and invitations
          type: array
        business_trip_readiness:
          description: Willingness to business trips
          items:
            $ref: '#/components/schemas/_IncludesIdName'
          title: Directory for fields used in CVs
          type: array
        currency:
          description: Currency directory
          items:
            $ref: '#/components/schemas/DictionariesCurrencyItem'
          title: Other directories
          type: array
        driver_license_types:
          description: Driver license types
          items:
            $ref: '#/components/schemas/_IncludesId'
          title: Directory for fields used in CVs
          type: array
        education_level:
          description: Education
          items:
            $ref: '#/components/schemas/_IncludesIdName'
          title: Directory for fields used in CVs
          type: array
        employer_active_vacancies_order:
          description: Sorting type of the published vacancy list
          items:
            $ref: '#/components/schemas/_IncludesIdName'
          title: Directory for sorting employer's vacancies
          type: array
        employer_archived_vacancies_order:
          description: Sorting type of the archived vacancy list
          items:
            $ref: '#/components/schemas/_IncludesIdName'
          title: Directory for sorting employer's vacancies
          type: array
        employer_hidden_vacancies_order:
          description: Sorting type of the hidden vacancy list
          items:
            $ref: '#/components/schemas/_IncludesIdName'
          title: Directory for sorting employer's vacancies
          type: array
        employer_relation:
          description: Methods of contacting applicants
          items:
            $ref: '#/components/schemas/_IncludesIdName'
          title: Other directories
          type: array
        employer_type:
          description: Employer type
          items:
            $ref: '#/components/schemas/_IncludesIdName'
          title: Other directories
          type: array
        employment:
          description: Employment type
          items:
            $ref: '#/components/schemas/_IncludesIdName'
          title: Directory for vacancy fields
          type: array
        employment_form:
          description: |
            Employment type. Used the `employment_form` in vacancies and drafts
          items:
            $ref: '#/components/schemas/_IncludesIdName'
          title: Directory for vacancy fields
          type: array
        experience:
          description: Work experience
          items:
            $ref: '#/components/schemas/_IncludesIdName'
          title: Directory for vacancy fields
          type: array
        fly_in_fly_out_duration:
          description: Fly in fly out duration. Used for the fly_in_fly_out_duration field in vacancies and drafts
          items:
            $ref: '#/components/schemas/_IncludesIdName'
          title: Directory for vacancy fields
          type: array
        gender:
          description: Gender
          items:
            $ref: '#/components/schemas/_IncludesIdName'
          title: Directory for fields used in CVs
          type: array
        job_search_statuses_applicant:
          description: Applicant job search statuses for changing or displaying to applicant himself
          items:
            $ref: '#/components/schemas/_IncludesIdName'
          title: Other directories
          type: array
        job_search_statuses_employer:
          description: Applicant job search statuses for displaying to employer
          items:
            $ref: '#/components/schemas/_IncludesIdName'
          title: Other directories
          type: array
        language_level:
          description: Language level
          items:
            $ref: '#/components/schemas/_IncludesIdName'
          title: Directory for fields used in CVs
          type: array
        messaging_status:
          description: Status of the message sending possibility in messaging
          items:
            $ref: '#/components/schemas/_IncludesIdName'
          title: Directory for applications and invitations
          type: array
        negotiations_order:
          description: Application display order types
          items:
            $ref: '#/components/schemas/_IncludesIdName'
          title: Directory for applications and invitations
          type: array
        negotiations_participant_type:
          description: Types of messaging participants
          items:
            $ref: '#/components/schemas/_IncludesIdName'
          title: Directory for applications and invitations
          type: array
        negotiations_state:
          description: Application state types
          items:
            $ref: '#/components/schemas/_IncludesIdName'
          title: Directory for applications and invitations
          type: array
        phone_call_status:
          description: Status of the phone call in call-tracking system
          items:
            $ref: '#/components/schemas/_IncludesIdName'
          title: Other directories
          type: array
        preferred_contact_type:
          description: Preferred method of communication
          items:
            $ref: '#/components/schemas/_IncludesIdName'
          title: Directory for fields used in CVs
          type: array
        relocation_type:
          description: Willingness to relocate
          items:
            $ref: '#/components/schemas/_IncludesIdName'
          title: Directory for fields used in CVs
          type: array
        resume_access_type:
          description: CV access level
          items:
            $ref: '#/components/schemas/_IncludesIdName'
          title: Directory for fields used in CVs
          type: array
        resume_contacts_site_type:
          description: Website type in the "contacts" field
          items:
            $ref: '#/components/schemas/_IncludesIdName'
          title: Directory for fields used in CVs
          type: array
        resume_employment_form:
          description: |
            Employment type. Used the `employment_form` field of the resume
          items:
            $ref: '#/components/schemas/_IncludesIdName'
          title: Directory for resume fields
          type: array
        resume_hidden_fields:
          description: 'Resume fields that can be [hidden](#tag/Resume-view/operation/get-resume) (''hidden_fields'' attribute)'
          items:
            $ref: '#/components/schemas/_IncludesIdName'
          title: Directory for fields used in CVs
          type: array
        resume_moderation_note:
          description: Moderator's comment
          items:
            $ref: '#/components/schemas/_IncludesIdName'
          title: Directory for fields used in CVs
          type: array
        resume_search_experience_period:
          description: Search term by work experience
          items:
            $ref: '#/components/schemas/_IncludesIdName'
          title: Directory for resume search parameters
          type: array
        resume_search_fields:
          description: Search area in resume
          items:
            $ref: '#/components/schemas/_IncludesIdName'
          title: Directory for resume search parameters
          type: array
        resume_search_label:
          description: Resume search tags
          items:
            $ref: '#/components/schemas/_IncludesIdName'
          title: Directory for resume search parameters
          type: array
        resume_search_logic:
          description: Resume search term
          items:
            $ref: '#/components/schemas/_IncludesIdName'
          title: Directory for resume search parameters
          type: array
        resume_search_order:
          description: Resume sorting type
          items:
            $ref: '#/components/schemas/_IncludesIdName'
          title: Directory for resume search parameters
          type: array
        resume_search_relocation:
          description: Search condition for residence in the region and readiness to move
          items:
            $ref: '#/components/schemas/_IncludesIdName'
          title: Directory for resume search parameters
          type: array
        resume_status:
          description: CV status
          items:
            $ref: '#/components/schemas/_IncludesIdName'
          title: Directory for fields used in CVs
          type: array
        resume_work_format:
          description: |
            Work format. Used for the `work_format` field of the resume
          items:
            $ref: '#/components/schemas/_IncludesIdName'
          title: Directory for resume fields
          type: array
        schedule:
          description: Work schedule
          items:
            $ref: '#/components/schemas/_IncludesIdNameUid'
          title: Directory for vacancy fields
          type: array
        travel_time:
          description: Travel time to work
          items:
            $ref: '#/components/schemas/_IncludesIdName'
          title: Directory for fields used in CVs
          type: array
        vacancy_billing_type:
          description: Vacancy placement options in terms of billing
          items:
            $ref: '#/components/schemas/_IncludesIdName'
          title: Directory for vacancy fields
          type: array
        vacancy_cluster:
          description: Cluster type
          items:
            $ref: '#/components/schemas/_IncludesIdName'
          title: Directory for vacancy search parameters
          type: array
        vacancy_label:
          description: Vacancy tags
          items:
            $ref: '#/components/schemas/_IncludesIdName'
          title: Directory for vacancy fields
          type: array
        vacancy_not_prolonged_reason:
          description: 'The reasons why [prolongation](#tag/Vacancy-management/operation/get-prolongation-vacancy-info) is not available'
          items:
            $ref: '#/components/schemas/_IncludesIdName'
          title: Other directories
          type: array
        vacancy_relation:
          description: Types of vacancy connection to the user
          items:
            $ref: '#/components/schemas/_IncludesIdName'
          title: Directory for vacancy fields
          type: array
        vacancy_search_fields:
          description: Search area in vacancy
          items:
            $ref: '#/components/schemas/_IncludesIdName'
          title: Directory for vacancy search parameters
          type: array
        vacancy_search_order:
          description: Vacancy sorting type
          items:
            $ref: '#/components/schemas/_IncludesIdName'
          title: Directory for vacancy search parameters
          type: array
        vacancy_type:
          description: Vacancy type
          items:
            $ref: '#/components/schemas/_IncludesIdName'
          title: Directory for vacancy fields
          type: array
        work_format:
          description: |
            Work format. Used for the `work_format` field in vacancies and drafts
          items:
            $ref: '#/components/schemas/_IncludesIdName'
          title: Directory for vacancy fields
          type: array
        work_schedule_by_days:
          description: |
            Work schedule by days. Used for the `work_schedule_by_days` field in vacancies and drafts
          items:
            $ref: '#/components/schemas/_IncludesIdName'
          title: Directory for vacancy fields
          type: array
        working_days:
          description: Working days
          items:
            $ref: '#/components/schemas/_IncludesIdName'
          title: Directory for vacancy fields
          type: array
        working_hours:
          description: |
            Working hours by day. Used for the `working_hours` field in vacancies and drafts
          items:
            $ref: '#/components/schemas/_IncludesIdName'
          title: Directory for vacancy fields
          type: array
        working_time_intervals:
          description: Working time intervals
          items:
            $ref: '#/components/schemas/_IncludesIdName'
          title: Directory for vacancy fields
          type: array
        working_time_modes:
          description: Working time modes
          items:
            $ref: '#/components/schemas/_IncludesIdName'
          title: Directory for vacancy fields
          type: array
      required:
        - education_level
        - gender
        - language_level
        - preferred_contact_type
        - relocation_type
        - travel_time
        - resume_access_type
        - business_trip_readiness
        - resume_contacts_site_type
        - resume_status
        - resume_moderation_note
        - driver_license_types
        - resume_hidden_fields
        - employment
        - experience
        - schedule
        - vacancy_type
        - vacancy_label
        - vacancy_relation
        - vacancy_billing_type
        - working_days
        - working_time_intervals
        - working_time_modes
        - vacancy_search_fields
        - vacancy_search_order
        - vacancy_cluster
        - employer_active_vacancies_order
        - employer_archived_vacancies_order
        - negotiations_order
        - negotiations_state
        - messaging_status
        - negotiations_participant_type
        - applicant_negotiation_status
        - currency
        - employer_type
        - employer_relation
        - vacancy_not_prolonged_reason
        - applicant_comments_order
        - applicant_comment_access_type
        - phone_call_status
        - job_search_statuses_applicant
        - job_search_statuses_employer
        - resume_employment_form
        - resume_work_format
      title: Resume fields directories
      type: object
    DictionariesCurrencyItem:
      properties:
        abbr:
          description: Short designation
          type: string
        code:
          description: Code
          type: string
        default:
          description: Is it used as default currency?
          type: boolean
        in_use:
          description: Can it be used on this host?
          type: boolean
        name:
          description: Name
          type: string
        rate:
          description: Course against ruble
          type: number
      required:
        - code
        - abbr
        - name
        - default
        - rate
        - in_use
      title: Currency
      type: object
    _IncludesIdNameUid:
      allOf:
        - $ref: '#/components/schemas/_IncludesIdName'
        - properties:
            uid:
              description: Universal ID
              type: string
          required:
            - uid
          type: object
      title: 'Object with ID, name, and Universal ID'
      type: object
    DictionariesDistrictsResponse:
      items:
        $ref: '#/components/schemas/DictionariesDistrictItem'
      title: List of all districts in all cities
      type: array
    DictionariesDistrictItem:
      properties:
        area_id:
          description: 'Area [identifier](#tag/Public-directories/operation/get-areas)'
          type: string
        id:
          description: District identifier
          type: string
        name:
          description: District name
          type: string
      required:
        - id
        - name
        - area_id
      title: City
    ErrorsNegotiationHideResponseForbiddenErrors:
      anyOf:
        - $ref: '#/components/schemas/ErrorsCommonBadAuthorizationErrors'
        - $ref: '#/components/schemas/ErrorsNegotiationHideResponseErrors'
      title: Errors
    WebhookSubscriptionCreate:
      allOf:
        - $ref: '#/components/schemas/WebhookSubscriptionCommonItem'
        - properties: {}
          type: object
      title: Subscription object
    ErrorsCommonBadAuthorizationBadParameters:
      oneOf:
        - $ref: '#/components/schemas/ErrorsCommonBadAuthorizationInvalidRequestError'
        - $ref: '#/components/schemas/ErrorsCommonBadAuthorizationInvalidClientError'
        - $ref: '#/components/schemas/ErrorsCommonBadAuthorizationInvalidGrantError'
        - $ref: '#/components/schemas/ErrorsCommonBadAuthorizationUnsupportedGrantTypeError'
      title: Request parameters contain errors
    ErrorsCommonBadAuthorizationInvalidClientError:
      properties:
        error:
          description: |
            Error type ID, values used are described in [RFC 6749](http://tools.ietf.org/html/rfc6749#section-5.2)
          enum:
            - invalid_client
            - forbidden
          example: invalid_client
          type: string
        error_description:
          description: |
            Additional error description
            * `client_id or client_secret not found` The error may occur if this `client_id` is not found or has been deleted, an incorrect `client_secret` is passed
          enum:
            - client_id or client_secret not found
            - app token refresh too early
          example: client_id or client_secret not found
          type: string
      required:
        - error
        - error_description
      title: Invalid_client
      type: object
    ErrorsCommonBadAuthorizationInvalidRequestError:
      properties:
        error:
          description: |
            Error type ID, values used are described in [RFC 6749](http://tools.ietf.org/html/rfc6749#section-5.2)
          enum:
            - invalid_request
          example: invalid_request
          type: string
        error_description:
          description: |
            Additional error description
            * `account not found` The error may appear if an incorrect `client_id` and `client_secret` pair is passed
            * `account is locked` User account is locked. The user should contact the website support service
            * `password invalidated` User account password is out of date. The user should reset the password on `https://hh.ru`
            * `login not verified` User account is not verified. The user should contact the website support service
            * `bad redirect url` invalid `redirect_url` is passed
            * `token is empty` The `refresh_token` not passed
            * `token not found` invalid `refresh_token` is passed
            * `code not found ` the `authorization_code` not found
          enum:
            - account not found
            - account is locked
            - password invalidated
            - login not verified
            - bad redirect url
            - token is empty
            - token not found
            - code not found
          example: account not found
          type: string
      required:
        - error
        - error_description
      title: Invalid_request
      type: object
    ErrorsCommonBadAuthorizationInvalidGrantError:
      properties:
        error:
          description: |
            Error type ID, values used are described in [RFC 6749](http://tools.ietf.org/html/rfc6749#section-5.2)
          enum:
            - invalid_grant
          example: invalid_grant
          type: string
        error_description:
          description: |
            Additional error description
            * `token has already been refreshed` The error occurs when trying to re-use the refresh token
            * `token not expired` The error occurs when trying to update a valid access token. an access token can be updated only after expiration
            * `token was revoked` Token was revoked. For example, a token is revoked if the password has expired
            * `bad token ` An invalid token value was passed
            * `code has already been used` `authorization_code` has already been used (it can only be used once)
            * `code expired` `authorization_code` has expired
            * `code was revoke` `authorization_code` was revoked (if the password has expired)
            * `token deactivated ` The token was deactivated.. The token is deactivated if the user has changed the password
          enum:
            - token has already been refreshed
            - token not expired
            - token was revoked
            - bad token
            - code has already been used
            - code expired
            - code was revoke
            - token deactivated
          example: token not expired
          type: string
      required:
        - error
        - error_description
      title: Invalid_grant
      type: object
    ErrorsCommonBadAuthorizationUnsupportedGrantTypeError:
      properties:
        error:
          description: |
            Error type ID, see the following document for values [RFC 6749](http://tools.ietf.org/html/rfc6749#section-5.2)
          enum:
            - unsupported_grant_type
          example: unsupported_grant_type
          type: string
        error_description:
          description: |
            Additional error description
            * `unsupported grant_type` Occurs if invalid value is passed in the following field `grant_type`
          enum:
            - unsupported grant_type
          example: unsupported grant_type
          type: string
      required:
        - error
        - error_description
      title: Unsupported_grant_type
      type: object
    ResumesAccessTypes:
      properties:
        auto_hide_time_options:
          description: Resume auto hide by user inactivity time options. This field is only available for rabota.by users
          items:
            $ref: '#/components/schemas/ResumesAutoHideTimeOptions'
          nullable: true
          type: array
        items:
          description: Available resume visibility types
          items:
            $ref: '#/components/schemas/ResumesAccessTypesItem'
          type: array
      required:
        - items
      title: Resume visibility types
      type: object
    ResumesAutoHideTimeOptions:
      properties:
        active:
          description: Whether the auto hide option is selected
          nullable: true
          type: boolean
        id:
          description: Auto hide option ID
          type: string
        name:
          description: Auto hide option name
          type: string
      required:
        - id
        - name
      title: Auto hide option
      type: object
    ResumesAccessTypesItem:
      properties:
        active:
          description: Whether the visibility type is selected
          nullable: true
          type: boolean
        id:
          description: Visibility type ID
          type: string
        limit:
          description: Maximum number of companies in the visibility list. Returns only for `blacklist` and `whitelist` types
          nullable: true
          type: number
        list_url:
          description: URL of address list. Returns only for `blacklist` and `whitelist` types
          nullable: true
          type: string
        name:
          description: Visibility type name
          type: string
        total:
          description: Number of companies in the corresponding visibility list. Returns only for `blacklist` and `whitelist` types
          nullable: true
          type: number
      required:
        - id
        - name
      title: Visibility type
      type: object
    ResumesResumeViewHistoryResponse:
      allOf:
        - $ref: '#/components/schemas/_IncludesPagination'
          type: object
        - $ref: '#/components/schemas/ResumesResumeViewHistory'
          type: object
      title: Resume viewing history
      type: object
    ResumesResumeViewHistory:
      properties:
        items:
          description: List of resume views
          items:
            $ref: '#/components/schemas/ResumesResumeViewHistoryItem'
          type: array
        resume:
          allOf:
            - $ref: '#/components/schemas/ResumeResumeNano'
            - $ref: '#/components/schemas/_IncludesUrl'
          description: Resume abstract
          type: object
      required:
        - items
        - resume
      title: Resume view history
      type: object
    ResumesResumeViewHistoryItem:
      properties:
        created_at:
          description: Creation date (date when employer viewed the resume)
          type: string
        employer:
          anyOf:
            - $ref: '#/components/schemas/EmployersEmployerItemShort'
            - $ref: '#/components/schemas/_IncludesName'
          description: |
            Company info.

            If the resume is viewed by an anonymous employer or from applications to an anonymous vacancy, the object contains only the `name` field
          type: object
        viewed:
          description: Whether the resume is viewed
          type: boolean
      required:
        - created_at
        - viewed
        - employer
      title: Information about resume views
      type: object
    _IncludesName:
      properties:
        name:
          description: Name
          type: string
      required:
        - name
      title: Name
      type: object
    ResumesResumeVisibilityListSearchResponse:
      allOf:
        - $ref: '#/components/schemas/_IncludesPagination'
          type: object
        - $ref: '#/components/schemas/ResumesResumeVisibilityListSearchProperties'
          type: object
      title: Employers found
      type: object
    ResumesResumeVisibilityListSearchProperties:
      properties:
        items:
          description: List of employers
          items:
            allOf:
              - $ref: '#/components/schemas/ResumesGetResumeVisibilityListItem'
              - $ref: '#/components/schemas/ResumesSelectedObject'
          type: array
      required:
        - items
      title: Resume visibility list
      type: object
    ResumesSelectedObject:
      properties:
        selected:
          description: Whether the employer is in resume visibility list
          type: boolean
      required:
        - selected
      title: Employer presence in resume visibility list
      type: object
    VacanciesVacancyConditions:
      additionalProperties: true
      description: 'Conditions for filling out fields when [publishing vacancies](#tag/Vacancy-management/operation/publish-vacancy)'
      properties:
        accept_handicapped:
          nullable: true
          oneOf:
            - $ref: '#/components/schemas/_IncludesNullableObject'
            - $ref: '#/components/schemas/VacanciesVacancyConditionFieldsRequiredWithTitle'
          type: object
        accept_incomplete_resumes:
          nullable: true
          oneOf:
            - $ref: '#/components/schemas/_IncludesNullableObject'
            - $ref: '#/components/schemas/VacanciesVacancyConditionFieldsRequiredWithTitle'
          type: object
        accept_kids:
          nullable: true
          oneOf:
            - $ref: '#/components/schemas/_IncludesNullableObject'
            - $ref: '#/components/schemas/VacanciesVacancyConditionFieldsRequiredWithTitle'
          type: object
        accept_temporary:
          nullable: true
          oneOf:
            - $ref: '#/components/schemas/_IncludesNullableObject'
            - $ref: '#/components/schemas/VacanciesVacancyConditionFieldsRequiredWithTitle'
          type: object
        address:
          nullable: true
          oneOf:
            - $ref: '#/components/schemas/_IncludesNullableObject'
            - $ref: '#/components/schemas/VacanciesVacancyConditionFieldsAddressCondition'
          type: object
        allow_messages:
          nullable: true
          oneOf:
            - $ref: '#/components/schemas/_IncludesNullableObject'
            - $ref: '#/components/schemas/VacanciesVacancyConditionFieldsRequiredWithTitle'
          type: object
        area:
          nullable: true
          oneOf:
            - $ref: '#/components/schemas/_IncludesNullableObject'
            - $ref: '#/components/schemas/VacanciesVacancyConditionFieldsRequiredWithTitle'
          type: object
        billing_type:
          nullable: true
          oneOf:
            - $ref: '#/components/schemas/_IncludesNullableObject'
            - $ref: '#/components/schemas/VacanciesVacancyConditionFieldsRequiredWithTitle'
          type: object
        branded_template:
          nullable: true
          oneOf:
            - $ref: '#/components/schemas/_IncludesNullableObject'
            - $ref: '#/components/schemas/VacanciesVacancyConditionFieldsRequiredLengthWithTitle'
          type: object
        code:
          nullable: true
          oneOf:
            - $ref: '#/components/schemas/_IncludesNullableObject'
            - $ref: '#/components/schemas/VacanciesVacancyConditionFieldsRequiredLengthWithTitle'
          type: object
        contacts:
          nullable: true
          oneOf:
            - $ref: '#/components/schemas/_IncludesNullableObject'
            - $ref: '#/components/schemas/VacanciesVacancyConditionFieldsContactsCondition'
          type: object
        custom_employer_name:
          nullable: true
          oneOf:
            - $ref: '#/components/schemas/_IncludesNullableObject'
            - $ref: '#/components/schemas/VacanciesVacancyConditionFieldsRequiredLengthWithTitle'
          type: object
        department:
          nullable: true
          oneOf:
            - $ref: '#/components/schemas/_IncludesNullableObject'
            - $ref: '#/components/schemas/VacanciesVacancyConditionFieldsRequiredLengthWithTitle'
          type: object
        description:
          nullable: true
          oneOf:
            - $ref: '#/components/schemas/_IncludesNullableObject'
            - $ref: '#/components/schemas/VacanciesVacancyConditionFieldsRequiredLengthWithTitle'
          type: object
        driver_license_types:
          nullable: true
          oneOf:
            - $ref: '#/components/schemas/_IncludesNullableObject'
            - $ref: '#/components/schemas/VacanciesVacancyConditionFieldsRequiredCountWithTitle'
          type: object
        employment:
          deprecated: true
          nullable: true
          oneOf:
            - $ref: '#/components/schemas/_IncludesNullableObject'
            - $ref: '#/components/schemas/VacanciesVacancyConditionFieldsRequiredWithTitle'
          type: object
        employment_form:
          nullable: true
          oneOf:
            - $ref: '#/components/schemas/_IncludesNullableObject'
            - $ref: '#/components/schemas/VacanciesVacancyConditionFieldsRequiredWithTitle'
          type: object
        experience:
          nullable: true
          oneOf:
            - $ref: '#/components/schemas/_IncludesNullableObject'
            - $ref: '#/components/schemas/VacanciesVacancyConditionFieldsRequiredWithTitle'
          type: object
        fly_in_fly_out_duration:
          deprecated: true
          nullable: true
          oneOf:
            - $ref: '#/components/schemas/_IncludesNullableObject'
            - $ref: '#/components/schemas/VacanciesVacancyConditionFieldsRequiredCountWithTitle'
          type: object
        key_skills:
          nullable: true
          oneOf:
            - $ref: '#/components/schemas/_IncludesNullableObject'
            - $ref: '#/components/schemas/VacanciesVacancyConditionFieldsRequiredCountWithTitle'
          type: object
        languages:
          nullable: true
          oneOf:
            - $ref: '#/components/schemas/_IncludesNullableObject'
            - $ref: '#/components/schemas/VacanciesVacancyConditionFieldsRequiredCountWithTitle'
          type: object
        manager:
          nullable: true
          oneOf:
            - $ref: '#/components/schemas/_IncludesNullableObject'
            - $ref: '#/components/schemas/VacanciesVacancyConditionFieldsRequiredWithTitle'
          type: object
        name:
          nullable: true
          oneOf:
            - $ref: '#/components/schemas/_IncludesNullableObject'
            - $ref: '#/components/schemas/VacanciesVacancyConditionFieldsRequiredLengthWithTitle'
          type: object
        professional_roles:
          nullable: true
          oneOf:
            - $ref: '#/components/schemas/_IncludesNullableObject'
            - $ref: '#/components/schemas/VacanciesVacancyConditionFieldsRequiredCountWithTitle'
          type: object
        response_letter_required:
          nullable: true
          oneOf:
            - $ref: '#/components/schemas/_IncludesNullableObject'
            - $ref: '#/components/schemas/VacanciesVacancyConditionFieldsRequiredWithTitle'
          type: object
        response_notifications:
          nullable: true
          oneOf:
            - $ref: '#/components/schemas/_IncludesNullableObject'
            - $ref: '#/components/schemas/VacanciesVacancyConditionFieldsRequiredWithTitle'
          type: object
        response_url:
          nullable: true
          oneOf:
            - $ref: '#/components/schemas/_IncludesNullableObject'
            - $ref: '#/components/schemas/VacanciesVacancyConditionFieldsResponseUrlCondition'
          type: object
        salary:
          deprecated: true
          nullable: true
          oneOf:
            - $ref: '#/components/schemas/_IncludesNullableObject'
            - $ref: '#/components/schemas/VacanciesVacancyConditionFieldsSalaryCondition'
          type: object
        salary_range:
          nullable: true
          oneOf:
            - $ref: '#/components/schemas/_IncludesNullableObject'
            - $ref: '#/components/schemas/VacanciesVacancyConditionFieldsSalaryRangeCondition'
          type: object
        schedule:
          deprecated: true
          nullable: true
          oneOf:
            - $ref: '#/components/schemas/_IncludesNullableObject'
            - $ref: '#/components/schemas/VacanciesVacancyConditionFieldsRequiredWithTitle'
          type: object
        test:
          nullable: true
          oneOf:
            - $ref: '#/components/schemas/_IncludesNullableObject'
            - $ref: '#/components/schemas/VacanciesVacancyConditionFieldsTestCondition'
          type: object
        type:
          nullable: true
          oneOf:
            - $ref: '#/components/schemas/_IncludesNullableObject'
            - $ref: '#/components/schemas/VacanciesVacancyConditionFieldsRequiredWithTitle'
          type: object
        work_format:
          deprecated: true
          nullable: true
          oneOf:
            - $ref: '#/components/schemas/_IncludesNullableObject'
            - $ref: '#/components/schemas/VacanciesVacancyConditionFieldsRequiredCountWithTitle'
          type: object
        work_schedule_by_days:
          deprecated: true
          nullable: true
          oneOf:
            - $ref: '#/components/schemas/_IncludesNullableObject'
            - $ref: '#/components/schemas/VacanciesVacancyConditionFieldsRequiredCountWithTitle'
          type: object
        working_days:
          deprecated: true
          nullable: true
          oneOf:
            - $ref: '#/components/schemas/_IncludesNullableObject'
            - $ref: '#/components/schemas/VacanciesVacancyConditionFieldsRequiredCountWithTitle'
          type: object
        working_hours:
          deprecated: true
          nullable: true
          oneOf:
            - $ref: '#/components/schemas/_IncludesNullableObject'
            - $ref: '#/components/schemas/VacanciesVacancyConditionFieldsRequiredCountWithTitle'
          type: object
        working_time_intervals:
          deprecated: true
          nullable: true
          oneOf:
            - $ref: '#/components/schemas/_IncludesNullableObject'
            - $ref: '#/components/schemas/VacanciesVacancyConditionFieldsRequiredCountWithTitle'
          type: object
        working_time_modes:
          deprecated: true
          nullable: true
          oneOf:
            - $ref: '#/components/schemas/_IncludesNullableObject'
            - $ref: '#/components/schemas/VacanciesVacancyConditionFieldsRequiredCountWithTitle'
          type: object
      title: Conditions for filling out fields
      type: object
    VacanciesVacancyConditionFieldsRequiredCountWithTitle:
      allOf:
        - $ref: '#/components/schemas/VacanciesVacancyConditionFieldsMaxMinCount'
        - $ref: '#/components/schemas/VacanciesVacancyConditionFieldsRequired'
      title: Conditions for a field
      type: object
    VacanciesVacancyConditionFieldsMaxMinCount:
      properties:
        max_count:
          description: 'Maximum number of objects for fields with lists. If `null`, the number is not limited'
          type: number
        min_count:
          description: Minimum number of objects for fields with lists
          type: number
      title: Quantity conditions for fields
      type: object
    VacanciesVacancyConditionFieldsRequired:
      properties:
        required:
          description: Is the field necessary?
          nullable: true
          type: boolean
      title: Necessity of the field
      type: object
    VacanciesVacancyConditionFieldsTestCondition:
      allOf:
        - $ref: '#/components/schemas/VacanciesVacancyConditionFieldsRequiredWithTitle'
        - properties:
            fields:
              $ref: '#/components/schemas/VacanciesVacancyConditionFieldsTestFields'
          type: object
      title: Test conditions
      type: object
    VacanciesVacancyConditionFieldsTestFields:
      nullable: true
      properties:
        required:
          nullable: true
          oneOf:
            - $ref: '#/components/schemas/_IncludesNullableObject'
            - $ref: '#/components/schemas/VacanciesVacancyConditionFieldsRequired'
          type: object
      title: Conditions for fields
      type: object
    VacanciesVacancyConditionFieldsRequiredWithTitle:
      properties:
        required:
          description: Is the field necessary?
          nullable: true
          type: boolean
      title: Conditions for a field
      type: object
    VacanciesVacancyConditionFieldsAddressCondition:
      allOf:
        - $ref: '#/components/schemas/VacanciesVacancyConditionFieldsRequiredWithTitle'
        - properties:
            fields:
              $ref: '#/components/schemas/VacanciesVacancyConditionFieldsAddressFields'
          type: object
      title: Address conditions
      type: object
    VacanciesVacancyConditionFieldsAddressFields:
      nullable: true
      properties:
        show_metro_only:
          nullable: true
          oneOf:
            - $ref: '#/components/schemas/_IncludesNullableObject'
            - $ref: '#/components/schemas/VacanciesVacancyConditionFieldsRequired'
          type: object
      title: Conditions for fields
      type: object
    VacanciesVacancyConditionFieldsSalaryRangeCondition:
      allOf:
        - $ref: '#/components/schemas/VacanciesVacancyConditionFieldsRequiredWithTitle'
        - properties:
            fields:
              $ref: '#/components/schemas/VacanciesVacancyConditionFieldsSalaryRangeFields'
          type: object
      title: Условия заполнения зарплаты
      type: object
    VacanciesVacancyConditionFieldsSalaryRangeFields:
      nullable: true
      properties:
        currency:
          nullable: true
          oneOf:
            - $ref: '#/components/schemas/_IncludesNullableObject'
            - $ref: '#/components/schemas/VacanciesVacancyConditionFieldsRequiredWithTitle'
          type: object
        frequency:
          nullable: true
          oneOf:
            - $ref: '#/components/schemas/_IncludesNullableObject'
            - $ref: '#/components/schemas/VacanciesVacancyConditionFieldsRequiredWithTitle'
          type: object
        from:
          nullable: true
          oneOf:
            - $ref: '#/components/schemas/_IncludesNullableObject'
            - $ref: '#/components/schemas/VacanciesVacancyConditionFieldsRequiredValueWithTitle'
          type: object
        gross:
          nullable: true
          oneOf:
            - $ref: '#/components/schemas/_IncludesNullableObject'
            - $ref: '#/components/schemas/VacanciesVacancyConditionFieldsRequiredWithTitle'
          type: object
        mode:
          nullable: true
          oneOf:
            - $ref: '#/components/schemas/_IncludesNullableObject'
            - $ref: '#/components/schemas/VacanciesVacancyConditionFieldsRequiredWithTitle'
          type: object
        to:
          nullable: true
          oneOf:
            - $ref: '#/components/schemas/_IncludesNullableObject'
            - $ref: '#/components/schemas/VacanciesVacancyConditionFieldsRequiredValueWithTitle'
          type: object
      title: Условия для полей
      type: object
    VacanciesVacancyConditionFieldsRequiredValueWithTitle:
      allOf:
        - $ref: '#/components/schemas/VacanciesVacancyConditionFieldsMaxMinValue'
        - $ref: '#/components/schemas/VacanciesVacancyConditionFieldsRequired'
      title: Conditions for a field
      type: object
    VacanciesVacancyConditionFieldsMaxMinValue:
      properties:
        max_value:
          description: Maximum value
          nullable: true
          type: number
        min_value:
          description: Minimum value
          nullable: true
          type: number
      title: Numeric field values
      type: object
    VacanciesVacancyConditionFieldsSalaryCondition:
      allOf:
        - $ref: '#/components/schemas/VacanciesVacancyConditionFieldsRequiredWithTitle'
        - properties:
            fields:
              $ref: '#/components/schemas/VacanciesVacancyConditionFieldsSalaryFields'
          type: object
      title: Salary conditions
      type: object
    VacanciesVacancyConditionFieldsSalaryFields:
      nullable: true
      properties:
        currency:
          nullable: true
          oneOf:
            - $ref: '#/components/schemas/_IncludesNullableObject'
            - $ref: '#/components/schemas/VacanciesVacancyConditionFieldsRequiredWithTitle'
          type: object
        from:
          nullable: true
          oneOf:
            - $ref: '#/components/schemas/_IncludesNullableObject'
            - $ref: '#/components/schemas/VacanciesVacancyConditionFieldsRequiredValueWithTitle'
          type: object
        gross:
          nullable: true
          oneOf:
            - $ref: '#/components/schemas/_IncludesNullableObject'
            - $ref: '#/components/schemas/VacanciesVacancyConditionFieldsRequiredWithTitle'
          type: object
        to:
          nullable: true
          oneOf:
            - $ref: '#/components/schemas/_IncludesNullableObject'
            - $ref: '#/components/schemas/VacanciesVacancyConditionFieldsRequiredValueWithTitle'
          type: object
      title: Conditions for fields
      type: object
    VacanciesVacancyConditionFieldsRequiredLengthWithTitle:
      allOf:
        - $ref: '#/components/schemas/VacanciesVacancyConditionFieldsMaxMinLength'
        - $ref: '#/components/schemas/VacanciesVacancyConditionFieldsRequired'
      title: Conditions for a field
      type: object
    VacanciesVacancyConditionFieldsMaxMinLength:
      properties:
        max_length:
          description: Maximum length for text fields
          nullable: true
          type: number
        min_length:
          description: Minimum length for text fields
          nullable: true
          type: number
      title: Text fields length
      type: object
    VacanciesVacancyConditionFieldsResponseUrlCondition:
      allOf:
        - $ref: '#/components/schemas/VacanciesVacancyConditionFieldsRequiredLengthWithTitle'
        - $ref: '#/components/schemas/VacanciesVacancyConditionFieldsRegexp'
      title: Url conditions
      type: object
    VacanciesVacancyConditionFieldsRegexp:
      properties:
        regexp:
          description: Regular expression for which the field value must satisfy
          nullable: true
          type: string
      title: Regular expression for which the field value must satisfy
      type: object
    VacanciesVacancyConditionFieldsContactsCondition:
      allOf:
        - $ref: '#/components/schemas/VacanciesVacancyConditionFieldsRequiredWithTitle'
        - properties:
            fields:
              $ref: '#/components/schemas/VacanciesVacancyConditionFieldsContactFields'
          type: object
      title: Contacts conditions
      type: object
    VacanciesVacancyConditionFieldsContactFields:
      nullable: true
      properties:
        email:
          nullable: true
          oneOf:
            - $ref: '#/components/schemas/_IncludesNullableObject'
            - $ref: '#/components/schemas/VacanciesVacancyConditionFieldsRequiredLengthWithTitle'
          type: object
        name:
          nullable: true
          oneOf:
            - $ref: '#/components/schemas/_IncludesNullableObject'
            - $ref: '#/components/schemas/VacanciesVacancyConditionFieldsRequiredLengthWithTitle'
          type: object
        phones:
          nullable: true
          oneOf:
            - $ref: '#/components/schemas/_IncludesNullableObject'
            - $ref: '#/components/schemas/VacanciesVacancyConditionFieldsPhoneCondition'
          type: object
      title: Conditions for fields
      type: object
    VacanciesVacancyConditionFieldsPhoneCondition:
      allOf:
        - $ref: '#/components/schemas/VacanciesVacancyConditionFieldsRequiredCountWithTitle'
        - properties:
            fields:
              $ref: '#/components/schemas/VacanciesVacancyConditionFieldsPhoneFields'
          type: object
      title: Phone conditions
      type: object
    VacanciesVacancyConditionFieldsPhoneFields:
      nullable: true
      properties:
        comment:
          nullable: true
          oneOf:
            - $ref: '#/components/schemas/_IncludesNullableObject'
            - $ref: '#/components/schemas/VacanciesVacancyConditionFieldsRequiredLengthWithTitle'
          type: object
        number:
          nullable: true
          oneOf:
            - $ref: '#/components/schemas/_IncludesNullableObject'
            - $ref: '#/components/schemas/VacanciesVacancyConditionFieldsNumberCondition'
          type: object
      title: Conditions for fields
      type: object
    VacanciesVacancyConditionFieldsNumberCondition:
      allOf:
        - $ref: '#/components/schemas/VacanciesVacancyConditionFieldsRequiredLengthWithTitle'
        - $ref: '#/components/schemas/VacanciesVacancyConditionFieldsRegexp'
      title: Number conditions
      type: object
    ResumesMineResponse:
      allOf:
        - $ref: '#/components/schemas/_IncludesPagination'
          type: object
        - $ref: '#/components/schemas/ResumesMineItems'
          type: object
      title: List of the current user's resumes
      type: object
    ResumesMineItems:
      properties:
        items:
          description: List of the current user's resumes
          items:
            $ref: '#/components/schemas/ResumesMineItem'
          minItems: 0
          type: array
      required:
        - items
      title: List of resumes
      type: object
    ResumesMineItem:
      allOf:
        - $ref: '#/components/schemas/ResumeResumeShortForOwner'
        - $ref: '#/components/schemas/ResumeResumeEmploymentTerms'
        - $ref: '#/components/schemas/ResumeStatus'
        - $ref: '#/components/schemas/ResumeApplicantFields'
        - properties:
            contact:
              description: Applicant contact list
              items:
                $ref: '#/components/schemas/_IncludesContact'
              type: array
            created:
              deprecated: true
              description: Date and time the resume was created
              type: string
            similar_vacancies:
              $ref: '#/components/schemas/ResumeObjectsSimilarVacancies'
            tags:
              description: Resume tags
              items:
                $ref: '#/components/schemas/_IncludesId'
              type: array
            updated:
              deprecated: true
              description: Date and time the resume was updated
              type: string
            visible:
              deprecated: true
              description: Whether the resume is visible in the search
              type: boolean
          required:
            - visible
            - created
            - updated
            - similar_vacancies
            - contact
          type: object
      title: Information about resume for the applicant
      type: object
    ResumeApplicantFields:
      properties:
        access:
          $ref: '#/components/schemas/ResumeObjectsAccess'
        actions:
          allOf:
            - $ref: '#/components/schemas/ResumeObjectsActionsForOwner'
          description: Additional actions
          type: object
        new_views:
          description: |
            Number of new views of the resume. This counter is reset when [detailed viewing history](#tag/Resume.-Viewing-info/operation/get-resume-view-history) is received
          type: number
        next_publish_at:
          description: 'Date and time when you will be able to republish the resume. Returns only for published resumes, it is `null` for unpublished ones'
          nullable: true
          type: string
        paid_services:
          description: Resume-related paid services for the resume owner
          items:
            $ref: '#/components/schemas/ResumeObjectsPaidServices'
          type: array
        total_views:
          description: Total number of resume views
          type: number
        views_url:
          description: |
            URL to perform a GET request in order to obtain the [detailed viewing history](#tag/Resume.-Viewing-info/operation/get-resume-view-history)
          type: string
      required:
        - access
        - total_views
        - new_views
        - views_url
        - paid_services
        - actions
      title: Fields returned for a resume owner
      type: object
    ResumeObjectsPaidServices:
      properties:
        active:
          description: Whether the service is active in the moment
          type: boolean
        expires:
          description: Expiration time of the service. Applicable only if the service is active
          type: string
        id:
          description: Service ID
          type: string
        name:
          description: Service name
          type: string
      required:
        - id
        - name
      title: Paid service
      type: object
    ResumeObjectsAccess:
      description: Resume access type
      properties:
        type:
          allOf:
            - $ref: '#/components/schemas/_IncludesIdName'
          description: |
            Determines to whom the resume will be available in the search results or when using a direct link.

            To specify the parameter value use methods for [creating](#tag/Resume.-Creating-and-updating/operation/create-resume) and [editing](#tag/Resume.-Creating-and-updating/operation/edit-resume) a resume. Possible values are listed in the `resume_access_type` field of [directiories](#tag/Public-directories/operation/get-dictionaries).

            Since September 1, 2021, the `everyone` type of resume visibility has become unavailable for saving due to legal restrictions.

            To manage the list of employers for whom the resume is visible, use the [Resume visibility lists](#tag/Resume-visibility-lists) method
          type: object
      required:
        - type
      title: Access type
      type: object
    _IncludesContact:
      allOf:
        - $ref: '#/components/schemas/_IncludesContactProperties'
      required:
        - type
        - preferred
        - contact_value
        - kind
      title: Contact
    _IncludesContactProperties:
      properties:
        comment:
          description: Contact comment
          nullable: true
          type: string
        contact_value:
          description: Contact value
          nullable: true
          type: string
        kind:
          description: 'Type of contact - Mail, phone, communication method(telegram, viber etc) and other communication methods'
          nullable: false
          type: string
        links:
          allOf:
            - $ref: '#/components/schemas/_IncludesLinks'
          description: Links to open app/website for particular platform
          nullable: true
          type: object
        need_verification:
          description: Is phone verification required?
          nullable: true
          type: boolean
        preferred:
          description: Is it the preferred method of communication?
          nullable: false
          type: boolean
        type:
          allOf:
            - $ref: '#/components/schemas/_IncludesIdName'
          description: 'Contact type. Directory element [preferred_contact_type](#tag/Public-directories/operation/get-dictionaries)'
        value:
          deprecated: true
          description: 'Deprecated field! Please, use contact_value. Contact value. For phone - object, for email - string'
          oneOf:
            - $ref: '#/components/schemas/_IncludesContactEmailValue'
            - $ref: '#/components/schemas/_IncludesContactPhoneValue'
        verified:
          description: Is the phone verified?
          nullable: true
          type: boolean
      title: Contact
      type: object
    _IncludesContactPhoneValue:
      nullable: true
      properties:
        city:
          description: Code of the city
          nullable: false
          type: string
        country:
          description: Code of the country
          nullable: false
          type: string
        formatted:
          description: Formatted phone number
          nullable: false
          type: string
        number:
          description: Phone number
          nullable: false
          type: string
      required:
        - country
        - city
        - number
        - formatted
      title: Phone
      type: object
    _IncludesContactEmailValue:
      description: Email
      format: email
      nullable: true
      title: Email
      type: string
    _IncludesLinks:
      properties:
        android:
          type: string
        ios:
          type: string
        web:
          type: string
      title: Ссылки для открытия контактного метода
      type: object
    ResumeObjectsSimilarVacancies:
      description: Information about vacancies that are similar to this resume
      properties:
        counters:
          $ref: '#/components/schemas/ResumeObjectsCounters'
        url:
          description: 'URL to perform a GET request to obtain [vacancies that are similar to this resume](#tag/Applicant-vacancy-search/operation/get-vacancies-similar-to-resume)'
          type: string
      required:
        - url
        - counters
      title: Information about similar vacancies
      type: object
    ResumeObjectsCounters:
      description: Counters of similar vacancies
      properties:
        total:
          description: Total number of similar vacancies
          type: number
      required:
        - total
      title: Counters
      type: object
    ResumeResumeShortForOwner:
      properties:
        actions:
          allOf:
            - $ref: '#/components/schemas/ResumeObjectsActionsForOwner'
          description: Additional actions
          type: object
        age:
          description: Age
          nullable: true
          type: number
        alternate_url:
          description: Resume URL on the site
          type: string
        area:
          description: 'City of residence. The [areas](#tag/Public-directories/operation/get-areas) directory entry'
          nullable: true
          oneOf:
            - $ref: '#/components/schemas/_IncludesIdNameUrl'
            - $ref: '#/components/schemas/_IncludesNullableObject'
          type: object
        auto_hide_time:
          $ref: '#/components/schemas/ResumeObjectsAutoHideTime'
        can_view_full_info:
          description: Whether the employer can view contact information in the resume
          nullable: true
          type: boolean
        certificate:
          description: Applicant's certificate list
          items:
            $ref: '#/components/schemas/ResumeObjectsCertificate'
          minItems: 0
          type: array
        created_at:
          description: Date and time the resume was created
          type: string
        download:
          allOf:
            - $ref: '#/components/schemas/ResumeObjectsDownload'
          description: Resume download links for different formats
          type: object
        education:
          allOf:
            - $ref: '#/components/schemas/ResumeObjectsEducation'
          description: |
            Applicant education.

            Features when saving education: 

            * If you submit both higher education and secondary education and the education level is "secondary", only secondary education will be saved. 
            * If you submit both higher education and secondary education and the education level is "higher", only higher education will be saved
          type: object
        experience:
          description: Applicant's experience
          items:
            $ref: '#/components/schemas/ResumeObjectsExperienceForOwner'
          minItems: 0
          type: array
        first_name:
          description: First name
          nullable: true
          type: string
        gender:
          description: 'Applicant''s gender. Possible values are listed in the `gender` field of [directories](#tag/Public-directories/operation/get-dictionaries)'
          nullable: true
          oneOf:
            - $ref: '#/components/schemas/_IncludesIdName'
            - $ref: '#/components/schemas/_IncludesNullableObject'
          type: object
        hidden_fields:
          description: 'List of hidden fields. Possible element values are listed in the `resume_hidden_fields` field of the [directory](#tag/Public-directories/operation/get-dictionaries)'
          items:
            $ref: '#/components/schemas/_IncludesIdName'
          minItems: 0
          type: array
        id:
          description: Resume ID
          type: string
        last_name:
          description: Last name
          nullable: true
          type: string
        marked:
          description: Whether the resume is marked in the search
          type: boolean
        middle_name:
          description: Middle name
          nullable: true
          type: string
        photo:
          description: Applicant's photo
          nullable: true
          oneOf:
            - $ref: '#/components/schemas/_IncludesNullableObject'
            - $ref: '#/components/schemas/ProfilePhoto'
          type: object
        platform:
          allOf:
            - $ref: '#/components/schemas/_IncludesId'
          description: The platform on which the resume was posted
          type: object
        real_id:
          description: Unique resume ID
          type: string
        salary:
          $ref: '#/components/schemas/ResumeObjectsSalaryProperties'
          description: Desired salary
        title:
          description: Desired position
          nullable: true
          type: string
        total_experience:
          $ref: '#/components/schemas/ResumeObjectsTotalExperience'
          description: Total experience
        updated_at:
          description: Date and time the resume was updated
          type: string
        url:
          description: Resume URL on the site
          type: string
      required:
        - id
        - real_id
        - url
        - alternate_url
        - created_at
        - updated_at
        - certificate
        - education
        - experience
        - download
        - hidden_fields
        - actions
        - marked
      title: Resume summary for owner
      type: object
    ResumeObjectsAutoHideTime:
      description: |
        CV auto hide by user inactivity time.

        Specifies the period after which the CV will be hidden if the user has not performed any actions.
        Possible values are listed when requesting [CV access types](#tag/Resume-visibility-lists/operation/get-resume-access-types)

        The field is available for viewing and editing only for users of rabota.by
      nullable: true
      oneOf:
        - $ref: '#/components/schemas/_IncludesIdName'
        - $ref: '#/components/schemas/_IncludesNullableObject'
      title: CV auto hide by user inactivity time
      type: object
    ResumeObjectsExperienceForOwner:
      properties:
        area:
          description: 'Region of the organization. An entry in the [directory of regions](#tag/Public-directories/operation/get-areas)'
          nullable: true
          oneOf:
            - $ref: '#/components/schemas/_IncludesIdNameUrl'
            - $ref: '#/components/schemas/_IncludesNullableObject'
          type: object
        company:
          description: Organization name
          nullable: true
          type: string
        company_id:
          description: Unique identifier of the organization
          nullable: true
          type: string
        company_url:
          description: Company website
          nullable: true
          type: string
        employer:
          description: Employer
          nullable: true
          oneOf:
            - $ref: '#/components/schemas/EmployersEmployerInfoShort'
            - $ref: '#/components/schemas/_IncludesNullableObject'
          type: object
        end:
          description: End date (`YYYY-MM-DD`)
          nullable: true
          type: string
        industries:
          description: 'A list of the company''s industries. Possible values are listed in [directory of industries](#tag/Public-directories/operation/get-industries)'
          items:
            $ref: '#/components/schemas/_IncludesIdName'
          type: array
        industry:
          description: Company's industry
          nullable: true
          oneOf:
            - $ref: '#/components/schemas/ResumeObjectsIndustry'
            - $ref: '#/components/schemas/_IncludesNullableObject'
          type: object
        position:
          description: Position
          type: string
        start:
          description: Start date (`YYYY-MM-DD`)
          type: string
      required:
        - industries
        - position
        - start
      title: Experience in an organization
      type: object
    ProfilePhoto:
      description: 'User photo ([Artifacts](#tag/Artifact-managing))'
      properties:
        '40':
          deprecated: true
          type: string
        '100':
          deprecated: true
          type: string
        '500':
          deprecated: true
          type: string
        id:
          description: Unique ID of the image
          type: string
        medium:
          description: |
            Medium sized image URL. The image at this url is available for a limited time, after receiving a response. The application must be prepared for an image request to return `404 Not Found`
          type: string
        small:
          description: |
            Thumbnail URL. The image at this url is available for a limited time, after receiving a response. The application must be prepared for an image request to return `404 Not Found`
          type: string
      required:
        - id
        - small
        - medium
      title: User photo
      type: object
    ResumesResumeConditions:
      additionalProperties: true
      description: |
        Conditions to fill in the fields of a resume.

        A field represented by an object with `fields` can be not mandatory on its own, but if at least one field of the object is filled out, the other fields must be filled out, too. For example, the desired salary can be not specified at all, but if you specify the amount, you must also specify a currency as well
      properties:
        access:
          nullable: true
          oneOf:
            - $ref: '#/components/schemas/_IncludesNullableObject'
            - $ref: '#/components/schemas/ResumesResumeConditionFieldsAccessCondition'
          type: object
        area:
          nullable: true
          oneOf:
            - $ref: '#/components/schemas/_IncludesNullableObject'
            - $ref: '#/components/schemas/ResumesResumeConditionFieldsRequiredWithTitle'
          type: object
        auto_hide_time:
          description: The field is available for viewing and editing only for users of rabota.by
          nullable: true
          oneOf:
            - $ref: '#/components/schemas/_IncludesNullableObject'
            - $ref: '#/components/schemas/ResumesResumeConditionFieldsRequiredWithTitle'
          type: object
        birth_date:
          nullable: true
          oneOf:
            - $ref: '#/components/schemas/_IncludesNullableObject'
            - $ref: '#/components/schemas/ResumesResumeConditionFieldsRequiredDateWithTitle'
          type: object
        business_trip_readiness:
          nullable: true
          oneOf:
            - $ref: '#/components/schemas/_IncludesNullableObject'
            - $ref: '#/components/schemas/ResumesResumeConditionFieldsRequiredWithTitle'
          type: object
        citizenship:
          nullable: true
          oneOf:
            - $ref: '#/components/schemas/_IncludesNullableObject'
            - $ref: '#/components/schemas/ResumesResumeConditionFieldsRequiredCountWithTitle'
          type: object
        contact:
          nullable: true
          oneOf:
            - $ref: '#/components/schemas/_IncludesNullableObject'
            - $ref: '#/components/schemas/ResumesResumeConditionFieldsContactCondition'
          type: object
        district:
          nullable: true
          oneOf:
            - $ref: '#/components/schemas/_IncludesNullableObject'
            - $ref: '#/components/schemas/ResumesResumeConditionFieldsRequiredWithTitle'
          type: object
        driver_license_types:
          nullable: true
          oneOf:
            - $ref: '#/components/schemas/_IncludesNullableObject'
            - $ref: '#/components/schemas/ResumesResumeConditionFieldsRequiredCountWithTitle'
          type: object
        education:
          nullable: true
          oneOf:
            - $ref: '#/components/schemas/_IncludesNullableObject'
            - $ref: '#/components/schemas/ResumesResumeConditionFieldsEducationCondition'
          type: object
        employment:
          nullable: true
          oneOf:
            - $ref: '#/components/schemas/_IncludesNullableObject'
            - $ref: '#/components/schemas/ResumesResumeConditionFieldsRequiredWithTitle'
          type: object
        employments:
          nullable: true
          oneOf:
            - $ref: '#/components/schemas/_IncludesNullableObject'
            - $ref: '#/components/schemas/ResumesResumeConditionFieldsRequiredCountWithTitle'
          type: object
        experience:
          nullable: true
          oneOf:
            - $ref: '#/components/schemas/_IncludesNullableObject'
            - $ref: '#/components/schemas/ResumesResumeConditionFieldsExperienceCondition'
          type: object
        first_name:
          nullable: true
          oneOf:
            - $ref: '#/components/schemas/_IncludesNullableObject'
            - $ref: '#/components/schemas/ResumesResumeConditionFieldsRequiredLengthTitleRegexp'
          type: object
        gender:
          nullable: true
          oneOf:
            - $ref: '#/components/schemas/_IncludesNullableObject'
            - $ref: '#/components/schemas/ResumesResumeConditionFieldsRequiredWithTitle'
          type: object
        has_vehicle:
          nullable: true
          oneOf:
            - $ref: '#/components/schemas/_IncludesNullableObject'
            - $ref: '#/components/schemas/ResumesResumeConditionFieldsRequiredWithTitle'
          type: object
        hidden_fields:
          nullable: true
          oneOf:
            - $ref: '#/components/schemas/_IncludesNullableObject'
            - $ref: '#/components/schemas/ResumesResumeConditionFieldsRequiredCountWithTitle'
          type: object
        language:
          nullable: true
          oneOf:
            - $ref: '#/components/schemas/_IncludesNullableObject'
            - $ref: '#/components/schemas/ResumesResumeConditionFieldsLanguageCondition'
          type: object
        last_name:
          nullable: true
          oneOf:
            - $ref: '#/components/schemas/_IncludesNullableObject'
            - $ref: '#/components/schemas/ResumesResumeConditionFieldsRequiredLengthTitleRegexp'
          type: object
        metro:
          nullable: true
          oneOf:
            - $ref: '#/components/schemas/_IncludesNullableObject'
            - $ref: '#/components/schemas/ResumesResumeConditionFieldsRequiredWithTitle'
          type: object
        middle_name:
          nullable: true
          oneOf:
            - $ref: '#/components/schemas/_IncludesNullableObject'
            - $ref: '#/components/schemas/ResumesResumeConditionFieldsRequiredLengthTitleRegexp'
          type: object
        photo:
          nullable: true
          oneOf:
            - $ref: '#/components/schemas/_IncludesNullableObject'
            - $ref: '#/components/schemas/ResumesResumeConditionFieldsRequiredWithTitle'
          type: object
        portfolio:
          nullable: true
          oneOf:
            - $ref: '#/components/schemas/_IncludesNullableObject'
            - $ref: '#/components/schemas/ResumesResumeConditionFieldsRequiredCountWithTitle'
          type: object
        professional_roles:
          nullable: true
          oneOf:
            - $ref: '#/components/schemas/_IncludesNullableObject'
            - $ref: '#/components/schemas/ResumesResumeConditionFieldsRequiredCountWithTitle'
          type: object
        recommendation:
          nullable: true
          oneOf:
            - $ref: '#/components/schemas/_IncludesNullableObject'
            - $ref: '#/components/schemas/ResumesResumeConditionFieldsRecommendationCondition'
          type: object
        relocation:
          nullable: true
          oneOf:
            - $ref: '#/components/schemas/_IncludesNullableObject'
            - $ref: '#/components/schemas/ResumesResumeConditionFieldsRelocationCondition'
          type: object
        resume_locale:
          nullable: true
          oneOf:
            - $ref: '#/components/schemas/_IncludesNullableObject'
            - $ref: '#/components/schemas/ResumesResumeConditionFieldsRequiredWithTitle'
          type: object
        salary:
          nullable: true
          oneOf:
            - $ref: '#/components/schemas/_IncludesNullableObject'
            - $ref: '#/components/schemas/ResumesResumeConditionFieldsSalaryCondition'
          type: object
        schedule:
          nullable: true
          oneOf:
            - $ref: '#/components/schemas/_IncludesNullableObject'
            - $ref: '#/components/schemas/ResumesResumeConditionFieldsRequiredWithTitle'
          type: object
        schedules:
          nullable: true
          oneOf:
            - $ref: '#/components/schemas/_IncludesNullableObject'
            - $ref: '#/components/schemas/ResumesResumeConditionFieldsRequiredCountWithTitle'
          type: object
        site:
          nullable: true
          oneOf:
            - $ref: '#/components/schemas/_IncludesNullableObject'
            - $ref: '#/components/schemas/ResumesResumeConditionFieldsSiteCondition'
          type: object
        skill_set:
          nullable: true
          oneOf:
            - $ref: '#/components/schemas/_IncludesNullableObject'
            - $ref: '#/components/schemas/ResumesResumeConditionFieldsRequiredCountAndLengthTitle'
          type: object
        skills:
          nullable: true
          oneOf:
            - $ref: '#/components/schemas/_IncludesNullableObject'
            - $ref: '#/components/schemas/ResumesResumeConditionFieldsRequiredLengthWithTitle'
          type: object
        specialization:
          nullable: true
          oneOf:
            - $ref: '#/components/schemas/_IncludesNullableObject'
            - $ref: '#/components/schemas/ResumesResumeConditionFieldsRequiredCountWithTitle'
          type: object
        title:
          nullable: true
          oneOf:
            - $ref: '#/components/schemas/_IncludesNullableObject'
            - $ref: '#/components/schemas/ResumesResumeConditionFieldsRequiredLengthTitleNotInt'
          type: object
        travel_time:
          nullable: true
          oneOf:
            - $ref: '#/components/schemas/_IncludesNullableObject'
            - $ref: '#/components/schemas/ResumesResumeConditionFieldsRequiredWithTitle'
          type: object
        work_ticket:
          nullable: true
          oneOf:
            - $ref: '#/components/schemas/_IncludesNullableObject'
            - $ref: '#/components/schemas/ResumesResumeConditionFieldsRequiredCountWithTitle'
          type: object
      title: Conditions to fill in the fields of a resume
      type: object
    ResumesResumeConditionFieldsRequiredWithTitle:
      allOf:
        - title: Conditions for a field
          type: object
        - $ref: '#/components/schemas/ResumesResumeConditionFieldsRequired'
      title: Conditions for a field
    ResumesResumeConditionFieldsRequired:
      properties:
        required:
          description: |
            Whether the field is mandatory. For string values the field must not be `null` or `""`
          nullable: true
          type: boolean
      title: The need for a resume field
      type: object
    ResumesResumeConditionFieldsAccessCondition:
      allOf:
        - $ref: '#/components/schemas/ResumesResumeConditionFieldsRequiredWithTitle'
        - properties:
            fields:
              $ref: '#/components/schemas/ResumesResumeConditionFieldsAccessFields'
          type: object
      title: Conditions for fields
      type: object
    ResumesResumeConditionFieldsAccessFields:
      nullable: true
      properties:
        type:
          nullable: true
          oneOf:
            - $ref: '#/components/schemas/_IncludesNullableObject'
            - $ref: '#/components/schemas/ResumesResumeConditionFieldsRequiredWithTitle'
          type: object
      title: Conditions for fields
      type: object
    ResumesResumeConditionFieldsExperienceCondition:
      allOf:
        - $ref: '#/components/schemas/ResumesResumeConditionFieldsRequiredCountWithTitle'
        - properties:
            fields:
              $ref: '#/components/schemas/ResumesResumeConditionFieldsExperienceFields'
          type: object
      title: Conditions for fields
      type: object
    ResumesResumeConditionFieldsRequiredCountWithTitle:
      allOf:
        - $ref: '#/components/schemas/ResumesResumeConditionFieldsMaxMinCount'
        - $ref: '#/components/schemas/ResumesResumeConditionFieldsRequired'
      title: Conditions for a field
      type: object
    ResumesResumeConditionFieldsMaxMinCount:
      properties:
        max_count:
          description: Maximum number of objects for fields with lists. It is `null` if the number is not limited
          nullable: true
          type: number
        min_count:
          description: Minimum number of objects for fields with lists. It is `null` if the lower limit is not defined
          nullable: true
          type: number
      title: Conditions on the number of fields
      type: object
    ResumesResumeConditionFieldsExperienceFields:
      nullable: true
      properties:
        area:
          nullable: true
          oneOf:
            - $ref: '#/components/schemas/_IncludesNullableObject'
            - $ref: '#/components/schemas/ResumesResumeConditionFieldsRequiredWithTitle'
          type: object
        company:
          nullable: true
          oneOf:
            - $ref: '#/components/schemas/_IncludesNullableObject'
            - $ref: '#/components/schemas/ResumesResumeConditionFieldsRequiredLengthWithTitle'
          type: object
        company_url:
          nullable: true
          oneOf:
            - $ref: '#/components/schemas/_IncludesNullableObject'
            - $ref: '#/components/schemas/ResumesResumeConditionFieldsRequiredLengthWithTitle'
          type: object
        description:
          nullable: true
          oneOf:
            - $ref: '#/components/schemas/_IncludesNullableObject'
            - $ref: '#/components/schemas/ResumesResumeConditionFieldsRequiredLengthWithTitle'
          type: object
        end:
          nullable: true
          oneOf:
            - $ref: '#/components/schemas/_IncludesNullableObject'
            - $ref: '#/components/schemas/ResumesResumeConditionFieldsRequiredDateWithTitle'
          type: object
        industries:
          nullable: true
          oneOf:
            - $ref: '#/components/schemas/_IncludesNullableObject'
            - $ref: '#/components/schemas/ResumesResumeConditionFieldsRequiredCountWithTitle'
          type: object
        industry:
          nullable: true
          oneOf:
            - $ref: '#/components/schemas/_IncludesNullableObject'
            - $ref: '#/components/schemas/ResumesResumeConditionFieldsRequiredWithTitle'
          type: object
        position:
          nullable: true
          oneOf:
            - $ref: '#/components/schemas/_IncludesNullableObject'
            - $ref: '#/components/schemas/ResumesResumeConditionFieldsRequiredLengthWithTitle'
          type: object
        start:
          nullable: true
          oneOf:
            - $ref: '#/components/schemas/_IncludesNullableObject'
            - $ref: '#/components/schemas/ResumesResumeConditionFieldsRequiredDateWithTitle'
          type: object
      title: Conditions for fields
      type: object
    ResumesResumeConditionFieldsRequiredLengthWithTitle:
      allOf:
        - $ref: '#/components/schemas/ResumesResumeConditionFieldsMaxMinLength'
        - $ref: '#/components/schemas/ResumesResumeConditionFieldsRequired'
      title: Conditions for a field
      type: object
    ResumesResumeConditionFieldsMaxMinLength:
      properties:
        max_length:
          description: "Maximum length for text fields. Calculated for text without line break (`\r\n`). It is `null` if the upper limit is not defined"
          nullable: true
          type: number
        min_length:
          description: "Minimum length for text fields. Calculated for text without line break (`\r\n`). It is `null` if the lower limit is not defined"
          nullable: true
          type: number
      title: Conditions on the length of text fields
      type: object
    ResumesResumeConditionFieldsRequiredDateWithTitle:
      allOf:
        - $ref: '#/components/schemas/ResumesResumeConditionFieldsMaxMinDate'
        - $ref: '#/components/schemas/ResumesResumeConditionFieldsRequired'
      title: Conditions for a field
      type: object
    ResumesResumeConditionFieldsMaxMinDate:
      properties:
        max_date:
          description: 'Upper limit for dates, inclusive. It is `null` if the upper limit is not defined'
          nullable: true
          type: string
        min_date:
          description: 'Lower limit for dates, inclusive. It is `null` if the lower limit is not defined'
          nullable: true
          type: string
      title: Date range conditions
      type: object
    ResumesResumeConditionFieldsSalaryCondition:
      allOf:
        - $ref: '#/components/schemas/ResumesResumeConditionFieldsRequiredWithTitle'
        - properties:
            fields:
              $ref: '#/components/schemas/ResumesResumeConditionFieldsSalaryFields'
          type: object
      title: Conditions for fields
      type: object
    ResumesResumeConditionFieldsSalaryFields:
      nullable: true
      properties:
        amount:
          nullable: true
          oneOf:
            - $ref: '#/components/schemas/_IncludesNullableObject'
            - $ref: '#/components/schemas/ResumesResumeConditionFieldsRequiredValueWithTitle'
          type: object
        currency:
          nullable: true
          oneOf:
            - $ref: '#/components/schemas/_IncludesNullableObject'
            - $ref: '#/components/schemas/ResumesResumeConditionFieldsRequiredLengthWithTitle'
          type: object
      title: Conditions for fields
      type: object
    ResumesResumeConditionFieldsRequiredValueWithTitle:
      allOf:
        - $ref: '#/components/schemas/ResumesResumeConditionFieldsMaxMinValue'
        - $ref: '#/components/schemas/ResumesResumeConditionFieldsRequired'
      title: Conditions for a field
      type: object
    ResumesResumeConditionFieldsMaxMinValue:
      properties:
        max_value:
          description: 'Upper limit for numerical values, inclusive. It is `null` if the upper limit is not defined'
          nullable: true
          type: number
        min_value:
          description: 'Lower limit for numerical values, inclusive. It is `null` if the lower limit is not defined'
          nullable: true
          type: number
      title: Conditions on the limits for numerical values
      type: object
    ResumesResumeConditionFieldsSiteCondition:
      allOf:
        - $ref: '#/components/schemas/ResumesResumeConditionFieldsRequiredCountWithTitle'
        - properties:
            fields:
              $ref: '#/components/schemas/ResumesResumeConditionFieldsSiteFields'
          type: object
      title: Conditions for fields
      type: object
    ResumesResumeConditionFieldsSiteFields:
      nullable: true
      properties:
        type:
          nullable: true
          oneOf:
            - $ref: '#/components/schemas/_IncludesNullableObject'
            - $ref: '#/components/schemas/ResumesResumeConditionFieldsRequiredWithTitle'
          type: object
        url:
          nullable: true
          oneOf:
            - $ref: '#/components/schemas/_IncludesNullableObject'
            - $ref: '#/components/schemas/ResumesResumeConditionFieldsRequiredLengthWithTitle'
          type: object
      title: Conditions for fields
      type: object
    ResumesResumeConditionFieldsRelocationCondition:
      allOf:
        - $ref: '#/components/schemas/ResumesResumeConditionFieldsRequiredWithTitle'
        - properties:
            fields:
              $ref: '#/components/schemas/ResumesResumeConditionFieldsRelocationFields'
          type: object
      title: Conditions for fields
      type: object
    ResumesResumeConditionFieldsRelocationFields:
      nullable: true
      properties:
        area:
          nullable: true
          oneOf:
            - $ref: '#/components/schemas/_IncludesNullableObject'
            - $ref: '#/components/schemas/ResumesResumeConditionFieldsRequiredCountWithTitle'
          type: object
        district:
          nullable: true
          oneOf:
            - $ref: '#/components/schemas/_IncludesNullableObject'
            - $ref: '#/components/schemas/ResumesResumeConditionFieldsRequiredCountWithTitle'
          type: object
        type:
          nullable: true
          oneOf:
            - $ref: '#/components/schemas/_IncludesNullableObject'
            - $ref: '#/components/schemas/ResumesResumeConditionFieldsRequiredWithTitle'
          type: object
      title: Conditions for fields
      type: object
    ResumesResumeConditionFieldsRecommendationCondition:
      allOf:
        - $ref: '#/components/schemas/ResumesResumeConditionFieldsRequiredCountWithTitle'
        - properties:
            fields:
              $ref: '#/components/schemas/ResumesResumeConditionFieldsRecommendationFields'
          type: object
      title: Conditions for fields
      type: object
    ResumesResumeConditionFieldsRecommendationFields:
      nullable: true
      properties:
        name:
          nullable: true
          oneOf:
            - $ref: '#/components/schemas/_IncludesNullableObject'
            - $ref: '#/components/schemas/ResumesResumeConditionFieldsRequiredLengthWithTitle'
          type: object
        organization:
          nullable: true
          oneOf:
            - $ref: '#/components/schemas/_IncludesNullableObject'
            - $ref: '#/components/schemas/ResumesResumeConditionFieldsRequiredLengthWithTitle'
          type: object
        position:
          nullable: true
          oneOf:
            - $ref: '#/components/schemas/_IncludesNullableObject'
            - $ref: '#/components/schemas/ResumesResumeConditionFieldsRequiredLengthWithTitle'
          type: object
      title: Conditions for fields
      type: object
    ResumesResumeConditionFieldsEducationCondition:
      allOf:
        - $ref: '#/components/schemas/ResumesResumeConditionFieldsRequiredWithTitle'
        - properties:
            fields:
              $ref: '#/components/schemas/ResumesResumeConditionFieldsEducationFields'
          type: object
      title: Conditions for fields
      type: object
    ResumesResumeConditionFieldsEducationFields:
      nullable: true
      properties:
        additional:
          nullable: true
          oneOf:
            - $ref: '#/components/schemas/_IncludesNullableObject'
            - $ref: '#/components/schemas/ResumesResumeConditionFieldsEducationPrimaryCondition'
          type: object
        attestation:
          nullable: true
          oneOf:
            - $ref: '#/components/schemas/_IncludesNullableObject'
            - $ref: '#/components/schemas/ResumesResumeConditionFieldsEducationPrimaryCondition'
          type: object
        elementary:
          nullable: true
          oneOf:
            - $ref: '#/components/schemas/_IncludesNullableObject'
            - $ref: '#/components/schemas/ResumesResumeConditionFieldsEducationElementaryCondition'
          type: object
        level:
          nullable: true
          oneOf:
            - $ref: '#/components/schemas/_IncludesNullableObject'
            - $ref: '#/components/schemas/ResumesResumeConditionFieldsRequiredWithTitle'
          type: object
        primary:
          nullable: true
          oneOf:
            - $ref: '#/components/schemas/_IncludesNullableObject'
            - $ref: '#/components/schemas/ResumesResumeConditionFieldsEducationPrimaryCondition'
          type: object
      title: Conditions for fields
      type: object
    ResumesResumeConditionFieldsEducationPrimaryCondition:
      allOf:
        - $ref: '#/components/schemas/ResumesResumeConditionFieldsRequiredCountWithTitle'
        - properties:
            fields:
              $ref: '#/components/schemas/ResumesResumeConditionFieldsPrimaryEducationFields'
      title: Conditions for fields
      type: object
    ResumesResumeConditionFieldsPrimaryEducationFields:
      nullable: true
      properties:
        name:
          nullable: true
          oneOf:
            - $ref: '#/components/schemas/_IncludesNullableObject'
            - $ref: '#/components/schemas/ResumesResumeConditionFieldsRequiredLengthWithTitle'
          type: object
        organization:
          nullable: true
          oneOf:
            - $ref: '#/components/schemas/_IncludesNullableObject'
            - $ref: '#/components/schemas/ResumesResumeConditionFieldsRequiredLengthWithTitle'
          type: object
        result:
          nullable: true
          oneOf:
            - $ref: '#/components/schemas/_IncludesNullableObject'
            - $ref: '#/components/schemas/ResumesResumeConditionFieldsRequiredLengthWithTitle'
          type: object
        year:
          nullable: true
          oneOf:
            - $ref: '#/components/schemas/_IncludesNullableObject'
            - $ref: '#/components/schemas/ResumesResumeConditionFieldsRequiredValueWithTitle'
          type: object
      title: Conditions for fields
      type: object
    ResumesResumeConditionFieldsEducationElementaryCondition:
      allOf:
        - $ref: '#/components/schemas/ResumesResumeConditionFieldsRequiredCountWithTitle'
        - properties:
            fields:
              $ref: '#/components/schemas/ResumesResumeConditionFieldsElementaryEducationFields'
      title: Conditions for fields
      type: object
    ResumesResumeConditionFieldsElementaryEducationFields:
      nullable: true
      properties:
        name:
          nullable: true
          oneOf:
            - $ref: '#/components/schemas/_IncludesNullableObject'
            - $ref: '#/components/schemas/ResumesResumeConditionFieldsRequiredLengthWithTitle'
          type: object
        year:
          nullable: true
          oneOf:
            - $ref: '#/components/schemas/_IncludesNullableObject'
            - $ref: '#/components/schemas/ResumesResumeConditionFieldsRequiredValueWithTitle'
          type: object
      title: Conditions for fields
      type: object
    ResumesResumeConditionFieldsRequiredCountAndLengthTitle:
      allOf:
        - $ref: '#/components/schemas/ResumesResumeConditionFieldsRequiredCountWithTitle'
        - $ref: '#/components/schemas/ResumesResumeConditionFieldsRequiredLengthWithTitle'
      title: Conditions for fields
      type: object
    ResumesResumeConditionFieldsContactCondition:
      allOf:
        - $ref: '#/components/schemas/ResumesResumeConditionFieldsRequiredCountWithTitle'
        - properties:
            fields:
              $ref: '#/components/schemas/ResumesResumeConditionFieldsContactFields'
          type: object
      title: Conditions for fields
      type: object
    ResumesResumeConditionFieldsContactFields:
      nullable: true
      properties:
        comment:
          nullable: true
          oneOf:
            - $ref: '#/components/schemas/_IncludesNullableObject'
            - $ref: '#/components/schemas/ResumesResumeConditionFieldsRequiredLengthWithTitle'
          type: object
        preferred:
          nullable: true
          oneOf:
            - $ref: '#/components/schemas/_IncludesNullableObject'
            - $ref: '#/components/schemas/ResumesResumeConditionFieldsRequiredWithTitle'
          type: object
        type:
          nullable: true
          oneOf:
            - $ref: '#/components/schemas/_IncludesNullableObject'
            - $ref: '#/components/schemas/ResumesResumeConditionFieldsRequiredWithTitle'
          type: object
        value:
          nullable: true
          oneOf:
            - $ref: '#/components/schemas/_IncludesNullableObject'
            - $ref: '#/components/schemas/ResumesResumeConditionFieldsRequiredWithTitle'
          type: object
      title: Conditions for fields
      type: object
    ResumesResumeConditionFieldsLanguageCondition:
      allOf:
        - $ref: '#/components/schemas/ResumesResumeConditionFieldsRequiredCountWithTitle'
        - properties:
            fields:
              $ref: '#/components/schemas/ResumesResumeConditionFieldsLanguageFields'
          type: object
      title: Conditions for fields
      type: object
    ResumesResumeConditionFieldsLanguageFields:
      nullable: true
      properties:
        id:
          nullable: true
          oneOf:
            - $ref: '#/components/schemas/_IncludesNullableObject'
            - $ref: '#/components/schemas/ResumesResumeConditionFieldsRequiredWithTitle'
          type: object
        level:
          nullable: true
          oneOf:
            - $ref: '#/components/schemas/_IncludesNullableObject'
            - $ref: '#/components/schemas/ResumesResumeConditionFieldsRequiredWithTitle'
          type: object
      title: Conditions for fields
      type: object
    ResumesResumeConditionFieldsRequiredLengthTitleNotInt:
      allOf:
        - $ref: '#/components/schemas/ResumesResumeConditionFieldsRequiredLengthWithTitle'
        - $ref: '#/components/schemas/ResumesResumeConditionFieldsNotIn'
      title: Conditions for fields
      type: object
    ResumesResumeConditionFieldsNotIn:
      properties:
        not_in:
          description: A list of invalid values
          items:
            type: string
          nullable: true
          type: array
      title: Invalid values
      type: object
    ResumesResumeConditionFieldsRequiredLengthTitleRegexp:
      allOf:
        - $ref: '#/components/schemas/ResumesResumeConditionFieldsRequiredLengthWithTitle'
        - $ref: '#/components/schemas/ResumesResumeConditionFieldsRegexp'
      title: Conditions for fields
      type: object
    ResumesResumeConditionFieldsRegexp:
      properties:
        regexp:
          description: Regular expression for which the field value must satisfy
          nullable: true
          type: string
      title: Regular expression for the field
      type: object
    WebhookSubscriptionUpdate:
      additionalProperties: false
      properties:
        actions:
          description: A list of events to subscribe to
          discriminator:
            mapping:
              NEGOTIATION_EMPLOYER_STATE_CHANGE: '#/components/schemas/WebhookActionNegotiationEmployerStateChange'
              NEW_NEGOTIATION_VACANCY: '#/components/schemas/WebhookActionNewNegotiationVacancy'
              NEW_RESPONSE_OR_INVITATION_VACANCY: '#/components/schemas/WebhookActionNewResponseOrInvitationVacancy'
              VACANCY_ARCHIVATION: '#/components/schemas/WebhookActionVacancyArchivation'
              VACANCY_CHANGE: '#/components/schemas/WebhookActionVacancyChange'
              VACANCY_PROLONGATION: '#/components/schemas/WebhookActionVacancyProlongation'
              VACANCY_PUBLICATION_FOR_VACANCY_MANAGER: '#/components/schemas/WebhookActionVacancyPublicationForVacancyManager'
            propertyName: type
          items:
            anyOf:
              - $ref: '#/components/schemas/WebhookActionNewNegotiationVacancy'
              - $ref: '#/components/schemas/WebhookActionNewResponseOrInvitationVacancy'
              - $ref: '#/components/schemas/WebhookActionVacancyArchivation'
              - $ref: '#/components/schemas/WebhookActionVacancyChange'
              - $ref: '#/components/schemas/WebhookActionVacancyProlongation'
              - $ref: '#/components/schemas/WebhookActionVacancyPublicationForVacancyManager'
              - $ref: '#/components/schemas/WebhookActionNegotiationEmployerStateChange'
          minItems: 1
          type: array
        url:
          description: URL for POST request to be sent when an event occurs
          example: 'http://www.example.com'
          format: uri
          type: string
      title: Subscription object
      type: object
    VacancyEdit:
      anyOf:
        - $ref: '#/components/schemas/VacancyEditCommon'
        - $ref: '#/components/schemas/VacancyEditBillingType'
        - $ref: '#/components/schemas/VacancyEditManager'
      title: Editable vacancy fields
      type: object
    VacancyEditManager:
      description: 'A field that should be specified in a request for a vacancy manager change. To obtain manager IDs, use [the method](#tag/Employer-managers/operation/get-employer-managers)'
      properties:
        manager:
          allOf:
            - $ref: '#/components/schemas/_IncludesId'
          description: 'ID of the manager to whom the autosearch should be transferred from the ([directory of employer''s managers](#tag/Employer-managers/operation/get-employer-managers))'
          nullable: true
      required:
        - manager
      title: Change vacancy manager
      type: object
    VacancyEditBillingType:
      description: A field that should be specified in a request for a change of vacancy billing type
      properties:
        billing_type:
          $ref: '#/components/schemas/VacancyBillingType'
          nullable: true
      required:
        - billing_type
      title: Change billing type
      type: object
    VacancyEditCommon:
      allOf:
        - $ref: '#/components/schemas/VacancyCommonFields'
        - $ref: '#/components/schemas/VacancyEditFields'
      title: Vacancy fields that can be edited by one request
      type: object
    VacancyEditFields:
      description: Fields that can be specified in an edit request
      properties:
        description:
          nullable: true
          oneOf:
            - $ref: '#/components/schemas/VacancyDescription'
            - $ref: '#/components/schemas/_IncludesNullableObject'
        name:
          nullable: true
          oneOf:
            - $ref: '#/components/schemas/VacancyName'
            - $ref: '#/components/schemas/_IncludesNullableObject'
      title: Fields for the vacancy editing
      type: object
    VacancyDescription:
      description: 'Html description, at least 200 characters'
      title: Description
      type: string
    VacancyCommonFields:
      description: Fields that can be specified in create and edit requests
      properties:
        accept_handicapped:
          nullable: true
          oneOf:
            - $ref: '#/components/schemas/VacancyAcceptHandicapped'
            - $ref: '#/components/schemas/_IncludesNullableObject'
          type: boolean
        accept_incomplete_resumes:
          nullable: true
          oneOf:
            - $ref: '#/components/schemas/VacancyAcceptIncompleteResumes'
            - $ref: '#/components/schemas/_IncludesNullableObject'
          type: boolean
        accept_kids:
          nullable: true
          oneOf:
            - $ref: '#/components/schemas/VacancyAcceptKids'
            - $ref: '#/components/schemas/_IncludesNullableObject'
          type: boolean
        accept_temporary:
          $ref: '#/components/schemas/VacancyAcceptTemporary'
        address:
          $ref: '#/components/schemas/VacancyAddress'
        allow_messages:
          nullable: true
          oneOf:
            - $ref: '#/components/schemas/VacancyAllowMessages'
            - $ref: '#/components/schemas/_IncludesNullableObject'
          type: boolean
        branded_template:
          $ref: '#/components/schemas/VacancyBrandedTemplate'
        code:
          $ref: '#/components/schemas/VacancyCode'
        contacts:
          $ref: '#/components/schemas/VacancyContacts'
        custom_employer_name:
          $ref: '#/components/schemas/VacancyCustomEmployerName'
        department:
          $ref: '#/components/schemas/VacancyDepartment'
        driver_license_types:
          oneOf:
            - $ref: '#/components/schemas/VacancyDriverLicenseTypes'
            - $ref: '#/components/schemas/_IncludesNullableObject'
        employment:
          $ref: '#/components/schemas/VacancyEmployment'
          deprecated: true
        employment_form:
          $ref: '#/components/schemas/VacancyEmploymentForm'
        experience:
          $ref: '#/components/schemas/VacancyExperience'
        fly_in_fly_out_duration:
          $ref: '#/components/schemas/VacancyFlyInFlyOutDurationFlyInFlyOutDuration'
          default:
            - id: DAYS_30
        internship:
          $ref: '#/components/schemas/VacancyInternship'
        key_skills:
          oneOf:
            - $ref: '#/components/schemas/VacancyKeySkills'
            - $ref: '#/components/schemas/_IncludesNullableObject'
        languages:
          oneOf:
            - $ref: '#/components/schemas/VacancyLanguages'
            - $ref: '#/components/schemas/_IncludesNullableObject'
        night_shifts:
          $ref: '#/components/schemas/VacancyNightShifts'
        professional_roles:
          $ref: '#/components/schemas/VacancyProfessionalRoles'
        response_letter_required:
          nullable: true
          oneOf:
            - $ref: '#/components/schemas/VacancyResponseLetterRequired'
            - $ref: '#/components/schemas/_IncludesNullableObject'
          type: boolean
        response_notifications:
          nullable: true
          oneOf:
            - $ref: '#/components/schemas/VacancyResponseNotifications'
            - $ref: '#/components/schemas/_IncludesNullableObject'
          type: boolean
        response_url:
          $ref: '#/components/schemas/VacancyResponseUrl'
        salary:
          $ref: '#/components/schemas/VacancySalary'
          deprecated: true
        salary_range:
          nullable: true
          oneOf:
            - $ref: '#/components/schemas/VacancySalaryRangeSalaryRange'
            - $ref: '#/components/schemas/_IncludesNullableObject'
          type: object
        schedule:
          $ref: '#/components/schemas/VacancySchedule'
          deprecated: true
        show_contacts:
          $ref: '#/components/schemas/VacancyShowContacts'
        test:
          $ref: '#/components/schemas/VacancyDraftTest'
        work_format:
          $ref: '#/components/schemas/VacancyWorkFormatWorkFormat'
        work_schedule_by_days:
          $ref: '#/components/schemas/VacancyWorkScheduleByDaysWorkScheduleByDays'
        working_days:
          $ref: '#/components/schemas/VacancyWorkingDays'
          deprecated: true
        working_hours:
          $ref: '#/components/schemas/VacancyWorkingHoursWorkingHours'
        working_time_intervals:
          $ref: '#/components/schemas/VacancyWorkingTimeIntervals'
          deprecated: true
        working_time_modes:
          $ref: '#/components/schemas/VacancyWorkingTimeModes'
          deprecated: true
      title: Fields that can be specified in create and edit requests
      type: object
    VacancyKeySkills:
      description: 'List of key skills, up to 30'
      items:
        $ref: '#/components/schemas/VacancyKeySkillItem'
      title: Key skills
      type: array
    VacancyKeySkillItem:
      properties:
        name:
          description: Key skill name (100 characters maximum)
          type: string
      title: Key Skills Object
      type: object
    VacancyBrandedTemplate:
      additionalProperties: false
      description: |
        One of the available [branded employer vacancy templates](#tag/Employer-info/operation/get-vacancy-branded-templates-list), or `null` if not used by the company
      nullable: true
      properties:
        id:
          description: Branded vacancy template ID
          example: default
          minLength: 1
          nullable: true
          type: string
        name:
          description: Branded vacancy template name
          example: Standard template
          nullable: true
          type: string
      title: Branded template
      type: object
    VacancyCode:
      description: Internal vacancy code
      nullable: true
      title: Vacancy code
      type: string
    VacancyContacts:
      description: 'Contact information. If the parameter is used, the phones or email attribute must be present'
      nullable: true
      properties:
        email:
          description: Email. Value must fit the email format
          nullable: true
          type: string
        name:
          description: Contact name
          nullable: false
          type: string
        phones:
          description: The list of contact numbers
          items:
            $ref: '#/components/schemas/VacancyPhoneItem'
          nullable: true
          type: array
      required:
        - name
      title: Contact information
      type: object
    VacancyDraftVacancyDraftFull:
      allOf:
        - $ref: '#/components/schemas/VacancyDraftVacancyDraftCommon'
        - properties:
            address:
              $ref: '#/components/schemas/VacancyDraftAddressOutput'
            areas:
              description: 'Codes and names of regions (federal districts, federal subjects, cities)'
              items:
                $ref: '#/components/schemas/VacancyAreaOutput'
              minItems: 1
              type: array
            assigned_manager:
              $ref: '#/components/schemas/VacancyDraftAssignedManager'
            branded_template:
              $ref: '#/components/schemas/VacancyBrandedTemplate'
            closed_for_applicants:
              description: Whether the vacancy is hidden from applicants
              nullable: true
              type: boolean
            contacts:
              $ref: '#/components/schemas/VacancyDraftContactsWithFullPhone'
            custom_employer_name:
              $ref: '#/components/schemas/VacancyCustomEmployerName'
            employer:
              $ref: '#/components/schemas/VacancyDraftEmployer'
            meta_info:
              $ref: '#/components/schemas/VacancyDraftVacancyDraftBase'
            vacancy_properties:
              $ref: '#/components/schemas/VacancyDraftVacancyProperties'
            with_zp:
              $ref: '#/components/schemas/VacancyDraftWithZp'
          required:
            - meta_info
            - areas
            - address
            - contacts
            - employer
            - with_zp
          type: object
      title: An object for a vacancy draft
    VacancyDraftVacancyProperties:
      description: 'В пропертях хранятся только признаки наличия фичи, т.е. является ли вакансия рекламной, анонимной и т.д'
      nullable: true
      properties:
        appearance:
          $ref: '#/components/schemas/VacancyVacancyPropertiesAppearance'
        id:
          description: Идентификатор активн(ой/ых) проперти
          example: HH_STANDARD-HH_ANONYMOUS
          type: string
        properties:
          description: Список активн(ой/ых) проперти
          items:
            properties:
              parameters:
                description: Дополнительные параметры проперти
                items:
                  type: string
                type: array
              property_type:
                $ref: '#/components/schemas/VacancyPublicPropertyTypes'
            type: object
          type: array
      title: Проперти вакансии
      type: object
    VacancyDraftVacancyDraftCommon:
      properties:
        accept_handicapped:
          $ref: '#/components/schemas/VacancyAcceptHandicapped'
        accept_incomplete_resumes:
          $ref: '#/components/schemas/VacancyAcceptIncompleteResumes'
        accept_kids:
          $ref: '#/components/schemas/VacancyAcceptKids'
        accept_temporary:
          $ref: '#/components/schemas/VacancyAcceptTemporary'
        allow_messages:
          $ref: '#/components/schemas/VacancyAllowMessages'
        billing_type:
          $ref: '#/components/schemas/VacancyBillingTypeOutput'
        code:
          $ref: '#/components/schemas/VacancyCode'
        department:
          $ref: '#/components/schemas/VacancyDepartmentOutput'
        description:
          $ref: '#/components/schemas/VacancyDescription'
        driver_license_types:
          $ref: '#/components/schemas/VacancyDriverLicenseTypes'
        employment:
          $ref: '#/components/schemas/VacancyEmploymentOutput'
          deprecated: true
        employment_form:
          $ref: '#/components/schemas/VacancyEmploymentFormOutput'
        experience:
          $ref: '#/components/schemas/VacancyExperienceOutput'
        fly_in_fly_out_duration:
          $ref: '#/components/schemas/VacancyFlyInFlyOutDurationFlyInFlyOutDurationOutput'
        has_test:
          description: Whether the vacancy has an attached test task
          type: boolean
        internship:
          $ref: '#/components/schemas/VacancyInternship'
        key_skills:
          $ref: '#/components/schemas/VacancyKeySkills'
        languages:
          $ref: '#/components/schemas/VacancyLanguagesOutput'
        manager:
          $ref: '#/components/schemas/VacancyManager'
        name:
          $ref: '#/components/schemas/VacancyName'
        night_shifts:
          $ref: '#/components/schemas/VacancyNightShifts'
        professional_roles:
          $ref: '#/components/schemas/VacancyProfessionalRolesOutput'
        response_letter_required:
          $ref: '#/components/schemas/VacancyResponseLetterRequired'
        response_notifications:
          $ref: '#/components/schemas/VacancyResponseNotifications'
        response_url:
          $ref: '#/components/schemas/VacancyResponseUrl'
        salary:
          $ref: '#/components/schemas/VacancySalary'
          deprecated: true
        salary_range:
          nullable: true
          oneOf:
            - $ref: '#/components/schemas/VacancySalaryRangeSalaryRangeOutput'
            - $ref: '#/components/schemas/_IncludesNullableObject'
          type: object
        schedule:
          $ref: '#/components/schemas/VacancyScheduleOutput'
          deprecated: true
        test:
          $ref: '#/components/schemas/VacancyDraftTest'
        type:
          $ref: '#/components/schemas/VacancyTypeOutput'
        work_format:
          $ref: '#/components/schemas/VacancyWorkFormatWorkFormatOutput'
        work_schedule_by_days:
          $ref: '#/components/schemas/VacancyWorkScheduleByDaysWorkScheduleByDaysOutput'
        working_days:
          $ref: '#/components/schemas/VacancyWorkingDaysOutput'
          deprecated: true
        working_hours:
          $ref: '#/components/schemas/VacancyWorkingHoursWorkingHoursOutput'
        working_time_intervals:
          $ref: '#/components/schemas/VacancyWorkingTimeIntervalsOutput'
          deprecated: true
        working_time_modes:
          $ref: '#/components/schemas/VacancyWorkingTimeModesOutput'
          deprecated: true
      required:
        - name
        - description
        - key_skills
        - schedule
        - accept_handicapped
        - accept_kids
        - experience
        - response_letter_required
        - type
        - billing_type
        - allow_messages
        - driver_license_types
        - accept_incomplete_resumes
        - professional_roles
        - manager
        - languages
        - response_notifications
        - has_test
      title: Vacancy draft fields
      type: object
    VacancyManager:
      properties:
        id:
          description: |
            Contact person (manager) for the vacancy; by default, the current user. 
            To obtain manager IDs, use [the method](#tag/Employer-managers/operation/get-employer-managers)
          nullable: true
          type: string
      title: Manager
      type: object
    VacancyLanguagesOutput:
      description: 'Array of vacancy languages. Values from the [/languages](#tag/Public-directories/operation/get-languages) directory'
      items:
        $ref: '#/components/schemas/VacancyLanguageOutput'
      title: Vacancy languages
      type: array
    VacancyLanguageOutput:
      allOf:
        - $ref: '#/components/schemas/VacancyLanguage'
        - properties:
            level:
              properties:
                id:
                  description: Field ID
                  type: string
                name:
                  description: Field name
                  type: string
              required:
                - id
                - name
              type: object
            name:
              description: Language name
              type: string
          required:
            - name
          type: object
      title: Language
    VacancyDraftContactsWithFullPhone:
      description: Contact info
      properties:
        email:
          description: Email
          nullable: true
          type: string
        name:
          description: Manager's name
          nullable: true
          type: string
        phones:
          description: List of contact phone numbers
          items:
            $ref: '#/components/schemas/VacancyDraftPhoneItemWithFullPhone'
          nullable: true
          type: array
      required:
        - phones
        - name
        - email
      title: Contacts
      type: object
    VacancyDraftPhoneItemWithFullPhone:
      properties:
        comment:
          description: Comment (preferred time for calling this number)
          nullable: true
          type: string
        formatted:
          description: Phone number
          pattern: '^\+?\d{1,3} \(?\d{1,5}\)? [\d -]{4,10}$'
          type: string
      title: An object for the phone for communications
      type: object
    VacancyAreaOutput:
      properties:
        id:
          description: 'Area ID from [the directory](#tag/Public-directories/operation/get-areas)'
          type: string
        name:
          description: Area name
          type: string
      required:
        - id
        - name
      title: Area
      type: object
    VacancyDraftVacancyDraftBase:
      properties:
        auto_publication:
          description: 'Auto-publishing status. Object if this feature is enabled, otherwise null'
          nullable: true
          oneOf:
            - $ref: '#/components/schemas/VacancyDraftAutoPublicationState'
            - $ref: '#/components/schemas/_IncludesNullableObject'
          type: object
        completed_fields_percentage:
          description: Percentage of completed fields in a draft
          type: number
        draft_id:
          description: Draft ID
          minLength: 1
          type: string
        insufficient_publications:
          description: An array of objects with information on the missing publications in the account that are required to publish a vacancy using this draft
          items:
            $ref: '#/components/schemas/VacancyDraftPublications'
          nullable: true
          type: array
        insufficient_quotas:
          description: An array of objects with information on exceeded quotas
          items:
            $ref: '#/components/schemas/VacancyDraftPublications'
          nullable: true
          type: array
        last_change_time:
          description: 'Draft modification time (in the following format: [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) with second precision `YYYY-MM-DDThh:mm:ss±hhmm`)'
          nullable: true
          type: string
        publication_ready:
          description: Is the draft ready to be published?
          type: boolean
        required_publications:
          description: An array of objects with information on the required publications in the account
          items:
            $ref: '#/components/schemas/VacancyDraftPublications'
          nullable: true
          type: array
        scheduled_at:
          nullable: true
          oneOf:
            - $ref: '#/components/schemas/VacancyDraftScheduledAt'
            - $ref: '#/components/schemas/_IncludesNullableObject'
          type: string
      required:
        - completed_fields_percentage
        - draft_id
        - publication_ready
        - scheduled_at
      title: Draft
      type: object
    VacancyDraftPublications:
      properties:
        billing_type:
          $ref: '#/components/schemas/VacancyBillingTypeOutput'
          description: 'Billing type (directory [vacancy_billing_type](#tag/Public-directories/operation/get-dictionaries))'
        count:
          description: Quantity of publications
          type: number
        publication_type:
          deprecated: true
          description: 'Publication type (directory [vacancy_billing_type](#tag/Public-directories/operation/get-dictionaries))'
          type: string
        vacancy_type:
          description: 'Vacancy type (directory [vacancy_type](#tag/Public-directories/operation/get-dictionaries))'
          type: string
      required:
        - publication_type
        - billing_type
        - vacancy_type
        - count
      title: Publication
    VacancyDraftAutoPublicationState:
      properties:
        bill_uid:
          description: Invoice number
          type: string
        cart_id:
          description: Order ID
          type: string
      required:
        - bill_uid
        - cart_id
      title: Publication state
      type: object
    VacancyDraftAssignedManager:
      nullable: true
      properties:
        full_name:
          description: Full name
          type: string
        id:
          description: ID of the working account of the manager to whom the vacancy will go after publication
          type: string
      title: Manager to whom the vacancy will go after publication
      type: object
    VacancyDraftEmployer:
      properties:
        alternate_url:
          description: URL to view the employer on the website
          type: string
        id:
          description: Employer ID
          type: string
        logo_urls:
          description: Links to employer logos of various sizes
          properties:
            '90':
              type: string
            '240':
              type: string
            original:
              type: string
          required:
            - '90'
            - '240'
          type: object
        name:
          description: Employer name
          type: string
        url:
          description: URL to view the employer
          type: string
      required:
        - id
        - name
        - logo_urls
        - alternate_url
        - url
      title: Employer
      type: object
    VacancyDraftAddressOutput:
      allOf:
        - $ref: '#/components/schemas/VacancyAddressOutput'
        - $ref: '#/components/schemas/VacancyAddress'
      title: Address
    VacancyAddressOutput:
      allOf:
        - $ref: '#/components/schemas/GeocoderAddress'
        - $ref: '#/components/schemas/VacancyDescriptionAddress'
        - properties:
            metro_stations:
              items:
                $ref: '#/components/schemas/_IncludesMetroStation'
              minItems: 0
              type: array
          type: object
      description: Address
      nullable: true
      title: Address
      type: object
    VacancyDescriptionAddress:
      nullable: true
      properties:
        description:
          description: Description
          nullable: true
          type: string
      title: Address description
      type: object
    GeocoderAddress:
      description: Address
      nullable: true
      properties:
        building:
          description: Building
          nullable: true
          type: string
        city:
          description: City
          nullable: true
          type: string
        lat:
          description: Latitude
          nullable: true
          type: number
        lng:
          description: Longitude
          nullable: true
          type: number
        street:
          description: Street
          nullable: true
          type: string
      title: Address for geocoder
      type: object
    ErrorsCommonBadAuthCaptchaPrivate:
      oneOf:
        - $ref: '#/components/schemas/ErrorsCommonBadAuthorizationErrors'
      title: Errors
    SalaryStatisticsEvaluationResponse:
      properties:
        market_salary:
          $ref: '#/components/schemas/SalaryStatisticsMarketSalary'
          required:
            - average
            - minimum
            - maximum
        resulting_parameters:
          $ref: '#/components/schemas/SalaryStatisticsResultingParameters'
      required:
        - market_salary
        - resulting_parameters
      title: Salary evaluation
      type: object
    SalaryStatisticsResultingParameters:
      description: Set of parameters on the basis of which the calculation was performed
      properties:
        areas:
          description: Region codes
          items:
            $ref: '#/components/schemas/_IncludesIdName'
          type: array
        employee_levels:
          description: Levels of specialists
          items:
            $ref: '#/components/schemas/_IncludesIdName'
          nullable: true
          type: array
        employers_count:
          description: Number of employers whose data are included in the sample collection
          type: number
        excluded_areas:
          description: Excluded region codes
          items:
            $ref: '#/components/schemas/_IncludesIdName'
          nullable: true
          type: array
        indirect_calculation:
          description: Parameters of indirect evaluation of salary values
          nullable: true
          oneOf:
            - $ref: '#/components/schemas/SalaryStatisticsIndirectCalculation'
            - $ref: '#/components/schemas/_IncludesNullableObject'
          type: object
        industries:
          description: Industries
          items:
            $ref: '#/components/schemas/_IncludesIdName'
          nullable: true
          type: array
        positions_count:
          description: Number of positions on which the sample collection is based
          type: number
        sources:
          description: |
            Data sources used. Possible values:

            * `SALARIES` — data from the salary database
            * `RESUMES` — data from resumes
            * `VACANCIES` — data from vacancies
          items:
            enum:
              - SALARIES
              - RESUMES
              - VACANCIES
            type: string
          type: array
        specialities:
          description: Professional areas and specializations
          items:
            $ref: '#/components/schemas/_IncludesIdName'
          nullable: true
          type: array
      required:
        - areas
        - sources
        - employers_count
        - positions_count
      title: Parameters
      type: object
    SalaryStatisticsIndirectCalculation:
      properties:
        indirect_areas:
          description: Regions used for indirect calculation
          items:
            $ref: '#/components/schemas/_IncludesIdName'
          nullable: true
          type: array
        indirect_employee_levels:
          description: Levels of specialists that are included in the sample in the region that is used for indirect calculation
          items:
            $ref: '#/components/schemas/_IncludesIdName'
          nullable: true
          type: array
        indirect_regional_ratio:
          description: Regional factor used to obtain indirect salary assessment
          type: number
      required:
        - indirect_regional_ratio
      title: Indirect calculation
      type: object
    SalaryStatisticsMarketSalary:
      properties:
        average:
          description: Average calculated value
          type: number
        bottom:
          description: Lower limit of market range (25th percentile)
          type: number
        maximum:
          description: Maximum values (90th percentile)
          type: number
        median:
          description: Market median value
          type: number
        minimum:
          description: Minimum values (10th percentile)
          type: number
        upper:
          description: Upper limit of market range (75th percentile)
          type: number
      required:
        - upper
        - median
        - bottom
      title: Market salary statistics
      type: object
    DictionariesIndustriesResponse:
      items:
        $ref: '#/components/schemas/DictionariesBranchItem'
      title: List of branches
      type: array
    DictionariesBranchItem:
      properties:
        id:
          description: Branch ID
          type: string
        industries:
          description: Activities
          items:
            $ref: '#/components/schemas/_IncludesIdName'
          type: array
        name:
          description: Branch name
          type: string
      required:
        - id
        - name
        - industries
      title: Branch
      type: object
    ErrorsResumeBadArgumentResumeErrors:
      anyOf:
        - $ref: '#/components/schemas/ErrorsCommonBadArgumentErrors'
        - $ref: '#/components/schemas/ErrorsResumeAddEditErrors'
      title: Errors
    ErrorsResumeAddEditErrors:
      allOf:
        - $ref: '#/components/schemas/ErrorsCommonErrorRequestId'
        - properties:
            bad_argument:
              deprecated: true
              type: string
            bad_arguments:
              deprecated: true
              items:
                properties:
                  description:
                    type: string
                  name:
                    description: The field where the error occurred
                    type: string
                type: object
              type: array
            description:
              deprecated: true
              description: Error description
              type: string
            errors:
              description: Array with the information on each error
              items:
                $ref: '#/components/schemas/ErrorsResumeAddEditError'
              minItems: 1
              type: array
          required:
            - errors
          type: object
      description: Information about occurred errors
      title: Errors in using fields when creating and editing resumes
    ErrorsResumeAddEditError:
      additionalProperties: false
      properties:
        description:
          description: Error description
          example: Value below acceptable
          type: string
        pointer:
          description: |
            Data pointer with error in incoming message.

            For identifying the value it uses JsonPointer format [RFC 6901](https://tools.ietf.org/html/rfc6901)
          example: /education/additional/1/year
          type: string
        reason:
          description: |
            The cause of the error. Possible values:

            * `required` — this field is required.
            * `not_found` — no value found for the submitted ID.
            * `faculty_without_university` — you cannot set the faculty without the university.
            * `not_in_dictionary` — no value was found in the directory for the submitted ID.
            * `not_a_leaf` — value cannot include any leaf node.
            * `end_date_before_start_date` — `end` less than `start`.
            * `not_country` — 'area' must be a country (see [country directory](#tag/Public-directories/operation/get-countries)).
            * `more_than_one_native_language` — more than one native language.
            * `must_contain_unique` — submitted values must be unique.
            * `from_different_profareas` — submitted values are from different industries.
            * `duplicate` — value was already used.
            * `bad_image_type` — submitted value is of bad type (`portfolio` requires values from [GET /artifacts/portfolio](#tag/Artifact-managing/operation/get-artifacts-portfolio), `photo` requires values from [GET /artifacts/photo](#tag/Artifact-managing/operation/get-artifact-photos)).
            * `processing` — object is being processed.
            * `preferred_must_be_unique` — preferred method of communication must be unique.
            * `preferred_contact_not_specified` — preferred method of communication is not specified or contact is not specified.
            * `need_country_city_number_or_formatted` — wrong telephone format in contact details (see [conditions for completing the contact details in the resume](#tag/Resume-view/operation/get-resume)).
            * `invalid` — error in field value (fields must comply with [conditions for completing the fields](#tag/Resume.-Field-conditions/operation/get-resume-conditions)).
            * `greater_than_max` — value is greater than the maximum value.
            * `less_than_min` — value is less than the minimum value.
            * `earlier_than_min` — date is earlier than allowed.
            * `later_than_max` — date is later than allowed.
            * `length_less_than_min` — character number in the field is less than the minimum.
            * `length_greater_than_max` — character number in the field is greater than the maximum.
            * `size_less_than_min` — number of items is less than the minimum.
            * `size_greater_than_max` — number of items is greater than the maximum.
            * `send_metro_without_area` — no `area` specified for submitted metro station.
            * `not_belong_this_city` — this metro station is not in the specified city.
            * `required_with_not_started_career` — submit work experience if the specialty was not the career start.
            * `not_match_regexp` — value does not match regular expression.
            * `more_than_one` — more than one email is sent.
            * `not_available` — the specified value is not available
          example: not_available
          type: string
        type:
          description: A text identifier of the error class
          enum:
            - bad_json_data
          example: bad_json_data
          type: string
        value:
          description: Name of a field with the error
          example: year
          type: string
      required:
        - type
        - value
        - reason
        - description
        - pointer
      title: Error of resume creating or editing
      type: object
    ErrorsEmployerManagerBadAuthorizationErrors:
      allOf:
        - $ref: '#/components/schemas/ErrorsCommonErrorRequestId'
        - properties:
            description:
              description: Error description
              example: Forbidden
              type: string
            errors:
              description: Array with the information on each error
              items:
                $ref: '#/components/schemas/ErrorsEmployerManagerBadAuthorizationError'
              minItems: 1
              type: array
          required:
            - errors
          type: object
      description: Information on the occurred errors
      title: Bad authorization
    ErrorsEmployerManagerBadAuthorizationError:
      additionalProperties: false
      properties:
        allowed_accounts:
          description: |
            List of the accounts available for this token if the Work Account in use is blocked. Applicable for the employer authorization only
          items:
            $ref: '#/components/schemas/ManagerAccount'
          minItems: 1
          type: array
        reason:
          description: |
            Adding and editing employer's manager errors:
              * `already_exist` — A manager with this email address already exists
              * `creation_limit_exceeded` — The limit for creating managers has been reached
              * `not_editable` — The *field_name* field cannot be edited
          enum:
            - already_exist
            - creation_limit_exceeded
            - not_editable
          example: already_exist
          type: string
        type:
          description: A text identifier of the error class
          enum:
            - forbidden
            - oauth
            - manager_extra_accounts
            - manager_accounts
            - managers
          example: oauth
          type: string
        value:
          description: |
            General errors:
              * `bad_authorization` — Authorization token doesn't exist or is not valid
              * `token_expired` — Access_token validity period has expired, it is necessary to [refresh the access_token](#section/Authorization/Obtaining-access-and-refresh-tokens)
              * `token_revoked` — The token is revoked by user or server, the application should [request a new authorization](https://github.com/hhru/api/blob/master/docs_eng/authorization.md)
              * `application_not_found` — Your application has been deleted
              * `used_manager_account_forbidden` — [Work Account is blocked](https://github.com/hhru/api/blob/master/docs_eng/errors.md#manager-accounts-blocked)
              * `manager_extra_account_not_found` — Incorrect Account ID in the header
              * `email` — A manager with this email address already exists
              * `user_auth_expected` — Expected user authorization, received application authorisation
              * `manager_type` — Field manager_type cannot be edited
              * `area` — Field area cannot be edited
              * `last_name` — Field lastName cannot be edited
              * `first_name` — Field firstName cannot be edited
              * `middle_name` — Field middleName cannot be edited
          enum:
            - bad_authorization
            - token_expired
            - token_revoked
            - application_not_found
            - manager_extra_account_not_found
            - used_manager_account_forbidden
            - email
            - user_auth_expected
            - manager_type
            - area
            - last_name
            - first_name
            - middle_name
          example: bad_authorization
          type: string
      required:
        - type
      title: Error
      type: object
    NegotiationsNegotiationMessageTemplates:
      properties:
        mail:
          $ref: '#/components/schemas/NegotiationsNegotiationMessageTemplate'
          description: Messages templates list
        sms:
          $ref: '#/components/schemas/NegotiationsNegotiationMessageTemplate'
          description: Messages templates list
      required:
        - mail
      title: Negotiation templates list
      type: object
    NegotiationsNegotiationMessageTemplate:
      properties:
        employer_state:
          description: Corresponding employer state for this template; may be empty if the template is not related to any employer states
          type: string
        template_modified:
          description: Whether this template has been modified by employer or it is a template provided by HeadHunter
          type: boolean
        text:
          description: Template text
          type: string
      required:
        - text
        - template_modified
      title: Template for response to an applicant
      type: object
    ResumeShouldSendSmsContainer:
      properties:
        phone:
          $ref: '#/components/schemas/ResumeShouldSendSmsPhone'
          description: Info about the phone
      required:
        - phone
      title: Info about the phone
      type: object
    ResumeShouldSendSmsPhone:
      description: Applicant's phone number information
      properties:
        city:
          description: City phone code
          example: '929'
          type: string
        country:
          description: Country phone code
          example: '7'
          type: string
        formatted:
          description: Formatted phone number
          example: +7 (929) 667-21-67
          type: string
        need_verification:
          description: Is it necessary to verify the phone number
          example: false
          type: boolean
        number:
          description: Phone number without codes
          example: '6672167'
          type: string
        restricted_country:
          description: The phone number blacklisted for sms
          example: false
          type: boolean
        verified:
          description: The phone number is verified by the user
          example: true
          type: boolean
      required:
        - country
        - city
        - number
        - formatted
        - verified
        - need_verification
        - restricted_country
      title: Applicant's phone number information
      type: object
    MeProfile:
      description: Information about the current authorized user
      discriminator:
        mapping:
          applicant: '#/components/schemas/MeApplicantProfile'
          application: '#/components/schemas/MeAnyProfile'
          employer: '#/components/schemas/MeManagerProfile'
          employer_integration: '#/components/schemas/MeEmployerProfile'
        propertyName: auth_type
      oneOf:
        - $ref: '#/components/schemas/MeAnyProfile'
        - $ref: '#/components/schemas/MeApplicantProfile'
        - $ref: '#/components/schemas/MeManagerProfile'
        - $ref: '#/components/schemas/MeEmployerProfile'
      title: Information about the current authorized user
    MeEmployerProfile:
      allOf:
        - $ref: '#/components/schemas/MeCommonProfile'
        - additionalProperties: true
          properties:
            employer:
              $ref: '#/components/schemas/MeEmployerProfileCompany'
            personal_manager:
              $ref: '#/components/schemas/MeEmployerProfilePersonalManager'
          type: object
      description: Profile of the current user who is authorized as an employer
      title: Employer profile
    MeCommonProfile:
      description: |
        Contains flags that are relevant for any type of authorization: applicant, employer, application
      discriminator:
        mapping:
          applicant: '#/components/schemas/MeApplicantProfile'
          application: '#/components/schemas/MeAnyProfile'
          employer: '#/components/schemas/MeManagerProfile'
          employer_integration: '#/components/schemas/MeEmployerProfile'
        propertyName: auth_type
      properties:
        auth_type:
          description: Authorization type
          example: applicant
          nullable: true
          type: string
        is_admin:
          description: Is the current user a site administrator?
          example: false
          type: boolean
        is_applicant:
          description: Is the current user an applicant?
          example: false
          type: boolean
        is_application:
          description: Is the authorized client an application
          example: false
          type: boolean
        is_employer:
          description: Is the current user a manager?
          example: false
          type: boolean
        is_employer_integration:
          description: Is the current user an employer?
          example: false
          type: boolean
      required:
        - is_application
        - is_applicant
        - is_employer
        - is_admin
        - is_employer_integration
        - auth_type
      title: Profile flags
      type: object
    MeAnyProfile:
      allOf:
        - $ref: '#/components/schemas/MeCommonProfile'
        - properties: {}
          type: object
      description: |
        Contains flags relevant for any type of authorization: applicant, employer, application
      title: Profile flags
      type: object
    MeManagerProfile:
      allOf:
        - $ref: '#/components/schemas/MeAnyUserProfile'
        - additionalProperties: true
          properties:
            employer:
              $ref: '#/components/schemas/MeEmployerProfileCompanyDeprecated'
            is_in_search:
              deprecated: true
              nullable: true
              type: object
            manager:
              $ref: '#/components/schemas/MeEmployerProfileManager'
            negotiations_url:
              deprecated: true
              nullable: true
              type: object
            personal_manager:
              $ref: '#/components/schemas/MeEmployerProfilePersonalManager'
            resumes_url:
              deprecated: true
              nullable: true
              type: object
          type: object
      description: Profile of the current user authorized as a manager
      title: Employer profile
    MeEmployerProfileCompanyDeprecated:
      allOf:
        - $ref: '#/components/schemas/MeEmployerProfileCompany'
        - additionalProperties: true
          properties:
            manager_id:
              deprecated: true
              description: Manager ID
              example: '4062820'
              type: string
          required:
            - manager_id
          type: object
      description: Information about the employer company
      title: Employer company
      type: object
    MeEmployerProfileCompany:
      description: Employer company information
      properties:
        id:
          description: Company ID
          example: '1455'
          type: string
        name:
          description: Company name
          example: HeadHunter
          type: string
      required:
        - id
        - name
      title: Employer company
      type: object
    MeEmployerProfileManager:
      description: Information about the user as a manager of the company
      properties:
        has_admin_rights:
          description: Does the current manager have administrative privileges
          example: true
          type: boolean
        has_multiple_manager_accounts:
          description: 'Does a User have multiple [Work Accounts](#tag/Employer-managers/operation/get-manager-accounts)?'
          example: true
          type: boolean
        id:
          description: Manager ID
          example: '87654321'
          type: string
        is_main_contact_person:
          description: Is the current manager the company's main contact person
          example: true
          type: boolean
        manager_settings_url:
          description: 'The URL to perform a GET request to obtain the [manager preferences](#tag/Employer-managers/operation/get-manager-settings)'
          example: 'https://api.hh.ru/employers/1455/managers/87654321/settings'
          format: uri
          type: string
      required:
        - id
        - has_admin_rights
        - has_multiple_manager_accounts
        - is_main_contact_person
        - manager_settings_url
      title: Company manager information
      type: object
    MeEmployerProfilePersonalManager:
      description: Information on the personal manager for the employer
      properties:
        email:
          description: Email of the personal manager
          example: smirnov@example.com
          format: email
          type: string
        first_name:
          description: Manager first name
          example: Nick
          type: string
        id:
          description: Personal manager ID
          example: '1234567'
          type: string
        is_available:
          description: If the manager is currently available
          example: false
          type: boolean
        last_name:
          description: Manager last name
          example: Smirnov
          type: string
        photo_urls:
          additionalProperties: false
          description: Manager's photos
          nullable: true
          properties:
            big:
              description: URL of a large photo of the manager
              example: 'https://hhcdn.ru/file/big.jpg'
              format: uri
              nullable: true
              type: string
            small:
              description: URL of a small photo of the manager
              example: 'https://hhcdn.ru/file/small.jpg'
              format: uri
              nullable: true
              type: string
          type: object
        unavailable:
          additionalProperties: false
          description: Information on the absence of the manager
          nullable: true
          properties:
            until:
              description: Time until which the manager is unavailable
              example: '2016-07-01T08:00:00+0400'
              format: dateTime
              type: string
          type: object
      required:
        - id
        - first_name
        - last_name
        - email
        - is_available
      title: Personal manager for the employer
      type: object
    MeAnyUserProfile:
      allOf:
        - $ref: '#/components/schemas/MeAnyProfile'
        - additionalProperties: true
          properties:
            email:
              description: Email of current user
              example: ivanov@example.com
              format: email
              nullable: true
              type: string
            first_name:
              description: First Name
              example: Alex
              type: string
            id:
              description: User ID
              example: '12345678'
              type: string
            is_anonymous:
              deprecated: true
              type: boolean
            last_name:
              description: Last name
              example: Ivanov
              type: string
            mid_name:
              deprecated: true
              example: Nikolaevich
              nullable: true
              type: string
            middle_name:
              description: Middle name
              example: Nikolaevich
              nullable: true
              type: string
            phone:
              description: Phone number. It is only displayed for applicants if a phone number is specified
              example: '79164555555'
              format: phone
              nullable: true
              type: string
          required:
            - id
            - first_name
            - last_name
          type: object
      description: The base profile of the current user who is authorized as an applicant or employer
      title: The base profile
    MeApplicantProfile:
      allOf:
        - $ref: '#/components/schemas/MeAnyUserProfile'
        - additionalProperties: true
          properties:
            counters:
              $ref: '#/components/schemas/MeApplicantProfileCounters'
            employer:
              deprecated: true
              nullable: true
              type: object
            is_in_search:
              description: Flag "looking for a job yes/no" if the current user is an applicant
              example: false
              type: boolean
            manager:
              deprecated: true
              nullable: true
              type: object
            negotiations_url:
              description: |
                Reference to current user responses/invitations list api-service
              format: uri
              type: string
            personal_manager:
              deprecated: true
              nullable: true
              type: object
            profile_videos:
              $ref: '#/components/schemas/ProfileVideosList'
            resumes_url:
              description: |
                Reference to current user resumes list api-service
              example: 'https://api.hh.ru/resumes/mine'
              format: uri
              type: string
            user_statuses:
              $ref: '#/components/schemas/UserStatusesApplicant'
          required:
            - counters
            - resumes_url
            - negotiations_url
            - is_in_search
          type: object
      description: Profile of the current user who is authorized as an applicant
      title: Applicant profile
    MeApplicantProfileCounters:
      description: Applicant Counter Information
      properties:
        new_resume_views:
          description: Total number of new views of all resumes of the current user
          example: 2
          minimum: 0
          type: integer
        resumes_count:
          description: Total number of created resumes of the current user
          example: 5
          minimum: 0
          type: integer
        unread_negotiations:
          description: 'Number of new unread conversations (with has_updates: true)'
          example: 1
          minimum: 0
          type: integer
      required:
        - unread_negotiations
        - new_resume_views
        - resumes_count
      title: Applicant counters
      type: object
    UserStatusesApplicant:
      properties:
        job_search_status:
          $ref: '#/components/schemas/UserStatusesJobSearchStatus'
          required:
            - id
            - name
            - last_change_time
      title: Applicant's User Status
      type: object
    UserStatusesJobSearchStatus:
      properties:
        id:
          description: Status ID
          example: active_search
          type: string
        last_change_time:
          description: Time when status was changed last time
          example: 2024-02-08T10:48:44.267Z
          type: string
        name:
          description: Status name
          example: Actively seeking employment
          type: string
      title: Applicant's Job Search Status
      type: object
    ProfileVideosList:
      description: List of profile videos for the current or the requested applicant
      example:
        $ref: '#/components/examples/ProfileVideosProfileVideosList/value'
      properties:
        items:
          items:
            properties:
              download_url:
                properties:
                  expires_at:
                    description: Date and time until the link is valid
                    type: string
                  url:
                    description: Video download link
                    type: string
                required:
                  - url
                  - expires_at
                type: object
              id:
                description: Video ID
                type: string
            required:
              - id
              - download_url
            type: object
          type: array
      required:
        - items
      title: List of profile videos
      type: object
    ErrorsCommonBadRequestErrors:
      allOf:
        - $ref: '#/components/schemas/ErrorsCommonErrorRequestId'
        - properties:
            description:
              deprecated: true
              description: Description of the error
              type: string
            errors:
              description: Array with the information on each error
              items:
                $ref: '#/components/schemas/ErrorsCommonBadRequestError'
              minItems: 1
              type: array
          required:
            - errors
          type: object
      description: Information about occurred errors
      title: Errors in the request body
    ErrorsCommonBadRequestError:
      additionalProperties: false
      properties:
        type:
          description: A text identifier of the error class
          enum:
            - bad_request
          example: bad_request
          type: string
      required:
        - type
      title: Common error
      type: object
    ErrorsResumeTooManyRequestsApplicantErrors:
      allOf:
        - $ref: '#/components/schemas/ErrorsCommonErrorRequestId'
        - properties:
            description:
              deprecated: true
              description: Error description
              type: string
            errors:
              description: Array with error data
              items:
                $ref: '#/components/schemas/ErrorsResumeTooManyRequestsApplicantError'
              minItems: 1
              type: array
          required:
            - errors
          type: object
      description: Information about occurred errors
      title: Errors with resumes
    ErrorsResumeTooManyRequestsApplicantError:
      additionalProperties: false
      properties:
        type:
          description: Text identifier of the error type
          enum:
            - resumes
          example: resumes
          type: string
        value:
          description: |
            General errors:
              * `touch_limit_exceeded` — Changing your resume too often
          enum:
            - touch_limit_exceeded
          example: touch_limit_exceeded
          type: string
      required:
        - type
        - value
      title: Error
      type: object
    ResumesByStatusResponse:
      properties:
        already_applied:
          description: List of resumes that have already been used to respond to this job
          items:
            $ref: '#/components/schemas/ResumesSuitableResumeItem'
          minItems: 0
          type: array
        counters:
          nullable: true
          oneOf:
            - $ref: '#/components/schemas/_IncludesNullableObject'
            - $ref: '#/components/schemas/ResumesByStatusCounters'
          type: object
        not_published:
          description: 'List of unpublished resumes (in the `not_published` or `blocked` [status](#tag/Resume.-Viewing-information/Resume-status))'
          items:
            $ref: '#/components/schemas/ResumesSuitableResumeItem'
          minItems: 0
          type: array
        suitable:
          description: List of resumes that can be used to apply for this job
          items:
            $ref: '#/components/schemas/ResumesSuitableResumeItem'
          minItems: 0
          type: array
        unavailable:
          description: 'List of resumes that cannot be used to apply for this job (for example, because of conflicting resume visibility settings)'
          items:
            $ref: '#/components/schemas/ResumesSuitableResumeItem'
          minItems: 0
          type: array
      required:
        - suitable
        - not_published
        - already_applied
        - unavailable
      title: Resumes grouped by the possibility of application
      type: object
    ResumesSuitableResumeItem:
      allOf:
        - $ref: '#/components/schemas/ResumeResumeShortForOwner'
          type: object
        - $ref: '#/components/schemas/ResumeResumeEmploymentTerms'
          type: object
        - properties:
            access:
              $ref: '#/components/schemas/ResumeObjectsAccess'
            finished:
              description: Whether the resume is filled out
              type: boolean
            requires_completion:
              description: |
                Becomes `true` if a resume is incomplete. Applicable only for vacancies without "accept incomplete resumes" flag.

                If `true`, the applicant should fill in mandatory fields (available in [full resume](#tag/Resume-view/operation/get-resume)) before applying for this job
              type: boolean
            status:
              allOf:
                - $ref: '#/components/schemas/_IncludesIdName'
              description: |
                Resume [status](#tag/Resume.-Viewing-information/Resume-status)
          required:
            - requires_completion
            - finished
            - status
            - access
          type: object
      title: Resume suitable for job application
      type: object
    ResumesByStatusCounters:
      description: Number of resumes in the lists
      properties:
        already_applied:
          description: Number of resumes that have already been used to respond to this job
          type: number
        not_published:
          description: 'Number of unpublished resumes (in the `not_published` or `blocked` [status](#tag/Resume.-Viewing-information/Resume-status))'
          type: number
        suitable:
          description: Number of resumes that can be used to apply for this job
          type: number
        unavailable:
          description: 'Number of resumes that cannot be used to apply for this job (for example, because of conflicting resume visibility settings)'
          type: number
      required:
        - suitable
        - not_published
        - already_applied
        - unavailable
      title: Number of resumes in the lists
      type: object
    VacanciesVacancyApplicationBody:
      properties:
        message:
          description: |
            Application cover letter.

            It is required if the vacancy specifies the cover letter as mandatory.

            Maximum length of the message — 10000 characters
          nullable: true
          type: string
        resume_id:
          description: ID of the resume that an applicant responds with
          type: string
        vacancy_id:
          description: ID of the vacancy that one applies for
          type: string
      required:
        - vacancy_id
        - resume_id
      title: Request body
    ResumesSuitableResumesResponse:
      allOf:
        - $ref: '#/components/schemas/_IncludesPagination'
          type: object
        - $ref: '#/components/schemas/ResumesSuitableResumeItems'
          type: object
        - properties:
            overall:
              $ref: '#/components/schemas/ResumesSuitableResumeOverall'
          required:
            - overall
          type: object
      title: Information about resumes suitable for job application
      type: object
    ResumesSuitableResumeOverall:
      description: Contains information about overall number of applicant's resumes
      properties:
        already_applied:
          description: Number of resumes that have already been used by the user to apply for this job
          type: number
        not_published:
          description: Number of unpublished resumes
          type: number
        unavailable:
          description: 'Number of resumes that cannot be used to apply for this job for other reasons (conflicting resume visibility settings, etc.)'
          type: number
      required:
        - not_published
        - already_applied
        - unavailable
      title: Overall number of resumes
      type: object
    ResumesSuitableResumeItems:
      properties:
        items:
          description: List of resumes that are suitable for job application
          items:
            $ref: '#/components/schemas/ResumesSuitableResumeItem'
          minItems: 0
          type: array
      required:
        - items
      title: List of resumes that are suitable for job application
      type: object
    VacancyCreate:
      allOf:
        - $ref: '#/components/schemas/VacancyCommonFields'
        - $ref: '#/components/schemas/VacancyAnyOfCreateFieldsOrWithProperties'
      description: Fields that can be specified in a create request
      title: Fields that can be specified in a create request
      type: object
    VacancyAnyOfCreateFieldsOrWithProperties:
      anyOf:
        - $ref: '#/components/schemas/VacancyCreateFields'
      description: Fields passed in the request to create vacancies
      title: Fields passed in the request to create vacancies
      type: object
    VacancyCreateFields:
      description: Fields that can be specified in a create request
      properties:
        area:
          $ref: '#/components/schemas/VacancyArea'
        billing_type:
          $ref: '#/components/schemas/VacancyBillingType'
        description:
          $ref: '#/components/schemas/VacancyDescription'
        driver_license_types:
          oneOf:
            - $ref: '#/components/schemas/VacancyDriverLicenseTypes'
            - $ref: '#/components/schemas/_IncludesNullableObject'
        manager:
          nullable: true
          oneOf:
            - $ref: '#/components/schemas/VacancyManager'
            - $ref: '#/components/schemas/_IncludesNullableObject'
          type: object
        name:
          $ref: '#/components/schemas/VacancyName'
        previous_id:
          description: 'If this parameter is passed, then the new vacancy will additionally have a connection with the previous vacancy (previous_id field). This parameter does not affect or relate to the others; they still need to be passed. Must be equal only to the ID of the archived vacancy. [Requesting archived vacancies](#tag/Vacancy-management/operation/get-archived-vacancies) is one of the ways to obtain an ID'
          nullable: true
          title: Previous vacancy ID
          type: string
        type:
          $ref: '#/components/schemas/VacancyType'
      required:
        - name
        - description
        - area
        - type
        - billing_type
        - professional_roles
      title: Fields that can be specified in a create request
      type: object
    ResumeProfileResumeProfileResponse:
      description: 'Схема по которой определяется набор полей, вид визарда заполнения резюме и профиля и текущие заполненные данные'
      properties:
        additional_properties:
          $ref: '#/components/schemas/ResumeProfileAdditionalProperties'
        conditions:
          $ref: '#/components/schemas/ProfileProfileResumeConditions'
        creds:
          $ref: '#/components/schemas/CredsCreds'
        next_incomplete_screen_id:
          description: 'Экран, который нужно отобразить следующим'
          nullable: true
          type: string
        profile:
          $ref: '#/components/schemas/ProfileProfileView'
        profile_conditions:
          $ref: '#/components/schemas/ProfileProfileConditions'
        resume:
          $ref: '#/components/schemas/ResumeViewApplicantResume'
        resumes:
          $ref: '#/components/schemas/ProfileProfileResumes'
        screens:
          description: Упорядоченные экраны для отображения
          items:
            $ref: '#/components/schemas/ResumeProfileScreen'
          type: array
        skills_with_levels:
          description: Все навыки пользователя с уровнями и подтверждениями
          items:
            $ref: '#/components/schemas/SkillVerificationsSkill'
          minItems: 0
          type: array
      required:
        - screens
        - resume
        - conditions
        - resumes
        - profile
        - profile_conditions
      title: Схема резюме профиля для заполнения
      type: object
    ProfileProfileConditions:
      description: |-
        Conditions to fill in the fields of a profile.
        More information about it can be found in [the relevant section of the public documentation](#tag/Resume.-Field-conditions)
      title: Условия заполнения полей профиля
      type: object
    ResumeViewApplicantResume:
      allOf:
        - $ref: '#/components/schemas/ResumeResume'
        - $ref: '#/components/schemas/_IncludesUrl'
        - properties:
            access:
              description: |
                A [visibility of resume](#tag/Resume-view/operation/get-resume) ('access' attribute)
              properties:
                type:
                  allOf:
                    - $ref: '#/components/schemas/_IncludesIdName'
                  description: Тип видимости
              required:
                - type
              type: object
            actions:
              allOf:
                - $ref: '#/components/schemas/ResumeObjectsActionsForOwner'
              description: Дополнительные действия
              type: object
            auto_hide_time:
              $ref: '#/components/schemas/ResumeObjectsAutoHideTime'
              description: |
                The time of auto-hiding of the resume when the user is inactive. 

                Defines the period after which the resume will be hidden if the user has not performed any actions.
                Possible values are listed when requesting [resume visibility types](#tag/Resume-visibility-lists/operation/get-resume-access-types)

                The field is viewable and editable for users rabota.by only
            blocked:
              description: 'Whether the resume is blocked ([more info](#tag/Resume.-Viewing-information/Resume-status))'
              type: boolean
            can_publish_or_update:
              description: Можно ли опубликовать или обновить данное резюме
              type: boolean
            finished:
              description: Заполнено ли резюме
              type: boolean
            moderation_note:
              description: |
                Moderator's notes.
                In some cases, comments may be accompanied by [resume blocking](#tag/Resume.-Viewing-information/Resume-status).
                A complete list of possible comments is available in the `resume_moderation_note` field [in the field directory](#tag/Public-directories/operation/get-dictionaries)
              items:
                $ref: '#/components/schemas/ResumeObjectsModerationNote'
              type: array
            next_publish_at:
              description: Дата и время следующей возможной публикации/обновления
              nullable: true
              type: string
            paid_services:
              description: 'Documentation [Resume-related paid services for the resume owner](#tag/Resume.-Viewing-info/operation/get-resume) (''paid_services'' attribute)'
              items:
                properties:
                  active:
                    description: Активна ли в данный момент услуга
                    type: boolean
                  expires:
                    description: 'Время окончания действия услуги, если услуга активна'
                    type: string
                  id:
                    description: Идентификатор услуги
                    type: string
                  name:
                    description: Название услуги
                    type: string
                required:
                  - id
                  - name
                  - active
                type: object
              type: array
            photo:
              $ref: '#/components/schemas/ResumeObjectsPhotoShort'
            publish_url:
              description: URL для публикации или обновления резюме
              type: string
            status:
              allOf:
                - $ref: '#/components/schemas/_IncludesIdName'
              description: |
                A [status of resume](#tag/Resume.-Viewing-information/Resume-status)
          required:
            - access
            - paid_services
            - actions
          type: object
      description: Информация о резюме для соискателя
      title: Резюме для его автора
    ResumeObjectsPhotoShort:
      description: 'Значение может быть `null`, если у работодателя отсутствует брендирование страницы'
      nullable: true
      oneOf:
        - $ref: '#/components/schemas/_IncludesNullableObject'
        - properties:
            id:
              description: Уникальный идентификатор изображения
              type: string
            medium:
              description: 'URL среднего по размеру изображения. Изображение по данному URL доступно ограниченное время после получения ответа. Приложение должно быть готово к тому, что на запрос изображения вернется ошибка `404 Not Found`'
              type: string
            small:
              description: 'URL уменьшенного изображения. Изображение по данному URL доступно ограниченное время после получения ответа. Приложение должно быть готово к тому, что на запрос изображения вернется ошибка `404 Not Found`'
              type: string
          required:
            - id
            - small
            - medium
          type: object
      title: Фотография
      type: object
    ResumeResume:
      allOf:
        - $ref: '#/components/schemas/ResumeResumeCommon'
        - properties:
            experience:
              description: Applicant's experience
              items:
                $ref: '#/components/schemas/ResumeObjectsExperience'
              minItems: 0
              type: array
          required:
            - created_at
            - updated_at
            - certificate
            - education
            - experience
            - download
            - hidden_fields
          type: object
      title: Resume info
      type: object
    ResumeObjectsExperience:
      allOf:
        - $ref: '#/components/schemas/ResumeObjectsExperienceProperties'
      required:
        - start
        - position
        - industries
      title: Experience in an organization
    ResumeObjectsExperienceProperties:
      allOf:
        - $ref: '#/components/schemas/ResumeObjectsExperiencePropertiesShort'
        - properties:
            description:
              description: 'Responsibilities, functions, achievements'
              nullable: true
              type: string
          type: object
      title: Experience in an organization
      type: object
    ProfileProfileResumeConditions:
      description: |-
        Conditions to fill in the fields of a resume.
        More information about it can be found in [the relevant section of the public documentation](#tag/Resume.-Field-conditions)
      title: Условия заполнения полей резюме
      type: object
    SkillVerificationsSkill:
      additionalProperties: true
      description: Подтвержденный навык
      properties:
        category:
          $ref: '#/components/schemas/SkillVerificationsSkillCategory'
        id:
          description: Идентификатор навыка
          type: integer
        level:
          nullable: true
          oneOf:
            - $ref: '#/components/schemas/SkillVerificationsLevel'
            - $ref: '#/components/schemas/_IncludesNullableObject'
          type: object
        name:
          description: Название навыка
          type: string
        practice:
          description: Ссылка на успешное подтверждение практических знаний навыка
          nullable: true
          oneOf:
            - $ref: '#/components/schemas/SkillVerificationsSkillVerification'
            - $ref: '#/components/schemas/_IncludesNullableObject'
          type: object
        theory:
          description: Ссылка на успешное подтверждение теоретических знаний навыка
          nullable: true
          oneOf:
            - $ref: '#/components/schemas/SkillVerificationsSkillVerification'
            - $ref: '#/components/schemas/_IncludesNullableObject'
          type: object
        verifications:
          deprecated: true
          description: Подтверждения навыков
          items:
            $ref: '#/components/schemas/SkillVerificationsSkillVerification'
          nullable: false
          type: array
        verified:
          description: Флаг подтвержденного навыка
          type: boolean
        verified_by:
          description: Источник подтверждения навыка
          enum:
            - NONE
            - THEORY
            - PRACTICE
            - THEORY_AND_PRACTICE
          type: string
      required:
        - id
        - name
        - category
        - verified
        - verified_by
      title: Навык
      type: object
    SkillVerificationsLevel:
      additionalProperties: true
      description: Уровень владения навыком
      properties:
        id:
          description: Уникальный идентификатор уровня владения навыком
          type: integer
        internal_id:
          description: Уникальный текстовый идентификатор уровня владения навыка на базе резюме
          type: string
        name:
          description: Название уровня владения навыка
          type: string
        rank:
          description: Порядковый номер уровня владения навыка
          type: integer
      required:
        - id
        - internal_id
        - name
        - rank
      title: Уровень владения навыком
      type: object
    SkillVerificationsSkillCategory:
      description: Категория навыка
      enum:
        - LANG
        - SKILL
      title: Категория навыка
      type: string
    SkillVerificationsSkillVerification:
      additionalProperties: true
      description: Информация о подтверждении навыка
      properties:
        attempted_at:
          description: Дата подтверждения навыка
          type: string
        id:
          description: Идентификатор экземпляра подтверждения навыка
          type: integer
        level:
          nullable: true
          oneOf:
            - $ref: '#/components/schemas/SkillVerificationsLevel'
            - $ref: '#/components/schemas/_IncludesNullableObject'
          type: object
        method:
          $ref: '#/components/schemas/SkillVerificationsShortMethod'
        result:
          $ref: '#/components/schemas/SkillVerificationsResult'
        validity:
          $ref: '#/components/schemas/SkillVerificationsValidity'
      required:
        - id
        - attempted_at
        - method
        - result
        - validity
      title: Подтверждение навыка
      type: object
    SkillVerificationsValidity:
      additionalProperties: true
      description: Информация о необходимости подтверждения навыка
      properties:
        state:
          description: Текущее состояние подтверждения навыка
          type: string
        valid_until:
          description: 'Момент времени, до которого подтверждение будет считаться действительным'
          nullable: true
          type: string
      required:
        - state
      title: Состояние подтверждения навыка
      type: object
    SkillVerificationsResult:
      additionalProperties: true
      description: Информация о результате подтверждения навыка
      properties:
        antifraud_verdict:
          description: Статус антифрод проверки
          enum:
            - FRAUD_DETECTED
            - UNKNOWN
            - VERIFIED
            - FAILED_TO_VERIFY
            - EVALUATION_WAS_NOT_REQUESTED
          type: string
        score:
          properties:
            actual:
              description: Набранное количество очков
              type: number
            max:
              description: Максимальное количество очков
              type: number
          required:
            - max
            - actual
          type: object
        status:
          description: Статус результата подтверждения навыка
          type: string
        type:
          description: Тип результата подтверждения навыка
          type: string
      required:
        - type
        - status
      title: Результат подтверждения навыка
      type: object
    SkillVerificationsShortMethod:
      additionalProperties: true
      description: 'Краткая информация о способе подтверждения навыка, отображаемая у подтвержденного навыка или у результата подтверждения навыка'
      properties:
        branding_settings:
          nullable: true
          oneOf:
            - $ref: '#/components/schemas/SkillVerificationsBrandingSettings'
            - $ref: '#/components/schemas/_IncludesNullableObject'
          type: object
        description:
          description: Описание способа подтверждения навыка
          nullable: true
          type: string
        headline:
          nullable: true
          oneOf:
            - $ref: '#/components/schemas/SkillVerificationsImage'
            - $ref: '#/components/schemas/_IncludesNullableObject'
          type: object
        icon:
          nullable: true
          oneOf:
            - $ref: '#/components/schemas/SkillVerificationsImage'
            - $ref: '#/components/schemas/_IncludesNullableObject'
          type: object
        id:
          description: Идентификатор способа подтверждения навыка
          type: integer
        name:
          description: Название способа подтверждения навыка
          type: string
        platform:
          description: Платформа для способа подтверждения навыка
          enum:
            - KAK_DELA_QUIZ
          type: string
        source:
          $ref: '#/components/schemas/SkillVerificationsSource'
      required:
        - id
        - name
        - source
        - platform
      title: Краткое описание способа подтверждения навыка
      type: object
    SkillVerificationsBrandingSettings:
      additionalProperties: true
      description: Настройки брендирования для способа подтверждения навыка
      properties:
        age_label:
          description: Возрастное ограничение в соответствии с Федеральным законом от 29.12.2010 N 436-ФЗ
          type: string
        cta_button_enabled:
          description: Флаг включения Call-to-Action кнопки для способа подтверждения навыка
          type: boolean
        enabled:
          description: Флаг включения брендирования для способа подтверждения навыка
          type: boolean
      required:
        - enabled
        - cta_button_enabled
        - age_label
      title: Настройки брендирования
      type: object
    SkillVerificationsImage:
      description: Изображение под разные темы для разных размеров (пресеты)
      properties:
        dark:
          $ref: '#/components/schemas/_IncludesThemeIcons'
        defaults:
          $ref: '#/components/schemas/_IncludesThemeIcons'
        light:
          $ref: '#/components/schemas/_IncludesThemeIcons'
      title: Ссылки на изображения
      type: object
    _IncludesThemeIcons:
      additionalProperties:
        type: string
      description: Ссылки на изображения разных масштабов для темы
      title: Иконки для темы
      type: object
    SkillVerificationsSource:
      additionalProperties: true
      description: Источник подтверждения навыка
      properties:
        description:
          description: Описание источника подтверждения навыка
          nullable: true
          type: string
        headline:
          nullable: true
          oneOf:
            - $ref: '#/components/schemas/SkillVerificationsImage'
            - $ref: '#/components/schemas/_IncludesNullableObject'
          type: object
        href:
          description: Ссылка на источник подтверждения навыка
          nullable: true
          type: string
        icon:
          nullable: true
          oneOf:
            - $ref: '#/components/schemas/SkillVerificationsImage'
            - $ref: '#/components/schemas/_IncludesNullableObject'
          type: object
        id:
          description: Уникальный идентификатор источника подтверждения навыка
          type: integer
        name:
          description: Название источника подтверждения навыка
          type: string
      required:
        - id
        - name
      title: Источник подтверждения навыка
      type: object
    ProfileProfileView:
      description: Информация о профиле для соискателя
      properties:
        address_coordinates:
          description: Координаты проживания
          nullable: true
          oneOf:
            - $ref: '#/components/schemas/ProfileFieldsAddressCoordinates'
            - $ref: '#/components/schemas/_IncludesNullableObject'
          type: object
        area:
          description: Город проживания
          nullable: true
          oneOf:
            - $ref: '#/components/schemas/ProfileFieldsArea'
            - $ref: '#/components/schemas/_IncludesNullableObject'
          type: object
        birth_date:
          description: Дата рождения
          format: date
          nullable: true
          type: string
        citizenship:
          description: Список гражданств
          items:
            $ref: '#/components/schemas/_IncludesArea'
          nullable: false
          type: array
        communication_methods:
          additionalProperties:
            $ref: '#/components/schemas/ProfileFieldsCommunicationMethod'
          description: Способы коммуникации
          nullable: true
          type: object
        driver_license_types:
          description: Список категорий прав на вождение ТС
          items:
            $ref: '#/components/schemas/_IncludesId'
          nullable: false
          type: array
        education:
          allOf:
            - $ref: '#/components/schemas/ProfileFieldsEducation'
          description: |
            Образование соискателя. 

            Особенности сохранения образования:

            * Если передать и высшее и среднее образование и уровень образования "среднее", то сохранится только среднее образование.
            * Если передать и высшее и среднее образование и уровень образования "высшее", то сохранится только высшее образование
          type: object
        first_name:
          description: Имя
          nullable: true
          type: string
        gender:
          description: 'Applicant''s gender. Possible values are listed in the `gender` field of [directories](#tag/Public-directories/operation/get-dictionaries)'
          nullable: true
          oneOf:
            - $ref: '#/components/schemas/_IncludesIdName'
            - $ref: '#/components/schemas/_IncludesNullableObject'
          type: object
        has_vehicle:
          description: Есть ли личный автомобиль
          nullable: true
          type: boolean
        language:
          description: Список уровней владения языками
          items:
            $ref: '#/components/schemas/_IncludesLanguageLevel'
          nullable: false
          type: array
        last_name:
          description: Фамилия
          nullable: true
          type: string
        metro:
          description: Станция метро
          nullable: true
          oneOf:
            - $ref: '#/components/schemas/MetroLineStation'
            - $ref: '#/components/schemas/_IncludesNullableObject'
          type: object
        middle_name:
          description: Отчество
          nullable: true
          type: string
        other_communication_methods:
          description: Другие способы коммуникации
          items:
            $ref: '#/components/schemas/ProfileFieldsOtherCommunicationMethod'
          nullable: true
          type: array
        preferred_work_all_areas:
          description: Выбор всех регионов в районах поиска работы
          nullable: true
          type: boolean
        preferred_work_areas:
          description: Предпочтительные районы поиска работы
          items:
            $ref: '#/components/schemas/ProfileFieldsPreferredWorkArea'
          nullable: true
          type: array
        relocation:
          allOf:
            - $ref: '#/components/schemas/ResumeObjectsRelocation'
          description: Возможность переезда
        status:
          allOf:
            - $ref: '#/components/schemas/_IncludesIdName'
          description: 'A [status of resume](#tag/Resume.-Viewing-information/Resume-status)'
        work_ticket:
          description: 'Список стран, в которых есть разрешение на работу'
          items:
            $ref: '#/components/schemas/_IncludesArea'
          nullable: false
          type: array
      title: Профиль для его владельца
      type: object
    ProfileFieldsArea:
      properties:
        id:
          description: 'Area ID from [directory](#tag/Public-directories/operation/get-areas)'
          type: string
        lat:
          description: Широта
          format: double
          nullable: true
          type: number
        lng:
          description: Долгота
          format: double
          nullable: true
          type: number
        name:
          description: Название региона
          type: string
        url:
          description: Ссылка на информацию о регионе
          type: string
      required:
        - id
        - name
        - url
      title: Регион
      type: object
    ProfileProfileResumes:
      description: Список резюме соискателя
      items:
        properties:
          conditions:
            $ref: '#/components/schemas/ProfileProfileResumeConditions'
          resume:
            $ref: '#/components/schemas/ProfileProfileResumesListItemView'
        required:
          - resume
          - conditions
        type: object
      title: Список резюме соискателя
      type: array
    ProfileProfileResumesListItemView:
      description: Сокращенное представление резюме
      properties:
        id:
          description: Идентификатор резюме
          type: string
        photo:
          description: Фотография пользователя
          nullable: true
          oneOf:
            - $ref: '#/components/schemas/_IncludesNullableObject'
            - $ref: '#/components/schemas/ProfilePhoto'
          type: object
        status:
          allOf:
            - $ref: '#/components/schemas/_IncludesIdName'
        title:
          description: Желаемая должность
          nullable: true
          type: string
      required:
        - id
        - title
        - photo
      title: Сокращенное представление резюме
    ResumeProfileScreen:
      description: Информация о профиле для соискателя
      properties:
        fields_options:
          additionalProperties:
            properties:
              fields:
                type: object
              visibility:
                description: Видимость поля на экране
                enum:
                  - show
                  - hide
                type: string
            type: object
          description: Параметры полей привязанных к этому экрану
          type: object
        messages:
          additionalProperties:
            items:
              properties:
                fields:
                  description: 'Список полей, к которым относится сообщение'
                  items:
                    description: Название поля
                    type: string
                  type: array
                text:
                  description: Текст сообщения
                  type: string
              type: object
            type: array
          description: 'Сообщения, которые показываются на этом экране'
          type: object
        screen_content:
          description: Информация о том что нужно отобразить на данном экране (Актуально только для динамического экрана)
          items:
            properties:
              content_id:
                description: 'Идентификатор контента. Для креда это question_id, для уровней навыков незначащее значение skill_levels'
                type: string
              content_type:
                description: Вид контента для отображения
                enum:
                  - cred
                  - skill_levels
                type: string
            type: object
          type: array
        screen_id:
          description: 'Уникальный идентификатор для экрана. Для статических он предзадан у клиентов, для динамических генерируется  на сервере'
          type: string
        screen_type:
          description: Ссылка на профиль или идентификатор
          enum:
            - static
            - dynamic
          type: string
        title:
          description: Заголовок экрана
          type: string
      required:
        - screen_type
        - screen_id
      title: Профиль для его владельца
    CredsCreds:
      description: |
        Documents confirming that the applicant has experience or qualifications to perform a certain type of work, 
        depending on the professional roles of the resume
      properties:
        answers:
          additionalProperties:
            $ref: '#/components/schemas/CredsAnswers'
          title: 'Answers to creds, passed as answer_id -> object'
          type: object
        question_to_answer_map:
          additionalProperties:
            items:
              type: string
            type: array
          title: Selected user answers for creds
          type: object
        questions:
          additionalProperties:
            $ref: '#/components/schemas/CredsQuestions'
          title: Question body in the form question_id -> object
          type: object
      title: Creds
      type: object
    CredsAnswers:
      properties:
        answer_group:
          description: 'Group of this answer, positive, negative, neutral'
          type: string
        answer_id:
          description: Answer identifier (matches the object key)
          type: string
        ask_questions_after:
          description: Questions to ask after the user uses this answer
          items:
            description: Array of question_id
            type: string
          type: array
        description:
          description: Description of the answer
          nullable: true
          type: string
        positive_title:
          description: Answer text that can be used to display the answer without the question itself
          type: string
        skip_at_result:
          description: Whether to skip this answer on a form displaying user credits
          type: boolean
        title:
          description: Response text to be drawn to collect responses from the user
          type: string
      title: Answers
      type: object
    CredsQuestions:
      properties:
        description:
          description: Description of the question
          nullable: true
          type: string
        is_active:
          description: 'Whether the question is shown initially, relevant for dynamic questions'
          type: boolean
        possible_answers:
          description: 'Possible answers to the question, guaranteed to be in the answers field'
          items:
            description: The value guaranteed means that there is an answer with the passed key
            type: string
          minItems: 1
          type: array
        question_id:
          description: Question identifier (matches the object key)
          type: string
        question_title:
          description: Question text to be displayed on the form
          type: string
        question_type:
          description: Allows multiple choice of answers to this question "single_choice" / "multi_select"
          type: string
        required:
          description: Whether the question is required to get an answer
          type: boolean
        skip_title_at_view:
          description: 'Whether to skip the question text in the view, if false - answers inside placeholder, if true - just list without question text'
          type: boolean
        view_title:
          description: Question text displayed on the view
          nullable: true
          type: string
      title: Questions
      type: object
    ErrorsEmployerManagerBadRequestAndBadArgumentErrors:
      oneOf:
        - $ref: '#/components/schemas/ErrorsEmployerManagerBadArgumentErrors'
        - $ref: '#/components/schemas/ErrorsCommonBadRequestBadArgumentBadRequestAndBadArgumentErrors'
      title: Errors
    ErrorsCommonBadRequestBadArgumentBadRequestAndBadArgumentErrors:
      oneOf:
        - $ref: '#/components/schemas/ErrorsCommonBadArgumentErrors'
        - $ref: '#/components/schemas/ErrorsCommonBadRequestErrors'
      title: Request parameters error
    ErrorsEmployerManagerBadArgumentErrors:
      allOf:
        - $ref: '#/components/schemas/ErrorsCommonErrorRequestId'
        - properties:
            errors:
              description: Array with error data
              items:
                $ref: '#/components/schemas/ErrorsEmployerManagerBadArgumentError'
              minItems: 1
              type: array
          required:
            - errors
          type: object
      description: Information about errors that occurred
      title: Errors in Request Parameters
    ErrorsEmployerManagerBadArgumentError:
      additionalProperties: false
      properties:
        reason:
          description: Error description
          example: too_long_value
          type: string
        type:
          description: The error type textual ID
          enum:
            - managers
          example: managers
          type: string
        value:
          description: |
            Name of the field containing an error
          example: resume_id
          type: string
      required:
        - type
      title: Request Parameter Error
      type: object
    ArtifactsArtifactItem:
      properties:
        id:
          description: Image ID
          type: string
        medium:
          description: A URL of an average-sized image or null if the image is not ready yet
          nullable: true
          type: string
        small:
          description: A URL of a cropped image or null if the image is not ready yet
          nullable: true
          type: string
        state:
          $ref: '#/components/schemas/ArtifactsState'
          description: Current image status
      required:
        - id
        - state
      title: Image
    ArtifactsState:
      properties:
        id:
          description: |
            Current image status ID:

            - `processing` — in process;
            - `failed` — error, probably format not supported;
            - `ok` — finished, can be used in the resume
          enum:
            - processing
            - failed
            - ok
          type: string
        name:
          description: Name of the current image status
          type: string
      required:
        - id
        - name
      title: Current image status
      type: object
    NegotiationsNegotiationsStatisticsManagerResponse:
      properties:
        manager_statistics:
          $ref: '#/components/schemas/NegotiationsNegotiationsStatistics'
      required:
        - manager_statistics
      title: Negotiations statistics for the manager
      type: object
    ErrorsResumePhoneGenerateCodeBadArgumentErrors:
      allOf:
        - $ref: '#/components/schemas/ErrorsCommonErrorRequestId'
        - properties:
            description:
              deprecated: true
              description: Error description
              type: string
            errors:
              description: Array with error data
              items:
                $ref: '#/components/schemas/ErrorsResumePhoneGenerateCodeBadArgumentError'
              minItems: 1
              type: array
          required:
            - errors
          type: object
      description: Information about occurred errors
      title: Errors with resumes
    ErrorsResumePhoneGenerateCodeBadArgumentError:
      additionalProperties: false
      properties:
        type:
          description: Text identifier of the error type
          enum:
            - resume_phone_generate
          example: resume_phone_generate
          type: string
        value:
          description: Error value
          enum:
            - country_not_supported
          example: country_not_supported
          type: string
      required:
        - type
        - value
      title: Error
      type: object
    ErrorsResumeAddEditConflictErrors:
      allOf:
        - $ref: '#/components/schemas/ErrorsCommonErrorRequestId'
        - properties:
            description:
              description: Errors description
              type: string
            errors:
              description: Array with error data
              items:
                $ref: '#/components/schemas/ErrorsResumeAddEditConflictError'
              minItems: 1
              type: array
          required:
            - errors
          type: object
      description: Information about errors that occurred
      title: Request and current state/data conflict
    ErrorsResumeAddEditConflictError:
      additionalProperties: false
      properties:
        type:
          description: Text identifier of the error type
          enum:
            - not_suitable_vacancy
          example: not_suitable_vacancy
          type: string
      required:
        - type
      title: Request and current state/data conflict
      type: object
    EmployersEmployerVacancyAreasResponse:
      allOf:
        - $ref: '#/components/schemas/EmployersEmployerVacancyAreasItems'
        - $ref: '#/components/schemas/_IncludesPagination'
      title: Successful response
    EmployersEmployerVacancyAreasItems:
      properties:
        items:
          description: List of regions
          items:
            $ref: '#/components/schemas/_IncludesArea'
          minItems: 0
          type: array
      required:
        - items
      title: List of regions
    ErrorsResumeVisibilityErrorsBadRequest:
      anyOf:
        - $ref: '#/components/schemas/ErrorsCommonBadRequestErrors'
        - $ref: '#/components/schemas/ErrorsResumeVisibilityErrors'
      title: Errors
    ErrorsResumeVisibilityErrors:
      allOf:
        - $ref: '#/components/schemas/ErrorsCommonErrorRequestId'
        - properties:
            errors:
              description: Array of data error
              items:
                $ref: '#/components/schemas/ErrorsResumeVisibilityError'
              minItems: 1
              type: array
          required:
            - errors
          type: object
      description: Error info
      title: Request parameters contain errors
    ErrorsResumeVisibilityError:
      additionalProperties: false
      properties:
        type:
          description: A text identifier of the error class
          enum:
            - bad_argument
            - resume_visibility_list
          example: bad_argument
          type: string
        value:
          description: |
            Name of the field containing an error:

            - `per_page` — an invalid number of items per page is passed (the maximum value is 100).
            - `unknown_employer` — an unknown employer ID is passed.
            - `limit_exceeded` — visibility list limit exceeded.
            - `too_many_employers` — too many employers are passed.
            - `id` — an invalid employer ID is passed
          enum:
            - per_page
            - unknown_employer
            - limit_exceeded
            - too_many_employers
          example: per_page
          type: string
      required:
        - type
        - value
      title: Request parameter error
      type: object
    VacanciesVisitorsResponse:
      allOf:
        - $ref: '#/components/schemas/VacanciesVisitorsVisitorItems'
          type: object
        - $ref: '#/components/schemas/_IncludesPagination'
          type: object
        - $ref: '#/components/schemas/VacanciesVisitorsHiddenOnPage'
          type: object
      title: Successful response
    VacanciesVisitorsHiddenOnPage:
      properties:
        hidden_on_page:
          description: Number of deleted or hidden resumes on the page
          type: number
      required:
        - hidden_on_page
      title: Number of deleted or hidden resumes
      type: object
    VacanciesVisitorsVisitorItems:
      properties:
        items:
          description: List of short resumes
          items:
            allOf:
              - $ref: '#/components/schemas/ResumeResumeShort'
              - $ref: '#/components/schemas/_IncludesUrl'
              - $ref: '#/components/schemas/ResumeObjectsJobSearchStatus'
              - $ref: '#/components/schemas/ResumeObjectsLastNegotiations'
          minItems: 0
          type: array
      required:
        - items
      title: List of short resumes
    ResumeObjectsJobSearchStatus:
      properties:
        job_search_status:
          description: Information about the applicant's job search status
          nullable: true
          oneOf:
            - $ref: '#/components/schemas/_IncludesIdNameLastChangeTime'
            - $ref: '#/components/schemas/_IncludesNullableObject'
          type: object
      title: Job search status of the applicant
      type: object
    VacanciesArchivedVacancyListResponse:
      allOf:
        - $ref: '#/components/schemas/_IncludesPagination'
          type: object
        - $ref: '#/components/schemas/VacanciesArchivedVacancyList'
          type: object
      title: Vacancies in the archive
      type: object
    VacanciesArchivedVacancyList:
      properties:
        items:
          description: List of the archived vacancies
          items:
            $ref: '#/components/schemas/VacanciesVacancyArchived'
          type: array
      required:
        - items
      title: Archived vacancies
    VacanciesVacancyArchived:
      allOf:
        - $ref: '#/components/schemas/VacanciesVacancyShort'
        - $ref: '#/components/schemas/VacanciesVacancyArchivedFields'
      title: Archived vacancy representation
      type: object
    VacanciesVacancyArchivedFields:
      properties:
        archived_at:
          description: Date and time the vacancy was archived
          type: string
        closed_for_applicants:
          description: Whether the vacancy is hidden from applicants
          type: boolean
        counters:
          $ref: '#/components/schemas/VacancyCountersForArchivedOrHidden'
        created_at:
          description: Date and time of the vacancy publication
          type: string
        sort_point_distance:
          description: |
            Distance in metres between the sorting centre (indicated by parameters `sort_point_lat` and `sort_point_lng`) and the address indicated in the vacancy. If the address only includes metro stations, it shows the distance between the sorting centre and the average geometric point of the indicated stations.

            `sort_point_distance` value is only shown if parameters for `sort_point_lat`, `sort_point_lgn` and `order_by=distance` are indicated
          nullable: true
          type: number
        vacancy_properties:
          $ref: '#/components/schemas/VacancyVacancyProperties'
      required:
        - counters
        - vacancy_properties
        - closed_for_applicants
        - archived_at
        - created_at
      title: Fields for an archived vacancy
      type: object
    VacancyCountersForArchivedOrHidden:
      allOf:
        - $ref: '#/components/schemas/VacancyCounters'
        - properties:
            invitations_and_responses:
              description: Number of invitations and responses to a vacancy
              type: number
          type: object
      title: Counters for an archived vacancy
      type: object
    VacanciesDeletedVacancyListResponse:
      allOf:
        - $ref: '#/components/schemas/_IncludesPagination'
        - $ref: '#/components/schemas/VacanciesDeletedVacancyListItems'
      title: Successful response
    VacanciesDeletedVacancyListItems:
      properties:
        items:
          description: List of deleted vacancies
          items:
            $ref: '#/components/schemas/VacanciesVacancyArchived'
          minItems: 0
          type: array
      required:
        - items
      title: List of deleted vacancies
    ArtifactsArtifactUploadBody:
      properties:
        description:
          description: Text description. It makes sense only for `portfolio`
          nullable: true
          type: string
        file:
          description: Image file
          format: binary
          type: string
        type:
          description: 'Artifact type: `photo` or `portfolio`'
          type: string
      required:
        - type
        - file
      title: Image loading
    ErrorsVacancyBlacklistedBadRequestErrors:
      allOf:
        - $ref: '#/components/schemas/ErrorsCommonErrorRequestId'
        - properties:
            description:
              description: Error description
              type: string
            errors:
              description: Array with the information on each error
              items:
                $ref: '#/components/schemas/ErrorsVacancyBlacklistedBadRequestError'
              minItems: 1
              type: array
          required:
            - errors
          type: object
      description: Information on the occurred errors
      title: Error of adding a vacancy to hidden
    ErrorsVacancyBlacklistedBadRequestError:
      additionalProperties: false
      properties:
        type:
          description: A text identifier of the error class
          enum:
            - vacancies_blacklist
          example: vacancies_blacklist
          type: string
        value:
          description: |
            Potential errors:

            * `limit_exceeded` — the maximum number of items in the list is exceeded
          enum:
            - limit_exceeded
          example: limit_exceeded
          type: string
      required:
        - type
      title: Error in request argument
      type: object
    AuthClientCredentials:
      additionalProperties: false
      properties:
        client_id:
          description: 'ID obtained when [creating the application](https://dev.hh.ru/admin)'
          example: ETVQdMs2n9VKw7SMXkh9nX5H
          minLength: 1
          type: string
        client_secret:
          description: 'Secure key obtained when [creating the application](https://dev.hh.ru/admin)'
          example: 95dNjB8FmtxQsmygm6dtEy53
          minLength: 1
          type: string
        grant_type:
          description: Token request method
          enum:
            - client_credentials
          example: client_credentials
          type: string
      required:
        - grant_type
        - client_id
        - client_secret
      title: Parameters to Get a New Application Token
      type: object
    EmployersEmployerDepartmentsResponse:
      properties:
        items:
          description: Employer's department list
          items:
            $ref: '#/components/schemas/_IncludesIdName'
          type: array
      required:
        - items
      title: Employer's departments
    NegotiationsMessageSent:
      allOf:
        - $ref: '#/components/schemas/NegotiationsMessage'
        - properties:
            address:
              nullable: true
              oneOf:
                - $ref: '#/components/schemas/VacancyAddressOutput'
                - $ref: '#/components/schemas/_IncludesNullableObject'
              type: object
          type: object
      title: Sending confirmation
      type: object
    ErrorsSavedSearchForbiddenErrors:
      allOf:
        - $ref: '#/components/schemas/ErrorsCommonErrorRequestId'
        - properties:
            description:
              description: Error description
              example: Forbidden
              type: string
            errors:
              description: Array with the information on each error
              items:
                $ref: '#/components/schemas/ErrorsSavedSearchForbiddenError'
              minItems: 1
              type: array
          required:
            - errors
          type: object
      description: Information on the occurred errors
      title: Bad authorization
    ErrorsSavedSearchForbiddenError:
      additionalProperties: false
      properties:
        allowed_accounts:
          description: |
            List of the accounts available for this token if the Work Account in use is blocked. Applicable for the employer authorization only
          items:
            $ref: '#/components/schemas/ManagerAccount'
          minItems: 1
          type: array
        type:
          description: A text identifier of the error class
          enum:
            - saved_searches
            - forbidden
            - oauth
          example: oauth
          type: string
        value:
          description: |
            General errors:
            * `cant_send_to_yourself` — You can't transfer a saved search to yourself
            * `user_auth_expected` — Application authorization has been provided, but method requires [user authorization](#section/Authorization/User-authorization)
          enum:
            - cant_send_to_yourself
            - user_auth_expected
          example: user_auth_expected
          type: string
      required:
        - type
      title: Error
      type: object
    ErrorsNegotiationNegotiationsNotFoundErrors:
      description: Information on the occurred errors
      oneOf:
        - $ref: '#/components/schemas/ErrorsCommonNotFoundErrors'
        - $ref: '#/components/schemas/ErrorsNegotiationNotFoundErrors'
      title: Not found
    ErrorsNegotiationNotFoundErrors:
      allOf:
        - $ref: '#/components/schemas/ErrorsCommonErrorRequestId'
        - properties:
            description:
              description: Description of the error type
              type: string
            errors:
              description: Array with the information on each error
              items:
                $ref: '#/components/schemas/ErrorsNegotiationNotFoundError'
              minItems: 1
              type: array
          required:
            - errors
          type: object
      description: Information on the occured errors
      title: Not found
    ErrorsNegotiationNotFoundError:
      additionalProperties: false
      properties:
        type:
          description: A text identifier of the error class
          enum:
            - negotiations
          example: negotiations
          type: string
        value:
          description: Error details
          enum:
            - topic_not_found
          example: topic_not_found
          type: string
      required:
        - type
        - value
      title: Error
      type: object
    VacanciesVacancyUpgradeListResponse:
      properties:
        items:
          description: List of vacancy upgrades
          items:
            $ref: '#/components/schemas/VacanciesVacancyUpgradeListItem'
          type: array
      required:
        - items
      title: List of vacancy upgrades
      type: object
    VacanciesVacancyUpgradeListItem:
      properties:
        actions:
          description: List of available actions
          items:
            $ref: '#/components/schemas/VacanciesUpgradeFieldsAction'
          minItems: 0
          type: array
        vacancy_billing_type:
          $ref: '#/components/schemas/VacanciesUpgradeFieldsBillingTypeFull'
        without_action:
          description: An object with a statement of a reason why the vacancy cannot be upgraded to the given type
          items:
            oneOf:
              - $ref: '#/components/schemas/VacanciesUpgradeFieldsWithoutAction'
              - $ref: '#/components/schemas/_IncludesNullableObject'
          nullable: true
          type: array
      required:
        - vacancy_billing_type
        - actions
      title: Vacancy upgrade item
      type: object
    VacanciesUpgradeFieldsAction:
      description: Possible action
      properties:
        cart_id:
          description: ID of the order awaiting activation. Returns only for actions with `actions.type=activate`
          nullable: true
          type: integer
        price:
          description: Publication price. Returns only for actions with `actions.type=buy`
          nullable: true
          oneOf:
            - $ref: '#/components/schemas/VacanciesUpgradeFieldsPrice'
            - $ref: '#/components/schemas/_IncludesNullableObject'
          type: object
        type:
          description: |
            Action type:

            * `direct_upgrade` — publications of this vacancy type are available in the account. You can change the vacancy type.
            * `activate` — publications of this vacancy type are available in nonactivated orders. Follow the link in `actions.url` parameter and activate the order. Vacancy upgrade will then become available.
            * `buy` — publications of this vacancy type are not available. Follow the link in `actions.url` parameter to start purchasing publications of the required type
          type: string
        url:
          description: Link to an action
          nullable: true
          type: string
      required:
        - type
      title: Possible action
      type: object
    VacanciesUpgradeFieldsPrice:
      properties:
        amount:
          description: Price amount
          type: string
        currency_code:
          description: 'Currency ID. Possible values are listed in the `currency` field of [directories](#tag/Public-directories/operation/get-dictionaries)'
          type: string
      required:
        - amount
        - currency_code
      title: Price
      type: object
    VacanciesUpgradeFieldsBillingTypeFull:
      allOf:
        - $ref: '#/components/schemas/VacancyBillingTypeOutput'
        - properties:
            description:
              description: Description of the vacancy type
              type: string
          type: object
      title: Vacancy billing type
    VacanciesUpgradeFieldsWithoutAction:
      properties:
        reason:
          description: Statement of the reason why the vacancy cannot be upgraded to the given type
          type: string
      required:
        - reason
      title: Upgrade is not possible
    EmployersEmployerInfo:
      properties:
        accredited_it_employer:
          description: 'The flag indicates that the employer is a [verified IT employer](https://feedback.hh.ru/knowledge-base/article/hh-что-означает-ярлык-«аккредитованная-ит-компания»)'
          type: boolean
        alternate_url:
          description: Link to employer description on the website
          type: string
        applicant_services:
          $ref: '#/components/schemas/_IncludesEmployerApplicantServices'
        area:
          allOf:
            - $ref: '#/components/schemas/_IncludesArea'
            - type: object
          description: Info on employer's region
        branded_description:
          deprecated: true
          description: |
            A string with the HTML code (`<script/>` and `<style/>` presences are possible) which is an alternative to the standard employer description. HTML is adapted for mobile devices and is displayed correctly without any JavaScript support. Notice that:

            - Content width extends for 100% of the container width and is fit in 300px without any scrolling.
            - Content is intended to be put in a binding that consists of the name, logo, website and a link to the employer's vacancies.
            - Images that can be found in such a description are adapted for retina displays.
            - Font size is no less than 12px, line spacing is no less than 16px.

            The value can be `null` if the employer does not have an individual description
          nullable: true
          type: string
        branding:
          description: The value can be `null` if the employer does not have a page branding
          nullable: true
          oneOf:
            - $ref: '#/components/schemas/_IncludesNullableObject'
            - $ref: '#/components/schemas/EmployersBrandingEmployerBranding'
          type: object
        description:
          description: A string with the HTML code (`<script/>` and `<style/>` presence is not possible)
          nullable: true
          type: string
        id:
          description: Employer ID
          type: string
        industries:
          description: 'A list of the employer''s industries. Entries of the [directory of industries](https://api.hh.ru/openapi/en/redoc#tag/Public-directories/operation/get-industries)'
          items:
            $ref: '#/components/schemas/_IncludesIdName'
          type: array
        insider_interviews:
          description: Interview list or blank list if there are no interviews
          items:
            $ref: '#/components/schemas/EmployersInsiderInterviews'
          minItems: 0
          type: array
        logo_urls:
          description: |
            Links to employer logos of different size. `original` — an unedited logo, which can be big in size. If the originally uploaded logo is smaller than 240px and/or 90px in its smaller side, the corresponding keys will have links to the original images. Object can be `null`, if the company has not uploaded its logo. The client should foresee the possibility of the logo missing in the indicated link (response with the `404 Not Found` code). A company may not have 90 and 240 logos
          nullable: true
          oneOf:
            - $ref: '#/components/schemas/_IncludesLogoUrls'
            - $ref: '#/components/schemas/_IncludesNullableObject'
          type: object
        name:
          description: Employer name
          type: string
        open_vacancies:
          description: Number of employer's open vacancies
          nullable: true
          type: number
        relations:
          description: 'If the employer is blacklisted, it returns `[''blacklisted'']` else `[]`'
          items:
            enum:
              - blacklisted
              - null
            nullable: true
            type: string
          type: array
        site_url:
          description: Link to employer website
          type: string
        trusted:
          description: 'The flag indicates that the employer is [verified by the website](https://feedback.hh.ru/article/details/id/5951)'
          type: boolean
        type:
          description: 'Type of the employer (immediate employer, HR agency, etc.). Possible values are described in [directories](#tag/Public-directories/operation/get-dictionaries) in the `employer_type` field. `null` means that the employer type is hidden'
          nullable: true
          type: string
        vacancies_url:
          description: A link to the search results of the employer's vacancies
          type: string
      required:
        - name
        - id
        - site_url
        - vacancies_url
        - trusted
        - alternate_url
        - insider_interviews
        - area
        - relations
        - industries
      title: Employer
      type: object
    _IncludesEmployerApplicantServices:
      description: Activated applicant services related to this employer
      properties:
        target_employer:
          description: Service 'Want to work here'
          properties:
            count:
              description: Number of current applicant's CVs with \"Want to work here\" service activated
              type: number
          type: object
      title: Applicant services
      type: object
    EmployersInsiderInterviews:
      properties:
        id:
          description: Interview ID
          type: string
        title:
          description: Interview title
          type: string
        url:
          description: Address of the page containing the interview
          type: string
      required:
        - url
        - id
        - title
      title: Interview
      type: object
    EmployersBrandingEmployerBranding:
      allOf:
        - $ref: '#/components/schemas/EmployersBrandingEmployerBrandType'
        - $ref: '#/components/schemas/EmployersBrandingBrandParameters'
      description: Additional branding parameters
      title: Branding parameters
      type: object
    EmployersBrandingEmployerBrandType:
      anyOf:
        - $ref: '#/components/schemas/EmployersBrandingBrandingType'
      title: Brand type
    EmployersBrandingBrandingType:
      properties:
        type:
          description: |
            Branding type:

              * `CONSTRUCTOR` — branding type «CONSTRUCTOR»;
              * `MAKEUP` — branding type «MAKEUP» (chameleon)
          enum:
            - CONSTRUCTOR
            - MAKEUP
          type: string
      title: Branding type
      type: object
    EmployersBrandingBrandParameters:
      oneOf:
        - $ref: '#/components/schemas/_IncludesNullableObject'
        - $ref: '#/components/schemas/EmployersBrandingConstructor'
        - $ref: '#/components/schemas/EmployersBrandingMakeup'
      title: Parameters
    EmployersBrandingConstructor:
      properties:
        constructor:
          properties:
            header_picture:
              nullable: true
              oneOf:
                - $ref: '#/components/schemas/EmployersBrandingConstructorHeaderPicture'
                - $ref: '#/components/schemas/_IncludesNullableObject'
              type: object
            url:
              description: Link to the webview version of the brand page
              type: string
            widgets:
              description: List of widgets on the page
              items:
                oneOf:
                  - $ref: '#/components/schemas/EmployersBrandingConstructorGalleryWidget'
              type: array
          required:
            - url
            - header_picture
            - widgets
          type: object
      required:
        - type
        - constructor
      title: Brand page made using the brand page builder
      type: object
    EmployersBrandingConstructorHeaderPicture:
      description: Brand page header image
      properties:
        resized_path:
          description: Path to the image on cdn storage
          type: string
      required:
        - resized_path
      title: Brand page header image
      type: object
    EmployersBrandingConstructorGalleryWidget:
      description: Gallery widget
      properties:
        items:
          description: List of images in the gallery
          items:
            properties:
              picture_id:
                description: Image ID
                type: number
              resized_path:
                description: Path to the image in the CDN storage
                type: string
            required:
              - picture_id
              - resized_path
            type: object
          type: array
        type:
          description: 'For a gallery, this value is ''gallery'''
          enum:
            - gallery
          type: string
      required:
        - type
        - items
      title: Gallery widget
      type: object
    EmployersBrandingMakeup:
      properties:
        makeup:
          properties:
            url:
              description: Link to webview version of the brand page
              type: string
          required:
            - url
          type: object
        template_code:
          description: 'Unique code of the active brand template page in the "makeup:\d+" format'
          example: 'makeup:123'
          type: string
        template_version_id:
          description: ID of the active version of the brand template page
          type: string
      required:
        - type
        - template_code
        - template_version_id
        - makeup
      title: Fully custom look of brand pages
      type: object
    EmployerManagersResponse:
      properties:
        found:
          title: Number of results found
          type: integer
        items:
          items:
            $ref: '#/components/schemas/EmployerManagersEmployerManagerItem'
          minItems: 0
          title: List of employer's managers
          type: array
        page:
          title: Page number
          type: integer
        pages:
          title: Total pages
          type: integer
        per_page:
          title: Results per page
          type: integer
      required:
        - items
        - found
        - page
        - pages
        - per_page
      title: Successful response
    EmployerManagersEmployerManagerItem:
      properties:
        additional_phone:
          allOf:
            - $ref: '#/components/schemas/EmployerManagersPhone'
          description: Additional manager's phone
          nullable: true
          type: object
        area:
          $ref: '#/components/schemas/EmployerManagersArea'
        email:
          description: Manager's E-mail
          type: string
        first_name:
          description: Manager's first name
          type: string
        full_name:
          description: Manager's full name
          type: string
        id:
          description: Manager's ID
          type: string
        is_main_contact_person:
          description: If manager is the main contact person then `true`
          type: boolean
        last_name:
          description: Manager's last name
          type: string
        middle_name:
          description: Manager's middle name
          nullable: true
          type: string
        name:
          deprecated: true
          description: Manager's full name
          type: string
        phone:
          allOf:
            - $ref: '#/components/schemas/EmployerManagersPhone'
            - type: object
          description: Manager's phone
        position:
          description: Manager's position
          type: string
        special_note_1:
          description: First special note of manager
          nullable: true
          type: string
        special_note_2:
          description: Second special note of manager
          nullable: true
          type: string
        vacancies_count:
          description: Number of published (active) vacancies for this manager. `null` — if user has not permission to that manager's vacancies
          nullable: true
          type: number
      required:
        - id
        - email
        - position
        - area
      title: Manager
    EmployerManagersArea:
      properties:
        id:
          description: Area ID
          type: string
        name:
          description: Area name
          type: string
        url:
          description: URL
          type: string
      required:
        - id
        - name
        - url
      title: Area
    VacanciesVacancy:
      anyOf:
        - $ref: '#/components/schemas/VacanciesVacancyForApplicant'
        - $ref: '#/components/schemas/VacanciesVacancyForManager'
      title: Vacancy
      type: object
    VacanciesVacancyForManager:
      allOf:
        - $ref: '#/components/schemas/VacanciesVacancyCommonFields'
        - $ref: '#/components/schemas/VacancyBillingTypeObject'
        - $ref: '#/components/schemas/VacanciesVacancyManagerFields'
        - properties:
            previous_id:
              description: 'ID of the archived vacancy that the current job was based on, null if vacancy was created from scratch'
              nullable: true
              type: string
          type: object
      title: Vacancy info response on a manager's request
      type: object
    VacanciesVacancyCommonFields:
      properties:
        accept_handicapped:
          $ref: '#/components/schemas/VacancyAcceptHandicapped'
        accept_incomplete_resumes:
          $ref: '#/components/schemas/VacancyAcceptIncompleteResumes'
        accept_kids:
          $ref: '#/components/schemas/VacancyAcceptKids'
        accept_temporary:
          $ref: '#/components/schemas/VacancyAcceptTemporary'
        allow_messages:
          $ref: '#/components/schemas/VacancyAllowMessages'
        alternate_url:
          $ref: '#/components/schemas/VacancyAlternateUrl'
        apply_alternate_url:
          $ref: '#/components/schemas/VacancyApplyAlternateUrl'
        approved:
          $ref: '#/components/schemas/VacancyApproved'
        archived:
          $ref: '#/components/schemas/VacancyArchived'
        area:
          $ref: '#/components/schemas/_IncludesArea'
        billing_type:
          $ref: '#/components/schemas/VacancyBillingTypeOutput'
        branded_description:
          deprecated: true
          nullable: true
          oneOf:
            - $ref: '#/components/schemas/VacancyBrandedDescription'
            - $ref: '#/components/schemas/_IncludesNullableObject'
          type: string
        closed_for_applicants:
          description: Whether the vacancy is hidden from applicants
          nullable: true
          type: boolean
        code:
          $ref: '#/components/schemas/VacancyCode'
        contacts:
          $ref: '#/components/schemas/VacancyContactsOutput'
        created_at:
          allOf:
            - $ref: '#/components/schemas/VacancyCreatedAt'
          deprecated: true
        department:
          $ref: '#/components/schemas/VacanciesObjectsDepartment'
        description:
          $ref: '#/components/schemas/VacancyDescription'
        driver_license_types:
          $ref: '#/components/schemas/VacancyDriverLicenseTypes'
        employer:
          nullable: true
          oneOf:
            - $ref: '#/components/schemas/VacanciesVacancyEmployer'
            - $ref: '#/components/schemas/_IncludesNullableObject'
          type: object
        employment:
          $ref: '#/components/schemas/VacancyEmploymentOutput'
          deprecated: true
        employment_form:
          $ref: '#/components/schemas/VacancyEmploymentFormOutput'
        experience:
          $ref: '#/components/schemas/VacancyExperienceOutput'
        fly_in_fly_out_duration:
          $ref: '#/components/schemas/VacancyFlyInFlyOutDurationFlyInFlyOutDurationOutput'
        has_test:
          $ref: '#/components/schemas/VacancyHasTest'
        id:
          $ref: '#/components/schemas/VacancyId'
        initial_created_at:
          $ref: '#/components/schemas/VacancyInitialCreatedAt'
        insider_interview:
          $ref: '#/components/schemas/VacanciesObjectsInsiderInterview'
        internship:
          $ref: '#/components/schemas/VacancyInternship'
        key_skills:
          $ref: '#/components/schemas/VacancyKeySkills'
        languages:
          oneOf:
            - $ref: '#/components/schemas/VacancyLanguagesOutput'
            - $ref: '#/components/schemas/_IncludesNullableObject'
        name:
          $ref: '#/components/schemas/VacancyName'
        negotiations_url:
          description: Link to get list of responses/invitations
          nullable: true
          type: string
        night_shifts:
          $ref: '#/components/schemas/VacancyNightShifts'
        premium:
          $ref: '#/components/schemas/VacancyPremium'
        professional_roles:
          $ref: '#/components/schemas/VacancyProfessionalRolesOutput'
        published_at:
          $ref: '#/components/schemas/VacancyCreatedAt'
        relations:
          $ref: '#/components/schemas/VacancyRelations'
        response_letter_required:
          $ref: '#/components/schemas/VacancyResponseLetterRequired'
        response_url:
          $ref: '#/components/schemas/VacancyResponseUrl'
        salary:
          $ref: '#/components/schemas/VacancySalary'
          deprecated: true
        salary_range:
          nullable: true
          oneOf:
            - $ref: '#/components/schemas/VacancySalaryRangeSalaryRangeOutput'
            - $ref: '#/components/schemas/_IncludesNullableObject'
          type: object
        schedule:
          $ref: '#/components/schemas/VacancyScheduleOutput'
          deprecated: true
        show_contacts:
          $ref: '#/components/schemas/VacancyShowContacts'
        suitable_resumes_url:
          description: Suitable resumes for the vacancy
          nullable: true
          type: string
        test:
          $ref: '#/components/schemas/VacancyDraftTest'
        type:
          allOf:
            - $ref: '#/components/schemas/_IncludesIdName'
          description: |
            Vacancy type (directory [vacancy_type](#tag/Public-directories/operation/get-dictionaries))
        vacancy_constructor_template:
          deprecated: true
          nullable: true
          oneOf:
            - $ref: '#/components/schemas/VacancyVacancyConstructorTemplate'
            - $ref: '#/components/schemas/_IncludesNullableObject'
          type: object
        vacancy_properties:
          $ref: '#/components/schemas/VacancyPublicationVacancyProperties'
        video_vacancy:
          nullable: true
          oneOf:
            - $ref: '#/components/schemas/VacancyVideoVacancyVideoVacancyItem'
            - $ref: '#/components/schemas/_IncludesNullableObject'
          type: object
        work_format:
          $ref: '#/components/schemas/VacancyWorkFormatWorkFormatOutput'
        work_schedule_by_days:
          $ref: '#/components/schemas/VacancyWorkScheduleByDaysWorkScheduleByDaysOutput'
        working_days:
          $ref: '#/components/schemas/VacancyWorkingDaysOutput'
          deprecated: true
        working_hours:
          $ref: '#/components/schemas/VacancyWorkingHoursWorkingHoursOutput'
        working_time_intervals:
          $ref: '#/components/schemas/VacancyWorkingTimeIntervalsOutput'
          deprecated: true
        working_time_modes:
          $ref: '#/components/schemas/VacancyWorkingTimeModesOutput'
          deprecated: true
      required:
        - id
        - description
        - key_skills
        - schedule
        - accept_handicapped
        - accept_kids
        - experience
        - alternate_url
        - apply_alternate_url
        - archived
        - name
        - area
        - initial_created_at
        - created_at
        - published_at
        - response_letter_required
        - type
        - has_test
        - billing_type
        - allow_messages
        - premium
        - driver_license_types
        - accept_incomplete_resumes
        - professional_roles
        - approved
      title: Vacancy common fields
      type: object
    VacancyApplyAlternateUrl:
      description: Link to the application for the vacancy on the website
      title: Link to the application for the vacancy on the website
      type: string
    VacancyAlternateUrl:
      description: Link to the vacancy on the website
      title: Link to the vacancy on the website
      type: string
    VacanciesVacancyEmployer:
      allOf:
        - $ref: '#/components/schemas/VacanciesEmployerPublic'
        - $ref: '#/components/schemas/VacancyEmployerBlacklisted'
        - $ref: '#/components/schemas/_IncludesEmployerApplicantServicesObject'
        - $ref: '#/components/schemas/VacancyEmployerBages'
      title: Employer fields in the vacancy
    _IncludesEmployerApplicantServicesObject:
      properties:
        applicant_services:
          $ref: '#/components/schemas/_IncludesEmployerApplicantServices'
      title: Applicant services
      type: object
    VacancyEmployerBlacklisted:
      properties:
        blacklisted:
          description: 'Whether all vacancies of the employer are added to the [list of hidden](#tag/Blacklisted-employers)'
          type: boolean
      title: Brief description of the employer
      type: object
    VacancyEmployerBages:
      properties: {}
      title: Employer badges
      type: object
    VacancyPublicationVacancyProperties:
      description: 'В пропертях хранятся только признаки наличия фичи, т.е. является ли вакансия рекламной, анонимной и т.д'
      nullable: true
      properties:
        appearance:
          $ref: '#/components/schemas/VacancyVacancyPropertiesAppearance'
        properties:
          description: Список активн(ой/ых) проперти
          items:
            properties:
              end_time:
                description: Время окончания действия свойства
                type: string
              parameters:
                description: Дополнительные параметры проперти
                items:
                  type: string
                type: array
              property_type:
                $ref: '#/components/schemas/VacancyPublicPropertyTypes'
              start_time:
                description: Время начала действия свойства
                type: string
            type: object
          type: array
      title: Проперти вакансии
      type: object
    VacancyCreatedAt:
      description: Date and time of vacancy publication
      title: Date and time of vacancy publication
      type: string
    VacancyApproved:
      description: Whether the vacancy is approved
      title: Approved vacancy representation
      type: boolean
    VacancyHasTest:
      description: Information on whether there is an attached test task for the vacancy
      title: Whether there is a test task
      type: boolean
    VacancyId:
      description: Vacancy ID
      title: Vacancy ID
      type: string
    VacancyArchived:
      description: Whether the vacancy is archived
      title: Whether the vacancy is archived
      type: boolean
    VacancyPremium:
      description: Whether it is a premium vacancy
      title: Whether it is a premium vacancy
      type: boolean
    VacancyInitialCreatedAt:
      description: Date and time of vacancy creation
      title: Date and time of vacancy creation
      type: string
    VacancyBrandedDescription:
      description: |
        A string with HTML code (`<script/>` and `<style/>` are allowed) that is an alternative to a standard vacancy description. The HTML code is adapted for mobile devices and displays correctly without JavaScript support enabled. Whereas:

        * The content stretches to 100% of the container width and fits within 300px without scrolling.
        * The content is designed to be inserted in a binding including the vacancy name, required experience, region, employment type, and work schedule, as well as a link to the company that posted the vacancy.
        * Images that can found in such description are adapted to Retina displays.
        * Font size should be at least 12px, line spacing — at least 16px.
        * The value can be `null` if the vacancy does not have an individual description
      title: Branding description
      type: string
    VacanciesVacancyManagerFields:
      properties:
        address:
          $ref: '#/components/schemas/VacanciesAddress'
        archived_at:
          nullable: true
          oneOf:
            - $ref: '#/components/schemas/VacancyArchivedAt'
            - $ref: '#/components/schemas/_IncludesNullableObject'
          type: object
        branded_template:
          $ref: '#/components/schemas/VacancyBrandedTemplate'
        can_upgrade_billing_type:
          $ref: '#/components/schemas/VacancyCanUpgradeBillingType'
        counters:
          $ref: '#/components/schemas/VacancyCountersOutput'
        expires_at:
          $ref: '#/components/schemas/VacancyExpiresAt'
        hidden:
          $ref: '#/components/schemas/VacancyHidden'
        manager:
          $ref: '#/components/schemas/VacancyManager'
        response_notifications:
          $ref: '#/components/schemas/VacancyResponseNotifications'
        vacancy_properties:
          $ref: '#/components/schemas/VacancyVacancyProperties'
      required:
        - expires_at
        - manager
        - response_notifications
        - hidden
        - branded_template
        - can_upgrade_billing_type
        - address
      title: Vacancy manager fields
      type: object
    VacancyHidden:
      description: Whether the vacancy is deleted (hidden from the archive)
      title: Whether the vacancy is deleted
      type: boolean
    VacancyCountersOutput:
      properties:
        calls:
          description: Total number of calls
          type: number
        invitations:
          description: Number of invitations to the vacancy
          type: number
        invitations_and_responses:
          description: Number of invitations and responses to a vacancy
          type: number
        new_missed_calls:
          description: Total number of new missed calls
          type: number
        responses:
          description: Number of responses to the vacancy
          type: number
        resumes_in_progress:
          description: Number of resumes in progress for a vacancy
          type: number
        unread_responses:
          description: Number of non-viewed responses to the vacancy
          type: number
        views:
          description: Number of vacancy views
          type: number
      required:
        - views
        - responses
        - unread_responses
        - resumes_in_progress
        - invitations
        - invitations_and_responses
        - calls
        - new_missed_calls
      title: Counters in output
      type: object
    VacancyArchivedAt:
      description: The date of vacancy archiving
      title: The date of vacancy archiving
      type: string
    VacanciesVacancyForApplicant:
      allOf:
        - $ref: '#/components/schemas/VacanciesVacancyCommonFields'
        - $ref: '#/components/schemas/VacancyHiddenDeprecated'
        - $ref: '#/components/schemas/VacancyBillingTypeObject'
        - $ref: '#/components/schemas/VacancyAddressCommon'
        - properties: {}
          type: object
        - properties: {}
          type: object
      title: Vacancy info with applicant or application token
      type: object
    VacancyAddressCommon:
      description: Address
      nullable: true
      properties:
        address:
          nullable: true
          oneOf:
            - $ref: '#/components/schemas/VacancyAddressOutput'
            - $ref: '#/components/schemas/_IncludesNullableObject'
          type: object
      title: Address
      type: object
    VacancyHiddenDeprecated:
      properties:
        hidden:
          deprecated: true
          description: Whether the vacancy is deleted (hidden from the archive). Backward compatibility field
          type: boolean
      title: Whether the vacancy is deleted
    ArtifactsArtifactPhotoResponse:
      allOf:
        - $ref: '#/components/schemas/ArtifactsArtifactPhotoItems'
        - $ref: '#/components/schemas/_IncludesPagination'
      title: Successful response
    ArtifactsArtifactPhotoItems:
      properties:
        items:
          description: List of images
          items:
            $ref: '#/components/schemas/ArtifactsArtifactItem'
          minItems: 0
          type: array
      required:
        - items
      title: Collection of images
    DictionariesSalaryStatisticsEmployeeLevelResponse:
      description: List of competency levels
      items:
        $ref: '#/components/schemas/_IncludesIdNameDesc'
      title: List of competency levels
      type: array
    _IncludesIdNameDesc:
      allOf:
        - $ref: '#/components/schemas/_IncludesId'
        - $ref: '#/components/schemas/_IncludesNameDescription'
      title: 'Object with ID, name, and description'
      type: object
    _IncludesNameDescription:
      properties:
        description:
          description: Description
          type: string
        name:
          description: Name
          type: string
      required:
        - name
        - description
      title: Object
      type: object
    AuthUserTokenAndAppToken:
      oneOf:
        - $ref: '#/components/schemas/AuthUserToken'
        - $ref: '#/components/schemas/AuthAppToken'
      title: Successful response
    AuthAppToken:
      additionalProperties: false
      properties:
        access_token:
          type: string
        token_type:
          description: Type of token issued. Always takes the value `bearer`
          enum:
            - bearer
          type: string
      required:
        - access_token
        - token_type
      title: Application Authorization
      type: object
    AuthUserToken:
      properties:
        access_token:
          description: A token that is returned if the application has the rights to create long-lived or short-lived tokens
          type: string
        expires_in:
          description: Token lifetime in seconds
          format: int64
          minimum: 0
          type: integer
        refresh_token:
          description: Token that can be used to extend the lifetime of the respective access token
          type: string
        token_type:
          description: Type of issued token. Always takes on the value `bearer`
          enum:
            - bearer
          type: string
      required:
        - access_token
        - token_type
        - expires_in
        - refresh_token
      title: User Authentication
      type: object
    MetroCityMetroItem:
      properties:
        id:
          description: City ID
          type: string
        lines:
          description: The list of metro lines in the city
          items:
            $ref: '#/components/schemas/MetroMetroLineWithStations'
          type: array
        name:
          description: City name
          type: string
      required:
        - id
        - name
        - lines
      title: City
    MetroMetroLineWithStations:
      allOf:
        - $ref: '#/components/schemas/MetroMetroLine'
        - properties:
            stations:
              description: List of line metro stations
              items:
                $ref: '#/components/schemas/MetroLineStation'
              type: array
          required:
            - stations
          type: object
      title: Metro line with stations
      type: object
    MetroMetroResponse:
      items:
        $ref: '#/components/schemas/MetroMetroItem'
      title: The list of all metro stations and lines of all cities
      type: array
    MetroMetroItem:
      properties:
        id:
          description: City ID
          type: string
        lines:
          description: The list of metro lines in the city
          items:
            $ref: '#/components/schemas/MetroMetroLineWithStations'
          type: array
        name:
          description: City name
          type: string
        url:
          description: Request URL
          type: string
      required:
        - id
        - url
        - name
        - lines
      title: City
    EmployerManagersEmployerManagerInfo:
      properties:
        additional_phone:
          allOf:
            - $ref: '#/components/schemas/EmployerManagersPhone'
            - type: object
          description: Additional manager's phone
        area:
          $ref: '#/components/schemas/EmployerManagersArea'
        email:
          description: Manager's E-mail
          type: string
        first_name:
          description: Manager's first name
          type: string
        full_name:
          description: Manager's full name
          type: string
        id:
          description: Manager's ID
          type: string
        is_main_contact_person:
          description: If manager is the main contact person then 'true'
          type: boolean
        last_name:
          description: Manager's last name
          type: string
        manager_type:
          $ref: '#/components/schemas/EmployerManagersManagerType'
        middle_name:
          description: Manager's middle name
          type: string
        name:
          deprecated: true
          description: Manager's full name
          type: string
        permissions:
          description: 'List of [manager''s privileges](#tag/Employer-managers/operation/get-employer-manager-types)'
          items:
            $ref: '#/components/schemas/EmployerManagerTypesAvailablePermissions'
          type: array
        phone:
          allOf:
            - $ref: '#/components/schemas/EmployerManagersPhone'
            - type: object
          description: Manager's phone
        position:
          description: Manager's position
          type: string
        special_note_1:
          description: First special note of manager
          nullable: true
          type: string
        special_note_2:
          description: Second special note of manager
          nullable: true
          type: string
        vacancies_count:
          description: Number of published (active) vacancies for this manager. `null` — if user has not permission to that manager's vacancies
          nullable: true
          type: number
      required:
        - id
        - email
        - position
        - first_name
        - last_name
        - is_main_contact_person
        - phone
        - permissions
      title: Manager info
    EmployerManagersManagerType:
      properties:
        id:
          description: ID of manager's type
          type: string
        name:
          description: Name of manager's type
          type: string
      required:
        - id
        - name
      title: Manager's type
    ResumesPostResumeVisibilityListBody:
      properties:
        items:
          description: List of employer IDs being added
          items:
            $ref: '#/components/schemas/_IncludesId'
          type: array
      title: Request body to add employers in a visibility list
    ResumesCreationAvailability:
      properties:
        created:
          description: The number of previously created resumes
          type: number
        is_creation_available:
          description: Whether the creation of new resumes is available to this user
          type: boolean
        max:
          description: Maximum number of resumes
          type: number
        remaining:
          description: The number of resumes that can be created
          type: number
      required:
        - is_creation_available
        - max
        - created
        - remaining
      title: Information about availability of resume creation
      type: object
    SuggestsAreas:
      additionalProperties: false
      description: Suggestions for regions
      properties:
        items:
          description: Info on regions found
          items:
            $ref: '#/components/schemas/SuggestsAreasItem'
          title: Array of regions found
          type: array
      required:
        - items
      title: Suggestions for regions
      type: object
    SuggestsAreasItem:
      properties:
        id:
          description: Region ID
          type: string
        text:
          description: Region name
          type: string
        url:
          description: Region URL
          type: string
      required:
        - id
        - text
        - url
      title: Region
      type: object
    SuggestsVacancyPositions:
      additionalProperties: false
      description: Vacancy position suggestions
      properties:
        items:
          description: Info on vacancy positions found
          items:
            $ref: '#/components/schemas/SuggestsVacancyPositionItem'
          title: Array of vacancy positions found
          type: array
      required:
        - items
      title: Vacancy position suggestions
      type: object
    SuggestsVacancyPositionItem:
      properties:
        id:
          description: Position ID
          example: '2063'
          type: string
        professional_roles:
          description: Info on professional roles corresponding to the position
          items:
            $ref: '#/components/schemas/SuggestsProfessionalRoleItemWithName'
          minItems: 1
          title: Array of professional roles corresponding to the position
          type: array
        text:
          description: Position name
          example: Personal driver
          type: string
      required:
        - id
        - text
        - professional_roles
      title: Information about found positions
      type: object
    SuggestsCompanies:
      additionalProperties: false
      description: Organization suggestions
      properties:
        items:
          description: Info on organizations found
          items:
            $ref: '#/components/schemas/SuggestsCompanyItem'
          title: Array of organizations found
          type: array
      required:
        - items
      title: Organization suggestions
      type: object
    SuggestsCompanyItem:
      allOf:
        - $ref: '#/components/schemas/SuggestsEmployerItem'
        - properties:
            area:
              $ref: '#/components/schemas/SuggestsArea'
            industries:
              description: Scope of activity
              items:
                $ref: '#/components/schemas/_IncludesIdName'
              type: array
          required:
            - area
          type: object
      title: Information about the companies found
      type: object
    SuggestsArea:
      properties:
        id:
          description: Area ID
          type: string
        name:
          description: Area name
          type: string
      required:
        - id
        - name
      title: Area
    SuggestsEmployerItem:
      properties:
        id:
          description: Organization ID
          type: string
        logo_urls:
          $ref: '#/components/schemas/SuggestsLogoUrl'
          description: Organization logo URL
        text:
          description: Organization name
          type: string
        url:
          description: Organization website
          type: string
      required:
        - id
        - text
      title: Information about the organizations found
    SuggestsLogoUrl:
      nullable: true
      properties:
        '90':
          description: Logo URL
          type: string
      required:
        - '90'
      title: Organization logo URL
      type: object
    AuthCode:
      additionalProperties: false
      properties:
        client_id:
          description: 'ID obtained when [creating of application](https://dev.hh.ru/admin)'
          example: ETVQdMs2n9VKw7SMXkh9nX5H
          minLength: 1
          type: string
        client_secret:
          description: 'Protected key obtained when [creating of application](https://dev.hh.ru/admin)'
          example: 95dNjB8FmtxQsmygm6dtEy53
          minLength: 1
          type: string
        code:
          description: |
            The `authorization_code` value obtained when [redirecting the user](#get-authorization_code)
          example: 29CtxMcaA8pRFDYyC8e8Gkm4
          minLength: 1
          type: string
        grant_type:
          description: Token request method
          enum:
            - authorization_code
          example: authorization_code
          type: string
        redirect_uri:
          description: |
            An URI on which the user is redirected after the authorization. If not specified, system uses an URI from application settings.

            If the value is specified, its validation is carried out. Probably, you will need to make `urlencode` of the value
          example: 'http://www.example.com/oauth'
          minLength: 1
          type: string
      required:
        - grant_type
        - client_id
        - client_secret
        - redirect_uri
        - code
      title: Parameters to obtain user token
      type: object
    SuggestsFieldsOfStudy:
      additionalProperties: false
      description: Specialization suggestions
      properties:
        items:
          description: Info on specializations found
          items:
            $ref: '#/components/schemas/SuggestsFieldsOfStudyItem'
          title: Array of specializations found
          type: array
      required:
        - items
      title: Specialization suggestions
      type: object
    SuggestsFieldsOfStudyItem:
      properties:
        id:
          description: Specialization ID
          type: string
        text:
          description: Specialization name
          type: string
      required:
        - id
        - text
      title: Information about found specializations
      type: object
    ErrorsVacancyProlongateForbidden:
      anyOf:
        - $ref: '#/components/schemas/ErrorsCommonBadAuthorizationErrors'
        - $ref: '#/components/schemas/ErrorsVacancyProlongateErrors'
      title: Errors
    ErrorsVacancyProlongateErrors:
      allOf:
        - $ref: '#/components/schemas/ErrorsCommonErrorRequestId'
        - properties:
            errors:
              description: Array with the information on each error
              items:
                $ref: '#/components/schemas/ErrorsVacancyProlongateError'
              minItems: 1
              type: array
          required:
            - errors
          type: object
      description: Information about occurred errors
      title: Errors of vacancy prolongation
    ErrorsVacancyProlongateError:
      additionalProperties: false
      properties:
        type:
          description: The error type
          enum:
            - vacancies
          example: vacancies
          type: string
        value:
          description: |
            The error reason:

            * `not_enough_purchased_services` — the purchased services are insufficient for prolongation of this type of vacancy.
            * `quota_exceeded` — the manager's quota for posting of this type of vacancies has been exceeded.
            * `prolongation_forbidden` — prolongation of vacancies is unavailable for the current manager.
            * `unavailable_for_archived` — prolongation of vacancies is unavailable for the archived vacancy.
            * `too_early` — premature prolongation
          enum:
            - not_enough_purchased_services
            - quota_exceeded
            - prolongation_forbidden
            - unavailable_for_archived
            - too_early
          example: quota_exceeded
          type: string
      required:
        - type
        - value
      title: Error
      type: object
    EmployerManagerTypesResponse:
      properties:
        items:
          items:
            $ref: '#/components/schemas/EmployerManagerTypesEmployerManagerTypesItem'
          title: List of manager types and privileges
          type: array
      required:
        - items
      title: Successful response
    EmployerManagerTypesEmployerManagerTypesItem:
      properties:
        available_permissions:
          description: The list of privileges that can be granted to the selected manager type
          items:
            $ref: '#/components/schemas/EmployerManagerTypesAvailablePermissions'
          type: array
        id:
          description: Manager type ID
          type: string
        name:
          description: Manager type name
          type: string
      required:
        - id
        - name
        - available_permissions
      title: Manager type and privileges
    ErrorsCommonBadAuthorizationCommonAndPaymentMethodError:
      oneOf:
        - $ref: '#/components/schemas/ErrorsCommonBadAuthorizationErrors'
        - $ref: '#/components/schemas/ErrorsCommonBadAuthorizationPaymentMethodErrors'
      title: Authorization error or error in a payable method usage
    ErrorsCommonBadAuthorizationPaymentMethodErrors:
      allOf:
        - $ref: '#/components/schemas/ErrorsCommonErrorRequestId'
        - properties:
            errors:
              description: Array with the information on each error
              items:
                $ref: '#/components/schemas/ErrorsCommonBadAuthorizationPaymentMethodError'
              minItems: 1
              type: array
          required:
            - errors
          type: object
      description: Information about the occurred errors
      title: Errors in a payable method usage
    ErrorsCommonBadAuthorizationPaymentMethodError:
      additionalProperties: false
      properties:
        type:
          description: A text identifier of the error class
          enum:
            - api_access_payment
          example: api_access_payment
          type: string
        value:
          description: |
            Error description.

            The reason of the error is that you are requesting one of [payable methods](#tag/Employer-services/operation/get-payable-api-method-access) without a purchased access
          enum:
            - action_must_be_payed
          example: action_must_be_payed
          type: string
      required:
        - type
        - value
      title: Error in a payable method usage
      type: object
    VacancyDraftVacancyDraftItems:
      properties:
        found:
          title: Number of drafts found
          type: integer
        items:
          description: List of drafts
          items:
            $ref: '#/components/schemas/VacancyDraftVacancyDraftItem'
          type: array
        page:
          title: Current page number
          type: integer
        pages:
          title: Number of pages with drafts
          type: integer
        per_page:
          title: Number of items per page
          type: integer
      required:
        - items
        - found
        - page
        - pages
        - per_page
      title: Successful response
    VacancyDraftVacancyDraftItem:
      allOf:
        - $ref: '#/components/schemas/VacancyDraftVacancyDraftBase'
        - properties:
            areas:
              description: 'Region codes and names (federal districts, federal subjects, cities)'
              items:
                $ref: '#/components/schemas/VacancyAreaOutput'
              minItems: 1
              type: array
            assigned_manager:
              $ref: '#/components/schemas/VacancyDraftAssignedManager'
            billing_type:
              $ref: '#/components/schemas/VacancyBillingTypeOutput'
            name:
              description: Vacancy name
              type: string
            publication_type:
              deprecated: true
              description: 'Publication type (directory [vacancy_billing_type](#tag/Public-directories/operation/get-dictionaries))'
              type: string
            url:
              description: Full draft info URL
              type: string
            vacancy_properties:
              $ref: '#/components/schemas/VacancyDraftVacancyProperties'
            vacancy_type:
              description: 'Vacancy type (directory [vacancy_type](#tag/Public-directories/operation/get-dictionaries))'
              nullable: true
              type: string
          required:
            - areas
            - publication_type
            - billing_type
            - vacancy_type
            - url
          type: object
      title: Draft
    ResumeEditResumeRequest:
      allOf:
        - $ref: '#/components/schemas/ResumeNullableFields'
        - properties:
            area:
              allOf:
                - $ref: '#/components/schemas/ResumeObjectsOneOfId'
              description: 'Area of residence. The [areas](#tag/Public-directories/operation/get-areas) directory entry'
              nullable: true
              type: object
            citizenship:
              description: 'Applicant citizenship list. The [areas](#tag/Public-directories/operation/get-areas) directory entries'
              items:
                $ref: '#/components/schemas/_IncludesId'
              nullable: true
              type: array
            contact:
              description: |
                Applicant's contact information.

                When filling out contacts in a resume, take the following into account:

                * The resume must contain an email address (only one).
                * The resume must contain a phone number, and there can be only one number for each type.
                * Comments are only available for phone numbers, a comment for an email will not be saved.
                * You must provide either the whole phone number in the `formatted` field or all three parts of the phone number separately in the fields `country`, `city`, and `number`. If both options are specified, the system uses data from the separate fields. The `formatted` field may contain spaces, brackets, and hyphens. The separate fields may only contain numbers
              items:
                $ref: '#/components/schemas/ResumeObjectsContact'
              nullable: true
              type: array
            education:
              allOf:
                - $ref: '#/components/schemas/ResumeObjectsOneOfEducation'
              description: |
                Applicant education.

                Features when saving education: 

                * If you submit both higher education and secondary education and the education level is "secondary", only secondary education will be saved. 
                * If you submit both higher education and secondary education and the education level is "higher", only higher education will be saved
              nullable: true
              type: object
            experience:
              description: Work experience
              items:
                $ref: '#/components/schemas/ResumeObjectsExperience'
              minItems: 0
              nullable: true
              type: array
            gender:
              allOf:
                - $ref: '#/components/schemas/ResumeObjectsOneOfId'
              description: 'Applicant''s gender. Possible values are listed in the `gender` field of [directories](#tag/Public-directories/operation/get-dictionaries)'
              nullable: true
              type: object
            language:
              description: 'List of languages spoken by the applicant. The [languages](#tag/Public-directories/operation/get-languages) directory entries'
              items:
                $ref: '#/components/schemas/_IncludesLanguageLevel'
              nullable: true
              type: array
          type: object
      description: Request body for a resume editing
      title: Resume
      type: object
    ResumeObjectsOneOfEducation:
      oneOf:
        - $ref: '#/components/schemas/ResumeObjectsEducation'
        - $ref: '#/components/schemas/_IncludesNullableObject'
      title: Education - Resume Field
    ResumeObjectsOneOfId:
      oneOf:
        - $ref: '#/components/schemas/Id'
        - $ref: '#/components/schemas/_IncludesNullableObject'
      title: ID - resume field
    ResumeObjectsContact:
      allOf:
        - $ref: '#/components/schemas/_IncludesContactProperties'
      required:
        - type
        - value
      title: Contact
    ResumeNullableFields:
      description: Nullable fields for a create resume request
      properties:
        access:
          nullable: true
          oneOf:
            - $ref: '#/components/schemas/ResumeObjectsAccess'
            - $ref: '#/components/schemas/_IncludesNullableObject'
          type: object
        birth_date:
          description: Birthday (YYYY-MM-DD)
          nullable: true
          type: string
        business_trip_readiness:
          description: 'Readiness to go on business trips. The [business_trip_readiness](#tag/Public-directories/operation/get-dictionaries) directory entry'
          nullable: true
          oneOf:
            - $ref: '#/components/schemas/_IncludesId'
            - $ref: '#/components/schemas/_IncludesNullableObject'
          type: object
        certificate:
          description: Applicant's certificate list
          items:
            $ref: '#/components/schemas/ResumeObjectsCertificate'
          minItems: 0
          nullable: true
          type: array
        driver_license_types:
          description: A list of applicant's driving license categories
          items:
            $ref: '#/components/schemas/ResumeObjectsDriverLicenseTypes'
          nullable: true
          type: array
        employment_form:
          oneOf:
            - $ref: '#/components/schemas/ResumeObjectsEmploymentFormEmploymentForm'
            - $ref: '#/components/schemas/_IncludesNullableObject'
        employments:
          description: 'List of employment types that are suitable for the applicant. The [employment](#tag/Public-directories/operation/get-dictionaries) directory entries'
          items:
            $ref: '#/components/schemas/_IncludesIdName'
          nullable: true
          type: array
        first_name:
          description: First name
          nullable: true
          type: string
        has_vehicle:
          description: Whether the applicant has a car
          nullable: true
          type: boolean
        hidden_fields:
          description: |
            List of hidden fields. Possible element values are listed in the `resume_hidden_fields` field of the [directory](#tag/Public-directories/operation/get-dictionaries)
          items:
            $ref: '#/components/schemas/_IncludesIdName'
          nullable: true
          type: array
        last_name:
          description: Last name
          nullable: true
          type: string
        metro:
          description: |
            The nearest metro station. The [metro](#tag/Public-directories/operation/get-metro-stations) directory entry.
            If you specify the metro station that does not belong to the specified `area`, the field is ignored
          nullable: true
          oneOf:
            - $ref: '#/components/schemas/_IncludesId'
            - $ref: '#/components/schemas/_IncludesNullableObject'
          type: object
        middle_name:
          description: Middle name
          nullable: true
          type: string
        photo:
          description: Applicant's photo
          nullable: true
          oneOf:
            - $ref: '#/components/schemas/ResumeObjectsPhoto'
            - $ref: '#/components/schemas/_IncludesNullableObject'
          type: object
        portfolio:
          description: A list of images in the user's portfolio
          items:
            $ref: '#/components/schemas/ResumeObjectsPortfolio'
          nullable: true
          type: array
        professional_roles:
          description: 'Array of professional roles. The [professional_roles](#tag/Public-directories/operation/get-professional-roles-dictionary) directory entry'
          items:
            $ref: '#/components/schemas/_IncludesId'
          type: array
        recommendation:
          description: List of recommendations
          items:
            $ref: '#/components/schemas/ResumeObjectsRecommendation'
          nullable: true
          type: array
        relocation:
          description: Readiness for relocation
          nullable: true
          oneOf:
            - $ref: '#/components/schemas/ResumeObjectsRelocationPublic'
            - $ref: '#/components/schemas/_IncludesNullableObject'
          type: object
        resume_locale:
          description: 'Resume locale. The [resume locale](#tag/Public-directories/operation/get-locales-for-resume) directory entry'
          nullable: true
          oneOf:
            - $ref: '#/components/schemas/_IncludesIdName'
            - $ref: '#/components/schemas/_IncludesNullableObject'
          type: object
        salary:
          nullable: true
          oneOf:
            - $ref: '#/components/schemas/ResumeObjectsSalaryAddEdit'
            - $ref: '#/components/schemas/_IncludesNullableObject'
          type: object
        schedules:
          description: 'List of working hours that are suitable for the applicant. The [schedule](#tag/Public-directories/operation/get-dictionaries) directory entries'
          items:
            $ref: '#/components/schemas/_IncludesIdName'
          nullable: true
          type: array
        site:
          description: Profiles in social networks and other services
          items:
            $ref: '#/components/schemas/ResumeObjectsSite'
          nullable: true
          type: array
        skill_set:
          description: Key skills (a list of unique strings)
          items:
            type: string
          nullable: true
          type: array
        skills:
          description: 'Additional information, a free-form description of skills'
          nullable: true
          type: string
        title:
          description: Desired position
          nullable: true
          type: string
        total_experience:
          nullable: true
          oneOf:
            - $ref: '#/components/schemas/ResumeObjectsTotalExperience'
            - $ref: '#/components/schemas/_IncludesNullableObject'
          type: object
        travel_time:
          description: 'Acceptable travel time to the place of work. The [travel_time](#tag/Public-directories/operation/get-dictionaries) directory entry'
          oneOf:
            - $ref: '#/components/schemas/_IncludesId'
            - $ref: '#/components/schemas/_IncludesNullableObject'
          type: object
        work_format:
          oneOf:
            - $ref: '#/components/schemas/ResumeObjectsWorkFormatWorkFormat'
            - $ref: '#/components/schemas/_IncludesNullableObject'
        work_ticket:
          description: |
            List of regions where the applicant has a work permission. The [areas](#tag/Public-directories/operation/get-areas) directory entries
          items:
            $ref: '#/components/schemas/_IncludesId'
          nullable: true
          type: array
      title: Nullable fields
      type: object
    ResumeObjectsDriverLicenseTypes:
      properties:
        id:
          description: 'Applicant''s driver license type. The [driver license types](#tag/Public-directories/operation/get-dictionaries) directory entry'
          type: string
      required:
        - id
      title: Driver license type
      type: object
    ResumeObjectsRelocationPublic:
      properties:
        area:
          description: 'List of cities for potential relocation. Contains entries of the [directory of regions](#tag/Public-directories/operation/get-areas)'
          items:
            $ref: '#/components/schemas/_IncludesArea'
          type: array
        district:
          description: List of districts for potential relocation
          items:
            $ref: '#/components/schemas/_IncludesIdName'
          type: array
        type:
          allOf:
            - $ref: '#/components/schemas/_IncludesIdName'
          description: 'Readiness for relocation. The [relocation_type](#tag/Public-directories/operation/get-dictionaries) directory entry'
      required:
        - type
      title: Readiness for relocation
      type: object
    ResumeObjectsPortfolio:
      properties:
        description:
          description: Image description in portfolio
          nullable: true
          type: string
        id:
          description: Unique image ID
          type: string
        medium:
          description: |
            Medium image URL. This URL provides access to the image for a limited time after receiving a response. The application should be ready to receive `404 Not Found` as a response to the image request
          type: string
        small:
          description: |
            Small image URL. This URL provides access to the image for a limited time after receiving a response. The application should be ready to receive `404 Not Found` as a response to the image request
          type: string
      required:
        - small
        - medium
        - id
      title: Portfolio
      type: object
    ResumeObjectsSite:
      properties:
        type:
          allOf:
            - $ref: '#/components/schemas/_IncludesIdName'
          description: 'Profile type. The [resume_contacts_site_type](#tag/Public-directories/operation/get-dictionaries) directory entry'
        url:
          description: A link to profile or ID
          nullable: true
          type: string
      title: Profile on website
      type: object
    ResumeObjectsSalaryAddEdit:
      allOf:
        - $ref: '#/components/schemas/ResumeObjectsSalaryProperties'
      required:
        - currency
        - amount
      title: Salary
    ResumeObjectsRecommendation:
      properties:
        contact:
          description: Contact
          type: string
        name:
          description: Name of the person who has given the recommendation
          type: string
        organization:
          description: Company
          type: string
        position:
          description: Position
          type: string
      required:
        - name
        - position
        - organization
      title: Recommendation
      type: object
    ResumeObjectsPhoto:
      allOf:
        - $ref: '#/components/schemas/ResumeObjectsPhotoNoId'
        - $ref: '#/components/schemas/_IncludesId'
      description: The value may be `null` if the employer does not have page branding
      nullable: true
      title: Photo
      type: object
    ResumesResumeNegotiationsHistoryResponse:
      properties:
        vacancies:
          description: Vacancy array
          items:
            $ref: '#/components/schemas/ResumesResumeNegotiationsHistoryVacancy'
          type: array
      required:
        - vacancies
      title: History of responses/invitations for a resume
      type: object
    ResumesResumeNegotiationsHistoryVacancy:
      properties:
        archived:
          description: A flag that indicates that the vacancy is in the archive
          type: boolean
        can_edit:
          description: A flag that indicates that the manager can edit vacancy data and work with information on the responses/invitations for this vacancy
          type: boolean
        id:
          description: The unique vacancy ID
          type: string
        items:
          description: A list of the latest changes in the statuses of responses/invitations for the specified resume and vacancy
          items:
            $ref: '#/components/schemas/ResumesResumeNegotiationsHistoryVacancyItem'
          type: array
        messages_url:
          description: 'A URL to perform a GET request to obtain the [list of messages for the response/invitation](#tag/Negotiations-(responsesinvitations)-for-applicants/operation/get-negotiation-messages). If `can_edit` is `false`, the field value should be ignored'
          type: string
        name:
          description: The vacancy name
          type: string
        negotiations_url:
          description: 'A URL to perform a GET request to obtain the [information on the response/invitation](#tag/Employer-responsesinvitations/operation/get-negotiation-item). If `can_edit` is `false`, the field value should be ignored'
          type: string
        url:
          description: 'URL, to perform a GET request to obtain the [information on the vacancy](#tag/Vacancies/operation/get-vacancy)'
          type: string
      required:
        - id
        - name
        - url
        - archived
        - can_edit
        - items
        - negotiations_url
        - messages_url
      title: A vacancy related to resume
      type: object
    ResumesResumeNegotiationsHistoryVacancyItem:
      allOf:
        - $ref: '#/components/schemas/ResumesNegotiationNano'
        - properties:
            with_message:
              description: A flag that indicates that a message was sent to the applicant when the response/invitation status had been changed
              type: boolean
          required:
            - with_message
          type: object
      title: A change of the response/invitation status
      type: object
    ArtifactsArtifactPortfolioResponse:
      allOf:
        - $ref: '#/components/schemas/ArtifactsArtifactPortfolioItems'
        - $ref: '#/components/schemas/_IncludesPagination'
      title: Successful response
    ArtifactsArtifactPortfolioItems:
      properties:
        items:
          description: List of images
          items:
            $ref: '#/components/schemas/ArtifactsArtifactPortfolioItem'
          minItems: 0
          type: array
      required:
        - items
      title: Collection of images
    ArtifactsArtifactPortfolioItem:
      allOf:
        - $ref: '#/components/schemas/ArtifactsArtifactItem'
        - $ref: '#/components/schemas/ArtifactsPortfolioDescription'
      title: Image
    EmployerDictionariesTestsResponse:
      properties:
        items:
          items:
            $ref: '#/components/schemas/EmployerDictionariesTestItem'
          minItems: 0
          title: List of tests
          type: array
      required:
        - items
      title: Successful response
    EmployerDictionariesTestItem:
      properties:
        id:
          description: Test ID
          type: string
        name:
          description: Test name
          type: string
      required:
        - id
        - name
      title: Test
    DictionariesSalaryStatisticsAreaResponse:
      items:
        $ref: '#/components/schemas/DictionariesSalaryStatisticsAreaItem'
      title: List of regions
      type: array
    DictionariesSalaryStatisticsAreaItem:
      properties:
        areas:
          description: Child regions
          items:
            $ref: '#/components/schemas/DictionariesSalaryStatisticsAreaItem'
          minItems: 0
          type: array
        id:
          description: Region ID
          type: string
        name:
          description: Region name
          type: string
      required:
        - id
        - name
      title: Region
    MailTemplatesMailTemplateInput:
      additionalProperties: false
      properties:
        text:
          description: Template text
          type: string
      required:
        - text
      title: Template for response to an applicant
    ResumeResumeViewResponse:
      anyOf:
        - $ref: '#/components/schemas/ResumeResumeForEmployer'
        - $ref: '#/components/schemas/ResumeResumeForApplicant'
      description: Information about resume
      title: Resume
      type: object
    ResumeResumeForApplicant:
      allOf:
        - $ref: '#/components/schemas/ResumeResumeFull'
        - $ref: '#/components/schemas/ResumeStatusReadiness'
        - $ref: '#/components/schemas/ResumeApplicantFields'
        - $ref: '#/components/schemas/ResumePhotoPortfolio'
        - properties: {}
          type: object
      title: Info about resume for its owner
      type: object
    ResumePhotoPortfolio:
      properties:
        photo:
          $ref: '#/components/schemas/ResumeObjectsOneOfPhoto'
        portfolio:
          description: A list of images in the user's portfolio
          items:
            $ref: '#/components/schemas/ResumeObjectsPortfolio'
          type: array
      required:
        - portfolio
      title: User's portfolio and photo
      type: object
    ResumeObjectsOneOfPhoto:
      description: Applicant photo
      nullable: true
      oneOf:
        - $ref: '#/components/schemas/ResumeObjectsPhoto'
        - $ref: '#/components/schemas/_IncludesNullableObject'
      title: Photo
      type: object
    ResumeResumeFull:
      allOf:
        - $ref: '#/components/schemas/ResumeResume'
        - properties:
            birth_date:
              description: Birthday (YYYY-MM-DD)
              nullable: true
              type: string
            business_trip_readiness:
              allOf:
                - $ref: '#/components/schemas/_IncludesIdName'
              description: 'Readiness to go on business trips. The [business_trip_readiness](#tag/Public-directories/operation/get-dictionaries) directory entry'
            citizenship:
              description: 'Applicant citizenship list. The [areas](#tag/Public-directories/operation/get-areas) directory entries'
              items:
                $ref: '#/components/schemas/_IncludesIdNameUrl'
              type: array
            contact:
              description: Applicant's contact information
              items:
                $ref: '#/components/schemas/_IncludesContact'
              type: array
            creds:
              $ref: '#/components/schemas/CredsResumeCreds'
            driver_license_types:
              description: A list of applicant's driving license categories
              items:
                $ref: '#/components/schemas/ResumeObjectsDriverLicenseTypes'
              type: array
            employment:
              allOf:
                - $ref: '#/components/schemas/_IncludesIdName'
              deprecated: true
            employments:
              description: 'List of employment types that are suitable for the applicant. The [employment](#tag/Public-directories/operation/get-dictionaries) directory entries'
              items:
                $ref: '#/components/schemas/_IncludesIdName'
              type: array
            has_vehicle:
              description: Does the applicant has a car
              nullable: true
              type: boolean
            language:
              description: 'List of languages spoken by the applicant. The [languages](#tag/Public-directories/operation/get-languages) directory entries'
              items:
                $ref: '#/components/schemas/_IncludesLanguageLevel'
              type: array
            metro:
              $ref: '#/components/schemas/ResumeObjectsOneOfMetroStation'
            paid_services:
              description: Resume-related paid services
              items:
                $ref: '#/components/schemas/ResumeObjectsPaidServices'
              type: array
            professional_roles:
              description: Array of professional roles
              items:
                $ref: '#/components/schemas/_IncludesIdName'
              nullable: true
              type: array
            recommendation:
              description: List of recommendations
              items:
                $ref: '#/components/schemas/ResumeObjectsRecommendation'
              type: array
            relocation:
              allOf:
                - $ref: '#/components/schemas/ResumeObjectsRelocationPublic'
              description: Readiness for relocation
              type: object
            resume_locale:
              allOf:
                - $ref: '#/components/schemas/_IncludesIdName'
              description: 'Resume locale. The [resume locale](#tag/Public-directories/operation/get-locales-for-resume) directory entry'
              type: object
            schedule:
              allOf:
                - $ref: '#/components/schemas/_IncludesIdName'
              deprecated: true
            schedules:
              description: 'List of working hours that are suitable for the applicant. The [schedule](#tag/Public-directories/operation/get-dictionaries) directory entries'
              items:
                $ref: '#/components/schemas/_IncludesIdName'
              type: array
            site:
              description: Profiles in social networks and other services
              items:
                $ref: '#/components/schemas/ResumeObjectsSite'
              type: array
            skill_set:
              description: Key skills (a list of unique strings)
              items:
                type: string
              type: array
            skills:
              description: 'Additional information, a free-form description of skills'
              nullable: true
              type: string
            tags:
              description: Resume tags
              items:
                $ref: '#/components/schemas/_IncludesId'
              type: array
            travel_time:
              allOf:
                - $ref: '#/components/schemas/_IncludesIdName'
              description: 'Acceptable travel time to the place of work. The [travel_time](#tag/Public-directories/operation/get-dictionaries) directory entry'
            work_ticket:
              description: |
                List of regions where the applicant has a work permission. The [areas](#tag/Public-directories/operation/get-areas) directory entries
              items:
                $ref: '#/components/schemas/_IncludesIdNameUrl'
              type: array
          required:
            - contact
            - resume_locale
            - citizenship
            - work_ticket
            - recommendation
            - relocation
            - employments
            - schedule
            - schedules
            - site
            - travel_time
            - business_trip_readiness
            - skill_set
            - driver_license_types
            - language
            - paid_services
          type: object
      title: Full resume
      type: object
    CredsResumeCreds:
      nullable: true
      oneOf:
        - $ref: '#/components/schemas/CredsCreds'
        - $ref: '#/components/schemas/_IncludesNullableObject'
      title: Creds
      type: object
    ResumeObjectsOneOfMetroStation:
      nullable: true
      oneOf:
        - $ref: '#/components/schemas/ResumeObjectsMetroStation'
        - $ref: '#/components/schemas/_IncludesNullableObject'
      title: Metro station
      type: object
    ResumeObjectsMetroStation:
      description: |
        The nearest metro station. The [metro](#tag/Public-directories/operation/get-metro-stations) directory entry
      properties:
        id:
          description: Metro station ID
          type: string
        lat:
          description: Latitude of the station location
          type: number
        line:
          allOf:
            - $ref: '#/components/schemas/ResumeObjectsMetroLine'
          description: Metro line
          type: object
        lng:
          description: Longitude of the station location
          type: number
        name:
          description: Metro station name
          type: string
        order:
          description: Sequence number of the station on the subway line (starting with 0)
          type: number
      required:
        - id
        - lat
        - lng
        - order
        - line
      title: Metro station
      type: object
    ResumeObjectsMetroLine:
      properties:
        hex_color:
          description: Line color in HEX format `RRGGBB` (from `000000` to `FFFFFF`)
          type: string
        id:
          description: Line identifier
          type: string
        name:
          description: Line name
          type: string
      required:
        - id
        - hex_color
        - name
      title: Metro line
      type: object
    ResumeResumeForEmployer:
      allOf:
        - $ref: '#/components/schemas/ResumeResumeFull'
        - $ref: '#/components/schemas/ResumeEmployerFields'
      title: Info about resume for employer
      type: object
    ResumeEmployerFields:
      properties:
        actions:
          allOf:
            - $ref: '#/components/schemas/ResumeObjectsActions'
          description: Additional actions
          type: object
        can_view_full_info:
          description: Whether the employer can get the resume contact info
          nullable: true
          type: boolean
        contacts_open_until_date:
          description: Дата скрытия контактов резюме в формате `YYYY-MM-DD`
          nullable: true
          type: string
        favorited:
          description: Whether the resume is favorited
          type: boolean
        job_search_status:
          allOf:
            - $ref: '#/components/schemas/_IncludesIdNameLastChangeTime'
          description: |
            To obtain data, specify the query parameter `with_job_search_status=true`. 
            Directory with possible values: `job_search_statuses_employer`  in [/dictionaries](#tag/Public-directories/operation/get-dictionaries)
        negotiations_history:
          allOf:
            - $ref: '#/components/schemas/ResumeObjectsNegotiationsHistoryForEmployer'
          description: Brief history of negotiations
          type: object
        owner:
          allOf:
            - $ref: '#/components/schemas/ResumeObjectsOwner'
          description: Information about resume owner
          type: object
        paid_services:
          $ref: '#/components/schemas/ResumeObjectsEmployerPaidServices'
        photo:
          $ref: '#/components/schemas/ResumeObjectsOneOfPhotoNoId'
        portfolio:
          description: A list of images in the user's portfolio
          items:
            $ref: '#/components/schemas/ResumeObjectsPortfolioNoId'
          type: array
        view_without_contacts_reason:
          description: Reason for hiding contacts
          nullable: true
          type: string
      required:
        - owner
        - favorited
        - portfolio
        - paid_services
        - actions
      title: Fields returning for an employer
      type: object
    ResumeObjectsNegotiationsHistoryForEmployer:
      allOf:
        - $ref: '#/components/schemas/ResumeObjectsNegotiationsHistoryUrl'
        - properties:
            vacancies:
              description: Vacancy array
              items:
                $ref: '#/components/schemas/ResumesResumeNegotiationsHistoryVacancy'
              nullable: true
              type: array
          type: object
      title: Negotiation history
      type: object
    ResumeObjectsEmployerPaidServices:
      description: |
        Paid resume services for employers

        The employer may be offered a list of paid resume services.

        For example, if complete resume data is not available, an offer to purchase a recommended service will be issued in order to obtain such access
      items:
        properties:
          description:
            description: Note for using the service
            type: string
          id:
            description: Service ID
            type: string
          name:
            description: Service name
            type: string
          price_list:
            description: Price for the service
            properties:
              alternate_url:
                description: Link to the site where the full price list for the service is available
                type: string
            required:
              - alternate_url
            type: object
          quick_purchase:
            description: 'Description of quick service purchase, if available'
            properties:
              alternate_url:
                description: Link to the site where you will be offered to buy the service
                type: string
              currency:
                description: Service currency
                properties:
                  abbr:
                    description: Short name
                    type: string
                  code:
                    description: Code
                    type: string
                  name:
                    description: Name
                    type: string
                required:
                  - abbr
                  - code
                  - name
                type: object
              name:
                description: Name of the service order action
                type: string
              price:
                description: Price of the service
                type: number
            required:
              - alternate_url
              - currency
              - name
              - price
            type: object
        required:
          - id
          - name
          - price_list
        type: object
      title: Paid resume services
      type: array
    ResumeObjectsPortfolioNoId:
      properties:
        description:
          description: Image description in portfolio
          type: string
        medium:
          description: |
            Medium image URL. This URL provides access to the image for a limited time after receiving a response. The application should be ready to receive `404 Not Found` as a response to the image request
          type: string
        small:
          description: |
            Small image URL. This URL provides access to the image for a limited time after receiving a response. The application should be ready to receive `404 Not Found` as a response to the image request
          type: string
      required:
        - small
        - medium
      title: Portfolio
      type: object
    ErrorsDictionariesBadArgumentErrors:
      allOf:
        - $ref: '#/components/schemas/ErrorsCommonErrorRequestId'
        - properties:
            errors:
              description: Array with error data
              items:
                $ref: '#/components/schemas/ErrorsDictionariesBadArgumentError'
              minItems: 1
              type: array
          required:
            - errors
          type: object
      description: Information about errors that occurred
      title: Wrong additional case
    ErrorsDictionariesBadArgumentError:
      additionalProperties: false
      properties:
        type:
          description: The error type textual ID
          enum:
            - bad_argument
          example: bad_argument
          type: string
        value:
          description: Name of the field containing an error
          example: wrong_case
          type: string
      required:
        - type
        - value
      title: Request Parameter Error
      type: object
    ErrorsVacancyBlacklistedNotFoundErrors:
      allOf:
        - $ref: '#/components/schemas/ErrorsCommonErrorRequestId'
        - properties:
            description:
              description: Error description
              type: string
            errors:
              description: Array with the information on each error
              items:
                $ref: '#/components/schemas/ErrorsVacancyBlacklistedNotFoundError'
              minItems: 1
              type: array
          required:
            - errors
          type: object
      description: Information on the occured errors
      title: Not found
    ErrorsVacancyBlacklistedNotFoundError:
      additionalProperties: false
      properties:
        type:
          description: A text identifier of the error class
          enum:
            - vacancies_blacklist
          example: vacancies_blacklist
          type: string
        value:
          description: |-
            Name of the field containing an error. Possible values:
            * `not_found` — the vacancy is not found
          enum:
            - not_found
          example: not_found
          type: string
      required:
        - type
        - value
      title: Error
      type: object
    ResumeAddResumeRequest:
      allOf:
        - $ref: '#/components/schemas/ResumeNullableFields'
        - properties:
            area:
              allOf:
                - $ref: '#/components/schemas/Id'
              description: 'Area of residence. The [areas](#tag/Public-directories/operation/get-areas) directory entry'
            citizenship:
              description: 'Applicant citizenship list. The [areas](#tag/Public-directories/operation/get-areas) directory entries'
              items:
                $ref: '#/components/schemas/_IncludesId'
              type: array
            contact:
              description: |
                Applicant's contact information.

                When filling out contacts in a resume, take the following into account:

                * The resume must contain an email address (only one).
                * The resume must contain a phone number, and there can be only one number for each type.
                * Comments are only available for phone numbers, a comment for an email will not be saved.
                * You must provide either the whole phone number in the `formatted` field or all three parts of the phone number separately in the fields `country`, `city`, and `number`. If both options are specified, the system uses data from the separate fields. The `formatted` field may contain spaces, brackets, and hyphens. The separate fields may only contain numbers
              items:
                $ref: '#/components/schemas/ResumeObjectsContact'
              type: array
            education:
              allOf:
                - $ref: '#/components/schemas/ResumeObjectsEducation'
              description: |
                Applicant education.

                Features when saving education: 

                * If you submit both higher education and secondary education and the education level is "secondary", only secondary education will be saved. 
                * If you submit both higher education and secondary education and the education level is "higher", only higher education will be saved
              type: object
            experience:
              description: Work experience
              items:
                $ref: '#/components/schemas/ResumeObjectsExperienceCreateEditResume'
              minItems: 0
              type: array
            gender:
              allOf:
                - $ref: '#/components/schemas/Id'
              description: 'Applicant''s gender. Possible values are listed in the `gender` field of [directories](#tag/Public-directories/operation/get-dictionaries)'
            language:
              description: 'List of languages spoken by the applicant. The [languages](#tag/Public-directories/operation/get-languages) directory entries'
              items:
                $ref: '#/components/schemas/ResumeObjectsLanguage'
              type: array
          type: object
      description: Request body for a resume creating
      title: Resume
      type: object
    ResumeObjectsLanguage:
      allOf:
        - $ref: '#/components/schemas/_IncludesLanguageProperties'
      required:
        - level
        - id
      title: Language and proficiency
    ResumeObjectsExperienceCreateEditResume:
      allOf:
        - $ref: '#/components/schemas/ResumeObjectsExperienceProperties'
      required:
        - start
        - description
        - position
        - company
      title: Experience in an organization
    VacanciesAvailableVacancyTypeResponse:
      properties:
        items:
          description: Array of vacancy publishing options
          items:
            $ref: '#/components/schemas/VacanciesAvailableVacancyTypeItem'
          type: array
      required:
        - items
      title: Info on vacancy publishing options
      type: object
    VacanciesAvailableVacancyTypeItem:
      properties:
        available_publications_count:
          description: Total number of publications available to this manager
          type: number
        description:
          description: Description of publication type
          type: string
        name:
          description: Name of publication type
          type: string
        publications:
          $ref: '#/components/schemas/VacancyPublications'
        vacancy_billing_type:
          allOf:
            - description: 'Vacancy billing type. Possible values you can find in `vacancy_billing_type` field of [directories](#tag/Public-directories/operation/get-dictionaries)'
              type: object
            - $ref: '#/components/schemas/VacancyBillingType'
        vacancy_types:
          $ref: '#/components/schemas/VacancyTypes'
      required:
        - name
        - description
        - available_publications_count
        - vacancy_billing_type
        - vacancy_types
        - publications
      title: A vacancy publishing option
      type: object
    VacancyTypes:
      description: List of vacancy types
      items:
        $ref: '#/components/schemas/VacancyType'
      title: List of vacancy types
      type: array
    VacancyPublications:
      description: List of regions where the vacancy can be published and number of publications available to the employer
      items:
        $ref: '#/components/schemas/VacancyPublication'
      title: Information about regions and number of publications
      type: array
    VacancyPublication:
      properties:
        areas_url:
          description: URL for the list of regions where a vacancy of this type can be published. The list is returned in a tree-like structure and the vacancies are published only in the final (leaf) nodes of the tree. They are flagged as `can_publish=true`
          type: string
        count:
          description: Number of publications in the region available to the employer
          type: number
        name:
          description: Name of the region
          type: string
      required:
        - name
        - count
        - areas_url
      title: Info on publication
      type: object
    ManagerAccounts:
      additionalProperties: false
      description: Information about the manager's work accounts
      properties:
        current_account_id:
          description: |
            ID of the manager's current work account. Matches the value passed in the header `X-Manager-Account-Id`
          example: '87654321'
          type: string
        is_primary_account_blocked:
          description: Is the manager's primary work account blocked
          example: false
          type: boolean
        items:
          description: List of the manager's work accounts
          items:
            $ref: '#/components/schemas/ManagerAccount'
          minItems: 0
          type: array
        primary_account_id:
          description: Manager's primary work account ID
          example: '12345678'
          type: string
      required:
        - items
        - current_account_id
        - primary_account_id
        - is_primary_account_blocked
      title: Manager's Work Accounts
      type: object
    ErrorsResumeBadArgTooManyResumesErrors:
      anyOf:
        - $ref: '#/components/schemas/ErrorsCommonBadArgumentErrors'
        - $ref: '#/components/schemas/ErrorsResumeAddEditErrors'
        - $ref: '#/components/schemas/ErrorsResumeTooManyResumesErrors'
      title: Errors
    ErrorsResumeTooManyResumesErrors:
      allOf:
        - $ref: '#/components/schemas/ErrorsCommonErrorRequestId'
        - properties:
            description:
              deprecated: true
              description: Error description
              type: string
            errors:
              description: Array with the information on each error
              items:
                $ref: '#/components/schemas/ErrorsResumeTooManyResumesError'
              minItems: 1
              type: array
          required:
            - errors
          type: object
      description: Information about occurred errors
      title: Error of resume creating
    ErrorsResumeTooManyResumesError:
      additionalProperties: false
      description: The allowable number of resumes is exceeded
      properties:
        type:
          description: A text identifier of error type
          enum:
            - resumes
          example: resumes
          type: string
        value:
          description: An error value
          enum:
            - total_limit_exceeded
          example: total_limit_exceeded
          type: string
      required:
        - type
        - value
      title: Error of resume creating
      type: object
    ErrorsResumeTooManyRequestsEmployerErrors:
      allOf:
        - $ref: '#/components/schemas/ErrorsCommonErrorRequestId'
        - properties:
            description:
              deprecated: true
              description: Error description
              type: string
            errors:
              description: Array with error data
              items:
                $ref: '#/components/schemas/ErrorsResumeTooManyRequestsEmployerError'
              minItems: 1
              type: array
          required:
            - errors
          type: object
      description: Information about occurred errors
      title: Errors with resumes
    ErrorsResumeTooManyRequestsEmployerError:
      additionalProperties: false
      properties:
        type:
          description: Text identifier of the error type
          enum:
            - resumes
          example: resumes
          type: string
        value:
          description: |
            General errors:
              * `view_limit_exceeded` — Manager limits have been reached
          enum:
            - view_limit_exceeded
          example: view_limit_exceeded
          type: string
      required:
        - type
        - value
      title: Error
      type: object
    EmployerAddressesEmployerAddressesResponse:
      allOf:
        - $ref: '#/components/schemas/EmployerAddressesEmployerAddressItems'
        - $ref: '#/components/schemas/_IncludesPagination'
      example:
        $ref: '#/components/examples/EmployerAddresses/value'
      title: Successful response
    EmployerAddressesEmployerAddressItems:
      properties:
        items:
          description: Employer addresses list
          items:
            $ref: '#/components/schemas/EmployerAddressesEmployerAddressItem'
          type: array
      required:
        - items
      title: Employer address info
    EmployerAddressesEmployerAddressItem:
      properties:
        building:
          description: Building
          nullable: true
          type: string
        can_edit:
          description: Is current user allowed to edit the address
          type: boolean
        city:
          description: City
          nullable: true
          type: string
        deleted:
          description: Address is deleted
          type: boolean
        description:
          description: Address additional info
          nullable: true
          type: string
        id:
          description: Address ID
          type: string
        lat:
          description: Latitude of the address location
          nullable: true
          type: number
        lng:
          description: Longitude of the address location
          nullable: true
          type: number
        manager:
          description: Manager who created the address
          nullable: true
          properties:
            full_name:
              description: Manager full name
              type: string
            id:
              description: Manager ID
              type: string
          type: object
        metro_stations:
          items:
            $ref: '#/components/schemas/_IncludesMetroStation'
          type: array
        raw:
          description: Full address
          nullable: true
          type: string
        street:
          description: Street
          nullable: true
          type: string
      required:
        - city
        - lat
        - lng
      title: Address
    ErrorsResumePhoneConfirmForbiddenErrors:
      allOf:
        - $ref: '#/components/schemas/ErrorsCommonErrorRequestId'
        - properties:
            description:
              deprecated: true
              description: Error description
              type: string
            errors:
              description: Array with error data
              items:
                $ref: '#/components/schemas/ErrorsResumePhoneConfirmForbiddenError'
              minItems: 1
              type: array
          required:
            - errors
          type: object
      description: Information about occurred errors
      title: Errors with resumes
    ErrorsResumePhoneConfirmForbiddenError:
      additionalProperties: false
      properties:
        type:
          description: Text identifier of the error type
          enum:
            - resume_phone_confirm
          example: resume_phone_confirm
          type: string
        value:
          description: Error value
          enum:
            - phone_temporarily_blocked
          example: phone_temporarily_blocked
          type: string
      required:
        - type
        - value
      title: Error
      type: object
    EmployerAddressesEmployerAddressItemResponse:
      allOf:
        - $ref: '#/components/schemas/EmployerAddressesEmployerAddressItem'
      example:
        $ref: '#/components/examples/EmployerAddressItem/value'
      title: Successful response
    LocalesResumeLocales:
      items:
        $ref: '#/components/schemas/LocalesResumeLocaleItem'
      title: List of available locales
      type: array
    LocalesResumeLocaleItem:
      properties:
        id:
          description: Locale ID
          type: string
        name:
          description: Locale name
          type: string
      required:
        - id
        - name
      title: Localization
    SuggestsProfessionalRoles:
      additionalProperties: false
      description: Professional role suggestions
      properties:
        items:
          description: Info on professional roles found
          items:
            $ref: '#/components/schemas/SuggestsProfessionalRoleItem'
          title: Array of professional roles found
          type: array
      required:
        - items
      title: Professional role suggestions
      type: object
    SuggestsProfessionalRoleItem:
      properties:
        accept_incomplete_resumes:
          description: Professional role for which incomplete resume responses can be accepted
          example: true
          type: boolean
        id:
          description: Professional role ID
          example: '21'
          type: string
        text:
          description: Professional role name
          example: Driver
          type: string
      required:
        - id
        - text
        - accept_incomplete_resumes
      title: Information about found professional roles
      type: object
    ErrorsRequestEntityTooLargeErrors:
      allOf:
        - $ref: '#/components/schemas/ErrorsCommonErrorRequestId'
        - properties:
            errors:
              description: Array with the information on each error
              items:
                $ref: '#/components/schemas/ErrorsRequestEntityTooLargeError'
              minItems: 1
              type: array
          required:
            - errors
          type: object
      description: Information about occurred errors
      title: Request entity is too large
    ErrorsRequestEntityTooLargeError:
      additionalProperties: false
      properties:
        type:
          description: A text identifier of the error class
          enum:
            - artifacts
          example: artifacts
          type: string
        value:
          description: A brief text description of the error cause
          enum:
            - image_too_large
          example: image_too_large
          type: string
      required:
        - type
        - value
      title: The file is too large
      type: object
    SuggestsEducationalInstitutions:
      properties:
        items:
          description: Info on educational institutions found
          items:
            $ref: '#/components/schemas/_IncludesEducationalInstitutionItem'
          title: Array of educational institutions found
          type: array
      required:
        - items
      title: Educational institutions
      type: object
    _IncludesEducationalInstitutionItem:
      properties:
        acronym:
          description: Educational institution acronym
          nullable: true
          type: string
        area:
          allOf:
            - $ref: '#/components/schemas/SuggestsArea'
            - type: object
          description: Area
        id:
          description: Educational institution ID
          type: string
        synonyms:
          description: Educational institution alternate name
          nullable: true
          type: string
        text:
          description: Educational institution full name
          type: string
      required:
        - id
        - text
        - area
      title: Educational institution
      type: object
    ClickmeStatisticsResponse:
      properties:
        items:
          items:
            $ref: '#/components/schemas/ClickmeStatisticsItem'
          minItems: 0
          title: List of Clickme ad campaign statistics
          type: array
      required:
        - items
      title: Successful response
    ClickmeStatisticsItem:
      properties:
        amount:
          description: Campaign costs
          type: number
        campaign_id:
          description: Clickme campaign ID
          type: string
        campaign_title:
          description: Clickme campaign title
          type: string
        campaign_type:
          description: Clickme campaign type
          enum:
            - MULTI_PLACEMENT
            - TOP_SEARCH
          type: string
        clickme_account_id:
          description: Clickme account ID
          type: string
        clickme_account_title:
          description: Clickme account title
          type: string
        clicks:
          description: Number of clicks
          type: integer
        date_end:
          description: The date when the campaign was last shown
          format: date
          type: string
        date_start:
          description: Campaign start date
          format: date
          type: string
        impressions:
          description: Number of impressions
          type: integer
        responses:
          description: Number of responses to the vacancy during the Clickme activation period
          type: integer
        url:
          description: Promoted URL
          type: string
        vacancy_id:
          description: Vacancy ID
          type: string
        vacancy_title:
          description: Vacancy title
          type: string
      required:
        - clickme_account_id
        - vacancy_id
        - vacancy_title
        - url
        - campaign_id
        - campaign_type
        - campaign_title
        - impressions
        - clicks
        - responses
        - amount
        - date_start
        - date_end
      title: Clickme ad campaign statistics
    ErrorsVacancyAddEditBadAuthForbiddenErrors:
      anyOf:
        - $ref: '#/components/schemas/ErrorsCommonBadAuthorizationErrors'
        - $ref: '#/components/schemas/ErrorsVacancyAddEditForbiddenErrors'
      title: Errors
    ErrorsVacancyAddEditForbiddenErrors:
      allOf:
        - $ref: '#/components/schemas/ErrorsCommonErrorRequestId'
        - properties:
            description:
              description: Error description
              example: Forbidden
              type: string
            errors:
              description: Array with the information on each error
              items:
                $ref: '#/components/schemas/ErrorsVacancyAddEditForbiddenError'
              minItems: 1
              type: array
          required:
            - errors
          type: object
      description: Information on the occurred errors
      title: Errors occurred when publishing or editing a vacancy
    ErrorsVacancyAddEditForbiddenError:
      additionalProperties: false
      properties:
        description:
          description: Error description
          nullable: true
          type: string
        found:
          description: |
            Total number of duplicate vacancies. Returns only if `"value": "duplicate"`
          example: 2
          nullable: true
          type: number
        items:
          description: |
            A limited number of records with information about duplicates. It is not guaranteed that all duplicates are returned. Returns only if `"value": "duplicate"`
          items:
            $ref: '#/components/schemas/_IncludesNumericId'
          nullable: true
          type: array
        type:
          description: A text identifier of the error class
          enum:
            - vacancies
          example: vacancies
          type: string
        value:
          description: |
            Errors occurred when publishing or editing a vacancy:
              * `not_enough_purchased_services` — the purchased services are not enough to publish or update this type of vacancy
              * `quota_exceeded` — the manager's quota for the publication of this type of vacancy is exhausted
              * `duplicate` — a similar vacancy has already been published. The response contains information about duplicate vacancy. This error can be disabled by force using `?ignore_duplicates=true` parameter 
              * `replacement` — the vacancy has been significantly changed, there is a risk of blocking. To ignore the risk of blocking, you should resend the request with the parameter `?ignore_replacement_warning=true`
              * `creation_forbidden` — vacancies cannot be published by the current manager
              * `unavailable_for_archived` — you cannot edit an archived job
              * `conflict_changes` — a [conflict](https://github.com/hhru/api/blob/master/docs_eng/employer_vacancies.md#edit_more) was detected between changes to the vacancy data
          enum:
            - not_enough_purchased_services
            - quota_exceeded
            - duplicate
            - replacement
            - creation_forbidden
            - unavailable_for_archived
            - conflict_changes
          example: not_enough_purchased_services
          type: string
      required:
        - type
        - value
      title: An error occurred when publishing or editing a vacancy
      type: object
    _IncludesNumericId:
      properties:
        id:
          description: ID
          type: number
      required:
        - id
      title: Numeric ID
      type: object
    SuggestsSkillSet:
      additionalProperties: false
      description: Key skills suggestions
      properties:
        items:
          description: Array of key skills found
          items:
            $ref: '#/components/schemas/_IncludesSkillSetItem'
          type: array
      required:
        - items
      title: Key skills suggestions
      type: object
    ErrorsNegotiationForbiddenErrors:
      allOf:
        - $ref: '#/components/schemas/ErrorsCommonErrorRequestId'
        - properties:
            description:
              description: Error description
              example: Forbidden
              type: string
            errors:
              description: Array with error details
              items:
                $ref: '#/components/schemas/ErrorsNegotiationForbiddenError'
              minItems: 1
              type: array
            oauth_error:
              description: |
                Authorization errors:
                  * `token-revoked` — The token is revoked by the user, the application should [request a new authorization](#section/Authorization/User-authorization)
                  * `token-expired` — Access_token validity period has expired, it is necessary to [refresh the access_token](#section/Authorization/Obtaining-access-and-refresh-tokens)
              enum:
                - token-revoked
                - token-expired
              example: token-revoked
              type: string
          required:
            - errors
          type: object
      description: Information about errors occurred
      title: Response/invitation access errors
    ErrorsNegotiationForbiddenError:
      anyOf:
        - $ref: '#/components/schemas/ErrorsCommonBadAuthorizationError'
        - $ref: '#/components/schemas/ErrorsCommonBadAuthorizationEmployerError'
        - $ref: '#/components/schemas/ErrorsCommonCaptchaError'
        - $ref: '#/components/schemas/ErrorsNegotiationTopicsStateChangeDeniedError'
      title: Access error and employer authorization error
    ErrorsNegotiationTopicsStateChangeDeniedError:
      additionalProperties: false
      properties:
        type:
          description: A text identifier of the error class
          enum:
            - negotiations
          example: negotiations
          type: string
        value:
          description: |
            Errors in changing the status of responses:
              * `application_denied` — response/invitation access error. May occur in case of sending several responses to a different status, 
            if at least one of the responses belongs to another vacancy
          enum:
            - application_denied
          example: application_denied
          type: string
      required:
        - type
        - value
      title: Errors in changing the status of responses
      type: object
    ManagerSettings:
      additionalProperties: false
      description: Information about manager's preferences
      properties:
        default_currency:
          $ref: '#/components/schemas/ManagerSettingsCurrency'
        default_vacancy_branded_template:
          $ref: '#/components/schemas/VacancyBrandedTemplate'
        use_sms_notification:
          description: |
            Preference for using the flag `send_sms`
            when [inviting the applicant](#tag/Employer-responsesinvitations/operation/invite-applicant-to-vacancy)
          example: true
          type: boolean
      required:
        - default_currency
        - use_sms_notification
      title: Manager's Preferences
      type: object
    ManagerSettingsCurrency:
      additionalProperties: false
      description: |
        Preferred currency during [vacancy posting](#tag/Vacancy-management/operation/publish-vacancy)
      properties:
        abbr:
          description: Currency abbreviation
          example: RUR
          type: string
        code:
          description: Currency code
          example: RUR
          type: string
        name:
          description: Currency name
          example: Rubles
          type: string
      required:
        - code
        - name
        - abbr
      title: Preferred currency
      type: object
    VacancyDraftVacanciesDraftResponse:
      nullable: false
      properties:
        vacancy_ids:
          example:
            - 30251619
            - 30251620
          items:
            type: number
          minItems: 1
          type: array
      title: Response for the vacancy draft creation
      type: object
    LocalesLocales:
      items:
        $ref: '#/components/schemas/LocalesLocaleItem'
      title: List of available locales
      type: array
    LocalesLocaleItem:
      allOf:
        - $ref: '#/components/schemas/LocalesResumeLocaleItem'
        - properties:
            current:
              description: 'For the current locale value is `true`, `false` for other ones'
              type: boolean
          required:
            - id
            - name
            - current
          type: object
      title: Locale
    VacanciesVacanciesFavoritedResponse:
      allOf:
        - $ref: '#/components/schemas/_IncludesPagination'
          type: object
        - $ref: '#/components/schemas/VacanciesVacanciesFavorited'
          type: object
      title: Favorited vacancies
      type: object
    VacanciesVacanciesFavorited:
      properties:
        items:
          description: Array of favorited vacancies
          items:
            $ref: '#/components/schemas/VacanciesVacanciesFavoritedItem'
          type: array
      title: Favorited vacancies
    VacanciesVacanciesFavoritedItem:
      properties:
        address:
          $ref: '#/components/schemas/VacancyAddressRawOutput'
        adv_response_url:
          description: URL for keeping record of apply button clicks
          nullable: true
          type: string
        alternate_url:
          description: Link to the vacancy on site
          type: string
        apply_alternate_url:
          description: Link to the vacancy job application on site
          type: string
        archived:
          description: Whether the vacancy is archived
          type: boolean
        area:
          $ref: '#/components/schemas/_IncludesArea'
        created_at:
          description: Date and time of the vacancy publication
          type: string
        department:
          $ref: '#/components/schemas/VacanciesObjectsDepartment'
        employer:
          allOf:
            - $ref: '#/components/schemas/VacanciesEmployerPublic'
            - $ref: '#/components/schemas/VacancyEmployerBages'
        has_test:
          description: Whether a test assignment is attached to the vacancy
          type: boolean
        id:
          description: The vacancy ID
          type: string
        insider_interview:
          $ref: '#/components/schemas/VacanciesObjectsInsiderInterview'
        name:
          $ref: '#/components/schemas/VacancyName'
        negotiations_url:
          description: Link to get a list of negotiations
          nullable: true
          type: string
        premium:
          description: Whether the vacancy is the premium one
          type: boolean
        published_at:
          description: Date and time of the vacancy publication
          type: string
        relations:
          $ref: '#/components/schemas/VacancyRelations'
        response_letter_required:
          $ref: '#/components/schemas/VacancyResponseLetterRequired'
        response_url:
          $ref: '#/components/schemas/VacancyResponseUrl'
        salary:
          $ref: '#/components/schemas/VacancySalary'
          deprecated: true
        salary_range:
          nullable: true
          oneOf:
            - $ref: '#/components/schemas/VacancySalaryRangeSalaryRangeOutput'
            - $ref: '#/components/schemas/_IncludesNullableObject'
          type: object
        show_contacts:
          $ref: '#/components/schemas/VacancyShowContactsNotNull'
        sort_point_distance:
          $ref: '#/components/schemas/VacancySortPointDistance'
        suitable_resumes_url:
          description: Suitable resumes for the vacancy
          nullable: true
          type: string
        type:
          $ref: '#/components/schemas/VacancyTypeOutput'
        url:
          description: The vacancy URL
          type: string
      required:
        - id
        - premium
        - name
        - department
        - has_test
        - response_letter_required
        - area
        - salary
        - salary_range
        - type
        - published_at
        - archived
        - apply_alternate_url
        - url
        - alternate_url
        - relations
        - employer
      title: Favorited vacancy
      type: object
    ErrorsEmployerBlacklistedErrors:
      allOf:
        - $ref: '#/components/schemas/ErrorsCommonErrorRequestId'
        - properties:
            description:
              description: Error description
              type: string
            errors:
              description: Array with the information on each error
              items:
                $ref: '#/components/schemas/ErrorsEmployerBlacklistedError'
              minItems: 1
              type: array
          required:
            - errors
          type: object
      description: Information on the occurred errors
      title: Error of adding a employer to hidden
    ErrorsEmployerBlacklistedError:
      additionalProperties: false
      properties:
        type:
          description: A text identifier of the error class
          enum:
            - employers_blacklist
          example: employers_blacklist
          type: string
        value:
          description: |
            Potential errors:
            * `limit_exceeded` — the maximum number of items in the list is exceeded
          enum:
            - limit_exceeded
          example: limit_exceeded
          type: string
      required:
        - type
      title: Error in request argument
      type: object
    ErrorsVacancyFavoritedCombinedBadAuthErrors:
      anyOf:
        - $ref: '#/components/schemas/ErrorsCommonBadAuthorizationErrors'
        - $ref: '#/components/schemas/ErrorsVacancyFavoritedBadAuthErrors'
      title: Errors
    ErrorsVacancyFavoritedBadAuthErrors:
      allOf:
        - $ref: '#/components/schemas/ErrorsCommonErrorRequestId'
        - properties:
            description:
              description: Error description
              example: Forbidden
              type: string
            errors:
              description: Array with the information on each error
              items:
                $ref: '#/components/schemas/ErrorsVacancyFavoritedBadAuthError'
              minItems: 1
              type: array
          required:
            - errors
          type: object
      description: Information on the occurred errors
      title: Errors of adding vacancy to favorited
    ErrorsVacancyFavoritedBadAuthError:
      additionalProperties: false
      properties:
        type:
          description: A text identifier of the error class
          enum:
            - vacancies_favorited
          example: vacancies_favorited
          type: string
        value:
          description: |
            Potential errors:
              * `vacancy_archived` — The vacancy is already archived and cannot be added to favorited
              * `limit_exceeded` — Limit of favorited vacancies is exceeded
          enum:
            - vacancy_archived
            - limit_exceeded
          example: vacancy_archived
          type: string
      required:
        - type
        - value
      title: Error of adding vacancy to favorited
      type: object
    DictionariesSalaryStatisticsProfessionalAreasResponse:
      description: A list of professions and specializations
      items:
        allOf:
          - $ref: '#/components/schemas/_IncludesIdName'
          - $ref: '#/components/schemas/DictionariesSalaryStatisticsSpecializations'
        description: Profession and specializations
        type: object
      title: A list of professions and specializations
      type: array
    DictionariesSalaryStatisticsSpecializations:
      properties:
        specializations:
          items:
            $ref: '#/components/schemas/_IncludesIdNameDesc'
          type: array
      required:
        - specializations
      title: Specializations
      type: object
    ErrorsSavedSearchNotFoundErrors:
      allOf:
        - $ref: '#/components/schemas/ErrorsCommonErrorRequestId'
        - properties:
            errors:
              description: Array with the information on each error
              items:
                $ref: '#/components/schemas/ErrorsSavedSearchNotFoundError'
              minItems: 1
              type: array
          required:
            - errors
          type: object
      description: Information on the occured errors
      title: The autosearch or the employer is not found
    ErrorsSavedSearchNotFoundError:
      additionalProperties: false
      properties:
        type:
          description: A text identifier of the error class
          enum:
            - saved_searches
            - not_found
          example: saved_searches
          type: string
        value:
          description: |
            Name of the field containing an error. Possible values:

            * `saved_search_not_found` — the autosearch is not found or current user has no access.
            * `manager_not_found` — the manager is not found
          enum:
            - saved_search_not_found
            - manager_not_found
          example: saved_search_not_found
          type: string
      required:
        - type
      title: Error
      type: object
    ErrorsCommonConflictBothChangedErrors:
      allOf:
        - $ref: '#/components/schemas/ErrorsCommonErrorRequestId'
        - properties:
            bad_argument:
              description: Name of the argument related to the error
              enum:
                - name
                - subscription
              type: string
            bad_arguments:
              description: List of arguments related to the error
              items:
                $ref: '#/components/schemas/_IncludesNameDescription'
              type: array
            description:
              description: Description of the error cause
              type: string
            errors:
              description: Array with the information of each error
              items:
                $ref: '#/components/schemas/ErrorsCommonConflictBothChangedError'
              minItems: 1
              type: array
          required:
            - errors
          type: object
      description: Information about occurred errors
      title: Conflict in changing multiple parameters at once
    ErrorsCommonConflictBothChangedError:
      additionalProperties: false
      properties:
        type:
          description: A text identifier of the error class
          enum:
            - bad_argument
          example: bad_argument
          type: string
        value:
          description: Name of an argument in conflict
          enum:
            - name
            - subscription
            - email_subscription
          example: name
          type: string
      required:
        - type
        - value
      title: Conflict of simultaneously parameter changing
      type: object
  securitySchemes:
    OauthToken:
      description: |
        Access token for authorization, passed in the header in the format `Authorization: Bearer {ACCESS_TOKEN}` (see [Authorization ](#section/Authorization))
      scheme: bearer
      type: http
info:
  contact:
    email: api@hh.ru
    name: API Support
    url: 'https://api.hh.ru/openapi/en/redoc'
  description: |
    In English | [По-русски](https://api.hh.ru/openapi/redoc)

    Documentation [in GitHub](https://github.com/hhru/api/blob/master/docs_eng/README.md).

    You can use Ctrl+F to search through the documentation.

    # General information
      
    * The whole API works using the HTTPS protocol.
    * Authorization is performed via the OAuth2 protocol.
    * All data is available only in the JSON format.
    * The basic URL is `https://api.hh.ru/`
    * Requests for [any site of HeadHunter Groups of Companies](#section/General-information/Host-selection)
    are available
    * <a name="date-format"></a> Dates are formatted according to
    [ISO 8601](http://en.wikipedia.org/wiki/ISO_8601): `YYYY-MM-DDThh:mm:ss±hhmm`.
      
      
      ## Request requirements
      
      Your request should send the `User-Agent` header, but if your
      HTTP client does not allow it, you can send an `HH-User-Agent` header. If no header is sent,
      you will receive the `400 Bad Request` as a response.
      By specifying the name of the application and the developer's contact email in the header,
      you will help us to contact you promptly if required.
      The `User-Agent` and `HH-User-Agent` headers are interchangeable. If you send both headers,
      only `HH-User-Agent` is processed.
      
      ```
    User-Agent: MyApp/1.0 (my-app-feedback@example.com)
      ```
      
      More detail on [errors in the User-Agent title](https://github.com/hhru/api/blob/master/docs_eng/errors.md#user-agent).
      
      
    ### Request body format when sending JSON

    Data transferred in the request body must meet the requirements:
      
      * Valid JSON (it is acceptable to transfer both minified and
      pretty-printed variants with extra whitespace and line breaks).
      
      * It is recommended to use the UTF-8 encoding without extra escaping
    (`{"name": "Иванов Иван"}`).
      
      * It is also possible to use the ascii encoding with escaping
    (`{"name": "\u0418\u0432\u0430\u043d\u043e\u0432 \u0418\u0432\u0430\u043d"}`).
      
      * Data types in certain fields are supplemented with additional conditions
      described in each specific method. In JSON, data types are `string`, `number`,
      `boolean`, `null`, `object`, `array`.
      
      ### Response
      A response that exceeds a certain length will be compressed using gzip.
      
      ### Errors and response codes
      
      API extensively uses informing through response codes.
      The application must process them correctly.
      
      In case of failure or breakdown, responses with the `503` and `500` code may be
      returned.
      
      When an error occurs, the response body, besides the response code,
      may have additional information allowing the developer
      to learn the cause of a particular response.
      
      [More detail on possible errors](https://github.com/hhru/api/blob/master/docs_eng/errors.md).
      
      
      ## Undocumented fields and request parameters
      
      In responses and API parameters you can find keys that are not described in the
      documentation. It usually means that they are left for compatibility with older
      versions. It is not recommended to use them. If your application already uses
      such keys, switch to using desirable keys described in the documentation.
      
      
      ## Pagination
      
      For every request that presupposes the return of object list you can indicate
      `page=N&per_page=M` in the parameters. Numeration starts from zero; the first
      (zero) page is returned by default with 20 objects on it. In all responses where
    pagination is available, the uniform root object:
      
      ```json
      {
        "found": 1,
        "per_page": 1,
        "pages": 1,
        "page": 0,
        "items": [{}]
      }
      ```
      
      ## Host selection
          
      HeadHunter API allows you to obtain data from all of the HeadHunter group of
      companies websites.
        
      In particular:

      * hh.ru
      * rabota.by
      * hh1.az
      * hh.uz
      * hh.kz
      * headhunter.ge
      * headhunter.kg
          
      Requests for data on all the websites should be made to `https://api.hh.ru/`.
          
      If you need to track the specific websites, you can add `?host=` parameter to
          your request. Default is `hh.ru`.
        
      Example: to obtain [localizations](https://api.hh.ru/openapi/en/redoc#tag/Public-directories/operation/get-locales) available on hh.kz, you should
          make a GET-request to `https://api.hh.ru/locales?host=hh.kz`.
      
      ## CORS (Cross-Origin Resource Sharing)
      
      API supports the CORS technology for requesting browser data from any domain.
      This method is preferable to JSONP. It is not restricted to the GET method. To
      debug CORS, a [special method](https://github.com/hhru/api/blob/master/docs_eng/cors.md) is available. To use JSONP, transfer the
      `?callback=callback_name` parameter.
      
      * [CORS specification on w3.org](http://www.w3.org/TR/cors/)
      * [HTML5Rocks CORS Tutorial](http://www.html5rocks.com/en/tutorials/cors/)
      * [CORS on dev.opera.com](http://dev.opera.com/articles/view/dom-access-control-using-cross-origin-resource-sharing/)
      * [CORS on caniuse.com](http://caniuse.com/#feat=cors)
      * [CORS on en.wikipedia.org](http://en.wikipedia.org/wiki/Cross-origin_resource_sharing)
      
      
    ## External links to articles and standards
      
    * [HTTP/1.1](http://tools.ietf.org/html/rfc2616)
    * [JSON](http://json.org/)
    * [URI Template](http://tools.ietf.org/html/rfc6570)
    * [OAuth 2.0](http://tools.ietf.org/html/rfc6749)
    * [REST](http://www.ics.uci.edu/~fielding/pubs/dissertation/rest_arch_style.htm)
    * [ISO 8601](http://en.wikipedia.org/wiki/ISO_8601)

    # Authorization

    The API supports the following authorization levels:
      - [application authorization](#tag/Application-authorization)
      - [user authorization](#section/Authorization/User-authorization)

    * [Obtaining user authorization](#section/Authorization/User-authorization)
      * [Rules for generating special `redirect_uri`](#section/Authorization/Rules-for-generating-special-redirect_uri)
      * [Authorization process](#section/Authorization/Authorization-process)
      * [Successful obtaining temporary `authorization_code`](#get-authorization_code)
      * [Obtaining access and refresh tokens](#section/Authorization/Obtaining-access-and-refresh-tokens)
    * [Updating a pair of access and refresh tokens](#section/Authorization/Updating-a-pair-of-access-and-refresh-tokens)
    * [Authorization request under another user](#section/Authorization/Authorization-request-under-another-user)
    * [Authorization under different working account](#section/Authorization/Authorization-under-different-working-account)
    * [Obtaining application authorization](#tag/Application-authorization)


    ## User authorization
    To make requests as a user you need a user token.

    Assign a user to the application (open the page) via the request:

    ```
    https://hh.ru/oauth/authorize?
    response_type=code&
    client_id={client_id}&
    state={state}&
    redirect_uri={redirect_uri}
    ```

    Required parameters:

    * `response_type=code` — specifies authorization method using the `authorization code`
    * `client_id` — ID obtained when creating the application


    Optional parameters:

    * `state` — if specified, it will be added in the redirect link of the response. 

      It allows to prevent cross-site request forgery. More info see in [RFC 6749. Section 10.12](http://tools.ietf.org/html/rfc6749#section-10.12)
    * `redirect_uri` — a URI for redirecting user after authorization. 

      If not specified, the value from the application settings is used. If the value is specified, its validation is carried out. Probably, you will need to make `urlencode` of the value.

    ## Rules for generating special redirect_uri

    For example, if `http://example.com/oauth` is saved in the settings, it is allowed to specify:

    * `http://www.example.com/oauth` — a subdomain;
    * `http://www.example.com/oauth/sub/path` — a detailed path;
    * `http://example.com/oauth?lang=RU` — an additional parameter;
    * `http://www.example.com/oauth/sub/path?lang=RU` — all the mentioned.

    Forbidden:

    * `https://example.com/oauth` — another protocols;
    * `http://wwwexample.com/oauth` — another domains;
    * `http://wwwexample.com/` — another paths;
    * `http://example.com/oauths` — another paths;
    * `http://example.com:80/oauths` — originally missing port.

    ## Authorization process

    If the user is not authorized, the site login form appears. When the authorization is done, the form with subject access request is shown.

    If the user rejects the access request, it triggers the redirection on the specified `redirect_uri` with `?error=access_denied` and
    `state={state}`, if any.

    <a name="get-authorization_code"></a>
    ### Successful obtaining temporary `authorization_code`

    If the user accepts the access request, the redirect link contains a temporary `authorization_code`:

    ```http
    HTTP/1.1 302 FOUND
    Location: {redirect_uri}?code={authorization_code}
    ```

    If the user is already authorized, and the access to the application was granted earlier, then the login and subject access request are omitted, and the above redirect link returns as a response.

    ## Obtaining access and refresh tokens

    After obtaining the `authorization_code` the application makes a server-server request `POST https://api.hh.ru/token` to exchange the `authorization_code` to an `access_token` (old `POST https://hh.ru/oauth/token` request should consider as deprecated).

    The request body should contain [additional parameters](#required_parameters).

    The request body should be sent in standard `application/x-www-form-urlencoded` format with the corresponding `Content-Type` header.

    The `authorization_code` has a short lifetime. When it expires, request another `authorization_code`.

    ## Updating a pair of access and refresh tokens
    The `access_token` also has a lifetime (`expires_in` parameter, in seconds). When it expires, the application should make a request with the `refresh_token` to obtain a new one.

    The request should be done in `application/x-www-form-urlencoded` format.

    ```
    POST https://api.hh.ru/token
    ```

    (old `POST https://hh.ru/oauth/token` request should consider as deprecated)

    The request body should contain [additional parameters](#required_parameters).

    You can use the `refresh_token` only once and only after expiration of the `access_token`.

    A new pair of access and refresh tokens should be used for further API requests and requests for token prolongation.

    ## Authorization request under another user

    The following case is possible:

    1. Application redirects a user to the site with the authorization request.
    2. The user is already authorized on site and application already has an access granted.
    3. The user will be proposed to continue the work under current account or login to another one.

    If you need to replace step 3 by instant redirection with temporary token, you should add the parameter `skip_choose_account=true` to `/oauth/authorize...` request. Then the authorized user gets access immediately.

    If you need to show the authorization form every time, you should add the parameter `force_login=true` to `/oauth/authorize...` request. In this case the authorization form appears even if the user is already authorized.

    This feature may be useful for applications that provide services for applicants only. If an employer user tries to log in, the application may propose them to get access under another user.

    Also, after the authorization the application can show a message:

    ```
    You logged in as %FirstName_LastName%. Is it not you?
    ```
    and propose a link with `force_login=true` for authorization under another login.

    ## Authorization under different working account

    To obtain information about getting a list of manager working accounts and working under different working accounts, see the [manager working account](#tag/Employer-managers/operation/get-manager-accounts) section.


    <!-- ReDoc-Inject: <security-definitions> -->
  termsOfService: 'https://dev.hh.ru/admin/developer_agreement'
  title: HeadHunter API
  version: 1.0.0
  x-logo:
    altText: HH Logo
    url: 'https://hhcdn.ru/icms/10132131.svg'
openapi: 3.0.3
security:
  - OauthToken: []
servers:
  - description: Api production server
    url: 'https://api.hh.ru'
tags:
  - description: |
      Methods for obtaining a token for an [application](#section/Authorization/User-authorization)
    name: Applicant authorization
  - description: |
      Methods for obtaining a token for an [application](#section/Authorization/User-authorization)
    name: Employer authorization
  - name: Application authorization
    description: |
      Application token should be generated once.

      If the token is compromised, you should request it once again. In this case, the previously assigned token is withdrawn.

      An application owner can see the up to date `access_token` for the application on the site [https://dev.hh.ru/admin](https://dev.hh.ru/admin). If you have never [got an application topic](#section/Authorization/Obtaining-application-authorization), it is not shown.

      <a name="get-client-token"></a>
      ### Obtaining application token

      To obtain `access_token`, make the request:

      ```
      POST https://api.hh.ru/token
      ```
      (old `POST https://hh.ru/oauth/token` request should consider as deprecated)

      The request body should contain [additional parameters](#required_parameters).
      The request body should be sent in standard `application/x-www-form-urlencoded` format with the corresponding `Content-Type` header.

      This `access_token` has **unlimited** lifetime. In case of repeated request the previously assigned token is withdrawn and a new one is assigned. The `access_token` request can be made no more than once in five minutes
  - description: Methods CV request by applicant
    name: CVs for an applicant
  - description: |
      Viewing resume information

      ## Resume status

      The `status` key determines the current status of the resume and contains an entry from the `resume_status` array that is available in [directories](#tag/Public-directories/operation/get-dictionaries).

      A resume that is just created gets the `not_published` status. Only the owner can see the resume, can start to fill it in, and save it. Empty mandatory fields are listed in the `progress.mandatory` array.

      After all mandatory fields are filled in, the `can_publish_or_update` flag becomes `true`, and the resume is available for [publication](#tag/Resume.-Publication/operation/publish-resume). After publication, the resume gets the `published` status. A resume with this status is searchable if permitted by the settings for [resume visibility](#tag/Resume-view/operation/get-resume) ('access' attribute).

      After receiving the `published` status, the resume is available for moderators and can be banned (the `blocked` status), if the fields are invalid or contain insufficient information. Reasons for banning a resume can be found in the `moderation_note` field. A banned resume is not searchable and cannot be used for responding to a vacancy.

      After editing, the resume can be sent to the moderator for secondary revision. In this case, the resume status changes to `on_moderation` and then it can go to `blocked` again or to `published`, depending on the moderator's decision.

      Once the resume is published (status `published`) it cannot be changed back to `not_published`, but it can be hidden in the [resume visibility settings](#tag/Resume-view/operation/get-resume) ('access' attribute).

      In published status, the resume can be used to [apply for vacancies](#tag/Vacancies/operation/apply-to-vacancy). It also appears in the [list of resumes suitable for application](#tag/Resume.-Viewing-info/operation/get-suitable-resumes) for vacancies that the user had not respond yet with this resume
    name: Resume. Viewing information
  - description: Employer managers manipulation methods
    name: Employer managers
  - description: Employer addresses manipulation methods
    name: Employer addresses
  - description: How to get public directories
    name: Public directories
  - description: How to get employer directories<br><br>Attention! The values in the directories may change at any time. Do not address them directly
    name: Employer directories
  - description: 'When filling in the experience and education fields, it is recommended to use the tips services (autocomplete, autosuggest)'
    name: Suggestions
  - description: Obtaining info about a manager
    name: Manager info
  - description: Obtaining info about an applicant
    name: Applicant info
  - description: Obtaining info about an application
    name: Application info
  - description: A requests for work with available vacancy drafts for the current manager
    name: Vacancy draft
  - description: 'Saved search (autosearch) is the saved set of search parameters used to track new CVs on this request. In addition to saving search request parameters the autosearch function allows to obtain notifications on new search results. For convenience, you can assign a name to the autosearch'
    name: Saved resume searches
  - description: 'Saved search (autosearch) is the saved set of search parameters used to track new vacancies on this request. In addition to saving search request parameters the autosearch function allows to obtain notifications on new search results. For convenience, you can assign a name to the autosearch'
    name: Saved vacancy searches
  - description: Methods for managing notification subscriptions
    name: Managing Webhook Subscriptions
  - description: 'Methods for managing notification subscriptions. Description of callback fields is in the [Callbacks](#callbacks) section'
    name: Webhook API
  - description: |
      Vacancy search requests that are available for any authorization

      ## Clusters of vacancy search

      When you make a [vacancy search](#tag/Vacancy-search/operation/get-vacancies), you can need to obtain information on vacancy distribution by a search criteria. For example, how many vacancies have a specified salary, or how many vacancies have a salary greater than specified one. To obtain this data with the regular method, you should make a separate request for each criteria needed.

      It is much more convenient to use a special feature of the search engine — dividing data on clusters. A cluster contains a link on list of vacancies that conform specified criterions. You can find an example of cluster usage on the hh.ru homepage, in the left column of the [page with vacancies search results](https://hh.ru/search/vacancy).

      Clusters are combined in groups (elements of the `clusters` array). A group contains clusters with values of one type. For example, the the `Salary` group may contain clusters `from RUB45,000` and `from RUB75,000`. The set of cluster groups depends on query parameters. The list of possible cluster groups is contained in the `vacancy_cluster` field of [directories](#tag/Public-directories/operation/get-dictionaries).

      To obtain cluster divided data, specify the query parameter `?clusters=true`. Besides of standard response fields, the response will contain vacancy clusters.

      To obtain only clusters in a response, without standard fields, specify the query parameter `?per_page=0`
    name: Vacancy search
  - description: Vacancy search requests that are available for applicant authorization
    name: Applicant vacancy search
  - description: |
      Negotiations documentation for the employer is available in the [separate article](#negotiation_workflow).

      Using the website, applicants choose vacancies. In order to contact an employer
      for vacancy details, an applicant can respond to the chosen vacancy. An
      employer, on his part, can offer an applicant to consider a vacancy (invitation).

      For these purposes, there are special entities – responses and invitations.
      They can include a vacancy, CV and negotiations with employer; at any given time
      such entities have one of the states. Transition between the states is
      accompanied by appearance of messages with optional text descriptions and other
      fields. Messages with `null` status do not transit the whole respond to a new
      state.

      In order to contact an employer, an applicant can respond to the chosen vacancy. An employer, on his part, can invite an applicant to consider a vacancy.

      For these purposes, the service uses special entities — _negotiations_ (responses/invitations). They can include a vacancy, resume and messaging with employer.

      At any given time a negotiation has one of the states (`consider`, `response`, `invitation`, etc.) and cannot be in two states simultaneously. Messages with `null` status do not change the state of the negotiation.

      For more information about negotiations, see [Negotiations (responses/invitations) for employers](#tag/Employer-responsesinvitations/operation/get-collection-negotiations-list)
    name: Negotiations (responses/invitations) for applicants
  - description: |
      Methods for vacancy management behalf employer manager.
      ## Restoring archived vacancies

      To restore a vacancy, it is necessary to use the publication vacancy method and follow the rule of using the previous_id parameter described in [this method](#previous_id)
    name: Vacancy management
  - description: |
      General information about working with responses/invitations.

      <a name="negotiation_workflow"></a>
      ### Model of work, terms and procedures

        Responses and invitations correspond to the model that is expressed in the requests and
        API responses. If the application uses the model properly, then changes
        in the business logic of responses and invitations will not cause the need for modification or
        correction.

      Responses and invitations use the following terms:
        
        * *response* is an object generated at the initiative of the applicant as a response to a job.
        A response always involves the use of one resume to apply for one job.
        
        * *invitation* is an object generated at the initiative of the employer as an invitation to apply
        for a job. An invitation always implies the use of one resume to apply for one job.
        
        Except for the object generation process, the rest of the work with the response or invitation is
        the same.
        
        * <a name="term-collection"></a> *collection* is a set of responses/invitations,
        which are combined according to certain criteria. Collections are used when your
        application should **display** a list of responses/invitations. You should not
        rely on the fact that at certain stages of processing a response/invitation,
        your application will use the known collections, as this logic may vary.
        
        * <a name="term-state"></a> *applicant's response/invitation status* is the
        response/invitation status that is **displayed for the applicant**. The possible values
        are available [in the `negotiations_state` directory](#tag/Public-directories/operation/get-dictionaries) and
        do not depend on the job in response/invitation.
        
        * <a name="term-employer-state"></a> *employer's response/invitation status* is the
        response/invitation status that is displayed for the employer. It may differ from the
        applicant's status. The list of possible statuses
        **depends on the job and employer**, therefore this list
        [must be requested](#tag/Employer-responsesinvitations/operation/get-negotiations), while passing the desired job.
        
        * <a name="term-action"></a> *action regarding the response/invitation* is the action that
        can be performed in relation to a response/invitation. As a result of the action,
        the employer's or the applicant's response/invitation status can
        change or stay the same.
        
        Do not confuse *action*, *collection*, and *status*, because they may be similar,
        but they are designed for different purposes.
        
        
        ### General description of the process of working with responses/invitations
        
        All work with responses/invitations takes place within the framework of a
        **single selected job**. Even the same employer can have jobs
        with different rules for working with responses/invitations.
        
        First, you need to get a list of
        [collections and employer's statuses](#tag/Employer-responsesinvitations/operation/get-negotiations). Then you should use collections
        to **get the lists of responses/invitations**. Prompt the user
        to choose which collection to get. To get all the
        responses/invitations, you need to request all the collections sequentially. The list of
        statuses is used only as a directory.
        
        To **create an invitation**, you should request employer's jobs
        applicable to the selected resume. You can get this information in the
        [employer job list](#tag/Vacancy-management/operation/get-active-vacancy-list), which also
        contains the required parameters (the "arguments" key) and the status of the created
        response (the "resulting_employer_state" key). Different employers and different
        jobs may have different rules and statuses for added responses. Each
        *job + resume* pair can have only one response/invitation.
        
        To create an invitation, an employer must have activated access to the database of
        resumes. Employers do not need such access to work with an existing response/invitation. This
        allows them to process responses to jobs even without access to the resume database.
        
        If you need to **take an action** with respect to a response/invitation,
        please refer to the [list of actions](https://github.com/hhru/api/blob/master/docs_eng/employer_negotiations.md#actions-info) that will be available in the
        [list (collection) of responses/invitations](#tag/Employer-responsesinvitations/operation/get-collection-negotiations-list) and in the
        [individual response/invitation](#tag/Employer-responsesinvitations/operation/get-negotiation-item). If the action
        changes the status of a response/invitation, it will be explicitly specified in the
        "resulting_employer_state" key. Not all actions lead to a status change.
        
        After inviting the applicant, you can start a
        [free conversation](#tag/Negotiations-(responsesinvitations)-for-applicants/operation/get-negotiation-messages). You will be able to
        [send messages](#tag/Employer-responsesinvitations/operation/send-negotiation-message) and receive responses from the applicant.
        If necessary, you
        [can disable](#tag/Vacancies/operation/get-vacancy) conversations for a specific job (the `allow_messages` field).

      Take one of the following actions to make sure that the application registers as viewed by the employer:
        * request a list of messages using the URL received upon request [a list (collection) of applications/invitations](#tag/Employer-responsesinvitations/operation/get-collection-negotiations-list)
        or [individual application/invitation](#tag/Employer-responsesinvitations/operation/get-negotiation-item)
        * [request message](#tag/Negotiations-(responsesinvitations)-for-applicants/operation/get-negotiation-messages) by response
        * request resume using the URL received upon request [a list (collection) of applications/invitations](#tag/Employer-responsesinvitations/operation/get-collection-negotiations-list)
        or [individual response/invitation](#tag/Employer-responsesinvitations/operation/get-negotiation-item)
        * call [the specific method](#tag/Employer-responsesinvitations/operation/post-negotiations-topics-read) to set certain responses as read
    name: Employer responses/invitations
  - description: |
      Resume search

      ## Search request examples

      * `GET /resumes?text=programmer` – will return all CVs that have the given word 'programmer' in any place.

      * `GET /resumes?text=programmer&text=java` – finds all CVs that have the words 'programmer' and 'java' in any place.

      * `GET /resumes?text=programmer%20java&text.logic=any&text.field=everywhere&text.period=all_time` – will find a CV that has a word from the given phrase in the text parameter ('programmer' or 'java') in any place. If extra fields are used, all of them must be indicated.

      * `GET /resumes?text=Headhunter&text.logic=all&text.field=experience&text.period=last_three_years` – will find all CVs that have the word 'Headhunter' in the last 3 years' work experience.

      * `GET /resumes?text=project%20manager&text.logic=all&text.field=experience%2Cskills&text.period=last_year&text=responsible&text.logic=all&text.field=everywhere&text.period=all_time` – will find all CVs that have the words 'project' and 'manager', and also 'responsible' in any place of the work experience and key skills fields. It should be noted that extra parameters text.logic=all&text.field=experience%2Cskills&text.period=last_year are indicated for text=project%20manager, and text.logic=all&text.field=everywhere&text.period=all_time for the text=responsible parameter
    name: Resume search
x-tagGroups:
  - name: Employer
    tags:
      - Employer authorization
      - Employer info
      - Employer services
      - Employer managers
      - Employer addresses
      - Manager info
      - Vacancy draft
      - Applicant comments
      - Employer directories
      - Vacancy management
      - Employer responses/invitations
      - Saved resume searches
      - Resume search
      - Resume view
      - Webhook API
      - Salary Database
  - name: Applicant
    tags:
      - Applicant authorization
      - Applicant info
      - Applicant statuses
      - Applicant vacancy search
      - Resume. Viewing info
      - Resume visibility lists
      - Resume. Viewing information
      - Resume. Field conditions
      - Resume. Creating and updating
      - Resume. Publication
      - Hidden vacancies
      - Blacklisted employers
      - Favorited vacancies
      - CVs for an applicant
      - Vacancies
      - Artifact managing
      - Saved vacancy searches
      - Negotiations (responses/invitations) for applicants
  - name: Methods with common access
    tags:
      - Vacancy search
      - Public directories
      - Suggestions
      - Employer
      - Salary Database directories
  - name: Application
    tags:
      - Application authorization
      - Application info
      - Managing Webhook Subscriptions
  - name: Integration for employer
    tags:
      - Integration for employer
paths:
  /resume_phone_confirm:
    x-name: /resume_phone_confirm
    post:
      operationId: confirm-phone-in-resume
      tags:
        - CVs for an applicant
      summary: Verify phone with a code
      requestBody:
        content:
          application/x-www-form-urlencoded:
            schema:
              type: object
              properties:
                phone:
                  description: A phone to confirm
                  type: string
                  example: 8(454)555-55-55
                confirmation_code:
                  description: Confirmation code
                  type: string
                  example: '5675'
              required:
                - phone
                - confirmation_code
      responses:
        '200':
          description: 'Successful response, the number is verified'
        '400':
          description: Errors in arguments or request
          content:
            application/json:
              schema:
                oneOf:
                  - $ref: '#/components/schemas/ErrorsCommonBadArgumentErrors'
                  - $ref: '#/components/schemas/ErrorsResumePhoneConfirmBadArgumentErrors'
        '403':
          description: Authorization error
          content:
            application/json:
              schema:
                oneOf:
                  - $ref: '#/components/schemas/ErrorsCommonBadAuthorizationErrors'
                  - $ref: '#/components/schemas/ErrorsResumePhoneConfirmForbiddenErrors'
      parameters:
        - $ref: '#/components/parameters/Locale'
        - $ref: '#/components/parameters/Host'
        - $ref: '#/components/parameters/HHUserAgent'
  '/employers/{employer_id}/managers/{manager_id}/settings':
    x-name: '/employers/{employer_id}/managers/{manager_id}/settings'
    get:
      operationId: get-manager-settings
      tags:
        - Employer managers
      summary: Manager preferences
      description: |
        Returns information about the manager preferences.

        The easiest way to get the URL is from the `manager_settings_url` field of the `manager` object
        in the [current user information](#tag/Employer-info/operation/get-current-user-info).

        Manager preferences *do not affect* actions in the default API. For instance, the branded layout template
        (`default_vacancy_branded_template`) will not automatically be applied when the vacancy is published if the template has not been passed.
        The application can use this information to implement field pre-fill logic
      parameters:
        - name: employer_id
          in: path
          description: 'Employer ID, that can be obtained from the [information on the current user](#tag/Employer-info/operation/get-current-user-info)'
          required: true
          schema:
            type: string
          example: '1455'
        - name: manager_id
          in: path
          description: 'Manager ID from the [directory of employer''s managers](#tag/Employer-managers/operation/get-employer-managers)'
          required: true
          schema:
            type: string
          example: '87654321'
        - $ref: '#/components/parameters/Locale'
        - $ref: '#/components/parameters/Host'
        - $ref: '#/components/parameters/HHUserAgent'
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ManagerSettings'
        '403':
          description: The current user is not a manager
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorsCommonBadAuthorizationErrors'
        '404':
          description: 'Manager does not exist, or the settings cannot be viewed'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorsCommonNotFoundErrors'
  '/employers/{employer_id}/managers/{manager_id}/limits/resume':
    x-name: '/employers/{employer_id}/managers/{manager_id}/limits/resume'
    get:
      operationId: get-employer-manager-limits
      tags:
        - Employer managers
      summary: Daily limit of resume views for current manager
      description: This method is only available to a manager with the purpose of daily limit view
      parameters:
        - name: employer_id
          in: path
          description: 'Employer ID, which you can find in [information on the current user](#tag/Employer-info/operation/get-current-user-info)'
          required: true
          schema:
            type: string
        - name: manager_id
          in: path
          description: 'Manager ID, which you can find in [information on the current user](#tag/Employer-info/operation/get-current-user-info)'
          required: true
          schema:
            type: string
        - $ref: '#/components/parameters/Locale'
        - $ref: '#/components/parameters/Host'
        - $ref: '#/components/parameters/HHUserAgent'
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/EmployerManagersEmployerManagerLimits'
              examples:
                Пример ответа:
                  $ref: '#/components/examples/EmployerManagerLimits'
        '403':
          description: Bad authorization
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorsCommonBadAuthorizationErrors'
        '404':
          description: The employer or manager is not found or the user does not have the appropriate privileges
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorsCommonNotFoundErrors'
  '/employers/{employer_id}/addresses':
    x-name: '/employers/{employer_id}/addresses'
    get:
      operationId: get-employer-addresses
      tags:
        - Employer addresses
      summary: Directory of employer's addresses
      description: 'Returns a list of employer addresses. For companies with a large number of addresses, it is possible that there will be a delay between creating an address and reading it. That is, the newly created address will not be contained in the response body'
      parameters:
        - name: employer_id
          in: path
          description: Employer ID
          required: true
          schema:
            type: string
        - name: changed_after
          in: query
          description: 'The date, since creation, deletion or last change of address should start from. Format - [ISO 8601](#date-format) - `YYYY-MM-DDThh:mm:ss` or with offset for different time zone `YYYY-MM-DDThh:mm:ss±hhmm`. Max value for offset from current date is 7 days . When this parameter is specified, every item in response has `deleted` field, pointing whether the address is deleted. Also when this parameter is specified, all others are ignored'
          required: false
          schema:
            type: string
            pattern: '^\d{4}-[01]\d-[0-3]\dT[0-2]\d:[0-5]\d:[0-5]\d(?:\.\d+)?((\+|-)[0-1][0-9]{3})?$'
        - name: manager_id
          in: query
          description: ID of the manager who created address
          required: false
          schema:
            type: string
        - name: with_manager
          in: query
          description: 'If true, response will contain information about the manager who created address'
          required: false
          schema:
            type: boolean
        - name: per_page
          in: query
          description: |
            Amount of elements, that should be displayed in response. Request applies [standard pagination parameters](#section/General-information/Pagination). Default and maximum per_page are 10000
          required: false
          schema:
            type: integer
        - name: page
          in: query
          description: |
            Number of page, that should be displayed in response. Request applies [standard pagination parameters](#section/General-information/Pagination). Pagination starts from 0
          required: false
          schema:
            type: integer
        - $ref: '#/components/parameters/Locale'
        - $ref: '#/components/parameters/Host'
        - $ref: '#/components/parameters/HHUserAgent'
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/EmployerAddressesEmployerAddressesResponse'
              examples:
                Пример ответа:
                  $ref: '#/components/examples/EmployerAddresses'
        '400':
          description: Request parameters error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorsCommonBadRequestBadArgumentBadRequestAndBadArgumentErrors'
        '403':
          description: Current user is not allowed to view this employer's managers
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorsCommonBadAuthorizationErrors'
        '404':
          description: The employer does not exist or current user is not allowed to view the information
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorsCommonNotFoundErrors'
  '/employers/{employer_id}/managers':
    x-name: '/employers/{employer_id}/managers'
    get:
      operationId: get-employer-managers
      tags:
        - Employer managers
      summary: Directory of employer's managers
      parameters:
        - name: employer_id
          in: path
          description: 'The employer''s ID that can be found in the [information on the current user](#tag/Employer-info/operation/get-current-user-info)'
          required: true
          schema:
            type: string
        - name: page
          in: query
          description: Page number
          required: false
          schema:
            type: number
            default: 0
        - name: per_page
          in: query
          description: Number of elements
          required: false
          schema:
            type: number
            default: 200
            maximum: 200
        - name: search_text
          in: query
          description: Search string by manager's name
          required: false
          schema:
            type: string
        - $ref: '#/components/parameters/Locale'
        - $ref: '#/components/parameters/Host'
        - $ref: '#/components/parameters/HHUserAgent'
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/EmployerManagersResponse'
              examples:
                Пример ответа:
                  $ref: '#/components/examples/EmployerManagers'
        '403':
          description: Current user is not allowed to view this employer's managers
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorsCommonBadAuthorizationErrors'
        '404':
          description: The employer does not exist or current user is not allowed to view the information
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorsCommonNotFoundErrors'
    post:
      operationId: add-employer-manager
      tags:
        - Employer managers
      summary: Adding a manager
      parameters:
        - name: employer_id
          in: path
          description: 'Employer ID. Use the [info on current authorized user](#tag/Employer-info/operation/get-current-user-info) method to obtain it'
          required: true
          schema:
            type: string
        - $ref: '#/components/parameters/Locale'
        - $ref: '#/components/parameters/Host'
        - $ref: '#/components/parameters/HHUserAgent'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/EmployerManagersAddEmployerManager'
            examples:
              Пример запроса:
                $ref: '#/components/examples/AddEmployerManager'
      responses:
        '201':
          description: Manager has been created
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/EmployerManagersEmployerManagerId'
              examples:
                Пример ответа:
                  $ref: '#/components/examples/EmployerManagerId'
        '400':
          description: Parameters in the input JSON contain errors
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorsEmployerManagerBadRequestAndBadArgumentErrors'
        '403':
          description: Bad authorization or other reasons
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorsEmployerManagerBadAuthorizationErrors'
        '404':
          description: The specified employer does not exist or the user does not have permission to add a manager
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorsCommonNotFoundErrors'
  '/employers/{employer_id}/manager_types':
    x-name: '/employers/{employer_id}/manager_types'
    get:
      operationId: get-employer-manager-types
      tags:
        - Employer managers
      summary: Directory of manager types and privileges
      parameters:
        - name: employer_id
          in: path
          description: Employer ID
          required: true
          schema:
            type: string
        - $ref: '#/components/parameters/Locale'
        - $ref: '#/components/parameters/Host'
        - $ref: '#/components/parameters/HHUserAgent'
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/EmployerManagerTypesResponse'
              examples:
                Пример ответа:
                  $ref: '#/components/examples/EmployerManagerTypes'
        '403':
          description: Current user is not allowed to view this employer's manager types
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorsCommonBadAuthorizationErrors'
        '404':
          description: The employer does not exist or current user is not allowed to view the information
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorsCommonNotFoundErrors'
  /manager_accounts/mine:
    x-name: /manager_accounts/mine
    get:
      operationId: get-manager-accounts
      tags:
        - Employer managers
      summary: Manager's work accounts
      description: |
        Returns a list of the manager's work accounts and information about the primary and current account.

        To use a certain account, you need to pass the account_id value obtained from the list in the header:

        `X-Manager-Account-Id: {account_id}`

        You can use this header in all methods available to employers.

        In the header, you can pass the account_id of the primary account, which is also implied by default if there is no header
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ManagerAccounts'
        '403':
          description: Authorization error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorsCommonBadAuthorizationErrors'
      parameters:
        - $ref: '#/components/parameters/Locale'
        - $ref: '#/components/parameters/Host'
        - $ref: '#/components/parameters/HHUserAgent'
  /resume_should_send_sms:
    x-name: /resume_should_send_sms
    get:
      operationId: get-applicant-phone-info
      tags:
        - CVs for an applicant
      summary: Get information about the applicant's phone number
      parameters:
        - name: phone
          in: query
          description: Phone number in any format
          required: true
          schema:
            type: string
        - $ref: '#/components/parameters/Locale'
        - $ref: '#/components/parameters/Host'
        - $ref: '#/components/parameters/HHUserAgent'
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ResumeShouldSendSmsContainer'
        '400':
          description: Errors in arguments or request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorsCommonBadArgumentErrors'
        '403':
          description: Authorization error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorsCommonBadAuthorizationErrors'
  '/employers/{employer_id}/addresses/{address_id}':
    x-name: '/employers/{employer_id}/addresses/{address_id}'
    get:
      operationId: get-address
      tags:
        - Employer addresses
      summary: Get address by ID
      parameters:
        - name: employer_id
          in: path
          description: Employer ID
          required: true
          schema:
            type: string
        - name: address_id
          in: path
          description: Employer address ID
          required: true
          schema:
            type: string
        - name: with_manager
          in: query
          description: 'If true, response will contain information about the manager who created address'
          required: false
          schema:
            type: boolean
        - $ref: '#/components/parameters/Locale'
        - $ref: '#/components/parameters/Host'
        - $ref: '#/components/parameters/HHUserAgent'
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/EmployerAddressesEmployerAddressItemResponse'
              examples:
                Пример ответа:
                  $ref: '#/components/examples/EmployerAddressItem'
        '403':
          description: Current user is not allowed to get the address
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorsCommonBadAuthorizationErrors'
        '404':
          description: The employer or address does not exist
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorsCommonNotFoundErrors'
  '/employers/{employer_id}/managers/{manager_id}':
    x-name: '/employers/{employer_id}/managers/{manager_id}'
    put:
      operationId: edit-employer-manager
      tags:
        - Employer managers
      summary: Editing a manager
      parameters:
        - name: employer_id
          in: path
          description: 'The employer''s ID that can be found in the [information on the current user](#tag/Employer-info/operation/get-current-user-info)'
          required: true
          schema:
            type: string
        - name: manager_id
          in: path
          description: 'Manager ID from the [directory of employer''s managers](#tag/Employer-managers/operation/get-employer-managers)'
          required: true
          schema:
            type: string
        - $ref: '#/components/parameters/Locale'
        - $ref: '#/components/parameters/Host'
        - $ref: '#/components/parameters/HHUserAgent'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/EmployerManagersManagerData'
            examples:
              Пример запроса:
                $ref: '#/components/examples/EditEmployerManagers'
      responses:
        '200':
          description: Manager's parameters have been edited
        '400':
          description: Parameters in the input JSON contain an error. The system returns the error description in the body. Unknown parameters and parameters with errors in names are ignored
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorsEmployerManagerBadRequestAndBadArgumentErrors'
        '403':
          description: Incorrect authorization or other reasons to cancel manager editing
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorsEmployerManagerBadAuthorizationErrors'
        '404':
          description: The employer or manager does not exist or the user is not allowed to edit a manager
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorsCommonNotFoundErrors'
    get:
      operationId: get-employer-manager
      tags:
        - Employer managers
      summary: Getting information about a manager
      parameters:
        - name: employer_id
          in: path
          description: 'Employer ID, that can be obtained from the [information on the current user](#tag/Employer-info/operation/get-current-user-info)'
          required: true
          schema:
            type: string
        - name: manager_id
          in: path
          description: 'Manager ID from the [directory of employer''s managers](#tag/Employer-managers/operation/get-employer-managers)'
          required: true
          schema:
            type: string
        - $ref: '#/components/parameters/Locale'
        - $ref: '#/components/parameters/Host'
        - $ref: '#/components/parameters/HHUserAgent'
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/EmployerManagersEmployerManagerInfo'
              examples:
                Пример ответа:
                  $ref: '#/components/examples/EmployerManagerInfo'
        '403':
          description: Authorization error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorsCommonBadAuthorizationErrors'
        '404':
          description: The employer or manager does not exist or the user is not allowed to edit a manager
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorsCommonNotFoundErrors'
    delete:
      operationId: delete-employer-manager
      tags:
        - Employer managers
      summary: Deleting a manager
      description: Deleting a manager takes a while. This is why if you request a list of managers immediately after successfully deleting a manager the response may include the deleted manager
      parameters:
        - name: employer_id
          in: path
          description: 'Employer ID, that can be obtained from the [information on the current user](#tag/Employer-info/operation/get-current-user-info)'
          required: true
          schema:
            type: string
        - name: manager_id
          in: path
          description: 'Manager ID from the [directory of employer''s managers](#tag/Employer-managers/operation/get-employer-managers)'
          required: true
          schema:
            type: string
        - name: successor_id
          in: query
          description: 'ID of the manager who receives all data related to the deleted manager, in particular: vacancies, applications, files with selected resumes, comments on candidates, automatic searches, etc'
          required: true
          schema:
            type: string
        - $ref: '#/components/parameters/Locale'
        - $ref: '#/components/parameters/Host'
        - $ref: '#/components/parameters/HHUserAgent'
      responses:
        '204':
          description: Successful response. The manager has been deleted
        '400':
          description: Request parameters contain errors
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorsEmployerManagerBadRequestAndBadArgumentErrors'
        '403':
          description: Incorrect authorization or other reasons to cancel manager deletion
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorsEmployerManagerBadAuthorizationErrors'
        '404':
          description: The employer or manager does not exist or the user is not allowed to delete a manager
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorsCommonNotFoundErrors'
  /resume_phone_generate_code:
    x-name: /resume_phone_generate_code
    post:
      operationId: send-code-for-verify-phone-in-resume
      tags:
        - CVs for an applicant
      summary: Send verification code to the phone number on CV
      requestBody:
        content:
          application/x-www-form-urlencoded:
            schema:
              type: object
              properties:
                phone:
                  description: A phone to send the confirmation code
                  type: string
              required:
                - phone
      responses:
        '201':
          description: Sent successfully
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ResumePhoneGenerateCodeGenerateCode'
        '400':
          description: Errors in arguments or request
          content:
            application/json:
              schema:
                oneOf:
                  - $ref: '#/components/schemas/ErrorsCommonBadArgumentErrors'
                  - $ref: '#/components/schemas/ErrorsResumePhoneGenerateCodeBadArgumentErrors'
        '403':
          description: Authorization error
          content:
            application/json:
              schema:
                oneOf:
                  - $ref: '#/components/schemas/ErrorsCommonBadAuthorizationErrors'
                  - $ref: '#/components/schemas/ErrorsResumePhoneGenerateCodeForbiddenErrors'
      parameters:
        - $ref: '#/components/parameters/Locale'
        - $ref: '#/components/parameters/Host'
        - $ref: '#/components/parameters/HHUserAgent'
  /oauth/token:
    x-name: /oauth/token
    post:
      operationId: authorize
      tags:
        - Application authorization
        - Employer authorization
        - Applicant authorization
      summary: Getting an access-token
      servers:
        - url: 'https://hh.ru'
      requestBody:
        description: |
          Depending on token assignment method (`grant_type`), different parameter sets should be specified
          <a name="required_parameters"></a>
        required: true
        content:
          application/x-www-form-urlencoded:
            schema:
              oneOf:
                - $ref: '#/components/schemas/AuthCode'
                - $ref: '#/components/schemas/AuthRefreshToken'
                - $ref: '#/components/schemas/AuthClientCredentials'
            examples:
              authorization_code:
                value:
                  grant_type: authorization_code
                  client_id: ETVQdMs2n9VKw7SMXkh9nX5H
                  client_secret: 95dNjB8FmtxQsmygm6dtEy53
                  redirect_uri: 'http://www.example.com/oauth'
                  code: 29CtxMcaA8pRFDYyC8e8Gkm4
              refresh_token:
                value:
                  grant_type: refresh_token
                  refresh_token: xuLNvUSv7FYM4MPfXDP9aJWe
              client_credentials:
                value:
                  grant_type: client_credentials
                  client_id: ETVQdMs2n9VKw7SMXkh9nX5H
                  client_secret: 95dNjB8FmtxQsmygm6dtEy53
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AuthUserTokenAndAppToken'
              examples:
                user auth:
                  value:
                    access_token: exampleAccessTokenRandomSymbols012345678900000000000000000000000
                    token_type: bearer
                    expires_in: 1209600
                    refresh_token: exampleRefreshTokenRandomSymbols01234567890000000000000000000000
                app auth:
                  value:
                    access_token: exampleApplicationTokenRandomSymbols0123456789000000000000000000
                    token_type: bearer
        '400':
          description: Error in request parameters
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorsCommonBadAuthorizationBadParameters'
              examples:
                account not found:
                  value:
                    summary: Invalid pair of `client_id` and `client_secret`
                    error: invalid_request
                    error_description: account not found
                account is locked:
                  value:
                    summary: 'The user account is blocked. Contact [the site support team](https://github.com/hhru/api/blob/master/docs_eng/README.md#feedback)'
                    error: invalid_request
                    error_description: account is locked
        '403':
          description: Forbidden action
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorsCommonBadAuthorizationErrors'
    delete:
      operationId: invalidate-token
      tags:
        - Employer authorization
        - Applicant authorization
      summary: Access token invalidation
      description: |
        Invalidation works only for active tokens.
        After access token had been invalidated, it can't be refreshed with corresponding refresh token - new authorization is required for user to continue using api.
        The application token cannot be invalidated in this manner. If the token is compromised, you must invalidate it and request a new one!
        <a name="invalidate_token"></a>
      responses:
        '204':
          $ref: '#/components/responses/SuccessNoContent'
        '403':
          description: Forbidden action
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorsCommonBadAuthorizationErrors'
  /me:
    x-name: /me
    get:
      operationId: get-current-user-info
      tags:
        - Application info
        - Applicant info
        - Employer info
        - Manager info
        - Integration for employer info
      summary: Info on current authorized user
      parameters:
        - $ref: '#/components/parameters/Locale'
        - $ref: '#/components/parameters/Host'
        - $ref: '#/components/parameters/HHUserAgent'
      responses:
        '200':
          description: Successful server response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/MeProfile'
        '403':
          description: Application authorisation failed
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorsCommonBadAuthorizationErrors'
    post:
      operationId: edit-current-user-info
      tags:
        - Applicant info
      summary: Editing information on the authorized user
      description: 'Edit the surname, name or patronymic, or change the value of the ''looking for a job'' flag. Data can only be edited in groups'
      requestBody:
        content:
          application/x-www-form-urlencoded:
            schema:
              oneOf:
                - $ref: '#/components/schemas/MeChangeName'
                - $ref: '#/components/schemas/MeSetInSearch'
      responses:
        '204':
          description: Successful response. Data accepted
        '400':
          description: 'Some required fields are missing, or the request contains parameters from different groups'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorsCommonBadRequestBadArgumentBadRequestAndBadArgumentErrors'
        '403':
          description: Authorization error. The user is not an applicant
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorsCommonBadAuthorizationErrors'
      parameters:
        - $ref: '#/components/parameters/Locale'
        - $ref: '#/components/parameters/Host'
        - $ref: '#/components/parameters/HHUserAgent'
  /locales/resume:
    x-name: /locales/resume
    get:
      operationId: get-locales-for-resume
      tags:
        - Public directories
      summary: The list of available resume locales
      description: |
        Returns the directory of possible resume locales. The subcollection of the [locale directory](#tag/Public-directories/operation/get-locales).

        By changing a locale you can, for example, create a CV in English
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/LocalesResumeLocales'
              examples:
                Пример ответа:
                  $ref: '#/components/examples/LocalesResumeLocales'
      parameters:
        - $ref: '#/components/parameters/Locale'
        - $ref: '#/components/parameters/Host'
        - $ref: '#/components/parameters/HHUserAgent'
  /locales:
    x-name: /locales
    get:
      operationId: get-locales
      tags:
        - Public directories
      summary: The list of available locales
      description: |
        Returns the list of possible values (available locales) in the `id` field. The list of locales depends on specified site (`host` parameter). In any request to the API, you can indicate the `?locale=` parameter to give the value of the locale (language)
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/LocalesLocales'
              examples:
                Пример ответа:
                  $ref: '#/components/examples/LocalesLocales'
      parameters:
        - $ref: '#/components/parameters/Locale'
        - $ref: '#/components/parameters/Host'
        - $ref: '#/components/parameters/HHUserAgent'
  /suggests/positions:
    x-name: /suggests/positions
    get:
      operationId: get-positions-suggestions
      tags:
        - Suggestions
      summary: Resume position suggestions
      parameters:
        - name: text
          in: query
          description: A text for searching position. The text being searched must contain at least two and less than 3 000 symbols
          required: true
          schema:
            type: string
          example: driver
        - $ref: '#/components/parameters/Locale'
        - $ref: '#/components/parameters/Host'
        - $ref: '#/components/parameters/HHUserAgent'
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SuggestsPositions'
              examples:
                Пример ответа:
                  $ref: '#/components/examples/SuggestsSuggestsPositions'
        '400':
          description: Bad request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SuggestsErrors'
  /suggests/educational_institutions:
    x-name: /suggests/educational_institutions
    get:
      operationId: get-educational-institutions-suggests
      tags:
        - Suggestions
      summary: Educational institution name suggestions
      description: 'To see the list of college faculties, you can use the [method of obtaining faculties](#tag/Public-directories/operation/get-faculties)'
      parameters:
        - name: text
          in: query
          description: A text for searching an educational institution. The text being searched must contain at least two and less than 3 000 symbols
          required: true
          schema:
            type: string
        - $ref: '#/components/parameters/Locale'
        - $ref: '#/components/parameters/Host'
        - $ref: '#/components/parameters/HHUserAgent'
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SuggestsEducationalInstitutions'
              examples:
                Пример ответа:
                  $ref: '#/components/examples/SuggestsEducationalInstitutions'
        '400':
          description: Bad request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SuggestsErrors'
  /suggests/area_leaves:
    x-name: /suggests/area_leaves
    get:
      operationId: get-area-leaves-suggests
      tags:
        - Suggestions
      summary: Suggestions for all regions that are leaves in the region tree
      description: 'In addition to the region suggestion, the loading of the [full region tree](#tag/Public-directories/operation/get-areas) and the loading of [a part of the tree from a specific element](#tag/Public-directories/operation/get-areas-from-specified) is available'
      parameters:
        - name: text
          in: query
          description: Text for searching a region. The text being searched must contain at least two and less than 3 000 symbols
          required: true
          schema:
            type: string
        - name: area_id
          in: query
          description: 'Region identifier from [region dictionary](#tag/Public-directories/operation/get-areas). Narrows suggestions by a subtree of the passed region identifier'
          required: false
          schema:
            type: string
        - $ref: '#/components/parameters/Locale'
        - $ref: '#/components/parameters/Host'
        - $ref: '#/components/parameters/HHUserAgent'
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SuggestsAreas'
              examples:
                Пример ответа:
                  $ref: '#/components/examples/SuggestsSuggestsAreas'
        '400':
          description: Bad request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SuggestsErrors'
  /suggests/skill_set:
    x-name: /suggests/skill_set
    get:
      operationId: get-skill-set-suggests
      tags:
        - Suggestions
      summary: Key skills suggestions
      parameters:
        - name: text
          in: query
          description: A text for searching key skills. The text being searched must contain at least two and less than 3 000 symbols
          required: true
          schema:
            type: string
        - $ref: '#/components/parameters/Locale'
        - $ref: '#/components/parameters/Host'
        - $ref: '#/components/parameters/HHUserAgent'
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SuggestsSkillSet'
              examples:
                Пример ответа:
                  $ref: '#/components/examples/SuggestsSkillSet'
        '400':
          description: Bad request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SuggestsErrors'
  /suggests/vacancy_positions:
    x-name: /suggests/vacancy_positions
    get:
      operationId: get-vacancy-positions-suggests
      tags:
        - Suggestions
      summary: Vacancy position suggestions
      parameters:
        - name: text
          in: query
          description: A text for searching vacancy position. The text being searched must contain at least two and less than 3 000 symbols
          required: true
          schema:
            type: string
          example: driver
        - $ref: '#/components/parameters/Locale'
        - $ref: '#/components/parameters/Host'
        - $ref: '#/components/parameters/HHUserAgent'
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SuggestsVacancyPositions'
        '400':
          description: Bad request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SuggestsErrors'
  /suggests/professional_roles:
    x-name: /suggests/professional_roles
    get:
      operationId: get-professional-roles-suggests
      tags:
        - Suggestions
      summary: Professional role suggestions
      parameters:
        - name: text
          in: query
          description: A text for searching professional role. The text being searched must contain at least two and less than 3 000 symbols
          required: true
          schema:
            type: string
          example: driver
        - $ref: '#/components/parameters/Locale'
        - $ref: '#/components/parameters/Host'
        - $ref: '#/components/parameters/HHUserAgent'
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SuggestsProfessionalRoles'
        '400':
          description: Bad request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SuggestsErrors'
  /suggests/resume_search_keyword:
    x-name: /suggests/resume_search_keyword
    get:
      operationId: get-resume-search-keywords-suggests
      tags:
        - Suggestions
      summary: Suggestions for resume search key words
      description: 'This suggestion is intended for use in the `text` field when [searching for resume](#tag/Resume-search/operation/search-for-resumes). The suggestion displays title names, company names, and other phrases that are often used when searching for resume'
      parameters:
        - name: text
          in: query
          description: Text for searching a keyword. The text being searched must contain at least two and less than 3 000 symbols
          required: true
          schema:
            type: string
        - $ref: '#/components/parameters/Locale'
        - $ref: '#/components/parameters/Host'
        - $ref: '#/components/parameters/HHUserAgent'
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SuggestsSearchKeyword'
              examples:
                Пример ответа:
                  $ref: '#/components/examples/SuggestsResumeSearchKeyword'
        '400':
          description: Bad request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SuggestsErrors'
  /suggests/areas:
    x-name: /suggests/areas
    get:
      operationId: get-areas-suggests
      tags:
        - Suggestions
      summary: Suggestions for all regions
      description: 'In addition to the region suggestion, the loading of the [full region tree](#tag/Public-directories/operation/get-areas) and the loading of [a part of the tree from a specific element](#tag/Public-directories/operation/get-areas-from-specified) is available'
      parameters:
        - name: text
          in: query
          description: Text for searching a region. The text being searched must contain at least two and less than 3 000 symbols
          required: true
          schema:
            type: string
        - name: area_id
          in: query
          description: 'Region identifier from [region dictionary](#tag/Public-directories/operation/get-areas). Narrows suggestions by a subtree of the passed region identifier'
          required: false
          schema:
            type: string
        - name: include_parent
          in: query
          description: 'Whether to include in the response the region passed in the `area_id` parameter, if it matches the search text'
          required: false
          schema:
            type: boolean
            default: false
        - $ref: '#/components/parameters/Locale'
        - $ref: '#/components/parameters/Host'
        - $ref: '#/components/parameters/HHUserAgent'
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SuggestsAreas'
              examples:
                Пример ответа:
                  $ref: '#/components/examples/SuggestsSuggestsAreas'
        '400':
          description: Bad request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SuggestsErrors'
  /suggests/vacancy_search_keyword:
    x-name: /suggests/vacancy_search_keyword
    get:
      operationId: get-vacancy-search-keywords
      tags:
        - Suggestions
      summary: Suggestions for vacancy search key words
      description: 'This suggestion is intended for use in the `text` field when [searching for vacancies](#tag/Vacancy-search/operation/get-vacancies). The suggestion displays title names, company names, and other phrases that are often used when searching for vacancies'
      parameters:
        - name: text
          in: query
          description: Text for searching a keyword. The text being searched must contain at least two and less than 3 000 symbols
          required: true
          schema:
            type: string
        - $ref: '#/components/parameters/Locale'
        - $ref: '#/components/parameters/Host'
        - $ref: '#/components/parameters/HHUserAgent'
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SuggestsSearchKeyword'
              examples:
                Пример ответа:
                  $ref: '#/components/examples/SuggestsVacancySearchKeyword'
        '400':
          description: Bad request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SuggestsErrors'
  /suggests/fields_of_study:
    x-name: /suggests/fields_of_study
    get:
      operationId: get-fields-of-study-suggestions
      tags:
        - Suggestions
      summary: Specialization suggestions
      parameters:
        - name: text
          in: query
          description: A text for searching specializations. The text being searched must contain at least two and less than 3 000 symbols
          required: true
          schema:
            type: string
        - $ref: '#/components/parameters/Locale'
        - $ref: '#/components/parameters/Host'
        - $ref: '#/components/parameters/HHUserAgent'
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SuggestsFieldsOfStudy'
              examples:
                Пример ответа:
                  $ref: '#/components/examples/SuggestsFieldsOfStudy'
        '400':
          description: Bad request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SuggestsErrors'
  /suggests/companies:
    x-name: /suggests/companies
    get:
      operationId: get-registered-companies-suggests
      tags:
        - Suggestions
      summary: Organization suggestions
      description: 'The data from this suggestion can be used to select a company in work experience when [working with CVs](#tag/Resume.-Creating-and-updating). If you need to search by companies (employers) that can post vacancies, use the [search by companies](#tag/Suggestions/operation/get-registered-companies-suggests)'
      parameters:
        - name: text
          in: query
          description: A text for searching an organization. The text being searched must contain at least two and less than 3 000 symbols
          required: true
          schema:
            type: string
        - $ref: '#/components/parameters/Locale'
        - $ref: '#/components/parameters/Host'
        - $ref: '#/components/parameters/HHUserAgent'
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SuggestsCompanies'
              examples:
                Пример ответа:
                  $ref: '#/components/examples/SuggestsCompanies'
        '400':
          description: Bad request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SuggestsErrors'
  '/resume_profile/{resume_id}':
    x-name: '/resume_profile/{resume_id}'
    get:
      operationId: read-resume-profile
      tags:
        - Резюме-профиль соискателя
      summary: Получение схемы резюме-профиля соискателя для резюме
      description: |
        Возвращает схему резюме-профиля соискателя для построения визарда заполнения / дозаполнения / исправления резюме и профиля
      parameters:
        - name: resume_id
          in: path
          description: Идентификатор резюме
          required: true
          schema:
            type: string
        - $ref: '#/components/parameters/Locale'
        - $ref: '#/components/parameters/Host'
        - $ref: '#/components/parameters/HHUserAgent'
      responses:
        '200':
          description: Успешный ответ
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ResumeProfileResumeProfileResponse'
              examples:
                Пример ответа:
                  $ref: '#/components/examples/ResumeProfileResumeProfileResponse'
        '403':
          description: Текущий пользователь не является coискателем
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorsCommonBadAuthorizationErrors'
        '404':
          description: Резюме не существует или недоступно для текущего пользователя
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorsCommonNotFoundErrors'
    put:
      operationId: update-resume-profile
      tags:
        - Резюме-профиль соискателя
      summary: Обновление резюме-профиля соискателя
      description: |
        Обновляет резюме-профиль и возвращает схему резюме-профиля соискателя для построения визарда заполнения / дозаполнения / исправления резюме и профиля
      parameters:
        - name: resume_id
          in: path
          description: Идентификатор резюме
          required: true
          schema:
            type: string
        - $ref: '#/components/parameters/Locale'
        - $ref: '#/components/parameters/Host'
        - $ref: '#/components/parameters/HHUserAgent'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ResumeProfileResumeProfileUpdateRequestBody'
            examples:
              Пример запроса:
                $ref: '#/components/examples/ResumeProfileResumeProfileUpdateRequestBody'
      responses:
        '200':
          description: Успешный ответ
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ResumeProfileResumeProfileResponse'
              examples:
                Пример ответа:
                  $ref: '#/components/examples/ResumeProfileResumeProfileResponse'
        '400':
          description: 'Ошибка в параметрах резюме, кредов или превышено допустимое количество резюме'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorsResumeBadArgTooManyResumesErrors'
        '403':
          description: Текущий пользователь не является coискателем
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorsCommonBadAuthorizationErrors'
        '404':
          description: Резюме не существует или недоступно для текущего пользователя
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorsCommonNotFoundErrors'
  /resume_profile:
    x-name: /resume_profile
    post:
      operationId: create-resume-profile
      tags:
        - Резюме-профиль соискателя
      summary: Создание резюме-профиля соискателя
      description: |
        Создаёт резюме-профиль и возвращает схему резюме-профиля соискателя для построения визарда заполнения / дозаполнения / исправления резюме и профиля
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ResumeProfileResumeProfileCreateRequestBody'
            examples:
              Пример запроса:
                $ref: '#/components/examples/ResumeProfileResumeProfileCreateRequestBody'
      responses:
        '200':
          description: Успешный ответ
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ResumeProfileResumeProfileResponse'
              examples:
                Пример ответа:
                  $ref: '#/components/examples/ResumeProfileResumeProfileResponse'
        '403':
          description: Текущий пользователь не является coискателем
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorsCommonBadAuthorizationErrors'
      parameters:
        - $ref: '#/components/parameters/Locale'
        - $ref: '#/components/parameters/Host'
        - $ref: '#/components/parameters/HHUserAgent'
  /resume_profile/dictionaries:
    x-name: /resume_profile/dictionaries
    get:
      operationId: get-resume-profile-dictionaries
      tags:
        - Резюме-профиль соискателя
      summary: Получение cловарей резюме-профиля
      responses:
        '200':
          description: Успешный ответ
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ResumeProfileResumeProfileDictionariesResponse'
              examples:
                Пример ответа:
                  $ref: '#/components/examples/ResumeProfileResumeProfileDictionaries'
      parameters:
        - $ref: '#/components/parameters/Locale'
        - $ref: '#/components/parameters/Host'
        - $ref: '#/components/parameters/HHUserAgent'
  '/employers/{employer_id}/services/payable_api_actions/active':
    x-name: '/employers/{employer_id}/services/payable_api_actions/active'
    get:
      operationId: get-payable-api-actions
      tags:
        - Employer services
      summary: Information about active API services for payable methods
      description: |
        Every enabled service is displayed as a separate object in the `items` array, even if multiple services of the same type are enabled.
        If the employer has no active services, the response will return an empty `items` array
      parameters:
        - name: employer_id
          in: path
          description: Employer ID
          required: true
          schema:
            type: string
        - $ref: '#/components/parameters/Locale'
        - $ref: '#/components/parameters/Host'
        - $ref: '#/components/parameters/HHUserAgent'
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/EmployerServicesEmployerServices'
              examples:
                Пример ответа:
                  $ref: '#/components/examples/ServicesEmployerServices'
        '403':
          description: Current user is not the employer
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorsCommonBadAuthorizationErrors'
        '404':
          description: The employer named does not exist or current user has no data viewing rights
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorsCommonNotFoundErrors'
  '/employers/{employer_id}/managers/{manager_id}/method_access':
    x-name: '/employers/{employer_id}/managers/{manager_id}/method_access'
    get:
      operationId: get-payable-api-method-access
      tags:
        - Employer services
      summary: Checking access to the paid methods
      description: |
        Employers have had to pay for some HH API methods since July 16, 2018.

        Paid methods are marked with the following label in the GitHub [Table of Contents](https://github.com/hhru/api/blob/master/docs_eng/README.md#content) <img src="http://hhru.github.io/api/badges/emp_paid.png" alt="employer with paid access" />

        To buy access to paid methods, contact your personal manager.

        > If you work from several employer accounts, check the [information about the connected services](#tag/Employer-services/operation/get-payable-api-actions) — each account must be given access to paid API methods. If there is no access, the error `403 Forbidden` will be returned.

        The method returns information about access to groups of paid methods. Existing groups:

        1. Availability of access to resume methods:
          * [Resume viewing](#tag/Resume-view/operation/get-resume).
          * [Response management](https://github.com/hhru/api/blob/master/docs_eng/employer_negotiations.md).
          * [Correspondence](#tag/Negotiations-(responsesinvitations)-for-applicants/operation/get-negotiation-messages).
        2. Availability of access to search vacancies methods:
          * [Resume search](#tag/Resume-search/operation/search-for-resumes);
          * [Saved resume searches](#tag/Saved-resume-searches/operation/get-saved-resume-searches);
        3. Availability of access to the [viewing of resumes](#tag/Resume-view/operation/get-resume) that have a response or invite.
        4. Availability of access to the [viewing of resumes](#tag/Resume-view/operation/get-resume) for resumes found via [database search](#tag/Resume-search/operation/search-for-resumes).

        **Attention!** It have been changes access to contact details, learn more about [the new model of working with the resume database](https://github.com/hhru/api/blob/master/docs_eng/payable/resume.md)
      parameters:
        - name: employer_id
          in: path
          description: |
            Employer ID. Can be found out in [information about the current user](#tag/Employer-info/operation/get-current-user-info)
          required: true
          schema:
            type: string
        - name: manager_id
          in: path
          description: |
            Manager ID. Can be found out in [information about the current user](#tag/Employer-info/operation/get-current-user-info)
          required: true
          schema:
            type: string
        - $ref: '#/components/parameters/Locale'
        - $ref: '#/components/parameters/Host'
        - $ref: '#/components/parameters/HHUserAgent'
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/EmployerServicesMethodAccess'
              examples:
                Пример ответа:
                  $ref: '#/components/examples/ServicesMethodAccess'
        '403':
          description: Current user is not the employer
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorsCommonBadAuthorizationErrors'
        '404':
          description: The specified employer or manager not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorsCommonNotFoundErrors'
  /saved_searches/vacancies:
    x-name: /saved_searches/vacancies
    get:
      operationId: get-saved-vacancy-searches
      tags:
        - Saved vacancy searches
      summary: List of saved vacancy searches
      parameters:
        - name: page
          in: query
          description: 'Page number (counted from 0, by default 0)'
          required: false
          schema:
            type: number
        - name: per_page
          in: query
          description: 'Number of items (by default 10, max value 10)'
          required: false
          schema:
            type: number
        - $ref: '#/components/parameters/Locale'
        - $ref: '#/components/parameters/Host'
        - $ref: '#/components/parameters/HHUserAgent'
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SavedSearchesSavedSearchResponse'
              examples:
                Пример ответа:
                  $ref: '#/components/examples/SavedSearchesSavedSearchesVacancies'
        '403':
          description: The current user is not an applicant
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorsCommonBadAuthorizationErrors'
    post:
      operationId: create-saved-vacancy-search
      tags:
        - Saved vacancy searches
      summary: Creating new saved vacancy search
      description: |
        Some parameters take multiple values: `key=value&key=value`.

        When indicating paging parameters (`page`, `per_page`), a restriction takes effect: the number of results returned can not exceed `2000`. For instance, a request `per_page=10&page=199` (displaying vacancies from `1991` to `2000`) is possible, but a request with `per_page=10&page=200` returns an error (displaying vacancies from `2001` to `2010`)
      parameters:
        - name: page
          in: query
          description: 'Page number (counts from 0, by default — 0)'
          required: false
          schema:
            type: number
        - name: per_page
          in: query
          description: 'Number of elements (by default — 10, maximum value — 100)'
          required: false
          schema:
            type: number
        - name: text
          in: query
          description: |
            Text field. The sent value is searched in the vacancy fields specified in the search_field parameter.

            As with the main website, a query language is available: https://hh.ru/article/1175. There is [autosuggest](#tag/Suggestions/operation/get-vacancy-search-keywords) especially for this field
          required: false
          schema:
            type: string
        - name: name
          in: query
          description: Name of the new autosearch
          required: false
          schema:
            type: string
        - name: search_field
          in: query
          description: |
            An area of search. Directory with possible values: `vacancy_search_fields` in [/dictionaries](#tag/Public-directories/operation/get-dictionaries). By default, all fields are used. Several values can be indicated
          required: false
          schema:
            type: string
        - name: experience
          in: query
          description: |
            Work experience. Directory with possible values: `experience` in [/dictionaries](#tag/Public-directories/operation/get-dictionaries). Several values can be indicated
          required: false
          schema:
            type: string
        - name: employment
          in: query
          description: |
            Employment type. Directory with possible values: `employment` in [/dictionaries](#tag/Public-directories/operation/get-dictionaries). Several values can be indicated
          required: false
          schema:
            type: string
        - name: schedule
          in: query
          description: |
            Work schedule. Directory with possible values: `schedule` in [/dictionaries](#tag/Public-directories/operation/get-dictionaries). Several values can be indicated
          required: false
          schema:
            type: string
        - name: area
          in: query
          description: |
            A region. Directory with possible values: [/areas](#tag/Public-directories/operation/get-areas). Several values can be indicated
          required: false
          schema:
            type: string
        - name: metro
          in: query
          description: |
            A metro line or station. Directory with possible values: [/metro](#tag/Public-directories/operation/get-metro-stations). Several values can be indicated
          required: false
          schema:
            type: string
        - name: professional_role
          in: query
          description: |
            A professional role. Directory with possible values: [professional_roles](#tag/Public-directories/operation/get-professional-roles-dictionary). Several values can be indicated. Will replace specializations (parameter `specialization`)
          required: false
          schema:
            type: string
        - name: industry
          in: query
          description: |
            An industry of the company that posted the vacancy. Directory with possible values: [/industries](#tag/Public-directories/operation/get-industries). Several values can be indicated
          required: false
          schema:
            type: string
        - name: employer_id
          in: query
          description: |
            A [company](#tag/Employer) identifier. Several values can be indicated
          required: false
          schema:
            type: string
        - name: currency
          in: query
          description: |
            A currency code. Directory with possible values: `currency` (code key) in [/dictionaries](#tag/Public-directories/operation/get-dictionaries)
          required: false
          schema:
            type: string
        - name: salary
          in: query
          description: |
            A salary rate. If this field is indicated, but currency is not, then the RUR value is used for currency
          required: false
          schema:
            type: number
        - name: label
          in: query
          description: |
            Filter by vacancy labels. Directory with possible values: `vacancy_label` in [/dictionaries](#tag/Public-directories/operation/get-dictionaries). Several values can be indicated
          required: false
          schema:
            type: string
        - name: only_with_salary
          in: query
          description: |
            Show only the vacancies with salary specified. Possible values: `true`or `false`. By default, `false` is used
          required: false
          schema:
            type: boolean
        - name: period
          in: query
          description: |
            A range of days within which vacancies will be found. Maximal value: 30
          required: false
          schema:
            type: number
        - name: date_from
          in: query
          description: |
            A start date which restricts the date range of vacancy posting. You can not indicate it with the period parameter.

            The value is indicated in the ISO 8601 format — `YYYY-MM-DD` or with up-to-the-second precision `YYYY-MM-DDThh:mm:ss±hhmm`. The shown value will be rounded down to the nearest five minutes
          required: false
          schema:
            type: string
        - name: date_to
          in: query
          description: |
            An end date which restricts the date range of vacancy posting. You must give it only with the date_from parameter. You can not indicate it with the period parameter.

            The value is indicated in the ISO 8601 format — YYYY-MM-DD or with accuracy in seconds `YYYY-MM-DDThh:mm:ss±hhmm`. The shown value will be rounded down to the nearest five minutes
          required: false
          schema:
            type: string
        - name: top_lat
          in: query
          description: |
            Top latitude boundary.

            When searching, the value of the address indicated in the vacancy is used. The acceptable value is decimal degrees.

            All the four parameters of geographic coordinates must be given simultaneously, otherwise an error will be returned
          required: false
          schema:
            type: number
        - name: bottom_lat
          in: query
          description: |
            Bottom latitude boundary.

            When searching, the value of the address indicated in the vacancy is used. The acceptable value is decimal degrees.

            All the four parameters of geographic coordinates must be given simultaneously, otherwise an error will be returned
          required: false
          schema:
            type: number
        - name: left_lng
          in: query
          description: |
            Left longitude boundary.

            When searching, the value of the address indicated in the vacancy is used. The acceptable value is decimal degrees.

            All the four parameters of geographic coordinates must be given simultaneously, otherwise an error will be returned
          required: false
          schema:
            type: number
        - name: right_lng
          in: query
          description: |
            Right longitude boundary.

            When searching, the value of the address indicated in the vacancy is used. The acceptable value is decimal degrees.

            All the four parameters of geographic coordinates must be given simultaneously, otherwise an error will be returned
          required: false
          schema:
            type: number
        - name: order_by
          in: query
          description: |
            Vacancy list sorting. Directory with possible values: `vacancy_search_order` in [/dictionaries](#tag/Public-directories/operation/get-dictionaries). 

            If the sorting by distance from a geo-point is selected, the coordinates of the geo-point must be set: `sort_point_lat`, `sort_point_lng`
          required: false
          schema:
            type: string
        - name: sort_point_lat
          in: query
          description: |
            The value of geographic latitude of the point that is used to sort vacancies by distance. It must be indicated only in case when `order_by` is set to `distance`
          required: false
          schema:
            type: number
        - name: sort_point_lng
          in: query
          description: |
            The value of geographic longitude of the point that is used to sort vacancies by distance. It must be indicated only in case when `order_by` is set to `distance`
          required: false
          schema:
            type: number
        - name: clusters
          in: query
          description: |
            Whether the [clusters for this search](#tag/Vacancy-search/Clusters-of-vacancy-search) are returned. Default: `false`
          required: false
          schema:
            type: boolean
        - name: describe_arguments
          in: query
          description: |
            Whether the description of the used search parameters is returned. Success response contains `arguments` [field](#tag/Vacancy-search/operation/get-vacancies). Default: `false`
          required: false
          schema:
            type: boolean
        - name: no_magic
          in: query
          description: |
            If true — turn off automatic vacancy transformation. Default — `false`.

            If automatic transformation is enabled, an attempt will be made to change the user's text query to a set of parameters. For example, a query `text=moscow accountant 100500` will be transformed to `text=accountant&only_with_salary=true&area=1&salary=100500`
          required: false
          schema:
            type: boolean
        - name: premium
          in: query
          description: |
            If `true`, the results of vacancies take premium vacancies into account. This type of sorting is used on the website. Default — false
          required: false
          schema:
            type: boolean
        - name: responses_count_enabled
          in: query
          description: |
            If true – include optional field counters with responses on a vacancy. Default – false
          required: false
          schema:
            type: boolean
        - name: part_time
          in: query
          description: |
            Vacancies for part times job. Possible values:

            * All elements from `working_days` in [/dictionaries](https://api.hh.ru/openapi/en/redoc#tag/Public-directories/operation/get-dictionaries).
            * All elements from `working_time_intervals` in [/dictionaries](https://api.hh.ru/openapi/en/redoc#tag/Public-directories/operation/get-dictionaries).
            * All elements from `working_time_modes` in [/dictionaries](https://api.hh.ru/openapi/en/redoc#tag/Public-directories/operation/get-dictionaries).
            * Elements `part` or `project` from `employment` in [/dictionaries](https://api.hh.ru/openapi/en/redoc#tag/Public-directories/operation/get-dictionaries).
            * Element `accept_temporary` that show only the vacancies with accept temporary employment

            Several values can be indicated
          required: false
          schema:
            type: boolean
        - $ref: '#/components/parameters/Locale'
        - $ref: '#/components/parameters/Host'
        - $ref: '#/components/parameters/HHUserAgent'
      responses:
        '201':
          description: Successfully created
          content:
            text/html:
              schema:
                type: string
          headers:
            Location:
              schema:
                type: string
                description: 'Path to the created autosearch. Example: `/`saved_searches/vacancies/123`, where `123` — `id` of the created autosearch'
        '400':
          description: Errors in arguments or request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorsCommonBadArgumentErrors'
        '403':
          description: The current user is not an employer
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorsCommonBadAuthorizationErrors'
  '/vacancies/{vacancy_id}/visitors':
    x-name: '/vacancies/{vacancy_id}/visitors'
    get:
      operationId: get-vacancy-visitors
      tags:
        - Vacancy management
      summary: Vacancy visitors
      description: |
        Returns a list of short resumes of users who viewed the vacancy in the last week. List sorted by viewing date descending. If the user has multiple resumes, then a resume with the latest update date is returned.

        If the applicant has deleted a resume or has hidden it from the employer, these resumes will be omitted from the `items` list. But they will be taken into account during pagination (`per_page`) and in the number of resumes found (`found`). The `hidden_on_page` field indicates the number of such omitted resumes per page
      parameters:
        - name: vacancy_id
          in: path
          description: Vacancy ID
          required: true
          schema:
            type: string
        - name: page
          in: query
          description: Page number (from 0)
          required: false
          schema:
            type: number
            default: 0
        - name: per_page
          in: query
          description: Number of elements per page
          required: false
          schema:
            type: number
            default: 20
            maximum: 50
        - $ref: '#/components/parameters/Locale'
        - $ref: '#/components/parameters/Host'
        - $ref: '#/components/parameters/HHUserAgent'
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/VacanciesVisitorsResponse'
              examples:
                Пример ответа:
                  $ref: '#/components/examples/VacanciesVisitors'
        '400':
          description: An error in the request parameters
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorsCommonBadArgumentErrors'
        '403':
          description: Authorization error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorsCommonBadAuthorizationErrors'
        '404':
          description: The vacancy does not exist or is not available to the current user
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorsCommonNotFoundErrors'
  '/vacancies/{vacancy_id}':
    x-name: '/vacancies/{vacancy_id}'
    get:
      operationId: get-vacancy
      tags:
        - Vacancies
        - Vacancy management
      summary: View a vacancy
      description: Returns detailed information for the specified vacancy
      parameters:
        - name: vacancy_id
          in: path
          description: Vacancy ID
          required: true
          schema:
            type: string
        - $ref: '#/components/parameters/Locale'
        - $ref: '#/components/parameters/Host'
        - $ref: '#/components/parameters/HHUserAgent'
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/VacanciesVacancy'
              examples:
                Пример ответа с токеном соискателя или приложения:
                  $ref: '#/components/examples/VacanciesVacancyForApplicant'
                Пример ответа при запросе от менеджера:
                  $ref: '#/components/examples/VacanciesVacancyForManager'
        '403':
          description: Captcha is required
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorsCommonCaptchaErrors'
        '404':
          description: 'The vacancy is not found, or the user has no access to view the vacancy'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorsCommonNotFoundErrors'
        '429':
          description: Too many requests
    put:
      operationId: edit-vacancy
      tags:
        - Vacancy management
      summary: Editing vacancies
      description: |
        Changes vacancy fields specified in a request body.

        Compound fields (such as `salary_range`, `contacts`, `professional_roles`) can be edited only as a whole. For example, to edit salary currency, you also have to change the salary value.

        `billing_type` and `manager` fields should be sent in separate requests
      parameters:
        - name: vacancy_id
          in: path
          description: Vacancy ID
          required: true
          schema:
            type: string
        - name: ignore_duplicates
          in: query
          description: 'Ignore [duplicates](https://github.com/hhru/api/blob/master/docs_eng/employer_vacancies.md#edit-ignore-duplicates) after editing the vacancy. Default — `false`'
          required: false
          schema:
            type: boolean
        - name: ignore_replacement_warning
          in: query
          description: Ignore replacement error. Default — `true`
          required: false
          schema:
            type: boolean
        - $ref: '#/components/parameters/Locale'
        - $ref: '#/components/parameters/Host'
        - $ref: '#/components/parameters/HHUserAgent'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/VacancyEdit'
      responses:
        '204':
          description: Successful response
        '400':
          description: An error in the request body
          content:
            application/json:
              schema:
                oneOf:
                  - $ref: '#/components/schemas/ErrorsVacancyAddEditCombinedBadJsonDataErrors'
                  - $ref: '#/components/schemas/ErrorsCommonBadRequestErrors'
        '403':
          description: Authorization error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorsVacancyAddEditBadAuthForbiddenErrors'
        '404':
          description: Vacancy with the specified ID is not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorsCommonNotFoundErrors'
  /vacancies/blacklisted:
    x-name: /vacancies/blacklisted
    get:
      operationId: get-blacklisted-vacancies
      tags:
        - Hidden vacancies
      summary: List of hidden vacancies
      description: 'Returns [a subset of vacancies](#tag/Vacancies/operation/get-vacancy) hidden by the user'
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/VacanciesVacanciesBlacklistedResponse'
              examples:
                Пример ответа:
                  $ref: '#/components/examples/VacanciesVacanciesBlacklisted'
        '403':
          description: Current user is not an applicant
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorsCommonBadAuthorizationErrors'
      parameters:
        - $ref: '#/components/parameters/Locale'
        - $ref: '#/components/parameters/Host'
        - $ref: '#/components/parameters/HHUserAgent'
  /vacancies:
    x-name: /vacancies
    post:
      operationId: publish-vacancy
      tags:
        - Vacancy management
      summary: Publishing job vacancies
      description: |
        Creates a new vacancy with fields specified in the request body.

        According to the [Federal Law of the Russian Federation No. 1032-1 dated April 19, 1991, as revised on July 2, 2013](https://hh.ru/article/13967) it is prohibited to place information restricting rights or providing advantages to certain candidates according to their gender, age, family status, and other qualities unrelated to their professional aptitudes.

        Notes:

        * In case of a successful publication the cost of corresponding services will be withdrawn.
        * All job vacancies are subject to manual moderation.
        * Within a few minutes after publication, the vacancy becomes visible in search results.

        Useful links:

        * [Conditions of publishing vacancies](https://hh.ru/article/341)
        * [How to write a good vacancy description](https://hh.ru/article/16239)
      parameters:
        - name: ignore_duplicates
          in: query
          description: Force adding duplicate
          required: false
          schema:
            type: boolean
        - $ref: '#/components/parameters/Locale'
        - $ref: '#/components/parameters/Host'
        - $ref: '#/components/parameters/HHUserAgent'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/VacancyCreate'
            examples:
              Пример запроса:
                $ref: '#/components/examples/VacancyCreate'
      responses:
        '201':
          description: Successful response
          headers:
            Location:
              schema:
                type: string
                description: 'Link to the published vacancy, i.e.: `/vacancies/78789890`'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/_IncludesId'
              examples:
                Пример ответа:
                  $ref: '#/components/examples/Id'
        '400':
          description: An error in the request parameter
          content:
            application/json:
              schema:
                oneOf:
                  - $ref: '#/components/schemas/ErrorsVacancyAddEditCombinedBadJsonDataErrors'
        '403':
          description: An authorization error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorsVacancyAddEditBadAuthForbiddenErrors'
    get:
      operationId: get-vacancies
      tags:
        - Vacancy search
      summary: Search for vacancies
      description: |
        Returns a list of vacancies that are posted in the service. The vacancy list is filtered in accordance with specified query parameters.

        Features:

        * Unknown parameters and parameters with an error in the name are ignored.
        * If an authorization token is not specified, a captcha will be prompted after the first request.
        * The vacancy list depends on the user authorization type. For example, for applicant authorization the vacancy list is filtered by the [list of hidden vacancies](#tag/Hidden-vacancies) and the [list of hidden companies](#tag/Blacklisted-employers).
        * The vacancy list also depends on a [website selection](#section/General-information/Host-selection) (the `host` parameter). However, selection of a regional site, for example hh.kz, does not limit the list with the vacancies of the selected region. To limit the list by a region, use the `area` parameter.
        * When indicating paging parameters (`page`, `per_page`), a restriction takes effect: the number of results returned can not exceed `2000`. For instance, a request `per_page=10&page=199` (displaying vacancies from `1991` to `2000`) is possible, but a request with `per_page=10&page=200` returns an error (displaying vacancies from `2001` to `2010`)
      parameters:
        - name: page
          in: query
          description: Page number
          required: false
          schema:
            type: number
            default: 0
        - name: per_page
          in: query
          description: Number of elements
          required: false
          schema:
            type: number
            default: 10
            maximum: 100
        - name: text
          in: query
          description: |
            Text field. The sent value is searched in the vacancy fields specified in the search_field parameter.
            As with the main website, a query language is available: https://hh.ru/article/1175. There is [autosuggest](#tag/Suggestions/operation/get-vacancy-search-keywords) especially for this field
          required: false
          schema:
            type: string
        - name: search_field
          in: query
          description: |
            An area of search. Directory with possible values: `vacancy_search_fields` in [/dictionaries](#tag/Public-directories/operation/get-dictionaries). By default, all fields are used. Several values can be indicated
          required: false
          schema:
            type: string
        - name: experience
          in: query
          description: |
            Work experience. Directory with possible values: `experience` in [/dictionaries](#tag/Public-directories/operation/get-dictionaries). Several values can be indicated
          required: false
          schema:
            type: string
        - name: employment
          in: query
          description: |
            Employment type. Directory with possible values: `employment` in [/dictionaries](#tag/Public-directories/operation/get-dictionaries). Several values can be indicated
          required: false
          deprecated: true
          schema:
            type: string
        - name: schedule
          in: query
          description: |
            Work schedule. Directory with possible values: `schedule` in [/dictionaries](#tag/Public-directories/operation/get-dictionaries). Several values can be indicated
          required: false
          deprecated: true
          schema:
            type: string
        - name: area
          in: query
          description: |
            A region. Directory with possible values: [/areas](#tag/Public-directories/operation/get-areas). Several values can be indicated
          required: false
          schema:
            type: string
        - name: metro
          in: query
          description: |
            A metro line or station. Directory with possible values: [/metro](#tag/Public-directories/operation/get-metro-stations). Several values can be indicated
          required: false
          schema:
            type: string
        - name: professional_role
          in: query
          description: |
            A professional role. Directory with possible values: [professional_roles](#tag/Public-directories/operation/get-professional-roles-dictionary). Several values can be indicated
          required: false
          schema:
            type: string
        - name: industry
          in: query
          description: |
            An industry of the company that posted the vacancy. Directory with possible values: [/industries](#tag/Public-directories/operation/get-industries). Several values can be indicated
          required: false
          schema:
            type: string
        - name: employer_id
          in: query
          description: |
            A [company](#tag/Employer) identifier. Several values can be indicated
          required: false
          schema:
            type: string
        - name: currency
          in: query
          description: |
            A currency code. Directory with possible values: `currency` (code key) in [/dictionaries](#tag/Public-directories/operation/get-dictionaries)
          required: false
          schema:
            type: string
        - name: salary
          in: query
          description: |
            A salary rate. If this field is indicated, but currency is not, then the RUR value is used for currency
          required: false
          schema:
            type: number
        - name: label
          in: query
          description: |
            Filter by vacancy labels. Directory with possible values: `vacancy_label` in [/dictionaries](#tag/Public-directories/operation/get-dictionaries). Several values can be indicated
          required: false
          schema:
            type: string
        - name: only_with_salary
          in: query
          description: |
            Show only the vacancies with salary specified. Possible values: `true`or `false`. By default, `false` is used
          required: false
          schema:
            type: boolean
            default: false
        - name: period
          in: query
          description: |
            A range of days within which vacancies will be found. Maximal value: 30
          required: false
          schema:
            type: number
        - name: date_from
          in: query
          description: |
            A start date which restricts the date range of vacancy posting. You can not indicate it with the period parameter.
            The value is indicated in the ISO 8601 format — `YYYY-MM-DD` or with up-to-the-second precision `YYYY-MM-DDThh:mm:ss±hhmm`. The shown value will be rounded down to the nearest five minutes
          required: false
          schema:
            type: string
        - name: date_to
          in: query
          description: |
            An end date which restricts the date range of vacancy posting. You must give it only with the date_from parameter. You can not indicate it with the period parameter.
            The value is indicated in the ISO 8601 format — YYYY-MM-DD or with accuracy in seconds `YYYY-MM-DDThh:mm:ss±hhmm`. The shown value will be rounded down to the nearest five minutes
          required: false
          schema:
            type: string
        - name: top_lat
          in: query
          description: |
            Top latitude boundary.
            When searching, the value of the address indicated in the vacancy is used. The acceptable value is decimal degrees.
            All the four parameters of geographic coordinates must be given simultaneously, otherwise an error will be returned
          required: false
          schema:
            type: number
        - name: bottom_lat
          in: query
          description: |
            Bottom latitude boundary.
            When searching, the value of the address indicated in the vacancy is used. The acceptable value is decimal degrees.
            All the four parameters of geographic coordinates must be given simultaneously, otherwise an error will be returned
          required: false
          schema:
            type: number
        - name: left_lng
          in: query
          description: |
            Left longitude boundary.
            When searching, the value of the address indicated in the vacancy is used. The acceptable value is decimal degrees.
            All the four parameters of geographic coordinates must be given simultaneously, otherwise an error will be returned
          required: false
          schema:
            type: number
        - name: right_lng
          in: query
          description: |
            Right longitude boundary.
            When searching, the value of the address indicated in the vacancy is used. The acceptable value is decimal degrees.
            All the four parameters of geographic coordinates must be given simultaneously, otherwise an error will be returned
          required: false
          schema:
            type: number
        - name: order_by
          in: query
          description: |
            Vacancy list sorting. Directory with possible values: `vacancy_search_order` in [/dictionaries](#tag/Public-directories/operation/get-dictionaries). 
            If the sorting by distance from a geo-point is selected, the coordinates of the geo-point must be set: `sort_point_lat`, `sort_point_lng`
          required: false
          schema:
            type: string
        - name: sort_point_lat
          in: query
          description: |
            The value of geographic latitude of the point that is used to sort vacancies by distance. It must be indicated only in case when `order_by` is set to `distance`
          required: false
          schema:
            type: number
        - name: sort_point_lng
          in: query
          description: |
            The value of geographic longitude of the point that is used to sort vacancies by distance. It must be indicated only in case when `order_by` is set to `distance`
          required: false
          schema:
            type: number
        - name: clusters
          in: query
          description: |
            Whether the [clusters for this search](#tag/Vacancy-search/Clusters-of-vacancy-search) are returned. Default: `false`
          required: false
          schema:
            type: boolean
            default: false
        - name: describe_arguments
          in: query
          description: |
            Whether the description of the used search parameters is returned (the `arguments` array). Default: `false`
          required: false
          schema:
            type: boolean
            default: false
        - name: no_magic
          in: query
          description: |
            If true — turn off automatic vacancy transformation. Default — `false`.
            If automatic transformation is enabled, an attempt will be made to change the user's text query to a set of parameters. For example, a query `text=moscow accountant 100500` will be transformed to `text=accountant&only_with_salary=true&area=1&salary=100500`
          required: false
          schema:
            type: boolean
            default: false
        - name: premium
          in: query
          description: |
            If `true`, the results of vacancies take premium vacancies into account. This type of sorting is used on the website. Default — false
          required: false
          schema:
            type: boolean
            default: false
        - name: responses_count_enabled
          in: query
          description: |
            If true – include optional field counters with responses on a vacancy. Default – false
          required: false
          schema:
            type: boolean
            default: false
        - name: part_time
          in: query
          description: |
            Vacancies for part times job. Possible values:
            * All elements from `working_days` in [/dictionaries](https://api.hh.ru/openapi/en/redoc#tag/Public-directories/operation/get-dictionaries).
            * All elements from `working_time_intervals` in [/dictionaries](https://api.hh.ru/openapi/en/redoc#tag/Public-directories/operation/get-dictionaries).
            * All elements from `working_time_modes` in [/dictionaries](https://api.hh.ru/openapi/en/redoc#tag/Public-directories/operation/get-dictionaries).
            * Elements `part` or `project` from `employment` in [/dictionaries](https://api.hh.ru/openapi/en/redoc#tag/Public-directories/operation/get-dictionaries).
            * Element `accept_temporary` that show only the vacancies with accept temporary employment
            Several values can be indicated
          required: false
          deprecated: true
          schema:
            type: string
        - name: accept_temporary
          in: query
          description: |
            If the value is `true`, then the search occurs only for temporary job vacancies.
            Default is `false`
          required: false
          schema:
            type: boolean
            default: false
        - name: employment_form
          in: query
          description: |
            Тип занятости. Необходимо передавать `id` из справочника `employment_form` в [/dictionaries](#tag/Obshie-spravochniki/operation/get-dictionaries). Можно указать несколько значений
          required: false
          schema:
            type: string
        - name: work_schedule_by_days
          in: query
          description: |
            График работы. Необходимо передавать `id` из справочника `work_schedule_by_days` в [/dictionaries](#tag/Obshie-spravochniki/operation/get-dictionaries). Можно указать несколько значений
          required: false
          schema:
            type: string
        - name: working_hours
          in: query
          description: |
            Рабочие часы в день. Необходимо передавать `id` из справочника `working_hours` в [/dictionaries](#tag/Obshie-spravochniki/operation/get-dictionaries). Можно указать несколько значений
          required: false
          schema:
            type: string
        - name: work_format
          in: query
          description: |
            Формат работы. Необходимо передавать `id` из справочника `work_format` в [/dictionaries](#tag/Obshie-spravochniki/operation/get-dictionaries). Можно указать несколько значений
          required: false
          schema:
            type: string
        - name: excluded_text
          in: query
          description: |
            Исключить слова. Из результата будут исключены вакансии, содержащие слова, переданные в этом параметре. Слова разделяются запятой
          schema:
            type: string
        - name: education
          in: query
          description: |
            Образование. Можно указать несколько значений. Возможные значения:
            * `not_required_or_not_specified` - не требуется или не указано
            * `special_secondary` - среднее специальное
            * `higher` - высшее
          schema:
            type: string
        - $ref: '#/components/parameters/Locale'
        - $ref: '#/components/parameters/Host'
        - $ref: '#/components/parameters/HHUserAgent'
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/VacanciesVacanciesResponse'
              examples:
                Пример ответа:
                  $ref: '#/components/examples/VacanciesVacancies'
        '400':
          description: An error in the specified parameters
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorsCommonBadRequestBadArgumentBadRequestAndBadArgumentErrors'
        '403':
          description: A captcha is required
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorsCommonCaptchaErrors'
        '404':
          description: Specified vacancy does not exist
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorsCommonNotFoundErrors'
  '/vacancies/{vacancy_id}/related_vacancies':
    x-name: '/vacancies/{vacancy_id}/related_vacancies'
    get:
      operationId: get-vacancies-related-to-vacancy
      tags:
        - Vacancy search
      summary: Search for vacancies related to a vacancy
      description: |
        By default, returns vacancies related to the vacancy.

        If the request comes from the vacancy page (the `hhtmSource` parameter is `vacancy` or `vacancy_search_list` or `vacancy_search_filter`):

        * when the user is logged in as an applicant and has a resume — returns the vacancies suitable for the user's latest resume;
        * when the applicant does not have a resume — search results by the vacancy title;
        * when the user is not logged in — recommendations for anonymous users.

        When indicating paging parameters (`page`, `per_page`), a restriction takes effect: the number of results returned can not exceed `2000`. For instance, a request `per_page=10&page=199` (displaying vacancies from `1991` to `2000`) is possible, but a request with `per_page=10&page=200` returns an error (displaying vacancies from `2001` to `2010`)
      parameters:
        - name: vacancy_id
          in: path
          description: Vacancy ID
          required: true
          schema:
            type: string
        - name: page
          in: query
          description: Page number
          required: false
          schema:
            type: number
            default: 0
        - name: per_page
          in: query
          description: Number of elements
          required: false
          schema:
            type: number
            default: 10
            maximum: 100
        - name: text
          in: query
          description: |
            Text field. The sent value is searched in the vacancy fields specified in the `search_field` parameter.
            As with the main website, a [query language is available](https://hh.ru/article/1175). There is [autosuggest](#tag/Suggestions/operation/get-vacancy-search-keywords) especially for this field
          required: false
          schema:
            type: string
        - name: search_field
          in: query
          description: |
            An area of search. Directory with possible values: `vacancy_search_fields` (`id` key) in [/dictionaries](#tag/Public-directories/operation/get-dictionaries). By default, all fields are used. Several values can be indicated
          required: false
          schema:
            type: string
        - name: experience
          in: query
          description: |
            Work experience. Directory with possible values: `experience` (`id` key) in [/dictionaries](#tag/Public-directories/operation/get-dictionaries). Several values can be indicated
          required: false
          schema:
            type: string
        - name: employment
          in: query
          description: |
            Employment type. Directory with possible values: `employment` (`id` key) in [/dictionaries](#tag/Public-directories/operation/get-dictionaries). Several values can be indicated
          required: false
          schema:
            type: string
        - name: schedule
          in: query
          description: |
            Work schedule. Directory with possible values: `schedule` (`id` key) in [/dictionaries](#tag/Public-directories/operation/get-dictionaries). Several values can be indicated
          required: false
          schema:
            type: string
        - name: area
          in: query
          description: |
            A region. Directory with possible values: [/areas](#tag/Public-directories/operation/get-areas) (`id` key). Several values can be indicated
          required: false
          schema:
            type: string
        - name: metro
          in: query
          description: |
            A metro line or station. Directory with possible values: [/metro](#tag/Public-directories/operation/get-metro-stations) (`id` key). Several values can be indicated
          required: false
          schema:
            type: string
        - name: professional_role
          in: query
          description: |
            A professional role. Directory with possible values: [professional_roles](#tag/Public-directories/operation/get-professional-roles-dictionary) (`id` key). Several values can be indicated
          required: false
          schema:
            type: string
        - name: industry
          in: query
          description: |
            An industry of the company that posted the vacancy. Directory with possible values: [/industries](#tag/Public-directories/operation/get-industries) (`id` key). Several values can be indicated
          required: false
          schema:
            type: string
        - name: employer_id
          in: query
          description: |
            A [company](#tag/Employer) identifier. Several values can be indicated
          required: false
          schema:
            type: string
        - name: excluded_employer_id
          in: query
          description: |
            A [company](#tag/Employer) identifier whose vacancies should be excluded from the results. Several values can be indicated
          required: false
          schema:
            type: string
        - name: currency
          in: query
          description: |
            A currency code. Directory with possible values: `currency` (`code` key) in [/dictionaries](#tag/Public-directories/operation/get-dictionaries)
          required: false
          schema:
            type: string
        - name: salary
          in: query
          description: |
            A salary rate. If this field is indicated, but currency is not, then the RUR value is used for currency.
            When specifying a value, vacancies will be found in which the salary fork is close to the one specified in the request. In this case, the values are recalculated according to the current exchange rates of the Central Bank of the Russian Federation. For example, if you specify `salary=100&currency=EUR`, vacancies will be found where the salary fork is indicated in rubles and after conversion to Euros is close to 100 EUR.
            By default, vacancies in which the salary fork is not specified will also be found. To filter such vacancies, use the `only_with_salary=true` parameter
          required: false
          schema:
            type: number
        - name: label
          in: query
          description: |
            Filter by vacancy labels. Directory with possible values: `vacancy_label` (`id` key) in [/dictionaries](#tag/Public-directories/operation/get-dictionaries). Several values can be indicated
          required: false
          schema:
            type: string
        - name: only_with_salary
          in: query
          description: |
            Show only the vacancies with salary specified
          required: false
          schema:
            type: boolean
            default: false
        - name: period
          in: query
          description: |
            A range of days within which vacancies will be found
          required: false
          schema:
            type: number
            maximum: 30
        - name: date_from
          in: query
          description: |
            A start date which restricts the date range of vacancy posting. You can not indicate it with the period parameter.
            The value is indicated in the ISO 8601 format — `YYYY-MM-DD` or with up-to-the-second precision `YYYY-MM-DDThh:mm:ss±hhmm`. The shown value will be rounded down to the nearest five minutes
          required: false
          schema:
            type: string
        - name: date_to
          in: query
          description: |
            An end date which restricts the date range of vacancy posting. You must give it only with the date_from parameter. You can not indicate it with the period parameter.
            The value is indicated in the ISO 8601 format — YYYY-MM-DD or with accuracy in seconds `YYYY-MM-DDThh:mm:ss±hhmm`. The shown value will be rounded down to the nearest five minutes
          required: false
          schema:
            type: string
        - name: top_lat
          in: query
          description: |
            Top latitude boundary.
            When searching, the value of the address indicated in the vacancy is used. The acceptable value is decimal degrees.
            All the four parameters of geographic coordinates must be given simultaneously, otherwise an error will be returned
          required: false
          schema:
            type: number
        - name: bottom_lat
          in: query
          description: |
            Bottom latitude boundary.
            When searching, the value of the address indicated in the vacancy is used. The acceptable value is decimal degrees.
            All the four parameters of geographic coordinates must be given simultaneously, otherwise an error will be returned
          required: false
          schema:
            type: number
        - name: left_lng
          in: query
          description: |
            Left longitude boundary.
            When searching, the value of the address indicated in the vacancy is used. The acceptable value is decimal degrees.
            All the four parameters of geographic coordinates must be given simultaneously, otherwise an error will be returned
          required: false
          schema:
            type: number
        - name: right_lng
          in: query
          description: |
            Right longitude boundary.
            When searching, the value of the address indicated in the vacancy is used. The acceptable value is decimal degrees.
            All the four parameters of geographic coordinates must be given simultaneously, otherwise an error will be returned
          required: false
          schema:
            type: number
        - name: order_by
          in: query
          description: |
            Vacancy list sorting. Directory with possible values: `vacancy_search_order` in [/dictionaries](#tag/Public-directories/operation/get-dictionaries). 
            If the sorting by distance from a geo-point is selected, the coordinates of the geo-point must be set: `sort_point_lat`, `sort_point_lng`
          required: false
          schema:
            type: string
        - name: sort_point_lat
          in: query
          description: |
            The value of geographic latitude of the point that is used to sort vacancies by distance. It must be indicated only in case when `order_by` is set to `distance`
          required: false
          schema:
            type: number
        - name: sort_point_lng
          in: query
          description: |
            The value of geographic longitude of the point that is used to sort vacancies by distance. It must be indicated only in case when `order_by` is set to `distance`
          required: false
          schema:
            type: number
        - name: clusters
          in: query
          description: |
            Whether the [clusters for this search](#tag/Vacancy-search/Clusters-of-vacancy-search) are returned
          required: false
          schema:
            type: boolean
            default: false
        - name: describe_arguments
          in: query
          description: |
            Whether the description of the used search parameters is returned. Success response contains `arguments` [field](#tag/Vacancy-search/operation/get-vacancies)
          required: false
          schema:
            type: boolean
            default: false
        - name: no_magic
          in: query
          description: |
            If `true` — turn off automatic vacancy transformation.
            If automatic transformation is enabled, an attempt will be made to change the user's text query to a set of parameters. For example, a query `text=moscow accountant 100500` will be transformed to `text=accountant&only_with_salary=true&area=1&salary=100500`
          required: false
          schema:
            type: boolean
            default: false
        - name: premium
          in: query
          description: |
            If `true`, the results of vacancies take premium vacancies into account. This type of sorting is used on the website
          required: false
          schema:
            type: boolean
            default: false
        - name: responses_count_enabled
          in: query
          description: |
            If `true` – include optional field counters with responses on a vacancy
          required: false
          schema:
            type: boolean
            default: false
        - name: part_time
          in: query
          description: |
            Vacancies for part times job. Possible values:
            * All elements from `working_days` in [/dictionaries](https://api.hh.ru/openapi/en/redoc#tag/Public-directories/operation/get-dictionaries).
            * All elements from `working_time_intervals` in [/dictionaries](https://api.hh.ru/openapi/en/redoc#tag/Public-directories/operation/get-dictionaries).
            * All elements from `working_time_modes` in [/dictionaries](https://api.hh.ru/openapi/en/redoc#tag/Public-directories/operation/get-dictionaries).
            * Elements `part` or `project` from `employment` in [/dictionaries](https://api.hh.ru/openapi/en/redoc#tag/Public-directories/operation/get-dictionaries).
            * Element `accept_temporary` that show only the vacancies with accept temporary employment
            Several values can be indicated
          required: false
          schema:
            type: string
        - $ref: '#/components/parameters/Locale'
        - $ref: '#/components/parameters/Host'
        - $ref: '#/components/parameters/HHUserAgent'
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/VacanciesVacanciesResponse'
              examples:
                Пример ответа:
                  $ref: '#/components/examples/VacanciesVacancies'
        '400':
          description: An error in the specified parameters
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorsCommonBadArgumentErrors'
        '403':
          description: A captcha is required
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorsCommonCaptchaErrors'
        '404':
          description: Specified vacancy does not exist
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorsCommonNotFoundErrors'
  '/saved_searches/vacancies/{id}':
    x-name: '/saved_searches/vacancies/{id}'
    get:
      operationId: get-saved-vacancy-search
      tags:
        - Saved vacancy searches
      summary: Obtaining single saved vacancy search
      parameters:
        - name: id
          in: path
          description: Saved vacancy search ID
          required: true
          schema:
            type: string
        - $ref: '#/components/parameters/Locale'
        - $ref: '#/components/parameters/Host'
        - $ref: '#/components/parameters/HHUserAgent'
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SavedSearchesSavedSearchItem'
              examples:
                Пример ответа:
                  $ref: '#/components/examples/SavedSearchesSavedSearchVacancyItem'
        '403':
          description: The current user is not an applicant
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorsCommonBadAuthorizationErrors'
        '404':
          description: Saved vacancy search is not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorsCommonNotFoundErrors'
    put:
      operationId: update-saved-vacancy-search
      tags:
        - Saved vacancy searches
      summary: Updating saved vacancy search
      description: You can change subscription name (`name`) and status (`subscription`) for saved search. Only one parameter can be changed at a time
      parameters:
        - name: id
          in: path
          description: Saved vacancy search ID
          required: true
          schema:
            type: string
        - name: name
          in: query
          description: New name for the saved search
          required: false
          schema:
            type: string
        - name: subscription
          in: query
          description: Subscription status
          required: false
          schema:
            type: boolean
        - $ref: '#/components/parameters/Locale'
        - $ref: '#/components/parameters/Host'
        - $ref: '#/components/parameters/HHUserAgent'
      responses:
        '204':
          $ref: '#/components/responses/SuccessNoContent'
        '400':
          $ref: '#/components/responses/ErrorBadArgument'
        '403':
          $ref: '#/components/responses/ErrorBadAuthorization'
        '404':
          $ref: '#/components/responses/ErrorNotFound'
        '409':
          $ref: '#/components/responses/ErrorBothChangedConflict'
    delete:
      operationId: delete-saved-vacancy-search
      tags:
        - Saved vacancy searches
      summary: Deleting saved vacancy search
      parameters:
        - name: id
          in: path
          description: Saved vacancy search ID
          required: true
          schema:
            type: string
        - $ref: '#/components/parameters/Locale'
        - $ref: '#/components/parameters/Host'
        - $ref: '#/components/parameters/HHUserAgent'
      responses:
        '204':
          $ref: '#/components/responses/SuccessNoContent'
        '403':
          $ref: '#/components/responses/ErrorBadAuthorization'
        '404':
          $ref: '#/components/responses/ErrorNotFound'
  '/vacancies/{vacancy_id}/similar_vacancies':
    x-name: '/vacancies/{vacancy_id}/similar_vacancies'
    get:
      operationId: get-vacancies-similar-to-vacancy
      tags:
        - Vacancy search
      summary: Search for vacancies similar to a vacancy
      description: |
        If an authorization token is not specified, a captcha will be prompted after the first request.

        When indicating paging parameters (`page`, `per_page`), a restriction takes effect: the number of results returned can not exceed `2000`. For instance, a request `per_page=10&page=199` (displaying vacancies from `1991` to `2000`) is possible, but a request with `per_page=10&page=200` returns an error (displaying vacancies from `2001` to `2010`)
      parameters:
        - name: vacancy_id
          in: path
          description: Vacancy ID
          required: true
          schema:
            type: string
        - name: page
          in: query
          description: 'Page number (counts from 0, by default — 0)'
          required: false
          schema:
            type: number
            default: 0
        - name: per_page
          in: query
          description: 'Number of elements (by default — 10, maximum value — 100)'
          required: false
          schema:
            type: number
            default: 10
            maximum: 100
        - name: text
          in: query
          description: |
            Text field. The sent value is searched in the vacancy fields specified in the search_field parameter.
            As with the main website, a query language is available: https://hh.ru/article/1175. There is [autosuggest](#tag/Suggestions/operation/get-vacancy-search-keywords) especially for this field
          required: false
          schema:
            type: string
        - name: search_field
          in: query
          description: |
            An area of search. Directory with possible values: `vacancy_search_fields` in [/dictionaries](#tag/Public-directories/operation/get-dictionaries). By default, all fields are used. Several values can be indicated
          required: false
          schema:
            type: string
        - name: experience
          in: query
          description: |
            Work experience. Directory with possible values: `experience` in [/dictionaries](#tag/Public-directories/operation/get-dictionaries). Several values can be indicated
          required: false
          schema:
            type: string
        - name: employment
          in: query
          description: |
            Employment type. Directory with possible values: `employment` in [/dictionaries](#tag/Public-directories/operation/get-dictionaries). Several values can be indicated
          required: false
          schema:
            type: string
        - name: schedule
          in: query
          description: |
            Work schedule. Directory with possible values: `schedule` in [/dictionaries](#tag/Public-directories/operation/get-dictionaries). Several values can be indicated
          required: false
          schema:
            type: string
        - name: area
          in: query
          description: |
            A region. Directory with possible values: [/areas](#tag/Public-directories/operation/get-areas). Several values can be indicated
          required: false
          schema:
            type: string
        - name: metro
          in: query
          description: |
            A metro line or station. Directory with possible values: [/metro](#tag/Public-directories/operation/get-metro-stations). Several values can be indicated
          required: false
          schema:
            type: string
        - name: professional_role
          in: query
          description: |
            A professional role. Directory with possible values: [professional_roles](#tag/Public-directories/operation/get-professional-roles-dictionary). Several values can be indicated
          required: false
          schema:
            type: string
        - name: industry
          in: query
          description: |
            An industry of the company that posted the vacancy. Directory with possible values: [/industries](#tag/Public-directories/operation/get-industries). Several values can be indicated
          required: false
          schema:
            type: string
        - name: employer_id
          in: query
          description: |
            A [company](#tag/Employer) identifier. Several values can be indicated
          required: false
          schema:
            type: string
        - name: excluded_employer_id
          in: query
          description: |
            A [company](#tag/Employer) identifier whose vacancies should be excluded from the search results. Multiple values can be specified
          required: false
          schema:
            type: string
        - name: currency
          in: query
          description: |
            A currency code. Directory with possible values: `currency` (code key) in [/dictionaries](#tag/Public-directories/operation/get-dictionaries)
          required: false
          schema:
            type: string
        - name: salary
          in: query
          description: |
            A salary rate. If this field is indicated, but currency is not, then the RUR value is used for currency
          required: false
          schema:
            type: number
        - name: label
          in: query
          description: |
            Filter by vacancy labels. Directory with possible values: `vacancy_label` in [/dictionaries](#tag/Public-directories/operation/get-dictionaries). Several values can be indicated
          required: false
          schema:
            type: string
        - name: only_with_salary
          in: query
          description: |
            Show only the vacancies with salary specified. Possible values: `true`or `false`. By default, `false` is used
          required: false
          schema:
            type: boolean
        - name: period
          in: query
          description: |
            A range of days within which vacancies will be found. Maximal value: 30
          required: false
          schema:
            type: number
        - name: date_from
          in: query
          description: |
            A start date which restricts the date range of vacancy posting. You can not indicate it with the period parameter.
            The value is indicated in the ISO 8601 format — `YYYY-MM-DD` or with up-to-the-second precision `YYYY-MM-DDThh:mm:ss±hhmm`. The shown value will be rounded down to the nearest five minutes
          required: false
          schema:
            type: string
        - name: date_to
          in: query
          description: |
            An end date which restricts the date range of vacancy posting. You must give it only with the date_from parameter. You can not indicate it with the period parameter.
            The value is indicated in the ISO 8601 format — YYYY-MM-DD or with accuracy in seconds `YYYY-MM-DDThh:mm:ss±hhmm`. The shown value will be rounded down to the nearest five minutes
          required: false
          schema:
            type: string
        - name: top_lat
          in: query
          description: |
            Top latitude boundary.
            When searching, the value of the address indicated in the vacancy is used. The acceptable value is decimal degrees.
            All the four parameters of geographic coordinates must be given simultaneously, otherwise an error will be returned
          required: false
          schema:
            type: number
        - name: bottom_lat
          in: query
          description: |
            Bottom latitude boundary.
            When searching, the value of the address indicated in the vacancy is used. The acceptable value is decimal degrees.
            All the four parameters of geographic coordinates must be given simultaneously, otherwise an error will be returned
          required: false
          schema:
            type: number
        - name: left_lng
          in: query
          description: |
            Left longitude boundary.
            When searching, the value of the address indicated in the vacancy is used. The acceptable value is decimal degrees.
            All the four parameters of geographic coordinates must be given simultaneously, otherwise an error will be returned
          required: false
          schema:
            type: number
        - name: right_lng
          in: query
          description: |
            Right longitude boundary.
            When searching, the value of the address indicated in the vacancy is used. The acceptable value is decimal degrees.
            All the four parameters of geographic coordinates must be given simultaneously, otherwise an error will be returned
          required: false
          schema:
            type: number
        - name: order_by
          in: query
          description: |
            Vacancy list sorting. Directory with possible values: `vacancy_search_order` in [/dictionaries](#tag/Public-directories/operation/get-dictionaries). 
            If the sorting by distance from a geo-point is selected, the coordinates of the geo-point must be set: `sort_point_lat`, `sort_point_lng`
          required: false
          schema:
            type: string
        - name: sort_point_lat
          in: query
          description: |
            The value of geographic latitude of the point that is used to sort vacancies by distance. It must be indicated only in case when `order_by` is set to `distance`
          required: false
          schema:
            type: number
        - name: sort_point_lng
          in: query
          description: |
            The value of geographic longitude of the point that is used to sort vacancies by distance. It must be indicated only in case when `order_by` is set to `distance`
          required: false
          schema:
            type: number
        - name: clusters
          in: query
          description: |
            Whether the [clusters for this search](#tag/Vacancy-search/Clusters-of-vacancy-search) are returned. Default: `false`
          required: false
          schema:
            type: boolean
        - name: describe_arguments
          in: query
          description: |
            Whether the description of the used search parameters is returned. Success response contains `arguments` [field](#tag/Vacancy-search/operation/get-vacancies). 
            Default: `false`
          required: false
          schema:
            type: boolean
        - name: no_magic
          in: query
          description: |
            If true — turn off automatic vacancy transformation. Default — `false`.
            If automatic transformation is enabled, an attempt will be made to change the user's text query to a set of parameters. For example, a query `text=moscow accountant 100500` will be transformed to `text=accountant&only_with_salary=true&area=1&salary=100500`
          required: false
          schema:
            type: boolean
        - name: premium
          in: query
          description: |
            If `true`, the results of vacancies take premium vacancies into account. This type of sorting is used on the website. Default — false
          required: false
          schema:
            type: boolean
        - name: responses_count_enabled
          in: query
          description: |
            If true – include optional field counters with responses on a vacancy. Default – false
          required: false
          schema:
            type: boolean
        - name: part_time
          in: query
          description: |
            Vacancies for part times job. Possible values:
            * All elements from `working_days` in [/dictionaries](https://api.hh.ru/openapi/en/redoc#tag/Public-directories/operation/get-dictionaries).
            * All elements from `working_time_intervals` in [/dictionaries](https://api.hh.ru/openapi/en/redoc#tag/Public-directories/operation/get-dictionaries).
            * All elements from `working_time_modes` in [/dictionaries](https://api.hh.ru/openapi/en/redoc#tag/Public-directories/operation/get-dictionaries).
            * Elements `part` or `project` from `employment` in [/dictionaries](https://api.hh.ru/openapi/en/redoc#tag/Public-directories/operation/get-dictionaries).
            * Element `accept_temporary` that show only the vacancies with accept temporary employment
            Several values can be indicated
          required: false
          schema:
            type: string
        - $ref: '#/components/parameters/Locale'
        - $ref: '#/components/parameters/Host'
        - $ref: '#/components/parameters/HHUserAgent'
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/VacanciesVacanciesResponse'
              examples:
                Пример ответа:
                  $ref: '#/components/examples/VacanciesVacancies'
        '400':
          description: An error in the specified parameters
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorsCommonBadArgumentErrors'
        '403':
          description: A captcha is required
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorsCommonCaptchaErrors'
        '404':
          description: Specified vacancy does not exist
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorsCommonNotFoundErrors'
  '/vacancies/{vacancy_id}/upgrades':
    x-name: '/vacancies/{vacancy_id}/upgrades'
    get:
      operationId: get-vacancy-upgrade-list
      tags:
        - Vacancy management
      summary: List of vacancy upgrades
      parameters:
        - name: vacancy_id
          in: path
          description: Vacancy ID
          required: true
          schema:
            type: string
        - $ref: '#/components/parameters/Locale'
        - $ref: '#/components/parameters/Host'
        - $ref: '#/components/parameters/HHUserAgent'
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/VacanciesVacancyUpgradeListResponse'
              examples:
                Пример ответа:
                  $ref: '#/components/examples/VacanciesVacancyUpgradeList'
        '403':
          description: The current user is not an employer
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorsCommonBadAuthorizationErrors'
        '404':
          description: The vacancy is not found or the user has no access to view the vacancy
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorsCommonNotFoundErrors'
  '/resumes/{resume_id}/similar_vacancies':
    x-name: '/resumes/{resume_id}/similar_vacancies'
    get:
      operationId: get-vacancies-similar-to-resume
      tags:
        - Applicant vacancy search
      summary: Search for vacancies similar to a resume
      description: |
        The information is available only to the resume publisher

        When indicating paging parameters (`page`, `per_page`), a restriction takes effect: the number of results returned can not exceed `2000`. For instance, a request `per_page=10&page=199` (displaying vacancies from `1991` to `2000`) is possible, but a request with `per_page=10&page=200` returns an error (displaying vacancies from `2001` to `2010`)
      parameters:
        - name: resume_id
          in: path
          description: Resume ID
          required: true
          schema:
            type: string
        - name: page
          in: query
          description: 'Page number (counts from 0, by default — 0)'
          required: false
          schema:
            type: number
        - name: per_page
          in: query
          description: 'Number of elements (by default — 10, maximum value — 100)'
          required: false
          schema:
            type: number
        - name: text
          in: query
          description: |
            Text field. The sent value is searched in the vacancy fields specified in the search_field parameter.
            As with the main website, a query language is available: https://hh.ru/article/1175. There is [autosuggest](#tag/Suggestions/operation/get-vacancy-search-keywords) especially for this field
          required: false
          schema:
            type: string
        - name: search_field
          in: query
          description: |
            An area of search. Directory with possible values: `vacancy_search_fields` in [/dictionaries](#tag/Public-directories/operation/get-dictionaries). By default, all fields are used. Several values can be indicated
          required: false
          schema:
            type: string
        - name: experience
          in: query
          description: |
            Work experience. Directory with possible values: `experience` in [/dictionaries](#tag/Public-directories/operation/get-dictionaries). Several values can be indicated
          required: false
          schema:
            type: string
        - name: employment
          in: query
          description: |
            Employment type. Directory with possible values: `employment` in [/dictionaries](#tag/Public-directories/operation/get-dictionaries). Several values can be indicated
          required: false
          schema:
            type: string
        - name: schedule
          in: query
          description: |
            Work schedule. Directory with possible values: `schedule` in [/dictionaries](#tag/Public-directories/operation/get-dictionaries). Several values can be indicated
          required: false
          schema:
            type: string
        - name: area
          in: query
          description: |
            A region. Directory with possible values: [/areas](#tag/Public-directories/operation/get-areas). Several values can be indicated
          required: false
          schema:
            type: string
        - name: metro
          in: query
          description: |
            A metro line or station. Directory with possible values: [/metro](#tag/Public-directories/operation/get-metro-stations). Several values can be indicated
          required: false
          schema:
            type: string
        - name: professional_role
          in: query
          description: |
            A professional role. Directory with possible values: [professional_roles](#tag/Public-directories/operation/get-professional-roles-dictionary). Several values can be indicated
          required: false
          schema:
            type: string
        - name: industry
          in: query
          description: |
            An industry of the company that posted the vacancy. Directory with possible values: [/industries](#tag/Public-directories/operation/get-industries). Several values can be indicated
          required: false
          schema:
            type: string
        - name: employer_id
          in: query
          description: |
            A [company](#tag/Employer) identifier. Several values can be indicated
          required: false
          schema:
            type: string
        - name: excluded_employer_id
          in: query
          description: |
            A [company](#tag/Employer) identifier whose vacancies should be excluded from the search results. Multiple values can be specified
          required: false
          schema:
            type: string
        - name: currency
          in: query
          description: |
            A currency code. Directory with possible values: `currency` (code key) in [/dictionaries](#tag/Public-directories/operation/get-dictionaries)
          required: false
          schema:
            type: string
        - name: salary
          in: query
          description: |
            A salary rate. If this field is indicated, but currency is not, then the RUR value is used for currency
          required: false
          schema:
            type: number
        - name: label
          in: query
          description: |
            Filter by vacancy labels. Directory with possible values: `vacancy_label` in [/dictionaries](#tag/Public-directories/operation/get-dictionaries). Several values can be indicated
          required: false
          schema:
            type: string
        - name: only_with_salary
          in: query
          description: |
            Show only the vacancies with salary specified. Possible values: `true`or `false`. By default, `false` is used
          required: false
          schema:
            type: boolean
        - name: period
          in: query
          description: |
            A range of days within which vacancies will be found. Maximal value: 30
          required: false
          schema:
            type: number
        - name: date_from
          in: query
          description: |
            A start date which restricts the date range of vacancy posting. You can not indicate it with the period parameter.
            The value is indicated in the ISO 8601 format — `YYYY-MM-DD` or with up-to-the-second precision `YYYY-MM-DDThh:mm:ss±hhmm`. The shown value will be rounded down to the nearest five minutes
          required: false
          schema:
            type: string
        - name: date_to
          in: query
          description: |
            An end date which restricts the date range of vacancy posting. You must give it only with the date_from parameter. You can not indicate it with the period parameter.
            The value is indicated in the ISO 8601 format — YYYY-MM-DD or with accuracy in seconds `YYYY-MM-DDThh:mm:ss±hhmm`. The shown value will be rounded down to the nearest five minutes
          required: false
          schema:
            type: string
        - name: top_lat
          in: query
          description: |
            Top latitude boundary.
            When searching, the value of the address indicated in the vacancy is used. The acceptable value is decimal degrees.
            All the four parameters of geographic coordinates must be given simultaneously, otherwise an error will be returned
          required: false
          schema:
            type: number
        - name: bottom_lat
          in: query
          description: |
            Bottom latitude boundary.
            When searching, the value of the address indicated in the vacancy is used. The acceptable value is decimal degrees.
            All the four parameters of geographic coordinates must be given simultaneously, otherwise an error will be returned
          required: false
          schema:
            type: number
        - name: left_lng
          in: query
          description: |
            Left longitude boundary.
            When searching, the value of the address indicated in the vacancy is used. The acceptable value is decimal degrees.
            All the four parameters of geographic coordinates must be given simultaneously, otherwise an error will be returned
          required: false
          schema:
            type: number
        - name: right_lng
          in: query
          description: |
            Right longitude boundary.
            When searching, the value of the address indicated in the vacancy is used. The acceptable value is decimal degrees.
            All the four parameters of geographic coordinates must be given simultaneously, otherwise an error will be returned
          required: false
          schema:
            type: number
        - name: order_by
          in: query
          description: |
            Vacancy list sorting. Directory with possible values: `vacancy_search_order` in [/dictionaries](#tag/Public-directories/operation/get-dictionaries). 
            If the sorting by distance from a geo-point is selected, the coordinates of the geo-point must be set: `sort_point_lat`, `sort_point_lng`
          required: false
          schema:
            type: string
        - name: sort_point_lat
          in: query
          description: |
            The value of geographic latitude of the point that is used to sort vacancies by distance. It must be indicated only in case when `order_by` is set to `distance`
          required: false
          schema:
            type: number
        - name: sort_point_lng
          in: query
          description: |
            The value of geographic longitude of the point that is used to sort vacancies by distance. It must be indicated only in case when `order_by` is set to `distance`
          required: false
          schema:
            type: number
        - name: clusters
          in: query
          description: |
            Whether the [clusters for this search](#tag/Vacancy-search/Clusters-of-vacancy-search) are returned. Default: `false`
          required: false
          schema:
            type: boolean
        - name: describe_arguments
          in: query
          description: |
            Whether the description of the used search parameters is returned. Success response contains `arguments` [field](#tag/Vacancy-search/operation/get-vacancies).
            Default: `false`
          required: false
          schema:
            type: boolean
        - name: no_magic
          in: query
          description: |
            If true — turn off automatic vacancy transformation. Default — `false`.
            If automatic transformation is enabled, an attempt will be made to change the user's text query to a set of parameters. For example, a query `text=moscow accountant 100500` will be transformed to `text=accountant&only_with_salary=true&area=1&salary=100500`
          required: false
          schema:
            type: boolean
        - name: premium
          in: query
          description: |
            If `true`, the results of vacancies take premium vacancies into account. This type of sorting is used on the website. Default — false
          required: false
          schema:
            type: boolean
        - name: responses_count_enabled
          in: query
          description: |
            If true – include optional field counters with responses on a vacancy. Default – false
          required: false
          schema:
            type: boolean
        - name: part_time
          in: query
          description: |
            Vacancies for part times job. Possible values:
            * All elements from `working_days` in [/dictionaries](https://api.hh.ru/openapi/en/redoc#tag/Public-directories/operation/get-dictionaries).
            * All elements from `working_time_intervals` in [/dictionaries](https://api.hh.ru/openapi/en/redoc#tag/Public-directories/operation/get-dictionaries).
            * All elements from `working_time_modes` in [/dictionaries](https://api.hh.ru/openapi/en/redoc#tag/Public-directories/operation/get-dictionaries).
            * Elements `part` or `project` from `employment` in [/dictionaries](https://api.hh.ru/openapi/en/redoc#tag/Public-directories/operation/get-dictionaries).
            * Element `accept_temporary` that show only the vacancies with accept temporary employment
            Several values can be indicated
          required: false
          schema:
            type: string
        - $ref: '#/components/parameters/Locale'
        - $ref: '#/components/parameters/Host'
        - $ref: '#/components/parameters/HHUserAgent'
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/VacanciesVacanciesResponse'
              examples:
                Пример ответа:
                  $ref: '#/components/examples/VacanciesVacancies'
        '400':
          description: An error in the specified parameters
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorsCommonBadArgumentErrors'
        '404':
          description: Specified vacancy does not exist or the user has no access
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorsCommonNotFoundErrors'
  /vacancies/favorited:
    x-name: /vacancies/favorited
    get:
      operationId: get-favorite-vacancies
      tags:
        - Favorited vacancies
      summary: List of favorited vacancies
      description: 'Returns an array of [vacancies](#tag/Vacancies/operation/get-vacancy) that the user added to favorited as well as some additional fields'
      parameters:
        - name: page
          in: query
          description: 'Page number (counted from 0, by default 0)'
          required: false
          schema:
            type: number
        - name: per_page
          in: query
          description: Number of items in page
          required: false
          schema:
            type: number
        - $ref: '#/components/parameters/Locale'
        - $ref: '#/components/parameters/Host'
        - $ref: '#/components/parameters/HHUserAgent'
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/VacanciesVacanciesFavoritedResponse'
              examples:
                Пример ответа:
                  $ref: '#/components/examples/VacanciesVacanciesFavorited'
        '403':
          description: The current user is not an applicant
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorsCommonBadAuthorizationErrors'
  '/vacancies/blacklisted/{vacancy_id}':
    x-name: '/vacancies/blacklisted/{vacancy_id}'
    put:
      operationId: add-vacancy-to-blacklisted
      tags:
        - Hidden vacancies
      summary: Adding a vacancy in the blacklist
      description: 'Adds the specified vacancy in [the hidden vacancy list](#tag/Hidden-vacancies/operation/get-blacklisted-vacancies)'
      parameters:
        - name: vacancy_id
          in: path
          description: Vacancy ID
          required: true
          schema:
            type: string
        - $ref: '#/components/parameters/Locale'
        - $ref: '#/components/parameters/Host'
        - $ref: '#/components/parameters/HHUserAgent'
      responses:
        '204':
          $ref: '#/components/responses/SuccessNoContent'
        '400':
          description: The allowed number of items in the list is exceeded
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorsVacancyBlacklistedBadRequestErrors'
        '403':
          description: Current user is not an applicant or has no access to add a vacancy in black list
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorsCommonBadAuthorizationErrors'
        '404':
          description: The vacancy is not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorsVacancyBlacklistedNotFoundErrors'
    delete:
      operationId: delete-vacancy-from-blacklisted
      tags:
        - Hidden vacancies
      summary: Deleting a vacancy from the blacklist
      description: 'Deletes the specified vacancy from [the hidden vacancy list](#tag/Hidden-vacancies/operation/get-blacklisted-vacancies)'
      parameters:
        - name: vacancy_id
          in: path
          description: Vacancy ID
          required: true
          schema:
            type: string
        - $ref: '#/components/parameters/Locale'
        - $ref: '#/components/parameters/Host'
        - $ref: '#/components/parameters/HHUserAgent'
      responses:
        '204':
          $ref: '#/components/responses/SuccessNoContent'
        '403':
          description: Current user is not an applicant
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorsCommonBadAuthorizationErrors'
        '404':
          description: The vacancy is not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorsVacancyBlacklistedNotFoundErrors'
  '/employers/{employer_id}/vacancies/active':
    x-name: '/employers/{employer_id}/vacancies/active'
    get:
      operationId: get-active-vacancy-list
      tags:
        - Vacancy management
      summary: View a published vacancy list
      description: |
        Returns a list of published vacancies.

        If the `resume_id` parameter is specified, the returned list contains only those vacancies that match the specified resume. Also, the response contains additional fields
      parameters:
        - name: employer_id
          in: path
          description: Employer ID
          required: true
          schema:
            type: string
        - name: page
          in: query
          description: 'Page number (counted from 0, by default — 0)'
          required: false
          schema:
            type: number
            default: 0
        - name: per_page
          in: query
          description: 'Number of items per page (by default — 20, maximum — 50)'
          required: false
          schema:
            type: number
            default: 20
            maximum: 50
        - name: manager_id
          in: query
          description: |
            Manager ID which vacancies will be obtained in response. By default, the system returns vacancies from the current user. 
            If you pass several `manager_id` parameters, only the last one will be used. To obtain manager IDs, use [the method](#tag/Employer-managers/operation/get-employer-managers)
          required: false
          schema:
            type: string
        - name: text
          in: query
          description: String for searching by vacancy name
          required: false
          schema:
            type: string
        - name: area
          in: query
          description: 'ID of the region with vacancies. To obtain region IDs with active vacancies, use [the method](#tag/Employer-info/operation/get-employer-vacancy-areas)'
          required: false
          schema:
            type: string
        - name: resume_id
          in: query
          description: 'Resume ID. If the parameter is specified, the response contains only vacancies that match the corresponding resume. Also, additional fields are returned'
          required: false
          schema:
            type: string
        - name: order_by
          in: query
          description: 'Sorting of vacancies. Possible values are listed in the `employer_active_vacancies_order` field of the [dictionary](#tag/Public-directories/operation/get-dictionaries)'
          required: false
          schema:
            type: string
        - $ref: '#/components/parameters/Locale'
        - $ref: '#/components/parameters/Host'
        - $ref: '#/components/parameters/HHUserAgent'
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/VacanciesVacancyListResponse'
              examples:
                Пример ответа:
                  $ref: '#/components/examples/VacanciesActiveList'
                Пример ответа при указанном resume_id:
                  $ref: '#/components/examples/VacanciesMatchList'
        '400':
          description: Error in the request parameters
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorsCommonBadArgumentErrors'
        '403':
          description: The current user is not an employer
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorsCommonBadAuthorizationErrors'
        '404':
          description: A manager with the specified ID does not exist or the current user does not have the appropriate privileges to view published vacancies
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorsCommonNotFoundErrors'
  '/employers/{employer_id}/vacancies/hidden':
    x-name: '/employers/{employer_id}/vacancies/hidden'
    get:
      operationId: get-hidden-vacancies
      tags:
        - Vacancy management
      summary: Deleted vacancy list
      parameters:
        - name: employer_id
          in: path
          description: Employer's ID
          required: true
          schema:
            type: string
        - name: manager_id
          in: query
          description: |
            Manager's ID. Specify it if you need vacancies from another manager.
            If you pass several `manager_id` parameters, only the last one is used.
            By default, the system returns vacancies from the current user
          required: false
          schema:
            type: string
        - name: order_by
          in: query
          description: |
            Vacancy list sorting. Directory with possible values: `employer_archived_vacancies_order` in [/dictionaries](#tag/Public-directories/operation/get-dictionaries)
          required: false
          schema:
            type: string
        - name: per_page
          in: query
          description: |
            Amount of elements, that should be displayed in response. Request applies [standard pagination parameters](#section/General-information/Pagination). The maximum and default value is 1000
          required: false
          schema:
            type: integer
        - name: page
          in: query
          description: |
            Number of page, that should be displayed in response. Request applies [standard pagination parameters](#section/General-information/Pagination). Pagination starts from 0
          required: false
          schema:
            type: integer
        - $ref: '#/components/parameters/Locale'
        - $ref: '#/components/parameters/Host'
        - $ref: '#/components/parameters/HHUserAgent'
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/VacanciesDeletedVacancyListResponse'
              examples:
                Пример ответа:
                  $ref: '#/components/examples/VacanciesDeletedVacancyList'
        '400':
          description: Error in the request parameters
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorsCommonBadArgumentErrors'
        '403':
          description: 'The current user is not an employer, or invalid employer ID is specified'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorsCommonBadAuthorizationErrors'
        '404':
          description: The current user has no access to obtain deleted vacancies
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorsCommonNotFoundErrors'
  '/employers/{employer_id}/vacancies/hidden/{vacancy_id}':
    x-name: '/employers/{employer_id}/vacancies/hidden/{vacancy_id}'
    put:
      operationId: add-vacancy-to-hidden
      tags:
        - Vacancy management
      summary: Deleting vacancies
      description: You can delete only an archived vacancy
      parameters:
        - name: employer_id
          in: path
          description: Employer ID
          required: true
          schema:
            type: string
        - name: vacancy_id
          in: path
          description: Vacancy ID
          required: true
          schema:
            type: string
        - $ref: '#/components/parameters/Locale'
        - $ref: '#/components/parameters/Host'
        - $ref: '#/components/parameters/HHUserAgent'
      responses:
        '204':
          $ref: '#/components/responses/SuccessNoContent'
        '403':
          description: The current user is not an employer or you try to delete a vacancy that is not archived
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorsCommonBadAuthorizationErrors'
        '404':
          description: 'The provided employer ID or vacancy ID is incorrect, or the current user does not have privileges to delete archived vacancies'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorsCommonNotFoundErrors'
    delete:
      operationId: restore-vacancy-from-hidden
      tags:
        - Vacancy management
      summary: Restoring deleted vacancies
      description: You can restore only a vacancy deleted from the archive. Vacancy returns into the archive
      parameters:
        - name: employer_id
          in: path
          description: Employer ID
          required: true
          schema:
            type: string
        - name: vacancy_id
          in: path
          description: Vacancy ID
          required: true
          schema:
            type: string
        - $ref: '#/components/parameters/Locale'
        - $ref: '#/components/parameters/Host'
        - $ref: '#/components/parameters/HHUserAgent'
      responses:
        '204':
          $ref: '#/components/responses/SuccessNoContent'
        '403':
          description: The current user is not an employer or you try to restore a vacancy that is not deleted
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorsCommonBadAuthorizationErrors'
        '404':
          description: 'The provided employer ID or vacancy ID is incorrect, or the current user does not have privileges to restore archived vacancies'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorsCommonNotFoundErrors'
  /vacancy_conditions:
    x-name: /vacancy_conditions
    get:
      operationId: get-vacancy-conditions
      tags:
        - Vacancy management
      summary: Conditions for filling out fields when publishing and editing vacancies
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/VacanciesVacancyConditions'
              examples:
                Пример ответа:
                  $ref: '#/components/examples/VacanciesVacancyConditions'
        '403':
          description: The conditions for filling vacancy fields are not available for this user
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorsCommonBadAuthorizationErrors'
      parameters:
        - $ref: '#/components/parameters/Locale'
        - $ref: '#/components/parameters/Host'
        - $ref: '#/components/parameters/HHUserAgent'
  '/vacancies/{vacancy_id}/prolongate':
    x-name: '/vacancies/{vacancy_id}/prolongate'
    get:
      operationId: get-prolongation-vacancy-info
      tags:
        - Vacancy management
      summary: Information about vacancy prolongation possibility
      description: |
        Rules of prolongation:

            * The cost of vacancy prolongation is the same as of publishing a new vacancy
      parameters:
        - name: vacancy_id
          in: path
          description: ID of the vacancy
          required: true
          schema:
            type: string
        - $ref: '#/components/parameters/Locale'
        - $ref: '#/components/parameters/Host'
        - $ref: '#/components/parameters/HHUserAgent'
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/VacanciesVacancyProlongate'
              examples:
                'Пример ответа, когда продление возможно':
                  $ref: '#/components/examples/VacanciesVacancyProlongateAvailable'
                'Пример ответа, когда продление невозможно':
                  $ref: '#/components/examples/VacanciesVacancyProlongateUnavailable'
        '403':
          description: The current user is not an employer
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorsCommonBadAuthorizationErrors'
        '404':
          description: 'The current user cannot obtain details of this vacancy, or the vacancy does not exist'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorsCommonNotFoundErrors'
    post:
      operationId: vacancy-prolongation
      tags:
        - Vacancy management
      summary: Vacancy prolongation
      description: |
        Prolongs the vacancy period.

        Rules of prolongation:

        * The cost of vacancy prolongation is the same as of publishing a new vacancy
      parameters:
        - name: vacancy_id
          in: path
          description: ID of the vacancy
          required: true
          schema:
            type: string
        - $ref: '#/components/parameters/Locale'
        - $ref: '#/components/parameters/Host'
        - $ref: '#/components/parameters/HHUserAgent'
      responses:
        '204':
          $ref: '#/components/responses/SuccessNoContent'
        '403':
          description: The current user is not an employer or prolongation is impossible
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorsVacancyProlongateForbidden'
        '404':
          description: 'The current user does not have privileges to prolong vacancies, or the vacancy does not exist'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorsCommonNotFoundErrors'
  '/employers/{employer_id}/vacancies/archived/{vacancy_id}':
    x-name: '/employers/{employer_id}/vacancies/archived/{vacancy_id}'
    put:
      operationId: add-vacancy-to-archive
      tags:
        - Vacancy management
      summary: Archiving vacancies
      description: Move a vacancy to the archive
      parameters:
        - name: employer_id
          in: path
          description: Employer's ID
          required: true
          schema:
            type: string
        - name: vacancy_id
          in: path
          description: Vacancy ID
          required: true
          schema:
            type: string
        - $ref: '#/components/parameters/Locale'
        - $ref: '#/components/parameters/Host'
        - $ref: '#/components/parameters/HHUserAgent'
      responses:
        '204':
          $ref: '#/components/responses/SuccessNoContent'
        '403':
          description: The current user is not an employer
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorsCommonBadAuthorizationErrors'
        '404':
          description: 'The specified employer ID is incorrect, or the current user does not have the appropriate privileges to archive the vacancy, or the vacancy with the specified ID does not exist'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorsCommonNotFoundErrors'
  '/vacancies/{id}/preferred_negotiations_order':
    x-name: '/vacancies/{id}/preferred_negotiations_order'
    get:
      operationId: get-pref-negotiations-order
      tags:
        - Employer responses/invitations
      summary: Viewing preferred options for sorting responses
      parameters:
        - name: id
          in: path
          description: Vacancy ID
          required: true
          schema:
            type: string
        - $ref: '#/components/parameters/Locale'
        - $ref: '#/components/parameters/Host'
        - $ref: '#/components/parameters/HHUserAgent'
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/VacanciesPreferredNegotiationsOrder'
              examples:
                Пример ответа:
                  $ref: '#/components/examples/VacanciesPreferredNegotiationsOrder'
        '404':
          description: The vacancy is not found or the user cannot view its responses/invitations
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorsCommonNotFoundErrors'
    put:
      operationId: put-pref-negotiations-order
      tags:
        - Employer responses/invitations
      summary: Changing preferred options for sorting responses
      parameters:
        - name: id
          in: path
          description: Vacancy ID
          required: true
          schema:
            type: string
        - $ref: '#/components/parameters/Locale'
        - $ref: '#/components/parameters/Host'
        - $ref: '#/components/parameters/HHUserAgent'
      requestBody:
        required: true
        content:
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/VacanciesPreferredNegotiationsOrderRequest'
      responses:
        '204':
          $ref: '#/components/responses/SuccessNoContent'
        '400':
          description: Bad sorting option ID or this type of sorting is not available
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorsCommonBadArgumentErrors'
        '404':
          description: The vacancy is not found or the user cannot view its responses/invitations
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorsCommonNotFoundErrors'
  '/vacancies/favorited/{vacancy_id}':
    x-name: '/vacancies/favorited/{vacancy_id}'
    put:
      operationId: add-vacancy-to-favorite
      tags:
        - Favorited vacancies
      summary: Add a vacancy in favorited
      description: 'Adds the specified vacancy in [the favorited vacancy list](#tag/Favorited-vacancies/operation/get-favorite-vacancies)'
      parameters:
        - name: vacancy_id
          in: path
          description: Vacancy ID
          required: true
          schema:
            type: string
        - $ref: '#/components/parameters/Locale'
        - $ref: '#/components/parameters/Host'
        - $ref: '#/components/parameters/HHUserAgent'
      responses:
        '204':
          $ref: '#/components/responses/SuccessNoContent'
        '403':
          description: The current user is not an applicant or has no access to add vacancies in favorited
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorsVacancyFavoritedCombinedBadAuthErrors'
        '404':
          description: Vacancy is not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorsCommonNotFoundErrors'
    delete:
      operationId: delete-vacancy-from-favorite
      tags:
        - Favorited vacancies
      summary: Delete a vacancy from favorited
      description: 'Deletes the specified vacancy from [the favorited vacancy list](#tag/Favorited-vacancies/operation/get-favorite-vacancies)'
      parameters:
        - name: vacancy_id
          in: path
          description: Vacancy ID
          required: true
          schema:
            type: string
        - $ref: '#/components/parameters/Locale'
        - $ref: '#/components/parameters/Host'
        - $ref: '#/components/parameters/HHUserAgent'
      responses:
        '204':
          $ref: '#/components/responses/SuccessNoContent'
        '403':
          description: The current user is not an applicant
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorsCommonBadAuthorizationErrors'
        '404':
          description: Vacancy is not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorsCommonNotFoundErrors'
  '/employers/{employer_id}/managers/{manager_id}/vacancies/available_types':
    x-name: '/employers/{employer_id}/managers/{manager_id}/vacancies/available_types'
    get:
      operationId: get-available-vacancy-types
      tags:
        - Manager info
      summary: Possible options available to current manager for publishing of vacancies
      description: The method helps to determine whether a manager can publish vacancies and what types of vacancies are available to the manager. It returns all possible types of publication
      parameters:
        - name: employer_id
          in: path
          description: 'The employer''s ID that can be found in [information on the current user](#tag/Employer-info/operation/get-current-user-info)'
          required: true
          schema:
            type: string
        - name: manager_id
          in: path
          description: 'The manager''s ID that can be found in [information on the current user](#tag/Employer-info/operation/get-current-user-info)'
          required: true
          schema:
            type: string
        - $ref: '#/components/parameters/Locale'
        - $ref: '#/components/parameters/Host'
        - $ref: '#/components/parameters/HHUserAgent'
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/VacanciesAvailableVacancyTypeResponse'
              examples:
                Пример ответа:
                  $ref: '#/components/examples/VacanciesAvailableVacancyType'
        '403':
          description: The current user is not an employer or has no access to the data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorsCommonBadAuthorizationErrors'
        '404':
          description: Manager or company does not exist or is not available for the current user
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorsCommonNotFoundErrors'
  '/vacancies/{vacancy_id}/stats':
    x-name: '/vacancies/{vacancy_id}/stats'
    get:
      operationId: get-vacancy-stats
      tags:
        - Vacancy management
      summary: Vacancy statistics
      description: |
        Returns statistics for the last five days of the vacancy life.

        Notes:

        * If the vacancy is created less than five days ago, then the first date in the response is the vacancy creation date. For future dates the `responses` and `views` fields are `null`.
        * If the vacancy is archived or deleted, the archiving date is the last
      parameters:
        - name: vacancy_id
          in: path
          description: Vacancy ID
          required: true
          schema:
            type: string
        - $ref: '#/components/parameters/Locale'
        - $ref: '#/components/parameters/Host'
        - $ref: '#/components/parameters/HHUserAgent'
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/VacanciesVacancyStatsResponse'
              examples:
                Пример ответа:
                  $ref: '#/components/examples/VacanciesVacancyStats'
        '403':
          description: The current user is not an employer
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorsCommonBadAuthorizationErrors'
        '404':
          description: The vacancy is not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorsCommonNotFoundErrors'
  '/employers/{employer_id}/vacancies/archived':
    x-name: '/employers/{employer_id}/vacancies/archived'
    get:
      operationId: get-archived-vacancies
      tags:
        - Vacancy management
      summary: Archived vacancy list
      parameters:
        - name: employer_id
          in: path
          description: Employer's ID
          required: true
          schema:
            type: string
        - name: manager_id
          in: query
          description: |
            Manager ID from the [directory of employer's managers](#tag/Employer-managers/operation/get-employer-managers). Specify it if you need vacancies from another manager.

            If you pass several `manager_id` parameters, only the last one is used.

            By default, the system returns vacancies from the current user
          required: false
          schema:
            type: string
        - name: order_by
          in: query
          description: |
            Vacancy list sorting. Directory with possible values: `employer_archived_vacancies_order` in [/dictionaries](#tag/Public-directories/operation/get-dictionaries)
          required: false
          schema:
            type: string
        - name: per_page
          in: query
          description: |
            Amount of elements, that should be displayed in response. Request applies [standard pagination parameters](#section/General-information/Pagination). The maximum and default value is 1000
          required: false
          schema:
            type: integer
        - name: page
          in: query
          description: |
            Number of page, that should be displayed in response. Request applies [standard pagination parameters](#section/General-information/Pagination). Pagination starts from 0
          required: false
          schema:
            type: integer
        - $ref: '#/components/parameters/Locale'
        - $ref: '#/components/parameters/Host'
        - $ref: '#/components/parameters/HHUserAgent'
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/VacanciesArchivedVacancyListResponse'
              examples:
                Пример ответа:
                  $ref: '#/components/examples/VacanciesArchivedVacancyList'
        '400':
          description: Error in the request parameters
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorsCommonBadArgumentErrors'
        '403':
          description: 'The current user is not an employer, or invalid employer ID is specified'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorsCommonBadAuthorizationErrors'
        '404':
          description: The current user has no access to obtain archived vacancies
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorsCommonNotFoundErrors'
  /artifacts/portfolio/conditions:
    x-name: /artifacts/portfolio/conditions
    get:
      operationId: get-artifacts-portfolio-conditions
      tags:
        - Artifact managing
      summary: Conditions for uploading portfolio
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ArtifactsArtifactConditions'
              examples:
                Пример ответа:
                  $ref: '#/components/examples/ArtifactsArtifactConditions'
        '403':
          description: Current user is not an applicant
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorsCommonBadAuthorizationErrors'
      parameters:
        - $ref: '#/components/parameters/Locale'
        - $ref: '#/components/parameters/Host'
        - $ref: '#/components/parameters/HHUserAgent'
  '/artifacts/{id}':
    x-name: '/artifacts/{id}'
    put:
      operationId: edit-artifact
      tags:
        - Artifact managing
      summary: Editing an artifact
      description: Applicant can edit a portfolio description
      parameters:
        - name: id
          in: path
          description: 'Artifact ID. You can obtain it using [Getting portfolio](#tag/Artifact-managing/operation/get-artifacts-portfolio) method'
          required: true
          schema:
            type: string
        - $ref: '#/components/parameters/Locale'
        - $ref: '#/components/parameters/Host'
        - $ref: '#/components/parameters/HHUserAgent'
      requestBody:
        required: true
        content:
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/ArtifactsPortfolioDescription'
            examples:
              Пример запроса:
                $ref: '#/components/examples/ArtifactsPortfolioDescription'
      responses:
        '204':
          $ref: '#/components/responses/SuccessNoContent'
        '400':
          description: Error in request parameters or editing an image is impossible
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorsCommonBadArgumentErrors'
        '403':
          description: Current user is not an applicant
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorsCommonBadAuthorizationErrors'
        '404':
          description: Artifact does not exist or does not belong to the current user
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorsCommonNotFoundErrors'
    delete:
      operationId: delete-artifact
      tags:
        - Artifact managing
      summary: Deleting an artifact
      parameters:
        - name: id
          in: path
          description: 'Artifact ID. You can obtain it using [Getting portfolio](#tag/Artifact-managing/operation/get-artifacts-portfolio) method or [Getting photos](#tag/Artifact-managing/operation/get-artifact-photos) method'
          required: true
          schema:
            type: string
        - $ref: '#/components/parameters/Locale'
        - $ref: '#/components/parameters/Host'
        - $ref: '#/components/parameters/HHUserAgent'
      responses:
        '204':
          $ref: '#/components/responses/SuccessNoContent'
        '403':
          description: Current user is not an applicant
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorsCommonBadAuthorizationErrors'
        '404':
          description: Artifact does not exist or does not belong to the current user
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorsCommonNotFoundErrors'
  /artifacts:
    x-name: /artifacts
    post:
      operationId: load-artifact
      tags:
        - Artifact managing
      summary: Uploading an artifact
      description: |
        The method upload a file from a local machine to the service.

        Restrictions on file types and size can be found in [conditions for uploading photos](#tag/Artifact-managing/operation/get-artifact-photos-conditions) and [portfolios](#tag/Artifact-managing/operation/get-artifacts-portfolio-conditions).

        To attach uploaded photos to the resume, send the artifact `id` to the corresponding resume field in [CV](#tag/Resume-view/operation/get-resume). To delete it from the resume specify `null`
      requestBody:
        required: true
        content:
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/ArtifactsArtifactUploadBody'
            encoding:
              file:
                contentType: 'image/png, image/jpeg'
      responses:
        '201':
          description: Done. The file has been uploaded
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ArtifactsArtifactItem'
              examples:
                Пример ответа:
                  $ref: '#/components/examples/ArtifactsArtifactUpload'
        '400':
          description: Error in request parameters or adding an image is impossible
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorsArtifactUploadBadJsonData'
        '403':
          description: Current user is not an applicant
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorsCommonBadAuthorizationErrors'
        '413':
          description: Image is too large
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorsRequestEntityTooLargeErrors'
      parameters:
        - $ref: '#/components/parameters/Locale'
        - $ref: '#/components/parameters/Host'
        - $ref: '#/components/parameters/HHUserAgent'
  /artifacts/portfolio:
    x-name: /artifacts/portfolio
    get:
      operationId: get-artifacts-portfolio
      tags:
        - Artifact managing
      summary: Getting portfolios
      description: The method returns a list of previously uploaded images with portfolios. Applicant can use it in CV creating/editing
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ArtifactsArtifactPortfolioResponse'
              examples:
                Пример ответа:
                  $ref: '#/components/examples/ArtifactsArtifactsPortfolio'
        '403':
          description: Current user is not an applicant
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorsCommonBadAuthorizationErrors'
      parameters:
        - $ref: '#/components/parameters/Locale'
        - $ref: '#/components/parameters/Host'
        - $ref: '#/components/parameters/HHUserAgent'
  /artifacts/photo/conditions:
    x-name: /artifacts/photo/conditions
    get:
      operationId: get-artifact-photos-conditions
      tags:
        - Artifact managing
      summary: Conditions for uploading photos
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ArtifactsArtifactConditions'
              examples:
                Пример ответа:
                  $ref: '#/components/examples/ArtifactsArtifactConditions'
        '403':
          description: Current user is not an applicant
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorsCommonBadAuthorizationErrors'
      parameters:
        - $ref: '#/components/parameters/Locale'
        - $ref: '#/components/parameters/Host'
        - $ref: '#/components/parameters/HHUserAgent'
  /artifacts/photo:
    x-name: /artifacts/photo
    get:
      operationId: get-artifact-photos
      tags:
        - Artifact managing
      summary: Getting photos
      description: The method returns a list of previously uploaded photos. Applicant can use it in CV creating/editing
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ArtifactsArtifactPhotoResponse'
              examples:
                Пример ответа:
                  $ref: '#/components/examples/ArtifactsArtifactsPhoto'
        '403':
          description: Current user is not an applicant
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorsCommonBadAuthorizationErrors'
      parameters:
        - $ref: '#/components/parameters/Locale'
        - $ref: '#/components/parameters/Host'
        - $ref: '#/components/parameters/HHUserAgent'
  /dictionaries:
    x-name: /dictionaries
    get:
      operationId: get-dictionaries
      tags:
        - Public directories
      summary: Directories of fields
      description: Directories of fields and entities used in API. The values in the directories may change at any time
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DictionariesDictResponse'
              examples:
                Пример ответа:
                  $ref: '#/components/examples/DictionariesDictionaries'
      parameters:
        - $ref: '#/components/parameters/Locale'
        - $ref: '#/components/parameters/Host'
        - $ref: '#/components/parameters/HHUserAgent'
  /languages:
    x-name: /languages
    get:
      operationId: get-languages
      tags:
        - Public directories
      summary: The list of all languages
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DictionariesLangResponse'
              examples:
                Пример ответа:
                  $ref: '#/components/examples/Languages'
      parameters:
        - $ref: '#/components/parameters/Locale'
        - $ref: '#/components/parameters/Host'
        - $ref: '#/components/parameters/HHUserAgent'
  /educational_institutions:
    x-name: /educational_institutions
    get:
      operationId: get-educational-institutions-dictionary
      tags:
        - Public directories
      summary: Basic information about educational institutions
      parameters:
        - name: id
          in: query
          description: 'Educational institution IDs. ID of specific institution can be obtained using [suggestion](#tag/Suggestions/operation/get-educational-institutions-suggests). No more than 50 values can be sent. For example: `?id=39196&id=45470&id=0`. If you send the ID of a non-existent university, it does not return any information'
          required: true
          schema:
            type: string
        - $ref: '#/components/parameters/Locale'
        - $ref: '#/components/parameters/Host'
        - $ref: '#/components/parameters/HHUserAgent'
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SuggestsEducationalInstitutions'
              examples:
                Пример ответа:
                  $ref: '#/components/examples/SuggestsEducationalInstitutions'
        '400':
          description: 'Incorrect request arguments or [bulk-request error](https://github.com/hhru/api/blob/master/docs_eng/errors.md#bulk-request)'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorsCommonBadArgumentErrors'
  /skills:
    x-name: /skills
    get:
      operationId: get-skills
      tags:
        - Public directories
      summary: The list of key skills
      description: |
        The method returns information on the requested key skills.

        Values in the directory may change at any time
      parameters:
        - name: id
          in: query
          description: 'Key skill IDs. ID of a specific key skill can be obtained using [suggestion](#tag/Suggestions/operation/get-skill-set-suggests). No more than 50 values can be sent. For example: `?id=2716&id=3019&id=0`. If you send the ID of a non-existent key skill, it does not return any information'
          required: true
          schema:
            type: string
        - $ref: '#/components/parameters/Locale'
        - $ref: '#/components/parameters/Host'
        - $ref: '#/components/parameters/HHUserAgent'
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DictionariesSkillsResponse'
              examples:
                Пример ответа:
                  $ref: '#/components/examples/DictionariesSkills'
        '400':
          description: 'Incorrect request arguments or [bulk-request error](https://github.com/hhru/api/blob/master/docs_eng/errors.md#bulk-request)'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorsCommonBadArgumentErrors'
  /professional_roles:
    x-name: /professional_roles
    get:
      operationId: get-professional-roles-dictionary
      tags:
        - Public directories
      summary: Professional role directory
      description: |
        Returns professional roles, their categories and other information about professional roles
      parameters:
        - $ref: '#/components/parameters/Locale'
        - $ref: '#/components/parameters/Host'
        - $ref: '#/components/parameters/HHUserAgent'
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProfessionalRolesCatalog'
        '400':
          $ref: '#/components/responses/ErrorBadArgument'
  '/educational_institutions/{id}/faculties':
    x-name: '/educational_institutions/{id}/faculties'
    get:
      operationId: get-faculties
      tags:
        - Public directories
      summary: List of educational institution faculties
      description: The method returns a faculty list of the specified educational institution
      parameters:
        - name: id
          in: path
          description: 'Educational institution ID, which can be obtained by the [suggestion](#tag/Suggestions/operation/get-educational-institutions-suggests)'
          required: true
          schema:
            type: string
        - $ref: '#/components/parameters/Locale'
        - $ref: '#/components/parameters/Host'
        - $ref: '#/components/parameters/HHUserAgent'
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DictionariesFacultiesResponse'
              examples:
                Пример ответа:
                  $ref: '#/components/examples/DictionariesFaculties'
        '404':
          description: The specified educational institution does not exist
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorsCommonNotFoundErrors'
  /industries:
    x-name: /industries
    get:
      operationId: get-industries
      tags:
        - Public directories
      summary: Industries
      description: Returns two-level directory of all industries
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DictionariesIndustriesResponse'
              examples:
                Пример ответа:
                  $ref: '#/components/examples/DictionariesIndustries'
      parameters:
        - $ref: '#/components/parameters/Locale'
        - $ref: '#/components/parameters/Host'
        - $ref: '#/components/parameters/HHUserAgent'
  '/negotiations/{collection_name}/{nid}':
    x-name: '/negotiations/{collection_name}/{nid}'
    put:
      operationId: change-negotiation-action
      tags:
        - Employer responses/invitations
      summary: Actions with collection response/invitation
      description: |
        Change employer's state (`employer_state`) or applicant's state (`state`) for the negotiation.

        #### Change employer's state for the negotiation

        > Available actions for each negotiation are listed in the `employer_states` array [list of responses/invitations](#tag/Employer-responsesinvitations/operation/get-negotiations).

        To change the response status, make a request from the `actions[].url` parameter of the [response/invitation list](#tag/Employer-responsesinvitations/operation/get-collection-negotiations-list) for the selected response action.
        The request must pass the arguments of the array `actions[].arguments` in `application/x-www-form-urlencoded' format.

        Action examples:

        * delay the response;
        * invite the applicant to an interview in response to the response;
        * reject the applicant.

        #### Change applicant's state for the negotiation

        Changing the applicant's negotiation status affects [response statistics](#tag/Employer-responsesinvitations/operation/get-negotiations-statistics-employer).

        The condition for changing the applicant's negotiation status is sending a message to the applicant in any of the ways:

        - Perform an action with a response/invitation using the `/negotiations/{collection_name}/{nid}` method, with an accompanying message.
        - [Send the message](#tag/Employer-responsesinvitations/operation/send-negotiation-message) in response. The status will change if the method of changing the employer's status without an accompanying message was used before sending.

        In both cases, the applicant's status will change to either an invitation (`invitation`) or a refusal (`discard`)
      parameters:
        - name: collection_name
          in: path
          description: |
            Collection name. Possible values are specified in the `collections[].id` field [list of collections](#tag/Employer-responsesinvitations/operation/get-negotiations)
          required: true
          schema:
            type: string
        - name: nid
          in: path
          description: Negotiation ID
          required: true
          schema:
            type: string
        - $ref: '#/components/parameters/Locale'
        - $ref: '#/components/parameters/Host'
        - $ref: '#/components/parameters/HHUserAgent'
      responses:
        '204':
          $ref: '#/components/responses/SuccessNoContent'
        '400':
          description: An error in request parameters
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorsCommonBadRequestBadArgumentBadRequestAndBadArgumentErrors'
        '403':
          description: The negotiation action cannot be performed
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorsVacancyApplyForbiddenErrors'
        '404':
          description: 'The negotiation is not found, or the user has no access to view the information'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorsNegotiationNegotiationsNotFoundErrors'
  /negotiations:
    x-name: /negotiations
    post:
      operationId: apply-to-vacancy
      tags:
        - Vacancies
      summary: Apply for a vacancy
      description: |
        The request allows a user to apply for a vacancy.

        In order to obtain resumes that can be used to apply for the specific vacancy, use the [list of suitable resumes](#tag/Resume.-Viewing-info/operation/get-suitable-resumes)
      requestBody:
        required: true
        content:
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/VacanciesVacancyApplicationBody'
      responses:
        '201':
          description: Response for a common resume application
          content:
            text/html:
              schema:
                type: string
          headers:
            Location:
              schema:
                type: string
                description: 'A path to the created negotiation. Example: `/negotiations/123`, where `123` — `nid` of the created negotiation'
        '303':
          description: Response for a direct-type resume application
          content:
            text/html:
              schema:
                type: string
          headers:
            Location:
              schema:
                type: string
                description: 'Contains an external URL of the employer''s website. Example: `http://example.com/respond/vacancy`. Use this URL to offer a user to apply for the vacancy using the employer''s website instead of the standard response mechanism'
        '400':
          description: An error in the request parameters
          content:
            application/json:
              schema:
                anyOf:
                  - $ref: '#/components/schemas/ErrorsVacancyApplyBadRequestErrors'
                  - $ref: '#/components/schemas/ErrorsCommonBadArgumentErrors'
        '403':
          description: Applying for the vacancy is impossible
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorsNegotiationNegotiationsBadAuthorizationErrors'
      parameters:
        - $ref: '#/components/parameters/Locale'
        - $ref: '#/components/parameters/Host'
        - $ref: '#/components/parameters/HHUserAgent'
    get:
      operationId: get-negotiations
      tags:
        - Negotiations (responses/invitations) for applicants
        - Employer responses/invitations
      summary: Negotiation list
      description: |
        Returns the list of the applicant's negotiations or negotiation (responses/invitations) collections to employer's [vacancy](#tag/Vacancy-management/operation/get-active-vacancy-list).

        By default, negotiations are sorted by date of change — from new ones to old.

        To obtain the list of active negotiations, specify the `?status=active` parameter in the request
      parameters:
        - name: page
          in: query
          description: Page number
          required: false
          schema:
            type: number
            default: 0
        - name: per_page
          in: query
          description: Number of elements per page
          required: false
          schema:
            type: number
            default: 20
        - name: order_by
          in: query
          description: 'The field to sort the data by. Possible values are specified in the `negotiations_order` field in [directories of fields](#tag/Public-directories/operation/get-dictionaries)'
          required: false
          schema:
            type: string
        - name: order
          in: query
          description: 'Sort order. Possible values are: `asc`, `desc`. Default — `desc`'
          required: false
          schema:
            type: string
        - name: vacancy_id
          in: query
          description: Filter by a vacancy ID. Required for the employer
          required: false
          schema:
            type: string
        - name: status
          in: query
          description: |
            The request returns negotiations only in the specified status.

            Possible values are specified in the `applicant_negotiation_status` field in [directories of fields](#tag/Public-directories/operation/get-dictionaries)
          required: false
          schema:
            type: string
        - name: has_updates
          in: query
          description: |
            If `true`, the request returns the elements only with unread messages. Default — `false`
          required: false
          schema:
            type: boolean
        - name: with_job_search_status
          in: query
          description: |
            If `true`, the request returns applicant's job search status
          required: false
          schema:
            type: boolean
        - name: with_generated_collections
          in: query
          description: |
            If `true`, the request returns information about [responses/invitations collection](https://github.com/hhru/api/blob/master/docs_eng/employer_negotiations.md#term-collection) for the vacancy.

            To get uploads across multiple collections, request it one by one. Default — `false`
          required: false
          schema:
            type: boolean
            default: false
        - $ref: '#/components/parameters/Locale'
        - $ref: '#/components/parameters/Host'
        - $ref: '#/components/parameters/HHUserAgent'
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/NegotiationsListResponse'
              examples:
                Пример ответа (соискатель):
                  $ref: '#/components/examples/NegotiationsListResponse'
                Пример ответа (работодатель):
                  $ref: '#/components/examples/NegotiationsEmployerListResponse'
        '400':
          description: An error in the request parameters
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorsCommonBadRequestBadArgumentBadRequestAndBadArgumentErrors'
        '403':
          description: The current user is not an applicant
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorsCommonBadAuthorizationErrors'
        '404':
          description: 'The vacancy is not found, or the user has no access to view the vacancy'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorsCommonNotFoundErrors'
  '/employers/{employer_id}/managers/{manager_id}/negotiations_statistics':
    x-name: '/employers/{employer_id}/managers/{manager_id}/negotiations_statistics'
    get:
      operationId: get-negotiations-statistics-manager
      tags:
        - Employer responses/invitations
      summary: Negotiation statistics for the manager
      description: |
        Returns statistics for the vacancies responses/invitations of the manager for a period (30 days). Manager statistics are available to the manager himself, as well as to managers with the `main_contact_person` [type](#tag/Employer-managers/operation/get-employer-manager-types).

        Additionally, the manager's [politeness index](https://hh.ru/article/23734) is calculated for all vacancies
      parameters:
        - name: employer_id
          in: path
          description: Employer ID
          required: true
          schema:
            type: string
          example: '1455'
        - name: manager_id
          in: path
          description: Manager ID
          required: true
          schema:
            type: string
        - $ref: '#/components/parameters/Locale'
        - $ref: '#/components/parameters/Host'
        - $ref: '#/components/parameters/HHUserAgent'
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/NegotiationsNegotiationsStatisticsManagerResponse'
              examples:
                Пример ответа:
                  $ref: '#/components/examples/NegotiationsNegotiationsStatisticsManager'
        '403':
          description: The current user is not an manager or an employer
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorsCommonBadAuthorizationErrors'
        '404':
          description: 'The employer or manager is not found, or the user has no access to view the information'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorsCommonNotFoundErrors'
  /negotiations/active:
    x-name: /negotiations/active
    get:
      operationId: get-active-negotiations
      tags:
        - Negotiations (responses/invitations) for applicants
      summary: Active negotiation list
      deprecated: true
      description: |
        Returns the list of active negotiations of the applicant.

        The request is deprecated and is used for backward compatibility. Use [negotiation list request](#tag/Negotiations-(responsesinvitations)-for-applicants/operation/get-negotiations) with the `?status=active` parameter instead
      parameters:
        - name: page
          in: query
          description: Page number
          required: false
          schema:
            type: number
            default: 0
        - name: per_page
          in: query
          description: Number of elements per page. Default — 0
          required: false
          schema:
            type: number
            default: 20
        - name: order_by
          in: query
          description: 'The field to sort the data by. Possible values are specified in the `negotiations_order` field in [directories of fields](#tag/Public-directories/operation/get-dictionaries)'
          required: false
          schema:
            type: string
        - name: order
          in: query
          description: 'Sort order. Possible values are: `asc`, `desc`. Default — `desc`'
          required: false
          schema:
            type: string
        - name: vacancy_id
          in: query
          description: Filter by a vacancy ID
          required: false
          schema:
            type: string
        - name: has_updates
          in: query
          description: |
            If `true`, the request returns the elements only with unread messages. Default — `false`
          required: false
          schema:
            type: boolean
        - name: with_job_search_status
          in: query
          description: |
            If `true`, the request returns applicant's job search status
          required: false
          schema:
            type: boolean
        - $ref: '#/components/parameters/Locale'
        - $ref: '#/components/parameters/Host'
        - $ref: '#/components/parameters/HHUserAgent'
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/NegotiationsListResponse'
              examples:
                Пример ответа:
                  $ref: '#/components/examples/NegotiationsListResponse'
        '400':
          description: An error in the request parameters
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorsCommonBadArgumentErrors'
        '403':
          description: The current user is not an applicant
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorsCommonBadAuthorizationErrors'
  '/message_templates/{template}':
    x-name: '/message_templates/{template}'
    get:
      operationId: get-negotiation-message-templates
      tags:
        - Employer responses/invitations
      summary: Template list for the negotiation
      description: |
        The method requires [paid access for the employer](#operation/get-payable-api-method-access).

        Returns response templates list for a negotiation or resume. It can be used in invitations sent to the applicant or [negotiation actions](#tag/Employer-responsesinvitations/operation/put-negotiations-collection-to-next-state).

        > The number of available templates will depend on the specific negotiation or vacancy and statuses of the vacancy.

        It is recommended to use the URL included in the templates object in the [negotiations list](#tag/Employer-responsesinvitations/operation/get-collection-negotiations-list) and suitable vacancies. Examples:

        ```
        GET /message_templates/{template}?topic_id={topic_id}
        GET /message_templates/{template}?vacancy_id={vacancy_id}&resume_id={resume_id}
        ```
      parameters:
        - name: template
          in: path
          description: |
            Template name. Available options:

            * `invite` — text for invitation of the applicant for a vacancy;
            * `invite_after_response` — text for [invitation after the applicant's response](#tag/Employer-responsesinvitations/operation/put-negotiations-collection-to-next-state);
            * `discard_after_response` — text for [rejection after the response](#tag/Employer-responsesinvitations/operation/put-negotiations-collection-to-next-state);
            * `discard_after_interview` — text for [rejection after invitation of the applicant for an interview](#tag/Employer-responsesinvitations/operation/put-negotiations-collection-to-next-state).

            Template list may change
          required: true
          schema:
            type: string
        - name: topic_id
          in: query
          description: Negotiation ID. It can't be sent at the same time as other parameters
          schema:
            type: string
        - name: vacancy_id
          in: query
          description: Vacancy ID. It's sent together with the `resume_id` parameter only
          schema:
            type: string
        - name: resume_id
          in: query
          description: Resume ID for job invitation. It's sent together with the `vacancy_id` parameter only
          schema:
            type: string
        - $ref: '#/components/parameters/Locale'
        - $ref: '#/components/parameters/Host'
        - $ref: '#/components/parameters/HHUserAgent'
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/NegotiationsNegotiationMessageTemplates'
              examples:
                Пример ответа:
                  $ref: '#/components/examples/NegotiationsNegotiationMessageTemplates'
        '400':
          description: |
            Conflicting request parameters (`topic_id` at the same time as `resume_id` or `vacancy_id`) or no parameters were passed at all. Explanation of possible errors:

            * `topic_id` — 1) the negotiation does not exist or the current user does not have access to it; 2) the negotiation vacancy was archived; 3) the negotiation resume was hidden/deleted;
            * `resume_id` — the resume does not exist or the current user does not have access to it;
            * `vacancy_id` — 1) the vacancy does not exist; 2) the vacancy hidden/archived; 3) the current user does not have access to the vacancy
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorsCommonBadArgumentErrors'
        '403':
          description: Authorization error or there is no access to the paid method
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorsCommonBadAuthorizationErrors'
        '404':
          description: The requested template does not exist
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorsCommonNotFoundErrors'
  /negotiations/response:
    x-name: /negotiations/response
    get:
      operationId: get-collection-negotiations-list
      tags:
        - Employer responses/invitations
      summary: Negotiation list of the collection
      description: |
        Returns the list of negotiation (responses/invitations) for the collection. The URL for the request must be taken from the `collections[].url` field [list of collections](#tag/Employer-responsesinvitations/operation/get-negotiations).

        > Instead of `response`, the parameter `{collection_name}` must be specified. Possible values are specified in the `collections[].id` field [list of collections](#tag/Employer-responsesinvitations/operation/get-negotiations).

        The response will contain only basic information about the resume. To get additional information, for example, a contact phone number, it is necessary to [request a full resume](#tag/Vacancy-management/operation/get-vacancy).

        Some parameters can take multiple values: `key=value&key=value`. If a parameter can take multiple values, this is explicitly stated in its description. Unknown parameters and parameters with an error in its name are ignored.

        > The `phone_calls` collection accepts only the `vacancy_id`, `order_by`, `page` and `per_page` parameters
      parameters:
        - name: vacancy_id
          in: query
          description: Vacancy ID
          required: true
          schema:
            type: string
        - name: order_by
          in: query
          description: |
            Resume list sorting. Possible values are listed in the `resume_search_order` field of the [directories of fields](#tag/Public-directories/operation/get-dictionaries)
          required: false
          schema:
            type: string
        - name: page
          in: query
          description: |
            Number of page, that should be displayed in response. Request applies [standard pagination parameters](#section/General-information/Pagination). Pagination starts from 0
          required: false
          schema:
            type: integer
            default: 0
        - name: per_page
          in: query
          description: |
            Amount of elements, that should be displayed in response. Request applies [standard pagination parameters](#section/General-information/Pagination). Maximum value is `50`
          required: false
          schema:
            type: integer
            default: 20
        - name: age_from
          in: query
          description: Minimum applicant's age in years
          required: false
          schema:
            type: string
        - name: age_to
          in: query
          description: |
            Maximum applicant's age in years
          required: false
          schema:
            type: string
        - name: area
          in: query
          description: |
            Region. Possible values are listed in the [region directory](#tag/Public-directories/operation/get-areas).

            You can specify several values. Resumes of applicants from specified regions or those who ready to move to such regions are selected by default. Enter field `relocation` to change this behavior
          required: false
          schema:
            type: string
        - name: citizenship
          in: query
          description: |
            The country of applicant's citizenship. Possible values are listed in the [directory of countries](#tag/Public-directories/operation/get-countries). Several values can be specified
          required: false
          schema:
            type: string
        - name: currency
          in: query
          description: |
            A currency code. Possible values are listed in the `currency.code` field of the [directories of fields](#tag/Public-directories/operation/get-dictionaries)
          required: false
          schema:
            type: string
        - name: driver_license_types
          in: query
          description: |
            Driver license types. Possible values are listed in the `driver_license_types` field of the [directories of fields](#tag/Public-directories/operation/get-dictionaries). Several values can be specified
          required: false
          schema:
            type: string
        - name: educational_institution
          in: query
          description: |
            The applicant's educational institutions. Suggestions on university names are used as parameters: [/suggests/educational_institutions](#tag/Suggestions/operation/get-educational-institutions-suggests). Several values can be specified
          required: false
          schema:
            type: string
        - name: education_level
          in: query
          description: |
            A level of education. Possible values are listed in the `education_level` field in the [directories of fields](#tag/Public-directories/operation/get-dictionaries). If not specified, the search is performed without any restrictions on the education level
          required: false
          schema:
            type: string
        - name: experience
          in: query
          description: |
            Work experience. Possible values are listed in the `experience` field in the [directories of fields](#tag/Public-directories/operation/get-dictionaries). Several values can be specified
          required: false
          schema:
            type: string
        - name: gender
          in: query
          description: |
            A gender. Possible values are listed in the `gender` field in the [directories of fields](#tag/Public-directories/operation/get-dictionaries)
          required: false
          schema:
            type: string
        - name: language
          in: query
          description: |
            Knowledge of language. You can specify several values. It is set in the format `language.level`, where:

            * `language` — value from the [/languages](#tag/Public-directories/operation/get-languages) directory;
            * `level` — value of the language_level field of the [directories of fields](#tag/Public-directories/operation/get-dictionaries)

            Example: `ita.c2`
          required: false
          schema:
            type: string
        - name: relocation
          in: query
          description: |
            Willingness to relocate. Possible values are listed in the `resume_search_relocation` field in the [directories of fields](#tag/Public-directories/operation/get-dictionaries). You should specify it only with area parameter
          required: false
          schema:
            type: string
        - name: salary_from
          in: query
          description: |
            Minimum desired salary range
          required: false
          schema:
            type: number
        - name: salary_to
          in: query
          description: |
            Maximum desired salary range
          required: false
          schema:
            type: number
        - name: search_radius_meters
          in: query
          description: Distance to the candidate (in meters)
          required: false
          schema:
            type: number
        - name: search_text
          in: query
          description: Search string
          required: false
          schema:
            type: string
        - name: show_only_new_responses
          in: query
          description: |
            Show only unviewed responses of the “All unsorted” collection (`/response`)
          required: false
          schema:
            type: boolean
        - name: show_only_with_vehicle
          in: query
          description: Show applicants with a personal car
          required: false
          schema:
            type: boolean
        - name: show_only_new
          in: query
          description: |
            Show responses that have new messages for all collections other than “All unsorted” collection (`/response`)
          required: false
          schema:
            type: boolean
        - $ref: '#/components/parameters/Locale'
        - $ref: '#/components/parameters/Host'
        - $ref: '#/components/parameters/HHUserAgent'
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/NegotiationsCollectionNegotiationsResponse'
              examples:
                Пример ответа:
                  $ref: '#/components/examples/NegotiationsCollectionNegotiations'
        '400':
          description: An error in the request parameters
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorsCommonBadArgumentErrors'
        '403':
          description: The current user is not an employer or has no access to the method
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorsCommonBadAuthorizationCommonAndPaymentMethodError'
        '404':
          description: 'The vacancy is not found, or the user has no access to view the vacancy'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorsCommonNotFoundErrors'
  /negotiations/phone_interview:
    x-name: /negotiations/phone_interview
    post:
      operationId: invite-applicant-to-vacancy
      tags:
        - Employer responses/invitations
      summary: Invite applicant for a vacancy
      description: |
        Forms an invitation to a vacancy for an applicant of the employer.

        > Instead of `phone_interview`, the parameter `negotiations_actions[].url` must be specified. Possible values are specified in the [list of suitable vacancies](#tag/Vacancy-management/operation/get-active-vacancy-list) by passing arguments from the `negotiations_actions[].arguments` array.

        Request example:

        ```
        POST /negotiations/phone_interview?resume_id=123456&vacancy_id=654321&message=new_msg
        ```
      requestBody:
        content:
          application/x-www-form-urlencoded:
            schema:
              type: object
              properties:
                resume_id:
                  description: Resume ID
                  type: string
                  maximum: 50
                vacancy_id:
                  description: Vacancy ID
                  type: string
                message:
                  description: 'The message to be send to an applicant email. Use [templates](#tag/Employer-responsesinvitations/operation/get-mail-templates) to obtain texts'
                  type: string
                send_sms:
                  description: Set `true` to notify the applicant about the invitation via SMS. Note that the SMS contains a standard text that cannot be changed
                  type: boolean
                  default: false
              required:
                - resume_id
                - vacancy_id
      responses:
        '201':
          description: Result of the invitation
          content:
            text/html:
              schema:
                type: string
          headers:
            Location:
              schema:
                type: string
                description: 'A path to the created negotiation. Example: `/negotiations/123`, where `123` — `nid` of the created negotiation'
        '400':
          description: An error in the request parameters
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorsCommonBadRequestBadArgumentBadRequestAndBadArgumentErrors'
        '403':
          description: Invitation for the vacancy is impossible
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorsVacancyApplyForbiddenErrors'
      parameters:
        - $ref: '#/components/parameters/Locale'
        - $ref: '#/components/parameters/Host'
        - $ref: '#/components/parameters/HHUserAgent'
  '/negotiations/{nid}/test/solution':
    x-name: '/negotiations/{nid}/test/solution'
    get:
      operationId: get-negotiation-test-results
      tags:
        - Employer responses/invitations
      summary: Get test results attached to the vacancy
      description: The request returns information about completed tests of the responded applicant
      parameters:
        - name: nid
          in: path
          description: Negotiation ID
          required: true
          schema:
            type: string
        - $ref: '#/components/parameters/Locale'
        - $ref: '#/components/parameters/Host'
        - $ref: '#/components/parameters/HHUserAgent'
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/NegotiationsNegotiationTestResultsResponse'
              examples:
                Пример ответа:
                  $ref: '#/components/examples/NegotiationsNegotiationTestResults'
        '403':
          description: The current user is not an employer
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorsCommonBadAuthorizationErrors'
        '404':
          description: 'The specified negotiation is not found, or the user has no access to view it'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorsCommonNotFoundErrors'
  '/negotiations/{nid}/messages/{mid}':
    x-name: '/negotiations/{nid}/messages/{mid}'
    put:
      operationId: edit-negotiation-message
      tags:
        - Negotiations (responses/invitations) for applicants
      summary: Edit messages in the response
      description: |
        At the moment, editing is only available for messages in response.

        Message text can be edited after sending, provided the following conditions are met:

        - The message has not been read by the other party.
        - The job vacancy to which the response was sent must be active (not archived).
        - The resume from the response must not be hidden or deleted.
        Conditions may change.

        Each message in [the list of responses](#tag/Employer-responsesinvitations/operation/get-negotiation-item) has an 'editable' field indicating the ability to edit
      parameters:
        - name: nid
          in: path
          description: The response ID
          required: true
          schema:
            type: string
        - name: mid
          in: path
          description: The response message ID
          required: true
          schema:
            type: string
        - $ref: '#/components/parameters/Locale'
        - $ref: '#/components/parameters/Host'
        - $ref: '#/components/parameters/HHUserAgent'
      responses:
        '204':
          $ref: '#/components/responses/SuccessNoContent'
        '403':
          description: Editing is prohibited
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorsNegotiationEditMessageForbiddenErrors'
        '404':
          description: The message is not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorsCommonNotFoundErrors'
  /negotiations/read:
    x-name: /negotiations/read
    post:
      operationId: post-negotiations-topics-read
      tags:
        - Employer responses/invitations
      summary: Mark responses as read
      requestBody:
        content:
          application/x-www-form-urlencoded:
            schema:
              type: object
              properties:
                topic_id:
                  description: Topic IDs
                  type: string
                  maximum: 50
              required:
                - topic_id
      responses:
        '204':
          $ref: '#/components/responses/SuccessNoContent'
        '400':
          description: An error in request parameters
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorsCommonBadArgumentErrors'
        '403':
          description: The current user is not an employer
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorsCommonBadAuthorizationErrors'
        '404':
          description: The topic is not found or unavailable for the current user
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorsCommonNotFoundErrors'
      parameters:
        - $ref: '#/components/parameters/Locale'
        - $ref: '#/components/parameters/Host'
        - $ref: '#/components/parameters/HHUserAgent'
  '/negotiations/active/{nid}':
    x-name: '/negotiations/active/{nid}'
    delete:
      operationId: hide-active-response
      tags:
        - Negotiations (responses/invitations) for applicants
      summary: Hide response
      parameters:
        - name: nid
          in: path
          description: Response ID
          required: true
          schema:
            type: string
        - name: with_decline_message
          in: query
          description: |
            Whether a refusal message should be sent to the employer (default - `false`). The ability to send a refusal message is determined by the `decline_allowed` field, which is returned by the system in response to the request for a [list response or one response](https://github.com/hhru/api/blob/e2a0ac4e174a6b56272f78348c05958f5db1b392/docs_eng/errors.md#negotiations-responsesinvitations)
          required: false
          schema:
            type: boolean
        - $ref: '#/components/parameters/Locale'
        - $ref: '#/components/parameters/Host'
        - $ref: '#/components/parameters/HHUserAgent'
      responses:
        '204':
          $ref: '#/components/responses/SuccessNoContent'
        '403':
          description: Refusal message cannot be sent
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorsNegotiationHideResponseForbiddenErrors'
        '404':
          description: The response does not exist
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorsCommonNotFoundErrors'
        '425':
          description: The chat of response/invitation is not ready
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorsNegotiationHideResponseTooEarlyErrors'
  '/negotiations/{id}':
    x-name: '/negotiations/{id}'
    get:
      operationId: get-negotiation-item
      tags:
        - Negotiations (responses/invitations) for applicants
        - Employer responses/invitations
      summary: Viewing the response/invitation
      description: |
        Returns information about the negotiations by its ID.

        The employer can get the request URL from the [negotiations list](#tag/Employer-responsesinvitations/operation/get-collection-negotiations-list) (`items[].url` field).

        > !! Please note that the methods for handling response/invitation messages on behalf of the [applicant](#tag/Negotiations-(responsesinvitations)-for-applicants/operation/get-negotiation-messages) and [employer manager](#tag/Employer-responsesinvitations/operation/get-negotiation-messages) are deprecated and the new chat capabilities will not be supported in these methods. As such, correspondence may not display correctly
      parameters:
        - name: id
          in: path
          description: Negotiation ID
          required: true
          schema:
            type: string
        - $ref: '#/components/parameters/Locale'
        - $ref: '#/components/parameters/Host'
        - $ref: '#/components/parameters/HHUserAgent'
      responses:
        '200':
          description: Response/invitation is received
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/NegotiationsNegotiationGetResponse'
              examples:
                Пример ответа (соискатель):
                  $ref: '#/components/examples/NegotiationsNegotiationItem'
                Пример ответа (работодатель):
                  $ref: '#/components/examples/NegotiationsEmployerNegotiationItem'
        '403':
          description: The current user is not an employer
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorsCommonBadAuthorizationErrors'
        '404':
          description: 'The specified negotiation is not found, or the user has no access to view it'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorsNegotiationNegotiationsNotFoundErrors'
    put:
      operationId: put-negotiations-collection-to-next-state
      tags:
        - Employer responses/invitations
      summary: Actions with responses/invitations
      description: |
        Employer can change the state of responses/invitations in order to improve feedbacks and to facilitate handling of response statistics.

        The method changes the state of the response and sends a corresponding message to the applicant.

        If the employer use this method to send a message about a change of response/invitation state to an applicant (`message` field in the request body), it also triggers the change of applicant's state of the response/invitation.

        Requirements for request body arguments depend on particular response/invitation. You can check requirements in the `actions.arguments` field of [response/invitation list](#tag/Employer-responsesinvitations/operation/get-collection-negotiations-list)
      parameters:
        - name: id
          in: path
          description: 'ID of a [collection](#tag/Employer-responsesinvitations/operation/get-negotiations) where the state of response will be transferred'
          required: true
          schema:
            type: string
            example: discard
        - $ref: '#/components/parameters/Locale'
        - $ref: '#/components/parameters/Host'
        - $ref: '#/components/parameters/HHUserAgent'
      requestBody:
        content:
          application/x-www-form-urlencoded:
            schema:
              type: object
              properties:
                topic_id:
                  description: Topic IDs
                  type: string
                address_id:
                  description: |
                    An [address ID](#tag/Employer-addresses/operation/get-employer-addresses) to be specified in invitation
                  type: string
                message:
                  description: 'The message to be send to an applicant email. Use [templates](#tag/Employer-responsesinvitations/operation/get-mail-templates) to obtain texts'
                  type: string
                send_sms:
                  description: Set `true` to notify the applicant about the invitation via SMS. Note that the SMS contains a standard text that cannot be changed
                  type: boolean
                  default: false
              required:
                - topic_id
      responses:
        '204':
          $ref: '#/components/responses/SuccessNoContent'
        '400':
          description: An error in request parameters
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorsCommonBadArgumentErrors'
        '403':
          description: Response/invitation access error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorsNegotiationForbiddenErrors'
        '404':
          description: The topic is not found or unavailable for the current user
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorsCommonNotFoundErrors'
  '/employers/{employer_id}/negotiations_statistics':
    x-name: '/employers/{employer_id}/negotiations_statistics'
    get:
      operationId: get-negotiations-statistics-employer
      tags:
        - Employer responses/invitations
      summary: Negotiation statistics for the company
      description: |
        Returns statistics for the vacancies responses/invitations of the company for a period (30 days).

        Additionally, the company's [politeness index](https://hh.ru/article/23734) is calculated for all vacancies
      parameters:
        - name: employer_id
          in: path
          description: Employer ID
          required: true
          schema:
            type: string
          example: '1455'
        - $ref: '#/components/parameters/Locale'
        - $ref: '#/components/parameters/Host'
        - $ref: '#/components/parameters/HHUserAgent'
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/NegotiationsNegotiationsStatisticsEmployerResponse'
              examples:
                Пример ответа:
                  $ref: '#/components/examples/NegotiationsNegotiationsStatisticsEmployer'
        '403':
          description: The current user is not an employer
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorsCommonBadAuthorizationErrors'
        '404':
          description: 'The employer is not found, or the user has no access to view the information'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorsCommonNotFoundErrors'
  '/negotiations/{nid}/messages':
    x-name: '/negotiations/{nid}/messages'
    post:
      operationId: send-negotiation-message
      tags:
        - Negotiations (responses/invitations) for applicants
        - Employer responses/invitations
      summary: Sending new message
      description: |
        Sends new negotiation message.

        Applicant or employer can send a new message in the following cases:

        * The employer invited the applicant for a vacancy.
        * The applicant left a response to the vacancy.

        Negotiation is unavailable if the vacancy is archived or the applicant deleted the resume. Employer can also disable the negotiation for the vacancy manually.

        ‼️ Please note that the methods for handling response/invitation messages on behalf of the [applicant](#tag/Negotiations-(responsesinvitations)-for-applicants/operation/get-negotiation-messages) and
          [employer manager](#tag/Employer-responsesinvitations/operation/get-negotiation-messages) are deprecated and the new chat capabilities will not be supported in these methods. As such, correspondence may not display correctly
      parameters:
        - name: nid
          in: path
          description: Negotiation ID
          required: true
          schema:
            type: string
        - $ref: '#/components/parameters/Locale'
        - $ref: '#/components/parameters/Host'
        - $ref: '#/components/parameters/HHUserAgent'
      requestBody:
        content:
          application/x-www-form-urlencoded:
            schema:
              type: object
              properties:
                message:
                  description: The negotiation message
                  type: string
      responses:
        '201':
          description: |
            The message is sent. 
            Be noticed returned employer content type is `text/html` and applicant type is `application/json`
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/NegotiationsMessageSent'
              examples:
                Пример ответа (соискатель):
                  $ref: '#/components/examples/NegotiationsMessageSent'
            text/html:
              schema:
                type: string
        '400':
          description: Request parameters error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorsCommonNotFoundErrors'
        '403':
          description: Failed to send the message
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorsNegotiationNegotiationsBadAuthorizationErrors'
        '404':
          description: 'The specified negotiation is not found, or the user has no access to view the negotiation'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorsNegotiationNegotiationsNotFoundErrors'
    get:
      operationId: get-negotiation-messages
      tags:
        - Negotiations (responses/invitations) for applicants
        - Employer responses/invitations
      summary: View the list of messages in the negotiation
      description: |
        Returns a list of all messages of the selected response/invitation. The employer can view the list by the URL specified in the `messages` field of the [response/invitation list](#tag/Employer-responsesinvitations/operation/get-negotiations) or in a [response](#tag/Employer-responsesinvitations/operation/get-negotiation-item).  

        Types of messages:

        * the applicant's cover letter;
        * a cover letter from the employer when changing the negotiation status;
        * free conversation between the applicant and the employer.

        ‼️ Please note that the methods for handling response/invitation messages on behalf of the [applicant](#tag/Negotiations-(responsesinvitations)-for-applicants/operation/get-negotiation-messages) and
          [employer manager](#tag/Employer-responsesinvitations/operation/get-negotiation-messages) are deprecated and the new chat capabilities will not be supported in these methods. As such, correspondence may not display correctly
      parameters:
        - name: nid
          in: path
          description: Negotiation ID
          required: true
          schema:
            type: string
        - name: with_text_only
          in: query
          description: Return non-empty messages (contain text in the `text` parameter)
          required: false
          schema:
            type: boolean
            default: false
        - $ref: '#/components/parameters/Locale'
        - $ref: '#/components/parameters/Host'
        - $ref: '#/components/parameters/HHUserAgent'
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/NegotiationsMessagesGetResponse'
              examples:
                Пример ответа:
                  $ref: '#/components/examples/NegotiationsMessageGet'
  '/vacancies/drafts/{draft_id}':
    x-name: '/vacancies/drafts/{draft_id}'
    get:
      operationId: get-vacancy-draft
      tags:
        - Vacancy draft
      summary: Obtaining a vacancy draft
      parameters:
        - name: draft_id
          in: path
          description: Draft ID
          required: true
          schema:
            type: string
        - $ref: '#/components/parameters/Locale'
        - $ref: '#/components/parameters/Host'
        - $ref: '#/components/parameters/HHUserAgent'
      responses:
        '200':
          description: Successful response contains information about the created draft and additional information about fields
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/VacancyDraftVacancyDraftFull'
              examples:
                Пример ответа:
                  $ref: '#/components/examples/VacancyDraftVacancyDraftFull'
        '403':
          description: The current user is not an employer
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorsCommonBadAuthorizationErrors'
        '404':
          description: The draft is not found or the user has no access to view the draft
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorsCommonNotFoundErrors'
    put:
      operationId: change-vacancy-draft
      tags:
        - Vacancy draft
      summary: Editing a vacancy draft
      parameters:
        - name: draft_id
          in: path
          description: Draft ID
          required: true
          schema:
            type: string
        - $ref: '#/components/parameters/Locale'
        - $ref: '#/components/parameters/Host'
        - $ref: '#/components/parameters/HHUserAgent'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/VacancyDraftVacancyDraftEdit'
            examples:
              Пример запроса:
                $ref: '#/components/examples/VacancyDraftVacancyDraftCreate'
      responses:
        '200':
          description: Successful response contains information about the edited draft and additional information about fields
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/VacancyDraftDraftResponseSchema'
        '400':
          description: Format of specified file is not JSON
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorsCommonBadJsonDataErrors'
        '403':
          description: The current user is not an employer or not the owner of the draft
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorsCommonBadAuthorizationErrors'
        '404':
          description: The draft is not found
          content:
            application/json:
              schema:
                oneOf:
                  - $ref: '#/components/schemas/ErrorsCommonNotFoundErrors'
    delete:
      operationId: delete-vacancy-draft
      tags:
        - Vacancy draft
      summary: Deleting a vacancy draft
      parameters:
        - name: draft_id
          in: path
          description: Draft ID
          required: true
          schema:
            type: string
        - $ref: '#/components/parameters/Locale'
        - $ref: '#/components/parameters/Host'
        - $ref: '#/components/parameters/HHUserAgent'
      responses:
        '204':
          description: Successful query execution. The draft has been deleted
        '403':
          description: The current user is not an employer
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorsCommonBadAuthorizationErrors'
        '404':
          description: The draft is not found or the user does not have permission to delete the draft
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorsCommonNotFoundErrors'
  '/vacancies/drafts/{draft_id}/publish':
    x-name: '/vacancies/drafts/{draft_id}/publish'
    post:
      operationId: publish-vacancy-from-draft
      tags:
        - Vacancy draft
      summary: Publishing a vacancy from draft
      parameters:
        - name: draft_id
          in: path
          description: Vacancy draft identifier
          required: true
          schema:
            type: string
          example: '1110031'
        - $ref: '#/components/parameters/Locale'
        - $ref: '#/components/parameters/Host'
        - $ref: '#/components/parameters/HHUserAgent'
      responses:
        '201':
          description: Array of published vacancies
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/VacancyDraftVacanciesDraftResponse'
        '400':
          description: Errors in vacancy draft fields
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorsVacancyErrors'
        '403':
          description: Authorization is not on behalf employer manager
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorsCommonBadAuthorizationErrors'
        '404':
          description: Draft is not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorsCommonNotFoundErrors'
  '/vacancies/drafts/{draft_id}/duplicates':
    x-name: '/vacancies/drafts/{draft_id}/duplicates'
    get:
      operationId: search-for-vacancy-draft-duplicates
      tags:
        - Vacancy draft
      summary: Checking for duplicates of a vacancy draft
      parameters:
        - name: draft_id
          in: path
          description: Vacancy draft identifier
          required: true
          schema:
            type: string
          example: '12358'
        - $ref: '#/components/parameters/Locale'
        - $ref: '#/components/parameters/Host'
        - $ref: '#/components/parameters/HHUserAgent'
      responses:
        '200':
          description: Information about found duplicates of the vacancy draft
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/VacancyDuplicates'
              examples:
                Пример ответа:
                  $ref: '#/components/examples/VacancyDuplicates'
        '403':
          description: The current user is not an employer
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorsCommonBadAuthorizationErrors'
        '404':
          description: The draft is not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorsCommonNotFoundErrors'
  /vacancies/drafts:
    x-name: /vacancies/drafts
    post:
      operationId: create-vacancy-draft
      tags:
        - Vacancy draft
      summary: Creating vacancy draft
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/VacancyDraftVacancyDraftCreate'
            examples:
              Пример запроса:
                $ref: '#/components/examples/VacancyDraftVacancyDraftCreate'
      responses:
        '201':
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/VacancyDraftDraftResponseSchema'
        '400':
          description: Request has not correct JSON-format
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorsCommonBadJsonDataErrors'
        '403':
          description: Authorization is not on behalf employer manager
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorsCommonBadAuthorizationErrors'
        '429':
          description: Vacancies draft limit exceeded
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorsDraftError'
      parameters:
        - $ref: '#/components/parameters/Locale'
        - $ref: '#/components/parameters/Host'
        - $ref: '#/components/parameters/HHUserAgent'
    get:
      operationId: get-vacancy-draft-list
      tags:
        - Vacancy draft
      summary: Getting a list of vacancy drafts
      parameters:
        - name: page
          in: query
          description: 'Page number (from 0, by default — 0)'
          required: false
          schema:
            type: number
        - name: per_page
          in: query
          description: 'Number of elements per page (by default — 20, maximum — 50)'
          required: false
          schema:
            type: number
        - $ref: '#/components/parameters/Locale'
        - $ref: '#/components/parameters/Host'
        - $ref: '#/components/parameters/HHUserAgent'
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/VacancyDraftVacancyDraftItems'
              examples:
                Пример ответа:
                  $ref: '#/components/examples/VacancyDraftVacancyDraftItems'
        '403':
          description: Current user is not employer
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorsCommonBadAuthorizationErrors'
  /vacancies/auto_publication:
    x-name: /vacancies/auto_publication
    delete:
      operationId: disable-automatic-vacancy-publication
      tags:
        - Vacancy draft
      summary: Canceling vacancy auto publication
      parameters:
        - name: draft_id
          in: query
          description: Draft ID
          required: true
          schema:
            type: string
        - $ref: '#/components/parameters/Locale'
        - $ref: '#/components/parameters/Host'
        - $ref: '#/components/parameters/HHUserAgent'
      responses:
        '204':
          description: 'Successful response, auto publication will not be done'
        '400':
          description: No `draft_id` specified
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorsCommonBadArgumentErrors'
        '403':
          description: The current user is not an employer
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorsCommonBadAuthorizationErrors'
        '404':
          description: The draft is not found or the user has no access to delete this auto publication
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorsCommonNotFoundErrors'
  '/webhook/subscriptions/{subscription_id}':
    x-name: '/webhook/subscriptions/{subscription_id}'
    put:
      operationId: change-webhook-subscription
      tags:
        - Webhook API
      summary: Change a subscription on notifications
      parameters:
        - name: subscription_id
          in: path
          description: Subscription ID
          required: true
          schema:
            type: string
          example: '1455'
        - $ref: '#/components/parameters/Locale'
        - $ref: '#/components/parameters/Host'
        - $ref: '#/components/parameters/HHUserAgent'
      description: |
        You can update either one field (send only updated one) or both fields at once. 

        To update `actions` you should specify full list of event types according to which notifications will be composed. Specified event types are not added to event types that user is already subscripted.

        Empty `actions` list cannot be specified
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/WebhookSubscriptionUpdate'
      responses:
        '204':
          $ref: '#/components/responses/SuccessNoContent'
        '400':
          description: Request parameter error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorsCommonBadJsonDataErrors'
        '403':
          description: The current user is an employer
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorsCommonBadAuthorizationErrors'
        '404':
          description: Subscription is not found or the current user has no access to the subscription
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorsCommonNotFoundErrors'
    delete:
      operationId: cancel-webhook-subscription
      tags:
        - Webhook API
        - Managing Webhook Subscriptions
      summary: Delete a subscription on notifications
      parameters:
        - name: subscription_id
          in: path
          description: Subscription ID
          required: true
          schema:
            type: string
          example: '1455'
        - $ref: '#/components/parameters/Locale'
        - $ref: '#/components/parameters/Host'
        - $ref: '#/components/parameters/HHUserAgent'
      responses:
        '204':
          $ref: '#/components/responses/SuccessNoContent'
        '403':
          description: Authorization Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorsCommonBadAuthorizationErrors'
        '404':
          description: Subscription is not found or the current user has no access to the subscription
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorsCommonNotFoundErrors'
  /webhook/subscriptions:
    x-name: /webhook/subscriptions
    post:
      operationId: post-webhook-subscription
      tags:
        - Webhook API
      summary: Subscription to notifications
      description: |
        You can subscribe to only one URL in an application. You cannot subscribe to multiple URLs with multiple actions.

        When an event happens, the system sends a POST request with JSON-body on the specified URL (**see "Callback" section below**).

        Response codes are: 
        * `2xx Success` — in case of success,
        * `409 Conflict` — in case of conflict, when the message is duplicated.

        Duplicates are possible if:
        * the url to which the callback was sent did not respond in 2 sec;
        * the server could not establish a connection to the url to which the callback should be sent;
        * the url responded with an unexpected code (other than `2xx Success` or `409 Conflict`)

        In these cases, the server adds the callback to the resend queue, with increasing interval between resends.

        If your service responses with unsuccessful codes for a long time, a notification letter will be sent to the app developer's email, the subscription will be queued for blocking, and callbacks will be stopped. 

        If your service responds with the expected code during the period of time before the application is blocked, the subscription is excluded from the blocking queue.

        Subscriptions to notifications are deleted when the owner deletes the application or the user withdraws application access. If access is granted again, you should resubscribe the users.

        Webhooks are not a guaranteed delivery service. We send all the messages, but we do not guarantee that recipient will get it

        The structure and contents of callbacks are described in the [callbacks](#callbacks) section
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/WebhookSubscriptionCreate'
      responses:
        '201':
          $ref: '#/components/responses/SuccessCreated'
        '400':
          description: Error in request parameters
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/WebhookBadDataError'
        '403':
          description: |
            The current <a name="callbacks"></a> user is not an employer
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorsCommonBadAuthorizationErrors'
      callbacks:
        onData:
          /url_used_for_subscription:
            post:
              requestBody:
                description: A sent object
                content:
                  application/json:
                    schema:
                      oneOf:
                        - $ref: '#/components/schemas/WebhookSendObjectBaseUser'
              responses:
                '409':
                  description: Codes 2** or 409 as a response on our outgoing message are accepted as a success
                2XX:
                  description: Codes 2** or 409 as a response on our outgoing message are accepted as a success
      parameters:
        - $ref: '#/components/parameters/Locale'
        - $ref: '#/components/parameters/Host'
        - $ref: '#/components/parameters/HHUserAgent'
    get:
      operationId: get-webhook-subscriptions
      tags:
        - Webhook API
      summary: Obtain the list of notifications that the user is subscripted
      parameters:
        - $ref: '#/components/parameters/Locale'
        - $ref: '#/components/parameters/Host'
        - $ref: '#/components/parameters/HHUserAgent'
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/WebhookSubscriptionsOutput'
        '403':
          description: The current user is not an employer
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorsCommonBadAuthorizationErrors'
  '/employers/{employer_id}/tests':
    x-name: '/employers/{employer_id}/tests'
    get:
      operationId: get-tests-dictionary
      tags:
        - Employer directories
      summary: Employer's test directory
      description: Returns the list of employer's saved tests
      parameters:
        - name: employer_id
          in: path
          description: Employer ID
          required: true
          schema:
            type: string
        - $ref: '#/components/parameters/Locale'
        - $ref: '#/components/parameters/Host'
        - $ref: '#/components/parameters/HHUserAgent'
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/EmployerDictionariesTestsResponse'
              examples:
                Пример ответа:
                  $ref: '#/components/examples/EmployerDictionariesTests'
        '403':
          description: Authorization error. The user is not an employer
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorsCommonBadAuthorizationErrors'
        '404':
          description: The employer is not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorsCommonNotFoundErrors'
  '/employers/{employer_id}/vacancy_areas/active':
    x-name: '/employers/{employer_id}/vacancy_areas/active'
    get:
      operationId: get-employer-vacancy-areas
      tags:
        - Employer info
      summary: List of regions with active vacancies
      description: |
        The method shows the list of regions that currently have active vacancies.

        The values in the directory may change at any time
      parameters:
        - name: employer_id
          in: path
          description: 'Employer ID that can be obtained in the [information on the current user](#tag/Employer-info/operation/get-current-user-info)'
          required: true
          schema:
            type: string
        - $ref: '#/components/parameters/Locale'
        - $ref: '#/components/parameters/Host'
        - $ref: '#/components/parameters/HHUserAgent'
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/EmployersEmployerVacancyAreasResponse'
              examples:
                Пример ответа:
                  $ref: '#/components/examples/EmployersEmployerVacancyAreas'
        '400':
          description: Query parameter error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorsCommonBadArgumentErrors'
        '403':
          description: Current user has no access to view the information
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorsCommonBadAuthorizationErrors'
        '404':
          description: The employer is not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorsCommonNotFoundErrors'
  '/employers/{employer_id}':
    x-name: '/employers/{employer_id}'
    get:
      operationId: get-employer-info
      tags:
        - Employer
      summary: Employer info
      description: Returns the data about the employer with a link to the employer's vacancies
      parameters:
        - name: employer_id
          in: path
          description: 'Employer ID, which can be obtained by [employer search](#tag/Employer/operation/search-employer)'
          required: true
          schema:
            type: string
        - $ref: '#/components/parameters/Locale'
        - $ref: '#/components/parameters/Host'
        - $ref: '#/components/parameters/HHUserAgent'
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/EmployersEmployerInfo'
              examples:
                Пример ответа:
                  $ref: '#/components/examples/EmployersEmployerInfoExample'
        '400':
          description: Request parameters error
          content:
            application/json: {}
        '404':
          description: The employer is not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorsCommonNotFoundErrors'
  '/employers/blacklisted/{employer_id}':
    x-name: '/employers/blacklisted/{employer_id}'
    put:
      operationId: add-employer-to-blacklisted
      tags:
        - Blacklisted employers
      summary: Adding an employer to the blacklist
      description: 'Adds the specified employer to the [list of hidden employers](#tag/Blacklisted-employers/operation/get-blacklisted-employers)'
      parameters:
        - name: employer_id
          in: path
          description: Employer's ID
          required: true
          schema:
            type: string
        - $ref: '#/components/parameters/Locale'
        - $ref: '#/components/parameters/Host'
        - $ref: '#/components/parameters/HHUserAgent'
      responses:
        '204':
          $ref: '#/components/responses/SuccessNoContent'
        '400':
          description: The maximum number of items in the list is exceeded
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorsEmployerBlacklistedErrors'
        '403':
          description: The current user is not an applicant or has no access to add employers to the blacklist
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorsCommonBadAuthorizationErrors'
        '404':
          description: The employer is not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorsEmployerBlacklistedNotFoundErrors'
    delete:
      operationId: delete-employer-from-blacklisted
      tags:
        - Blacklisted employers
      summary: Deleting an employer from the blacklist
      description: 'Deletes the specified employer from the [list of hidden employers](#tag/Blacklisted-employers/operation/get-blacklisted-employers)'
      parameters:
        - name: employer_id
          in: path
          description: Employer's ID
          required: true
          schema:
            type: string
        - $ref: '#/components/parameters/Locale'
        - $ref: '#/components/parameters/Host'
        - $ref: '#/components/parameters/HHUserAgent'
      responses:
        '204':
          $ref: '#/components/responses/SuccessNoContent'
        '403':
          description: The current user is not an applicant
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorsCommonBadAuthorizationErrors'
        '404':
          description: The employer is not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorsEmployerBlacklistedNotFoundErrors'
  /employers:
    x-name: /employers
    get:
      operationId: search-employer
      tags:
        - Employer
      summary: Employer search
      description: 'For page parameters (`page`, `per_page`) there is a limit: the depth of returned results cannot exceed `5000`. For example, a request `per_page=10&page=499` (search results from `4991` to `5000` employers) is possible, but a request with `per_page=10&page=500` returns an error (results from 5001 to 5010 employers)'
      parameters:
        - name: text
          in: query
          description: Text field. Sent value is searched in the name and description of the employer
          required: false
          schema:
            type: string
        - name: area
          in: query
          description: 'Employer region ID, multiple parameter. You can find region ID in the [directory of regions](#tag/Public-directories/operation/get-areas)'
          required: false
          schema:
            type: string
        - name: type
          in: query
          description: 'Type of the employer, multiple parameter. Allowed values are listed in the [directory](#tag/Public-directories/operation/get-dictionaries) in the `employer_type` field'
          required: false
          schema:
            type: string
        - name: only_with_vacancies
          in: query
          description: Whether query returns only employers who have open vacancies at the moment (`true`) or all employers (`false`). Default — `false`
          required: false
          schema:
            type: boolean
        - name: sort_by
          in: query
          description: Sort by name (`by_name`) or by opened vacancies count (`by_vacancies_open`). Default — `by_name`
          required: false
          schema:
            type: string
            enum:
              - by_name
              - by_vacancies_open
        - name: page
          in: query
          description: 'Number of page with employers (counted up from 0, default is 0)'
          required: false
          schema:
            type: number
        - name: per_page
          in: query
          description: 'Number of elements on a page (default — 20, max value — 100)'
          required: false
          schema:
            type: number
        - $ref: '#/components/parameters/Locale'
        - $ref: '#/components/parameters/Host'
        - $ref: '#/components/parameters/HHUserAgent'
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/EmployersEmployersList'
              examples:
                Пример ответа:
                  $ref: '#/components/examples/EmployersEmployersExample'
        '400':
          description: Error in the request parameters. The response body can contain details of the field with error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorsCommonBadArgumentErrors'
  '/employers/{employer_id}/departments':
    x-name: '/employers/{employer_id}/departments'
    get:
      operationId: get-employer-departments
      tags:
        - Employer info
      summary: Employer's department directory
      description: |
        The method returns employer's department list.

        Values in the directory may change at any time
      parameters:
        - name: employer_id
          in: path
          description: 'Employer ID that can be obtained from [the employer list](#tag/Employer/operation/search-employer)'
          required: true
          schema:
            type: string
        - $ref: '#/components/parameters/Locale'
        - $ref: '#/components/parameters/Host'
        - $ref: '#/components/parameters/HHUserAgent'
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/EmployersEmployerDepartmentsResponse'
              examples:
                Пример ответа:
                  $ref: '#/components/examples/EmployersEmployerDepartments'
        '403':
          description: Current user has no access to view the information
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorsCommonBadAuthorizationErrors'
        '404':
          description: The employer is not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorsCommonNotFoundErrors'
  '/employers/{employer_id}/vacancy_branded_templates':
    x-name: '/employers/{employer_id}/vacancy_branded_templates'
    get:
      operationId: get-vacancy-branded-templates-list
      tags:
        - Employer info
      summary: Employer's branded vacancy templates
      description: |
        Attention! The values in the directories may change at any time. Do not address them directly.

        Branded templates are available for those employers who paid for and activated the respective service. 
        See more details on the [hh.ru](https://hh.ru/article/brand) website
      parameters:
        - name: employer_id
          in: path
          description: Employer ID
          required: true
          schema:
            type: string
          example: '12345'
        - $ref: '#/components/parameters/Locale'
        - $ref: '#/components/parameters/Host'
        - $ref: '#/components/parameters/HHUserAgent'
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/EmployersVacancyBrandedTemplatesList'
        '403':
          description: Current user is not authorized or is not an employer
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorsCommonBadAuthorizationErrors'
        '404':
          description: Templates for this company are not available or the company doesn't exist
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorsCommonNotFoundErrors'
  /employers/blacklisted:
    x-name: /employers/blacklisted
    get:
      operationId: get-blacklisted-employers
      tags:
        - Blacklisted employers
      summary: List of hidden employers
      description: 'Returns [subset of employers](#tag/Employer/operation/search-employer) hidden by the user as well as an additional parameter'
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/EmployersEmployersBlacklistedResponse'
              examples:
                Пример ответа:
                  $ref: '#/components/examples/EmployersEmployersBlacklisted'
        '403':
          description: The current user is not an applicant
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorsCommonBadAuthorizationErrors'
      parameters:
        - $ref: '#/components/parameters/Locale'
        - $ref: '#/components/parameters/Host'
        - $ref: '#/components/parameters/HHUserAgent'
  /districts:
    x-name: /districts
    get:
      operationId: get-all-districts
      tags:
        - Public directories
      summary: List of available city districts
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DictionariesDistrictsResponse'
              examples:
                Пример ответа:
                  $ref: '#/components/examples/DistrictsDistricts'
      parameters:
        - $ref: '#/components/parameters/Locale'
        - $ref: '#/components/parameters/Host'
        - $ref: '#/components/parameters/HHUserAgent'
  '/salary_statistics/paid/salary_evaluation/{area_id}':
    x-name: '/salary_statistics/paid/salary_evaluation/{area_id}'
    get:
      operationId: get-salary-evaluation
      tags:
        - Salary Database
        - Database of salary statistics
      summary: Salary assessment without forecasts
      description: |
        Returns salary statistics according to specified query parameters. The user must have access to paid reports of the [Salary Database](https://salary.hh.ru/).

        How it works:

        * The main data source for statistics is the salary information that is provided by participants of the [Salary Database project](https://salary.hh.ru/promo).
        * All participant's questionnaires are checked by moderators. If the declared salary differs drastically from market average salary, it is not included in the salary database.
        * If the amount of data in the database is not enough to create statistics for the query, the service uses the following procedures:

            * Combines information from multiple industries if the data about the requested industry is insufficient .
            * Combines information from several closely related specializations if the data about the requested specialization is insufficient.
            * Combines information from multiple cities within a region if the data about the requested city is insufficient.
            * Uses information about the requested specializations from another region, if the data about the requested region  is insufficient. In this case, the service applies an adjustment factor that reflects the difference in salaries between regions.

            If this procedures do not make it possible to obtain a sample collection big enough, the service can use information about salaries from vacancies and resumes. Such information does not subject to moderation checks, so it is considered less reliable and is used only as a last resort. To use this function, pass the `extend_sources=true` parameter in the request
      parameters:
        - name: area_id
          in: path
          description: |
            Dictionary [region code](#tag/Salary-Database-directories/operation/get-salary-salary-areas) on which the sample collection is based to generate the report
          required: true
          schema:
            type: string
        - name: exclude_area
          in: query
          description: |
            Dictionary [Region code](#tag/Salary-Database-directories/operation/get-salary-salary-areas) that is excluded from the sample collection to generate the report. The parameter is used to obtain assessments in the regional market with the exception of certain cities/regions
          required: false
          schema:
            type: string
        - name: employee_level
          in: query
          description: |
            Dictionary [Competency levels](#tag/Salary-Database-directories/operation/get-salary-employee-levels) which is included in the sample to generate the report
          required: false
          schema:
            type: string
        - name: industry
          in: query
          description: |
            Dictionary [Industry codes](#tag/Salary-Database-directories/operation/get-salary-industries) on which the sample is based to generate the report
          required: false
          schema:
            type: string
        - name: speciality
          in: query
          description: |
            Dictionary [Codes of professional areas](#tag/Salary-Database-directories/operation/get-salary-professional-areas) and specializations which is included in the sample to generate the report
          required: false
          schema:
            type: string
        - name: extend_sources
          in: query
          description: |
            Whether the service can use data from resumes and vacancies if the Salary Database contains not enough data that corresponds to the specified parameters. Default — `false`
          required: false
          schema:
            type: boolean
        - name: position_name
          in: query
          description: |
            Position name. If the `speciality` or `employee_level` is not specified, the service determines the possible specializations and level of employee for the specified position and industry. Then it makes the report using them
          required: false
          schema:
            type: string
        - $ref: '#/components/parameters/Locale'
        - $ref: '#/components/parameters/Host'
        - $ref: '#/components/parameters/HHUserAgent'
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SalaryStatisticsEvaluationResponse'
              examples:
                Пример ответа:
                  $ref: '#/components/examples/SalaryStatisticsEvaluation'
        '400':
          description: Error in the request parameters
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorsCommonBadAuthorizationBadParameters'
        '403':
          description: The user is not authorized or has no access to paid reports of the Salary Database
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorsCommonBadAuthorizationErrors'
        '404':
          description: No data available for the specified parameters
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorsCommonNotFoundErrors'
  /metro:
    x-name: /metro
    get:
      operationId: get-metro-stations
      tags:
        - Public directories
      summary: The list of metro stations in all cities
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/MetroMetroResponse'
              examples:
                Пример ответа:
                  $ref: '#/components/examples/MetroMetro'
      parameters:
        - $ref: '#/components/parameters/Locale'
        - $ref: '#/components/parameters/Host'
        - $ref: '#/components/parameters/HHUserAgent'
  '/metro/{city_id}':
    x-name: '/metro/{city_id}'
    get:
      operationId: get-metro-stations-in-city
      tags:
        - Public directories
      summary: The list of metro stations in the specified city
      parameters:
        - name: city_id
          in: path
          description: City ID
          required: true
          schema:
            type: string
        - $ref: '#/components/parameters/Locale'
        - $ref: '#/components/parameters/Host'
        - $ref: '#/components/parameters/HHUserAgent'
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/MetroCityMetroItem'
              examples:
                Пример ответа:
                  $ref: '#/components/examples/MetroCityMetro'
        '404':
          description: A city with the specified ID does not exist
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorsCommonNotFoundErrors'
  '/saved_searches/resumes/{saved_search_id}/managers/{manager_id}':
    x-name: '/saved_searches/resumes/{saved_search_id}/managers/{manager_id}'
    put:
      operationId: move-saved-resume-search
      tags:
        - Saved resume searches
      summary: Moving saved resumes search to other manager
      parameters:
        - name: saved_search_id
          in: path
          description: 'Autosearch ID that can be obtained in [list of saved resume searches](#tag/Saved-resume-searches/operation/get-saved-resume-searches)'
          required: true
          schema:
            type: string
        - name: manager_id
          in: path
          description: 'Manager ID ([managers of this company](#tag/Employer-managers/operation/get-employer-managers))'
          required: true
          schema:
            type: string
        - $ref: '#/components/parameters/Locale'
        - $ref: '#/components/parameters/Host'
        - $ref: '#/components/parameters/HHUserAgent'
      responses:
        '204':
          $ref: '#/components/responses/SuccessNoContent'
        '403':
          description: The current user is not an employer
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorsSavedSearchForbiddenErrors'
        '404':
          $ref: '#/components/responses/ErrorSavedSearchNotFound'
  '/vacancies/{vacancy_id}/resumes_by_status':
    x-name: '/vacancies/{vacancy_id}/resumes_by_status'
    get:
      operationId: get-resumes-by-status
      tags:
        - Resume. Viewing info
      summary: Resumes grouped by the possibility of application for a given job
      description: Returns the applicant's resumes grouped into four lists depending on the ability to apply for a job
      parameters:
        - name: vacancy_id
          in: path
          description: Vacancy ID
          required: true
          schema:
            type: string
        - $ref: '#/components/parameters/Locale'
        - $ref: '#/components/parameters/Host'
        - $ref: '#/components/parameters/HHUserAgent'
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ResumesByStatusResponse'
              examples:
                Пример ответа:
                  $ref: '#/components/examples/ResumesByStatus'
        '403':
          description: The current user is not an applicant
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorsCommonBadAuthorizationErrors'
  '/resumes/{resume_id}/status':
    x-name: '/resumes/{resume_id}/status'
    get:
      operationId: get-resume-status
      tags:
        - Resume. Viewing information
      summary: Resume status and readiness for publication
      description: |
        Returns information about the resume status and its readiness for publication, as well as moderator comments regarding the specified resume
      parameters:
        - name: resume_id
          in: path
          description: Resume ID
          required: true
          schema:
            type: string
        - $ref: '#/components/parameters/Locale'
        - $ref: '#/components/parameters/Host'
        - $ref: '#/components/parameters/HHUserAgent'
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ResumeStatusReadiness'
              examples:
                Пример ответа:
                  $ref: '#/components/examples/ResumeStatusReadiness'
        '403':
          description: The current user is not an applicant
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorsCommonBadAuthorizationErrors'
        '404':
          description: The resume does not exist or is not available for the current user
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorsCommonNotFoundErrors'
  '/resumes/{resume_id}/negotiations_history':
    x-name: '/resumes/{resume_id}/negotiations_history'
    get:
      operationId: get-resume-negotiations-history
      tags:
        - Employer responses/invitations
      summary: History of responses/invitations for a resume
      description: |
        The list contains the last actions with the resumes specified: no more than 30 jobs of this employer and no more than 10 status changes in responses/invitations for each of these jobs.

        The method requires [paid access for the employer](#tag/Employer-services/operation/get-payable-api-method-access)
      parameters:
        - name: resume_id
          in: path
          description: Resume ID
          required: true
          schema:
            type: string
        - $ref: '#/components/parameters/Locale'
        - $ref: '#/components/parameters/Host'
        - $ref: '#/components/parameters/HHUserAgent'
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ResumesResumeNegotiationsHistoryResponse'
              examples:
                Пример ответа:
                  $ref: '#/components/examples/ResumesResumeNegotiationsHistory'
        '403':
          description: The current user is not an employer
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorsCommonBadAuthorizationErrors'
        '404':
          description: The resume does not exist or is not available for the current user
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorsCommonNotFoundErrors'
  '/saved_searches/resumes/{id}':
    x-name: '/saved_searches/resumes/{id}'
    get:
      operationId: get-saved-resume-search
      tags:
        - Saved resume searches
      summary: Getting single saved resume search
      description: |
        Note: the `new_items.count` counter is updated once an hour. Because of this, the actual number of new resumes found 
        may differ from the value of this counter
      parameters:
        - name: id
          in: path
          description: Saved resume search ID
          required: true
          schema:
            type: string
        - $ref: '#/components/parameters/Locale'
        - $ref: '#/components/parameters/Host'
        - $ref: '#/components/parameters/HHUserAgent'
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SavedSearchesSavedSearchItem'
              examples:
                Пример ответа:
                  $ref: '#/components/examples/SavedSearchesSavedSearchResumeItem'
        '403':
          description: The current user is not an employer
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorsCommonBadAuthorizationErrors'
        '404':
          description: Saved search is not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorsCommonNotFoundErrors'
    put:
      operationId: update-saved-resume-search
      tags:
        - Saved resume searches
      summary: Updating saved resume search
      description: You can change subscription name and status for saved search. Only one parameter can be changed at a time
      parameters:
        - name: id
          in: path
          description: Saved resume search ID
          required: true
          schema:
            type: string
        - name: name
          in: query
          description: New search name
          required: false
          schema:
            type: string
        - name: subscription
          in: query
          description: Subscription status
          required: false
          schema:
            type: boolean
        - $ref: '#/components/parameters/Locale'
        - $ref: '#/components/parameters/Host'
        - $ref: '#/components/parameters/HHUserAgent'
      responses:
        '204':
          $ref: '#/components/responses/SuccessNoContent'
        '400':
          $ref: '#/components/responses/ErrorBadArgument'
        '403':
          $ref: '#/components/responses/ErrorBadAuthorization'
        '404':
          $ref: '#/components/responses/ErrorNotFound'
        '409':
          $ref: '#/components/responses/ErrorBothChangedConflict'
    delete:
      operationId: delete-saved-resume-search
      tags:
        - Saved resume searches
      summary: Deleting saved resume search
      parameters:
        - name: id
          in: path
          description: Saved resume search ID
          required: true
          schema:
            type: string
        - $ref: '#/components/parameters/Locale'
        - $ref: '#/components/parameters/Host'
        - $ref: '#/components/parameters/HHUserAgent'
      responses:
        '204':
          $ref: '#/components/responses/SuccessNoContent'
        '403':
          $ref: '#/components/responses/ErrorBadAuthorization'
        '404':
          $ref: '#/components/responses/ErrorNotFound'
  /resumes:
    x-name: /resumes
    post:
      operationId: create-resume
      tags:
        - Resume. Creating and updating
      summary: Resume creating
      deprecated: true
      description: |
        Creates a resume with fields that are specified in the request body.

        If the `source_resume_id` parameter is specified, the new resume will be a clone of the specified one. You can clone only your own resume.

        Additional rules for resume fields:

        * An applicant cannot have several resumes with the same `title`.
        * All specializations must be from the same professional area.
        * The place of residence must be an element from the `/areas` directory. That element cannot have daughter objects. For example, the user cannot specify "Russia" as the place of residence.
        * The nearest metro station must be located in the place of residence.
        * For specializations from the "Start of career, students" (`id=15`) professional area, it is not necessary to specify work experience. For other professional areas these fields must contain at least one entry
      parameters:
        - name: source_resume_id
          in: query
          description: ID of original resume for cloning
          schema:
            type: string
        - $ref: '#/components/parameters/Locale'
        - $ref: '#/components/parameters/Host'
        - $ref: '#/components/parameters/HHUserAgent'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ResumeAddResumeRequest'
            examples:
              Пример запроса:
                $ref: '#/components/examples/ResumesCreateResume'
      responses:
        '201':
          description: Created successfully
          content:
            text/html:
              schema:
                type: string
          headers:
            Location:
              schema:
                type: string
                description: 'Path to the created resume. Example: `/resumes/123`, here `123` is the created resume ID'
        '400':
          description: An error in resume parameters or a limit of resumes is reached
          content:
            application/json:
              schema:
                oneOf:
                  - $ref: '#/components/schemas/ErrorsResumeBadArgTooManyResumesErrors'
                  - $ref: '#/components/schemas/ErrorsCommonBadRequestErrors'
        '403':
          description: Authorization error. The user is not an applicant
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorsCommonBadAuthorizationErrors'
        '404':
          description: The original resume for cloning does not exist or does not belong to the current user
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorsCommonNotFoundErrors'
        '409':
          description: Cannot create a resume for an archived vacancy
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorsResumeAddEditConflictErrors'
    get:
      operationId: search-for-resumes
      tags:
        - Resume search
      summary: Resume search
      description: |
        Returns the results of resume search.

        The method requires [paid access](#tag/Employer-services/operation/get-payable-api-method-access).

        Some parameters can take multiple values: `key=value&key=value`. If a parameter can take multiple values, this is explicitly stated in its description. Unknown parameters and parameters with an error in its name are ignored.

        When specifying paging parameters (`page`, `per_page`), a restriction takes effect: the number of results returned cannot exceed `2000`. For instance, a request `per_page=10&page=199` (displaying resume from `1991` to `2000`) is possible, but a request with `per_page=10&page=200` returns an error (displaying resume from `2001` to `2010`).

        Resume search results are grouped by applicant. This means that the query results will contain one resume out of several resumes of an applicant
      parameters:
        - name: text
          in: query
          description: |
            Search phrase. Finds resumes that have all the words from the set phrase.

            Features:

            * Several values can be specified. Each additional `text` refines the search. 
            * You can use [search query language](http://hh.ru/article.xml?articleId=1175) as a search phrase. 
            * There is special [autocompletion](#tag/Suggestions/operation/get-resume-search-keywords-suggests) for the field.
            * To tune the phrase settings, you can use the following parameters: `text.logic`, `text.field`, `text.period`. When using extra `text.*` fields, you must specify the whole set (trine) of parameters ([examples](#tag/Resume-search/Search-request-examples))
          schema:
            type: string
        - name: text.logic
          in: query
          description: |
            Describes how the search works. Possible values are listed in the `resume_search_logic` field in [directories of fields](#tag/Public-directories/operation/get-dictionaries)
          schema:
            type: string
        - name: text.field
          in: query
          description: |
            Describes where words from the `text` search phrase should be found.

            In the `text.field` parameter you can specify several values separated by commas, e.g. `?text.field=education,keywords`. Possible values are listed in the `resume_search_fields` field in [directories of fields](#tag/Public-directories/operation/get-dictionaries)
          schema:
            type: string
        - name: text.period
          in: query
          description: |
            A period for searching in work experience.

            The parameter works only when `text.field` equals one of: `experience`, `experience_company`, `experience_position`, `experience_description` parameters, but it must always be specified when you specify other `text.*` parameters. If parameter does not work, it's value can be empty
          schema:
            type: string
        - name: text.company_size
          in: query
          description: |
            The size of the company where the applicant must have work experience.  
            This parameter is applied only if `text.field` has one of the following values: `workplaces`, `workplace_organization`, `workplace_position`, `workplace_description`.  

            Possible values:  
            * `any` — any company size;
            * `small` — companies with up to 100 employees;
            * `medium` — companies with 100-1000 employees;
            * `large` — companies with more than 1000 employees.

            The number of values of this parameter must be the same as the number of values in `text`, `text.field`, and `text.logic`
          schema:
            type: string
        - name: text.industry
          deprecated: true
          in: query
          description: |
            The industry identifier in which the applicant must have work experience.  
            Possible values are listed in the [industry directory](https://api.hh.ru/openapi/en/redoc#tag/Public-directories/operation/get-industries) (field `id`).  

            The number of values of this parameter must be the same as the number of values in `text`, `text.field`, and `text.logic`
          schema:
            type: string
        - name: age_from
          in: query
          description: |
            Minimum applicant's age in years.

            Note that the search results will include resumes with unspecified age by default. To see resumes with specified age only, specify `only_with_age` value for the `label` parameter
          schema:
            type: string
        - name: age_to
          in: query
          description: |
            Maximum applicant's age in years.

            Note that the search results will include resumes with unspecified age by default. To see resumes with specified age only, specify `only_with_age` value for the `label` parameter
          schema:
            type: string
        - name: area
          in: query
          description: |
            Region. Possible values are listed in the [region directory](https://github.com/hhru/api/blob/master/docs_eng/areas.md).

            You can specify several values. Resumes of applicants from specified regions or those who ready to move to such regions are selected by default. Enter field `relocation` to change this behavior
          schema:
            type: string
        - name: relocation
          in: query
          description: |
            Willingness to relocate. Possible values are listed in the `resume_search_relocation` field in the [directories of fields](#tag/Public-directories/operation/get-dictionaries). You should specify it only with area parameter
          schema:
            type: string
        - name: period
          in: query
          description: |
            The search is performed only for resumes published in the given time period (in days). If not specified, the search is performed without any restrictions on the publication date
          schema:
            type: number
        - name: date_from
          in: query
          description: |
            The date the search should start from.

            The value is specified in the [ISO 8601](#date-format) format — `YYYY-MM-DD` or with up-to-the-second precision `YYYY-MM-DDThh:mm:ss±hhmm`. You can not specify it with the `period` parameter
          schema:
            type: string
        - name: date_to
          in: query
          description: |
            A date until which the search should be performed.

            The value is specified in the [ISO 8601](#date-format) format — `YYYY-MM-DD` or with up-to-the-second precision `YYYY-MM-DDThh:mm:ss±hhmm`. You can specify it only with the `date_from` parameter. You can not specify it with the `period` parameter
          schema:
            type: string
        - name: education_level
          deprecated: true
          in: query
          description: |
            A level of education. Possible values are listed in the `education_level` field in the [directories of fields](#tag/Public-directories/operation/get-dictionaries). If not specified, the search is performed without any restrictions on the education level
          schema:
            type: string
        - name: employment
          in: query
          description: |
            Employment type. Possible values are listed in the `employment` field in the [directories of fields](#tag/Public-directories/operation/get-dictionaries). You can specify several values
          schema:
            type: string
        - name: experience
          in: query
          description: |
            Work experience. Possible values are listed in the `experience` field in the [directories of fields](#tag/Public-directories/operation/get-dictionaries). Several values can be specified
          schema:
            type: string
        - name: skill
          in: query
          description: |
            Key skills. At least one key skill identifier should be specified. You can get values from the `id` field in the [key skills suggestion](#tag/Suggestions/operation/get-skill-set-suggests)
          schema:
            type: string
        - name: gender
          in: query
          description: |
            A gender. Possible values are listed in the `gender` field in the [directories of fields](#tag/Public-directories/operation/get-dictionaries)
          schema:
            type: string
        - name: label
          in: query
          description: |
            An extra filter. Possible values are listed in the `resume_search_label` field in the [directories of fields](#tag/Public-directories/operation/get-dictionaries). You can specify several values
          schema:
            type: string
        - name: language
          in: query
          description: |
            Knowledge of language. You can specify several values. It is set in the format `language.level`, where:

            * `language` — value from the [/languages](#tag/Public-directories/operation/get-languages) directory;
            * `level` — value of the language_level field of the [directories of fields](#tag/Public-directories/operation/get-dictionaries)

            Example: `ita.c2`
          schema:
            type: string
        - name: metro
          in: query
          description: |
            A metro line or station. You can specify several values

            Possible values are listed in the [/metro](#tag/Public-directories/operation/get-metro-stations) directory
          schema:
            type: string
        - name: currency
          in: query
          description: |
            A currency code. Possible values are listed in the `currency.code` field of the [directories of fields](#tag/Public-directories/operation/get-dictionaries)
          schema:
            type: string
        - name: salary_from
          in: query
          description: |
            Minimum desired salary range
          schema:
            type: number
        - name: salary_to
          in: query
          description: |
            Maximum desired salary range
          schema:
            type: number
        - name: schedule
          in: query
          description: |
            Work schedule. Possible values are listed in the `schedule` field of the [directories of fields](#tag/Public-directories/operation/get-dictionaries). You can specify several values
          schema:
            type: string
        - name: order_by
          in: query
          description: |
            Resume list sorting. Possible values are listed in the `resume_search_order` field of the [directories of fields](#tag/Public-directories/operation/get-dictionaries)
          schema:
            type: string
        - name: citizenship
          in: query
          description: |
            The country of applicant's citizenship. Possible values are listed in the [directory of countries](https://github.com/hhru/api/blob/master/docs_eng/areas.md#region-directory-starting-from-the-indicated-region). Several values can be specified
          schema:
            type: string
        - name: work_ticket
          in: query
          description: |
            A country which the applicant is permitted to work in. You can find possible values in the [directory of countries](https://github.com/hhru/api/blob/master/docs_eng/areas.md#region-directory-starting-from-the-indicated-region). Several values can be specified
          schema:
            type: string
        - name: educational_institution
          in: query
          description: |
            The applicant's educational institutions. Suggestions on university names are used as parameters: [/suggests/educational_institutions](#tag/Suggestions/operation/get-educational-institutions-suggests). Several values can be specified
          schema:
            type: string
        - name: search_in_responses
          in: query
          description: |
            If `true`, the search is performed only by resumes that applicants used to response the employer's vacancies. If `false` — the search is carried out by all resumes. By default — `false`
          schema:
            type: boolean
        - name: by_text_prefix
          in: query
          description: |
            If `true`, the search is performed by prefix. For every `text` parameter the search results are not only exact matchings but also words that begin with `text`. Default — `false`
          schema:
            type: boolean
        - name: driver_license_types
          in: query
          description: |
            Driver license types. Possible values are listed in the `driver_license_types` field of the [directories of fields](#tag/Public-directories/operation/get-dictionaries). Several values can be specified
          schema:
            type: string
        - name: vacancy_id
          in: query
          description: |
            Vacancy ID for searching similar resumes. You should specify ID of active or archived employer's vacancy
          schema:
            type: string
        - name: page
          in: query
          description: 'Page number (counts from 0, default — 0)'
          schema:
            type: number
        - name: per_page
          in: query
          description: 'Number of elements (default — 20, maximum value — 100)'
          schema:
            type: number
        - name: professional_role
          in: query
          description: |
            Professional role. Possible values are listed in the [professional role directory](#tag/Public-directories/operation/get-professional-roles-dictionary). Several values can be specified
          schema:
            type: string
        - name: folder
          in: query
          description: |
            The ID of the folder with favorite resumes. The search will be limited to the contents of the specified folder. Multiple folder IDs can be passed, for example: `folder=111&folder=222&folder=333`
          schema:
            type: string
        - name: include_all_folders
          in: query
          description: |
            The parameter indicates whether it is necessary to search through all folders with favorite resumes. If a manager has access to favorite folders, the search will be limited to favorite folders by default

            If you pass the `include_all_folders=false parameter`, the search will not be limited to any folder. The `400 Bad Request` error will be returned if `folder` and `include_all_folders` parameters are passed in the same request
          schema:
            type: boolean
        - name: job_search_status
          in: query
          description: |
            Status of job search.

            Possible values are listed in the `job_search_statuses_employer` field of the [directories of fields](#tag/Public-directories/operation/get-dictionaries). Several values can be specified
          schema:
            type: string
        - name: resume
          in: query
          description: |
            Resume identifier for searching similar resumes
          schema:
            type: string
        - name: filter_exp_industry
          in: query
          description: |
            Processed in conjunction with the `filter_exp_period` parameter. The industry identifier in which the applicant must have work experience.
            Possible values are listed in the [industries dictionary](#tag/Public-directories/operation/get-industries) (`id` field). Multiple values can be specified
          schema:
            type: string
        - name: filter_exp_period
          in: query
          description: |
            The period in which the applicant should have work experience in the industry specified in the `filter_exp_industry` parameter.

            Possible values:
              
            * `all_time` — for all time
            * `last_year` — for the last year
            * `last_three_years` — for the last three years
            * `last_six_years` — for the last six years.

            By default, it is set to `all_time`
          schema:
            type: string
        - name: with_job_search_status
          in: query
          description: |
            The parameter for obtaining a resume with an applicant search status
          schema:
            type: boolean
        - name: education_levels
          in: query
          description: |
            The required education level of the applicant.
            Possible values are listed in the `education_level` field in the [field dictionary](#tag/Public-directories/operation/get-dictionaries).  

            If this parameter is not specified, the search is done without any restrictions on the education level
          schema:
            type: string
        - name: district
          in: query
          description: |
            The district identifier. Possible values are provided in the [/districts](#tag/Public-directories/operation/get-all-districts) directory
          schema:
            type: string
        - name: saved_search_id
          in: query
          description: |
            The identifier of the saved autosearch.  
            It is returned in the `items.url` and `new_items.url` fields when [retrieving data about a specific autosearch](#tag/Saved-resume-searches/operation/get-saved-resume-search) and in the `items.items.url` and `items.new_items.url` fields when [retrieving the list of auto-searches](#tag/Saved-resume-searches/operation/get-saved-resume-searches).  
            Using this parameter when searching for resumes updates the `last_used_timestamp` value in the specified autosearch
          schema:
            type: string
        - name: search_by_vacancy_id
          in: query
          description: |
            The job vacancy ID to search for resumes among its responses
          schema:
            type: string
        - name: last_used_timestamp
          in: query
          description: |
            The timestamp of the last time the autosearch results were viewed.  
            It is used together with the `saved_search_id` parameter to find and count new resumes that match the query and have appeared since the last view.  
            The number of new resumes is returned in the `new_items.count` field when retrieving data for a specific autosearch and in the `items.new_items.count` field when retrieving a list of autosearches
          schema:
            type: string
        - name: last_used
          in: query
          description: |
            The date and time of the last autosearch results view, including the time zone.  
            Example: 2015-11-12T18:06:04+0300.  
            It is used together with the `saved_search_id` parameter to find and count new resumes that match the query and have appeared since the last view.  
            The number of new resumes is returned in the `new_items.count` field when retrieving data for a specific autosearch and in the `items.new_items.count` field when retrieving a list of autosearches
          schema:
            type: string
        - $ref: '#/components/parameters/Locale'
        - $ref: '#/components/parameters/Host'
        - $ref: '#/components/parameters/HHUserAgent'
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ResumesSearchForResumesResponse'
              examples:
                Пример ответа:
                  $ref: '#/components/examples/ResumesSearchForResumes'
        '400':
          description: Errors in arguments or request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorsCommonBadRequestBadArgumentBadRequestAndBadArgumentErrors'
        '403':
          description: The current user is not an employer or has no access to the method
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorsCommonBadAuthorizationCommonAndPaymentMethodError'
  /resumes/mine:
    x-name: /resumes/mine
    get:
      operationId: get-mine-resumes
      tags:
        - Resume. Viewing info
      summary: List of resumes for current user
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ResumesMineResponse'
              examples:
                Пример ответа:
                  $ref: '#/components/examples/ResumesMineResumes'
        '403':
          description: The current user is not an applicant
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorsCommonBadAuthorizationErrors'
      parameters:
        - $ref: '#/components/parameters/Locale'
        - $ref: '#/components/parameters/Host'
        - $ref: '#/components/parameters/HHUserAgent'
  '/resumes/{resume_id}/publish':
    x-name: '/resumes/{resume_id}/publish'
    post:
      operationId: publish-resume
      tags:
        - Resume. Publication
      summary: Resume publication
      description: |
        The resume can be used as soon as it is first published. Subsequent publications prolong the resume and update its renewal date.

        Subsequent publications will update the renewal date of the resume. `next_publish_at` key in the [resume](#tag/Resume.-Viewing-info/operation/get-mine-resumes) indicates when the resume can be updated
      parameters:
        - name: resume_id
          in: path
          description: Resume ID
          required: true
          schema:
            type: string
        - $ref: '#/components/parameters/Locale'
        - $ref: '#/components/parameters/Host'
        - $ref: '#/components/parameters/HHUserAgent'
      responses:
        '204':
          $ref: '#/components/responses/SuccessNoContent'
        '400':
          description: Publication or prolongation is not available
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorsBadRequestPublishResumeErrors'
        '403':
          description: The user is not an applicant
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorsCommonBadAuthorizationErrors'
        '404':
          description: Resume does not exist or is not available for current user
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorsCommonNotFoundErrors'
        '429':
          description: Resume cannot be prolonged yet
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorsResumeTooManyRequestsApplicantErrors'
  /resume_conditions:
    x-name: /resume_conditions
    get:
      operationId: get-new-resume-conditions
      tags:
        - Resume. Field conditions
      summary: Conditions to fill in the fields of a new resume
      description: Returns a list of conditions for the fields of a new resume
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ResumesResumeConditions'
              examples:
                Пример ответа:
                  $ref: '#/components/examples/ResumesResumeConditions'
        '403':
          description: The current user is not an applicant
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorsCommonBadAuthorizationErrors'
      parameters:
        - $ref: '#/components/parameters/Locale'
        - $ref: '#/components/parameters/Host'
        - $ref: '#/components/parameters/HHUserAgent'
  '/vacancies/{vacancy_id}/suitable_resumes':
    x-name: '/vacancies/{vacancy_id}/suitable_resumes'
    get:
      operationId: get-suitable-resumes
      tags:
        - Resume. Viewing info
      summary: List of resumes suitable for job application
      description: |
        Returns information about the resumes that the applicant can use to apply for the specified vacancy.

        As an alternative you can also use the [resumes_by_status](#tag/Resume.-Viewing-info/operation/get-resumes-by-status) method
      parameters:
        - name: vacancy_id
          in: path
          description: Vacancy ID
          required: true
          schema:
            type: string
        - $ref: '#/components/parameters/Locale'
        - $ref: '#/components/parameters/Host'
        - $ref: '#/components/parameters/HHUserAgent'
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ResumesSuitableResumesResponse'
              examples:
                Пример ответа:
                  $ref: '#/components/examples/ResumesSuitableResumes'
        '403':
          description: The current user is not an applicant
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorsCommonBadAuthorizationErrors'
        '404':
          description: The vacancy is not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorsCommonNotFoundErrors'
  '/resumes/{resume_id}/conditions':
    x-name: '/resumes/{resume_id}/conditions'
    get:
      operationId: get-resume-conditions
      tags:
        - Resume. Field conditions
      summary: Conditions to fill in the fields of an existent resume
      description: Returns a list of conditions for the fields of an existent resume
      parameters:
        - name: resume_id
          in: path
          description: Resume ID
          required: true
          schema:
            type: string
        - $ref: '#/components/parameters/Locale'
        - $ref: '#/components/parameters/Host'
        - $ref: '#/components/parameters/HHUserAgent'
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ResumesResumeConditions'
              examples:
                Пример ответа:
                  $ref: '#/components/examples/ResumesResumeConditions'
        '403':
          description: The current user is not the resume owner
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorsCommonBadAuthorizationErrors'
        '404':
          description: The resume does not exist
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorsCommonNotFoundErrors'
  '/resumes/{resume_id}/views':
    x-name: '/resumes/{resume_id}/views'
    get:
      operationId: get-resume-view-history
      tags:
        - Resume. Viewing info
      summary: History of resume views
      description: |
        Returns the viewing history for the resume.

        The request sets to zero the counter of new views, which returns as the `new_views` field in the [resume view](#tag/Resume-view/operation/get-resume) and [resume list](#tag/Resume.-Viewing-info/operation/get-mine-resumes) requests
      parameters:
        - name: resume_id
          in: path
          description: Resume ID
          required: true
          schema:
            type: string
        - name: with_employer_logo
          in: query
          description: Whether to show logo for the company
          required: false
          schema:
            type: boolean
        - $ref: '#/components/parameters/Locale'
        - $ref: '#/components/parameters/Host'
        - $ref: '#/components/parameters/HHUserAgent'
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ResumesResumeViewHistoryResponse'
              examples:
                Пример ответа:
                  $ref: '#/components/examples/ResumesResumeViewHistory'
        '403':
          description: The current user is not an applicant
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorsCommonBadAuthorizationErrors'
        '404':
          description: The resume does not exist or is not available for the current user
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorsCommonNotFoundErrors'
  '/resumes/{resume_id}':
    x-name: '/resumes/{resume_id}'
    get:
      operationId: get-resume
      tags:
        - Resume view
        - Resume. Viewing info
        - Information about the resume
      summary: View a resume
      description: |
        Returns information about the specified resume.

        Features in case of the request made by an employer:

        * [Paid access](#tag/Employer-services/operation/get-payable-api-method-access) is required.
        * For viewing a resume with contact info the [special rules](https://github.com/hhru/api/blob/master/docs_eng/payable/resume.md#contact-data) are in force.
        * If it is not possible to view the full information on the resume with the current authorization, some fields will contain `null`, and the `can_view_full_info` field will be `false`.
        * If the employer has a response/invitation for this resume, the response will be registered as viewed (only if the query parameter "topic_id"  is passed with the corresponding response ID)
      parameters:
        - name: resume_id
          in: path
          description: Resume ID
          required: true
          schema:
            type: string
        - name: with_negotiations_history
          in: query
          description: |
            If this parameter is passed, the response will be added with the negotiations_history.vacancies field.
            Its format is described on the [detailed history of responses/invitations for a resume page](#tag/Employer-responsesinvitations/operation/get-resume-negotiations-history), and the only difference is that in this case
            the list will be limited to 3 jobs of this employer and the latest status change for the response/invitation for each of these jobs
          required: false
          schema:
            type: boolean
        - name: with_creds
          in: query
          description: 'If this parameter is passed, the creds field will be added to the response'
          required: false
          schema:
            type: boolean
        - name: with_job_search_status
          in: query
          description: |
            The parameter for obtaining a resume with an applicant search status
          required: false
          schema:
            type: boolean
        - $ref: '#/components/parameters/Locale'
        - $ref: '#/components/parameters/Host'
        - $ref: '#/components/parameters/HHUserAgent'
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ResumeResumeViewResponse'
              examples:
                Пример ответа для соискателя:
                  $ref: '#/components/examples/ResumeResumeViewApplicant'
                Пример ответа для работодателя:
                  $ref: '#/components/examples/ResumeResumeViewEmployer'
            text/html:
              schema:
                type: string
        '403':
          description: User authorization is needed
          content:
            application/json:
              schema:
                oneOf:
                  - $ref: '#/components/schemas/ErrorsCommonBadAuthCaptchaPrivate'
        '404':
          description: The resume does not exist or is not available to the user
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorsCommonNotFoundErrors'
        '429':
          description: The daily limit of resume views is exceeded for the employer
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorsResumeTooManyRequestsEmployerErrors'
    delete:
      operationId: delete-resume
      tags:
        - Resume. Creating and updating
      summary: Deleting a resume
      description: The method deletes a resume without the possibility of restoration. All responses associated with this resume are also deleted
      parameters:
        - name: resume_id
          in: path
          description: Resume ID
          required: true
          schema:
            type: string
        - $ref: '#/components/parameters/Locale'
        - $ref: '#/components/parameters/Host'
        - $ref: '#/components/parameters/HHUserAgent'
      responses:
        '204':
          $ref: '#/components/responses/SuccessNoContent'
        '403':
          description: Authorization error. The user is not an applicant
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorsCommonBadAuthorizationErrors'
        '404':
          description: The resume is not found or is not available to the current user
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorsCommonNotFoundErrors'
    put:
      operationId: edit-resume
      tags:
        - Resume. Creating and updating
      summary: Resume updating
      deprecated: true
      description: |
        Updates the specified resume with fields that are listed in the request body.

        An array in the request body overrides the existing array. If you want to add a new element to an existing array, you should also list in the request all the existing elements of the array. Here, in the request sample, English language is added to the previously specified Russian.

        Additional rules for resume fields:

        * An applicant cannot have several resumes with the same `title`.
        * All specializations must be from the same professional area.
        * The place of residence must be an element from the `/areas` directory. That element cannot have daughter objects. For example, the user cannot specify "Russia" as the place of residence.
        * The nearest metro station must be located in the place of residence.
        * For specializations from the "Start of career, students" (`id=15`) professional area, it is not necessary to specify work experience. For other professional areas these fields must contain at least one entry
      parameters:
        - name: resume_id
          in: path
          description: Resume ID
          required: true
          schema:
            type: string
        - $ref: '#/components/parameters/Locale'
        - $ref: '#/components/parameters/Host'
        - $ref: '#/components/parameters/HHUserAgent'
      requestBody:
        required: false
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ResumeEditResumeRequest'
            examples:
              Пример запроса:
                $ref: '#/components/examples/ResumesEditResume'
      responses:
        '204':
          $ref: '#/components/responses/SuccessNoContent'
        '400':
          description: An error in resume parameters
          content:
            application/json:
              schema:
                oneOf:
                  - $ref: '#/components/schemas/ErrorsResumeBadArgumentResumeErrors'
                  - $ref: '#/components/schemas/ErrorsCommonBadRequestErrors'
        '403':
          description: Authorization error. The user is not an applicant
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorsCommonBadAuthorizationErrors'
        '404':
          description: The resume does not exist or does not belong to the current user
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorsCommonNotFoundErrors'
  /resumes/creation_availability:
    x-name: /resumes/creation_availability
    get:
      operationId: get-resume-creation-availability
      tags:
        - Resume. Creating and updating
      summary: Availability of resume creation
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ResumesCreationAvailability'
              examples:
                Пример ответа:
                  $ref: '#/components/examples/ResumesCreationAvailability'
        '403':
          description: The user is not an applicant
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorsCommonBadAuthorizationErrors'
      parameters:
        - $ref: '#/components/parameters/Locale'
        - $ref: '#/components/parameters/Host'
        - $ref: '#/components/parameters/HHUserAgent'
  /saved_searches/resumes:
    x-name: /saved_searches/resumes
    get:
      operationId: get-saved-resume-searches
      tags:
        - Saved resume searches
      summary: List of Saved resume searches
      parameters:
        - name: page
          in: query
          description: 'Page number (counts from 0, default — 0)'
          required: false
          schema:
            type: number
        - name: per_page
          in: query
          description: 'Number of elements (default — 5, maximum value — 10)'
          required: false
          schema:
            type: number
        - $ref: '#/components/parameters/Locale'
        - $ref: '#/components/parameters/Host'
        - $ref: '#/components/parameters/HHUserAgent'
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SavedSearchesSavedSearchResponse'
              examples:
                Пример ответа:
                  $ref: '#/components/examples/SavedSearchesSavedSearchResumes'
        '403':
          description: The current user is not an employer
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorsCommonBadAuthorizationErrors'
    post:
      operationId: create-saved-resume-search
      tags:
        - Saved resume searches
      summary: Creating new saved resumes search
      description: |
        Some parameters take multiple values: `key=value&key=value`.

        When specifying paging parameters (`page`, `per_page`), a restriction takes effect: the number of results returned cannot exceed `2000`. For instance, a request `per_page=10&page=199` (displaying resume from `1991` to `2000`) is possible, but a request with `per_page=10&page=200` returns an error (displaying resume from `2001` to `2010`)
      parameters:
        - name: text
          in: query
          description: |
            Search phrase. Finds resumes that have all the words from the set phrase.

            Features:

            * Several values can be specified. Each additional `text` refines the search. 
            * You can use [search query language](http://hh.ru/article.xml?articleId=1175) as a search phrase. 
            * There is special [autocompletion](#tag/Suggestions/operation/get-resume-search-keywords-suggests) for the field.
            * To tune the phrase settings, you can use the following parameters: `text.logic`, `text.field`, `text.period`. When using extra `text.*` fields, you must specify the whole set (trine) of parameters
          required: false
          schema:
            type: string
        - name: text.logic
          in: query
          description: |
            Describes how the search works. Possible values are listed in the `resume_search_logic` field in [directories of fields](#tag/Public-directories/operation/get-dictionaries)
          required: false
          schema:
            type: string
        - name: text.field
          in: query
          description: |
            Describes where words from the `text` search phrase should be found.

            In the `text.field` parameter you can specify several values separated by commas, e.g. `?text.field=education,keywords`. Possible values are listed in the `resume_search_fields` field in [directories of fields](#tag/Public-directories/operation/get-dictionaries)
          required: false
          schema:
            type: string
        - name: text.period
          in: query
          description: |
            A period for searching in work experience.

            The parameter works only when `text.field` equals one of: `experience`, `experience_company`, `experience_position`, `experience_description` parameters, but it must always be specified when you specify other `text.*` parameters. If parameter does not work, it's value can be empty
          required: false
          schema:
            type: string
        - name: age_from
          in: query
          description: |
            Minimum applicant's age in years.

            Note that the search results will include resumes with unspecified age by default. To see resumes with specified age only, specify `only_with_age` value for the `label` parameter
          required: false
          schema:
            type: number
        - name: age_to
          in: query
          description: |
            Maximum applicant's age in years.

            Note that the search results will include resumes with unspecified age by default. To see resumes with specified age only, specify `only_with_age` value for the `label` parameter
          required: false
          schema:
            type: number
        - name: area
          in: query
          description: |
            Region. Possible values are listed in the [region directory](#tag/Public-directories/operation/get-areas).

            You can specify several values. Resumes of applicants from specified regions or those who ready to move to such regions are selected by default. Enter field `relocation` to change this behavior
          required: false
          schema:
            type: string
        - name: relocation
          in: query
          description: |
            Willingness to relocate. Possible values are listed in the `resume_search_relocation` field in the [directories of fields](#tag/Public-directories/operation/get-dictionaries). You should specify it only with area parameter
          required: false
          schema:
            type: string
        - name: period
          in: query
          description: |
            The search is performed only for resumes published in the given time period (in days). If not specified, the search is performed without any restrictions on the publication date
          required: false
          schema:
            type: number
        - name: date_from
          in: query
          description: |
            The date the search should start from.

            The value is specified in the [ISO 8601](#date-format) format — `YYYY-MM-DD` or with up-to-the-second precision `YYYY-MM-DDThh:mm:ss±hhmm`. You can not specify it with the `period` parameter
          required: false
          schema:
            type: string
        - name: date_to
          in: query
          description: |
            A date until which the search should be performed.

            The value is specified in the [ISO 8601](#date-format) format — `YYYY-MM-DD` or with up-to-the-second precision `YYYY-MM-DDThh:mm:ss±hhmm`. You can specify it only with the `date_from` parameter. You can not specify it with the `period` parameter
          required: false
          schema:
            type: string
        - name: education_level
          in: query
          description: |
            A level of education. Possible values are listed in the `education_level` field in the [directories of fields](#tag/Public-directories/operation/get-dictionaries). If not specified, the search is performed without any restrictions on the education level
          required: false
          schema:
            type: string
        - name: employment
          in: query
          description: |
            Employment type. Possible values are listed in the `employment` field in the [directories of fields](#tag/Public-directories/operation/get-dictionaries). You can specify several values
          required: false
          schema:
            type: string
        - name: experience
          in: query
          description: |
            Work experience. Possible values are listed in the `experience` field in the [directories of fields](#tag/Public-directories/operation/get-dictionaries). Several values can be specified
          required: false
          schema:
            type: string
        - name: skill
          in: query
          description: |
            Key skills. At least one key skill identifier should be specified. You can get values from the `id` field in the [key skills suggestion](#tag/Suggestions/operation/get-skill-set-suggests)
          required: false
          schema:
            type: string
        - name: gender
          in: query
          description: |
            A gender. Possible values are listed in the `gender` field in the [directories of fields](#tag/Public-directories/operation/get-dictionaries)
          required: false
          schema:
            type: string
        - name: label
          in: query
          description: |
            An extra filter. Possible values are listed in the `resume_search_label` field in the [directories of fields](#tag/Public-directories/operation/get-dictionaries). You can specify several values
          required: false
          schema:
            type: string
        - name: language
          in: query
          description: |
            Knowledge of language. You can specify several values. It is set in the format `language.level`, where:

            * `language` — value from the [/languages](#tag/Public-directories/operation/get-languages) directory;
            * `level` — value of the language_level field of the [directories of fields](#tag/Public-directories/operation/get-dictionaries)

            Example: `ita.c2`
          required: false
          schema:
            type: string
        - name: metro
          in: query
          description: |
            A metro line or station. Possible values are listed in the [/metro](#tag/Public-directories/operation/get-metro-stations) directory
          required: false
          schema:
            type: string
        - name: currency
          in: query
          description: |
            A currency code. Possible values are listed in the `currency.code` field of the [directories of fields](#tag/Public-directories/operation/get-dictionaries)
          required: false
          schema:
            type: string
        - name: salary_from
          in: query
          description: |
            Minimum desired salary range
          required: false
          schema:
            type: number
        - name: salary_to
          in: query
          description: |
            Maximum desired salary range
          required: false
          schema:
            type: number
        - name: schedule
          in: query
          description: |
            Work schedule. Possible values are listed in the `schedule` field of the [directories of fields](#tag/Public-directories/operation/get-dictionaries). You can specify several values
          required: false
          schema:
            type: string
        - name: order_by
          in: query
          description: |
            Resume list sorting. Possible values are listed in the `resume_search_order` field of the [directories of fields](#tag/Public-directories/operation/get-dictionaries)
          required: false
          schema:
            type: string
        - name: citizenship
          in: query
          description: |
            The country of applicant's citizenship. Possible values are listed in the [directory of countries](#tag/Public-directories/operation/get-countries). Several values can be specified
          required: false
          schema:
            type: string
        - name: work_ticket
          in: query
          description: |
            A country which the applicant is permitted to work in. You can find possible values in the [directory of countries](#tag/Public-directories/operation/get-countries). Several values can be specified
          required: false
          schema:
            type: string
        - name: educational_institution
          in: query
          description: |
            The applicant's educational institutions. Suggestions on university names are used as parameters: [/suggests/educational_institutions](#tag/Suggestions/operation/get-educational-institutions-suggests). Several values can be specified
          required: false
          schema:
            type: string
        - name: search_in_responses
          in: query
          description: |
            If `true`, the search is performed only by resumes that applicants used to response the employer's vacancies. If `false` — the search is carried out by all resumes. By default — `false`
          required: false
          schema:
            type: boolean
        - name: by_text_prefix
          in: query
          description: |
            If `true`, the search is performed by prefix. For every `text` parameter the search results are not only exact matchings but also words that begin with `text`. Default — `false`
          required: false
          schema:
            type: boolean
        - name: driver_license_types
          in: query
          description: |
            Driver license types. Possible values are listed in the `driver_license_types` field of the [directories of fields](#tag/Public-directories/operation/get-dictionaries). Several values can be specified
          required: false
          schema:
            type: string
        - name: vacancy_id
          in: query
          description: |
            Vacancy ID for searching similar resumes. You should specify ID of active or archived employer's vacancy
          required: false
          schema:
            type: string
        - name: page
          in: query
          description: 'Page number (counts from 0, default — 0)'
          required: false
          schema:
            type: number
        - name: per_page
          in: query
          description: 'Number of elements (default — 10, maximum value — 50)'
          required: false
          schema:
            type: number
        - name: professional_role
          in: query
          description: |
            Professional role. Possible values are listed in the [professional role directory](#tag/Public-directories/operation/get-professional-roles-dictionary). Several values can be specified
          required: false
          schema:
            type: string
        - $ref: '#/components/parameters/Locale'
        - $ref: '#/components/parameters/Host'
        - $ref: '#/components/parameters/HHUserAgent'
      responses:
        '201':
          description: Successfully created
          content:
            text/html:
              schema:
                type: string
          headers:
            Location:
              schema:
                type: string
                description: 'Path to the created autosearch. Example: `/`saved_searches/resumes/123`, where `123` — `id` of the created autosearch'
        '400':
          description: Errors in arguments or request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorsCommonBadArgumentErrors'
        '403':
          description: The current user is not an employer
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorsCommonBadAuthorizationErrors'
  '/resumes/{resume_id}/access_types':
    x-name: '/resumes/{resume_id}/access_types'
    get:
      operationId: get-resume-access-types
      tags:
        - Resume visibility lists
      summary: Retrieving a list of resume visibility types
      description: 'Some visibility types, i.e. `whitelist` and `blacklist`, imply that there is a list of employers for whom the resume is visible or hidden. See [Resume visibility lists](#tag/Resume-visibility-lists)'
      parameters:
        - name: resume_id
          in: path
          description: Resume ID
          required: true
          schema:
            type: string
        - $ref: '#/components/parameters/Locale'
        - $ref: '#/components/parameters/Host'
        - $ref: '#/components/parameters/HHUserAgent'
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ResumesAccessTypes'
              examples:
                Пример ответа:
                  $ref: '#/components/examples/ResumesAccessTypes'
        '403':
          description: The current user is not an employer
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorsCommonBadAuthorizationErrors'
        '404':
          description: The resume does not exist or is not available for the current user
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorsCommonNotFoundErrors'
  '/applicant_comments/{applicant_id}/{comment_id}':
    x-name: '/applicant_comments/{applicant_id}/{comment_id}'
    put:
      operationId: update-applicant-comment
      tags:
        - Applicant comments
      summary: Update a comment
      description: |
        The method requires [paid access for the employer](#tag/Employer-services/operation/get-payable-api-method-access).

        The author of a comment can change its access type and text. If a parameter is not passed, then the value remains the same
      parameters:
        - name: applicant_id
          in: path
          description: 'Applicant ID. It is provided in the `owner` field [in CV](#tag/Resume-view/operation/get-resume)'
          required: true
          schema:
            type: string
        - name: comment_id
          in: path
          description: 'Comment ID, which is provided in [comment list](#tag/Applicant-comments/operation/get-applicant-comments-list)'
          required: true
          schema:
            type: string
        - $ref: '#/components/parameters/Locale'
        - $ref: '#/components/parameters/Host'
        - $ref: '#/components/parameters/HHUserAgent'
      requestBody:
        required: false
        content:
          application/x-www-form-urlencoded:
            schema:
              type: object
              properties:
                text:
                  description: Comment text
                  type: string
                access_type:
                  description: 'Access type. Available values are provided in the [dictionaries](#tag/Public-directories/operation/get-dictionaries) in `applicant_comment_access_type` field'
                  type: string
      responses:
        '204':
          description: Successful response. Comment has been updated
        '400':
          description: 'Error in the request parameters. In addition, the names of parameter with errors may be specified'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorsCommonBadArgumentErrors'
        '403':
          description: The current user is not an employer
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorsCommonBadAuthorizationErrors'
        '404':
          description: The specified applicant or comment is not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorsCommonNotFoundErrors'
    delete:
      operationId: delete-applicant-comment
      tags:
        - Applicant comments
      summary: Delete a comment
      description: |
        The method requires [paid access for the employer](#tag/Employer-services/operation/get-payable-api-method-access).

        Only the author can delete the comment
      parameters:
        - name: applicant_id
          in: path
          description: 'Applicant ID. It is provided in the `owner` field [in CV](#tag/Resume-view/operation/get-resume)'
          required: true
          schema:
            type: string
        - name: comment_id
          in: path
          description: 'ID of a comment ID which will be deleted. It is provided in [comment list](#tag/Applicant-comments/operation/get-applicant-comments-list)'
          required: true
          schema:
            type: string
        - $ref: '#/components/parameters/Locale'
        - $ref: '#/components/parameters/Host'
        - $ref: '#/components/parameters/HHUserAgent'
      responses:
        '204':
          description: Successful response. Comment has been deleted
        '403':
          description: The current user is not an employer
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorsCommonBadAuthorizationErrors'
        '404':
          description: The specified applicant is not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorsCommonNotFoundErrors'
  '/applicant_comments/{applicant_id}':
    x-name: '/applicant_comments/{applicant_id}'
    get:
      operationId: get-applicant-comments-list
      tags:
        - Applicant comments
      summary: List of comments
      description: |
        The method requires [paid access for the employer](#tag/Employer-services/operation/get-payable-api-method-access).

        The list contains comments of the current user as well as comments of other company managers provided that the managers made these comments accessible to others at the moment of posting
      parameters:
        - name: applicant_id
          in: path
          description: 'Applicant ID. It is provided in the `owner` field [in CV](#tag/Resume-view/operation/get-resume)'
          required: true
          schema:
            type: string
        - name: page
          in: query
          description: Page number
          schema:
            type: number
        - name: per_page
          in: query
          description: Results per page
          schema:
            type: number
        - name: order_by
          in: query
          description: 'Sorting comments. Available values are listed [in the directory](#tag/Public-directories/operation/get-dictionaries) in the `applicant_comments_order` field'
          schema:
            type: string
        - $ref: '#/components/parameters/Locale'
        - $ref: '#/components/parameters/Host'
        - $ref: '#/components/parameters/HHUserAgent'
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApplicantCommentsApplicantCommentsList'
              examples:
                Пример ответа:
                  $ref: '#/components/examples/ApplicantCommentsApplicantCommentsListExample'
        '403':
          description: Receiving comments is not available for the current user
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorsCommonBadAuthorizationErrors'
        '404':
          description: The specified applicant is not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorsCommonNotFoundErrors'
    post:
      operationId: add-applicant-comment
      tags:
        - Applicant comments
      summary: Add a comment
      description: 'The method requires [paid access for the employer](#tag/Employer-services/operation/get-payable-api-method-access)'
      parameters:
        - name: applicant_id
          in: path
          description: 'Applicant ID. It is provided in the `owner` field [in CV](#tag/Resume-view/operation/get-resume)'
          required: true
          schema:
            type: string
        - $ref: '#/components/parameters/Locale'
        - $ref: '#/components/parameters/Host'
        - $ref: '#/components/parameters/HHUserAgent'
      requestBody:
        required: true
        content:
          application/x-www-form-urlencoded:
            schema:
              type: object
              required:
                - text
                - access_type
              properties:
                text:
                  description: Comment text
                  type: string
                access_type:
                  description: 'Access type. Available values are provided in the [dictionaries](#tag/Public-directories/operation/get-dictionaries) in `applicant_comment_access_type` field'
                  type: string
      responses:
        '201':
          description: Comment has been added
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApplicantCommentsApplicantCommentItem'
              examples:
                Пример ответа:
                  $ref: '#/components/examples/ApplicantCommentsAddApplicantCommentExample'
        '400':
          description: Error in the request parameters
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorsCommonBadArgumentErrors'
        '403':
          description: The current user is not an employer
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorsCommonBadAuthorizationErrors'
        '404':
          description: The specified applicant is not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorsCommonNotFoundErrors'
  '/employers/{employer_id}/mail_templates/{template_id}':
    x-name: '/employers/{employer_id}/mail_templates/{template_id}'
    put:
      operationId: put-mail-templates-item
      tags:
        - Employer responses/invitations
      summary: Edit a template for response to an applicant
      description: |
        Editing a response template for [negotiations](https://github.com/hhru/api/blob/master/docs_eng/employer_negotiations.md)
      parameters:
        - name: employer_id
          in: path
          description: 'Employer ID, that can be obtained from the [information on the current user](#tag/Employer-info/operation/get-current-user-info)'
          required: true
          schema:
            type: string
        - name: template_id
          in: path
          description: 'ID of the template to change, that can be obtained from the [list of available templates for response to an applicant](#tag/Employer-responsesinvitations/operation/get-mail-templates)'
          required: true
          schema:
            type: string
        - $ref: '#/components/parameters/Locale'
        - $ref: '#/components/parameters/Host'
        - $ref: '#/components/parameters/HHUserAgent'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/MailTemplatesMailTemplateInput'
            examples:
              Пример запроса:
                $ref: '#/components/examples/MailTemplatesMailTemplateInput'
      responses:
        '204':
          $ref: '#/components/responses/SuccessNoContent'
        '400':
          description: Template text is too long or contains a wrong variable
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorsCommonBadJsonDataErrors'
        '403':
          description: Bad authorization
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorsCommonBadAuthorizationErrors'
        '404':
          description: The specified employer or template does not exist
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorsCommonNotFoundErrors'
  '/employers/{employer_id}/mail_templates':
    x-name: '/employers/{employer_id}/mail_templates'
    get:
      operationId: get-mail-templates
      tags:
        - Employer responses/invitations
      summary: List of available templates for response to an applicant
      description: |
        Returns the list of available response templates for [negotiations](https://github.com/hhru/api/blob/master/docs_eng/employer_negotiations.md)
      parameters:
        - name: employer_id
          in: path
          description: 'Employer ID, that can be obtained from the [information on the current user](#tag/Employer-info/operation/get-current-user-info)'
          required: true
          schema:
            type: string
        - $ref: '#/components/parameters/Locale'
        - $ref: '#/components/parameters/Host'
        - $ref: '#/components/parameters/HHUserAgent'
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/MailTemplatesMailTemplates'
              examples:
                Пример ответа:
                  $ref: '#/components/examples/MailTemplatesMailTemplates'
        '403':
          description: Bad authorization
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorsCommonBadAuthorizationErrors'
        '404':
          description: The specified employer does not exist
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorsCommonNotFoundErrors'
  /clickme/statistics:
    x-name: /clickme/statistics
    get:
      operationId: get-clickme-statistics
      tags:
        - Campaign statistics in Clickme
      summary: Getting info about Clickme ad campaign statistics
      description: Getting info about Clickme ad campaign statistics
      parameters:
        - name: date_from
          in: query
          description: |
            The date the search should start from. The value is specified in the [ISO 8601](#date-format) format — `YYYY-MM-DD`
          required: true
          schema:
            type: string
        - name: date_to
          in: query
          description: |
            The date until which the search should be performed. The value is specified in the [ISO 8601](#date-format) format — `YYYY-MM-DD`
          required: true
          schema:
            type: string
        - $ref: '#/components/parameters/Locale'
        - $ref: '#/components/parameters/Host'
        - $ref: '#/components/parameters/HHUserAgent'
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ClickmeStatisticsResponse'
              examples:
                Пример ответа:
                  $ref: '#/components/examples/ClickmeStatisticsResponse'
        '400':
          description: Errors in arguments or request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorsCommonBadRequestBadArgumentBadRequestAndBadArgumentErrors'
        '403':
          description: Not available for the current user
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorsCommonBadAuthorizationErrors'
  /mobile/resumes/mine:
    x-name: /mobile/resumes/mine
  /areas/countries:
    x-name: /areas/countries
    get:
      operationId: get-countries
      tags:
        - Public directories
      summary: Countries
      description: |
        Returns the list of regions that are countries.

        The values in the directories may change at any time
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DictionariesCountriesResponse'
              examples:
                Пример ответа:
                  $ref: '#/components/examples/AreasCountries'
      parameters:
        - $ref: '#/components/parameters/Locale'
        - $ref: '#/components/parameters/Host'
        - $ref: '#/components/parameters/HHUserAgent'
  /areas:
    x-name: /areas
    get:
      operationId: get-areas
      tags:
        - Public directories
      summary: Tree view of all regions
      description: |
        Returns a tree view list of all regions.

        The values in the directories may change at any time
      parameters:
        - name: additional_case
          in: query
          description: |
            Applicable only to Russian localization.

            The area name returns in additional field in a specified case. Only `prepositional` case is available
          required: false
          schema:
            type: string
        - $ref: '#/components/parameters/Locale'
        - $ref: '#/components/parameters/Host'
        - $ref: '#/components/parameters/HHUserAgent'
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DictionariesAreaResponse'
              examples:
                Пример ответа:
                  $ref: '#/components/examples/AreasAreas'
        '400':
          description: Errors in request parameters
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorsDictionariesBadArgumentErrors'
  '/areas/{area_id}':
    x-name: '/areas/{area_id}'
    get:
      operationId: get-areas-from-specified
      tags:
        - Public directories
      summary: 'Region directory, starting from the specified region'
      description: |
        Returns a tree view list of regions starting from the specified one

        The values in the directories may change at any time
      parameters:
        - name: area_id
          in: path
          description: 'Region ID from the directory [/areas](#tag/Public-directories/operation/get-areas)'
          required: true
          schema:
            type: string
        - name: additional_case
          in: query
          description: |
            Applicable only to Russian localization.

            The area name returns in additional field in a specified case. Only `prepositional` case is available
          required: false
          schema:
            type: string
        - $ref: '#/components/parameters/Locale'
        - $ref: '#/components/parameters/Host'
        - $ref: '#/components/parameters/HHUserAgent'
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DictionariesAreaItem'
              examples:
                Пример ответа:
                  $ref: '#/components/examples/AreasAreaItem'
        '400':
          description: Errors in request parameters
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorsDictionariesBadArgumentErrors'
  /salary_statistics/dictionaries/employee_levels:
    x-name: /salary_statistics/dictionaries/employee_levels
    get:
      operationId: get-salary-employee-levels
      tags:
        - Salary Database directories
      summary: Competency levels
      description: Returns a list of competency levels
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DictionariesSalaryStatisticsEmployeeLevelResponse'
              examples:
                Пример ответа:
                  $ref: '#/components/examples/DictionariesSalaryStatisticsEmployeeLevel'
      parameters:
        - $ref: '#/components/parameters/Locale'
        - $ref: '#/components/parameters/Host'
        - $ref: '#/components/parameters/HHUserAgent'
  /salary_statistics/dictionaries/salary_areas:
    x-name: /salary_statistics/dictionaries/salary_areas
    get:
      operationId: get-salary-salary-areas
      tags:
        - Salary Database directories
      summary: Regions and cities
      description: Returns a list of regions and cities
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DictionariesSalaryStatisticsAreaResponse'
              examples:
                Пример ответа:
                  $ref: '#/components/examples/DictionariesSalaryStatisticsSalaryAreas'
      parameters:
        - $ref: '#/components/parameters/Locale'
        - $ref: '#/components/parameters/Host'
        - $ref: '#/components/parameters/HHUserAgent'
  /salary_statistics/dictionaries/professional_areas:
    x-name: /salary_statistics/dictionaries/professional_areas
    get:
      operationId: get-salary-professional-areas
      tags:
        - Salary Database directories
      summary: Professions and specializations
      description: Returns a list of professions and specializations
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DictionariesSalaryStatisticsProfessionalAreasResponse'
              examples:
                Пример ответа:
                  $ref: '#/components/examples/DictionariesSalaryStatisticsProfessionalAreas'
      parameters:
        - $ref: '#/components/parameters/Locale'
        - $ref: '#/components/parameters/Host'
        - $ref: '#/components/parameters/HHUserAgent'
  /salary_statistics/dictionaries/salary_industries:
    x-name: /salary_statistics/dictionaries/salary_industries
    get:
      operationId: get-salary-industries
      tags:
        - Salary Database directories
      summary: Industries and fields of expertise
      description: The response contains a list of industries and fields of expertise
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DictionariesIndustriesResponse'
              examples:
                Пример ответа:
                  $ref: '#/components/examples/DictionariesIndustries'
      parameters:
        - $ref: '#/components/parameters/Locale'
        - $ref: '#/components/parameters/Host'
        - $ref: '#/components/parameters/HHUserAgent'
  '/resumes/{resume_id}/{list_type}/search':
    x-name: '/resumes/{resume_id}/{list_type}/search'
    get:
      operationId: get-resume-visibility-employers-list
      tags:
        - Resume visibility lists
      summary: Searching for employers to add to the visibility list
      description: Returns employer search results
      parameters:
        - name: resume_id
          in: path
          description: Resume ID
          required: true
          schema:
            type: string
        - name: list_type
          in: path
          description: List type. Available values — `whitelist` or `blacklist`
          required: true
          schema:
            type: string
        - name: text
          in: query
          description: Search string. The passed value is searched at the beginning of the employer name and at the beginning of the employer department names
          required: true
          schema:
            type: string
        - name: per_page
          in: query
          description: |
            Amount of elements, that should be displayed in response. Request applies [standard pagination parameters](#section/General-information/Pagination). Default and maximum `per_page` are `100`
          required: false
          schema:
            type: integer
        - name: page
          in: query
          description: |
            Number of page, that should be displayed in response. Request applies [standard pagination parameters](#section/General-information/Pagination). Pagination starts from `0`
          required: false
          schema:
            type: integer
        - $ref: '#/components/parameters/Locale'
        - $ref: '#/components/parameters/Host'
        - $ref: '#/components/parameters/HHUserAgent'
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ResumesResumeVisibilityListSearchResponse'
              examples:
                Пример ответа:
                  $ref: '#/components/examples/ResumesResumeVisibilityListSearchResponse'
        '400':
          description: Incorrect values are passed in the parameters
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorsCommonBadArgumentErrors'
        '403':
          description: The current user is not an applicant
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorsCommonBadAuthorizationErrors'
        '404':
          description: 'A resume with this ID is not found or is not available to the current user, or an unknown `list_type` is passed'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorsCommonNotFoundErrors'
  '/resumes/{resume_id}/{list_type}':
    x-name: '/resumes/{resume_id}/{list_type}'
    get:
      operationId: get-resume-visibility-list
      tags:
        - Resume visibility lists
      summary: Getting visibility lists
      description: |
        Returns list of employers for which resume should be visible or hidden
      parameters:
        - name: resume_id
          in: path
          description: Resume ID
          required: true
          schema:
            type: string
        - name: list_type
          in: path
          description: List type. Available values — `whitelist` or `blacklist`
          required: true
          schema:
            type: string
        - $ref: '#/components/parameters/Locale'
        - $ref: '#/components/parameters/Host'
        - $ref: '#/components/parameters/HHUserAgent'
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ResumesGetResumeVisibilityListResponse'
              examples:
                Пример ответа:
                  $ref: '#/components/examples/ResumesGetResumeVisibilityList'
        '400':
          description: An invalid number of items per page is passed (the maximum value is 100)
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorsResumeVisibilityErrors'
        '403':
          description: The current user is not an applicant
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorsCommonBadAuthorizationErrors'
        '404':
          description: 'A resume with this ID is not found or is not available to the current user, or an unknown `list_type` is passed'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorsCommonNotFoundErrors'
    post:
      operationId: add-resume-visibility-list
      tags:
        - Resume visibility lists
      summary: Adding employers to the visibility list
      description: |
        Adds specified employers to visibility list of the specified type.

        One request can add no more than 100 companies.

        The procedure of adding employers to the list is idempotent, that is, employers who are already present in the list will be ignored to avoid duplicate entries.

        You can add a banned employer to the list
      parameters:
        - name: resume_id
          in: path
          description: Resume ID
          required: true
          schema:
            type: string
        - name: list_type
          in: path
          description: List type. Available values — `whitelist` or `blacklist`
          required: true
          schema:
            type: string
        - $ref: '#/components/parameters/Locale'
        - $ref: '#/components/parameters/Host'
        - $ref: '#/components/parameters/HHUserAgent'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ResumesPostResumeVisibilityListBody'
            examples:
              Пример запроса:
                $ref: '#/components/examples/ResumesPostResumeVisibilityListBody'
      responses:
        '204':
          $ref: '#/components/responses/SuccessNoContent'
          headers:
            Location:
              schema:
                type: string
                description: 'Visibility list: `/resumes/{resume_id}/{list_type}`'
        '400':
          description: 'Invalid JSON or JSON with a wrong format was passed, or other reasons'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorsResumeVisibilityErrorsBadRequest'
        '403':
          description: The current user is not an applicant
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorsCommonBadAuthorizationErrors'
        '404':
          description: 'A resume with this ID is not found or is not available to the current user, or an unknown `list_type` is passed'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorsCommonNotFoundErrors'
    delete:
      operationId: delete-resume-visibility-list
      tags:
        - Resume visibility lists
      summary: Clearing the visibility list
      parameters:
        - name: resume_id
          in: path
          description: Resume ID
          required: true
          schema:
            type: string
        - name: list_type
          in: path
          description: List type. Available values — `whitelist` or `blacklist`
          required: true
          schema:
            type: string
        - $ref: '#/components/parameters/Locale'
        - $ref: '#/components/parameters/Host'
        - $ref: '#/components/parameters/HHUserAgent'
      responses:
        '204':
          $ref: '#/components/responses/SuccessNoContent'
        '403':
          description: The current user is not an applicant
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorsCommonBadAuthorizationErrors'
        '404':
          description: 'A resume with this ID is not found or is not available to the current user, or an unknown `list_type` is passed'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorsCommonNotFoundErrors'
  '/resumes/{resume_id}/{list_type}/employer':
    x-name: '/resumes/{resume_id}/{list_type}/employer'
    delete:
      operationId: delete-employer-from-resume-visibility-list
      tags:
        - Resume visibility lists
      summary: Removing employers from the visibility list
      description: |
        The operation to remove from the list is idempotent, that is, the removal of employers who are not on the list or do not exist is ignored and does not lead to errors. The result will be the same if you remove the "real" identifiers from the list.

        You can remove a banned employer from the list.

        One request can remove no more than 100 companies
      parameters:
        - name: resume_id
          in: path
          description: Resume ID
          required: true
          schema:
            type: string
        - name: list_type
          in: path
          description: List type. Available values — `whitelist` or `blacklist`
          required: true
          schema:
            type: string
        - name: id
          in: query
          description: Employer ID. Multiple parameter
          required: true
          schema:
            type: string
        - $ref: '#/components/parameters/Locale'
        - $ref: '#/components/parameters/Host'
        - $ref: '#/components/parameters/HHUserAgent'
      responses:
        '204':
          $ref: '#/components/responses/SuccessNoContent'
        '400':
          description: Additional errors and cause descriptions
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorsResumeVisibilityErrors'
        '403':
          description: The current user is not an applicant
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorsCommonBadAuthorizationErrors'
        '404':
          description: 'A resume with this ID is not found or is not available to the current user, or an unknown `list_type` is passed'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorsCommonNotFoundErrors'
